No browser access inside Magic Mirror2 to grant account permissions

Hi there,
how do I connect my Spotify account without having connected any periphial (mouse, keyboard and screen) to my magic mirror? The problem is that I can't grant the access to my account because i can't interract with the browser opened by first-auth.js.
The log if it helps solving my issue.
[SPOTIFY - ****] Spotify version 2.0.3  Initialized...
[SPOTIFY - ****] AUTH: Opening the browser for authentication on Spotify...
[SPOTIFY - ****] AUTH: express app started and listening on port 8888
[SPOTIFY - ****] AUTH: Failed to automatically open the URL. Copy/paste this in your browser:
 https://accounts.spotify.com/authorize?response_type=code&client_id=*****&scope=user-read-private%20app-remote-control%20playlist-read-private%20streaming%20user-read-playback-state%20user-modify-playback-state&redirect_uri=http%3A%2F%2Flocalhost%3A8888%2Fcallback&state=1629555947767&show_dialog=true
[SPOTIFY - ****] Error in authentication:
Error: Exited with code 3
    at ChildProcess.<anonymous> (/opt/magic_mirror/modules/MMM-Spotify/node_modules/open/index.js:122:13)
    at Object.onceWrapper (events.js:421:26)
    at ChildProcess.emit (events.js:314:20)
    at maybeClose (internal/child_process.js:1022:16)
    at Socket.<anonymous> (internal/child_process.js:444:11)
    at Socket.emit (events.js:314:20)
    at Pipe.<anonymous> (net.js:675:12)
[SPOTIFY] Authorization process finished!

My Magic Mirror2 in running in server only mode inside a docker container. So no browser support in there.

Hi there.
Okay, that probably needs some enhancements to work.
Could you share your docker setup (image used and startup options set [docker-compose file or whatever])?
Then I could more easily get into debugging :)
I have given up on trying to use the Docker setup since long ago, because it caused a lot of unnecessary problems with MM²

Okay, here is the magic mirror part of my docker-compose file:
    magic-mirror:
        image: bastilimbach/docker-magicmirror
        container_name: magic-mirror
        restart: unless-stopped
        ports: # Only temporary during authentication
            - 8888:8888
        expose:
            - 80
        volumes:
            - ./magic_mirror/config:/opt/magic_mirror/config
            - ./magic_mirror/css/custom.css:/opt/magic_mirror/css/custom.css
            - ./magic_mirror/modules:/opt/magic_mirror/modules
        environment:
            TZ: Europe/Berlin
        networks:
            - web_proxy

I kinda got it to work, but it definetly needs some tweaks. I temporarily forwarded the port 8888 to the container. Then I forwarded the Redirect from the Spotify auth endpoint to the IP of my server where my Docker containers are running.
Maybe introduce another config variable (In the Magic Mirror config.js) to set the local IP to where the server is accessible?

Thank you for the config sharing.
Without looking any further into it I am currently thinking about optimizing the auth process a bit if there is no browser available. But this goes more into the direction of providing documentation for doing the auth process manually.
Adding some kind of config variable is just more confusing than it will help I fear. And docker usage with MM² is still an edge case most of the times.
Nevertheless, I will try to setup a Pi with docker to use it for some testing on this matter.

For testing purposes you can just install docker on your main machine. Magic Mirror inside Docker is afaik server only mode.
But in my opinion it is pretty common not having physical access to magic mirror with mouse and keyboard. So it would be nice to have the callback url pointed directly to magic mirror.

Great, thanks. I will do some more testing on my side - especially with multi user setup and will then schedule the next release.


[Feature Request] An implementation of the gobgp client is expected to be added

Expected Behavior
Bird is written in C++, and the code is difficult to maintain. Gobgp is more cloud-native. Five years ago, gobgp was used as the default BGP implementation, but it is discarded. The solution uses gobgp as the SDK to listen to K8S configuration changes, which conflicts with the current confd-based solution.
Expect to add an implementation that uses gobgp as a stand-alone executable. Configure a series of confd templates that meet the Gobgp requirements, listen to changes, generate a new configuration file, and reload the Gobgp.
Deprecated Code Repository: https://github.com/projectcalico/calico-bgp-daemon
GoBGP Config: https://github.com/osrg/gobgp
Current Behavior
Only the bird mode is supported.
Possible Solution
Steps to Reproduce (for bugs)
Context
Reduce operation / configuration complexity.
Your Environment
Calico version
Orchestrator version (e.g. kubernetes, mesos, rkt):
Operating System and version:
Link to your project (optional):
@caseydavenport

Gobgp is more cloud-native.

What is the basis of this claim?

Five years ago, gobgp was used as the default BGP implementation, but it is discarded

GoBGP was never the default implementation for Calico - we added it as an optional, experimental alternative to BIRD. We found it to have some bugs, and scalability / performance issues compared to BIRD. That may have changed by now, though.
What is your use-case for an alternative BGP agent? Is there some feature you're looking for that GoBGP offers that BIRD doesn't? Without that, it's hard to make a case to implement this.

Gobgp is more cloud-native.

What is the basis of this claim?

Five years ago, gobgp was used as the default BGP implementation, but it is discarded

GoBGP was never the default implementation for Calico - we added it as an optional, experimental alternative to BIRD. We found it to have some bugs, and scalability / performance issues compared to BIRD. That may have changed by now, though.
What is your use-case for an alternative BGP agent? Is there some feature you're looking for that GoBGP offers that BIRD doesn't? Without that, it's hard to make a case to implement this.

Thank you for your reply. The reasons for using GOBGP are as follows:

Gobgp is developed in the go language, which is consistent with the calico development language.
The GOBGP supports the SDK mode, which facilitates service logic writing and route distribution. Instead, the function logic is defined by keywords in the TOML file.
Currently, cilium also supports gobgp. For details, see https://docs.cilium.io/en/latest/network/bgp-control-plane/.
Using gobgp does not require additional maintenance of more than 50,000 lines of bird's c code.
Bird has not released a new version for five years, and some companies think that it has reached the end of marketing (EOM).
@caseydavenport

I believe bird  2.0.12 was released in  23.1.2023

I would like to ask what the relationship between these two repo is.，Which of the following is used for bird release?
https://github.com/projectcalico/bird and https://bird.network.cz/?download

I believe bird  2.0.12 was released in  23.1.2023

I would like to ask what the relationship between these two repo is.，Which of the following is used for bird release?
https://github.com/projectcalico/bird and https://bird.network.cz/?download

I believe bird  2.0.12 was released in  23.1.2023
I checked the dockerfile and it appears that we are using our own bird compiled docker image.

ARG BIRD_IMAGE=calico/bird:latest
ARG UBI_IMAGE
FROM calico/bpftool:v5.3-amd64 as bpftool
FROM ${BIRD_IMAGE} as bird

I would like to ask what the relationship between these two repo is.，Which of the following is used for bird release? https://github.com/projectcalico/bird and https://bird.network.cz/?download

So as far as I can tell Calico Bird is a fork of the Original bird source code. It is a customized version that implements IP-IP and some other features tailored for Calico in order to get your SDN up and running. The last update to Calico Bird was this commit.

ARG BIRD_IMAGE=calico/bird:latest
ARG UBI_IMAGE
FROM calico/bpftool:v5.3-amd64 as bpftool
FROM ${BIRD_IMAGE} as bird

I believe calico/bird:latest is built locally on the machine that builds the release.
To double check we could go over the docker hub bird images.


Allow cancelling the popovers by clicking away

Currently the popovers can only be closed by either confirming or emptying the value. I find that I'm missing the (default) click away behaviour of the popovers, which acts as a cancel. Therefore I've added it. I think this improves the user experience of the popovers.

Sorry for the conflicts, but I fixed 2 bugs on PR #136
Can you rebase and update your changes?

@niuware done.

For the link popover the behavior is correct but for the media one the cursor goes back to the beginning of the editor whilst when clicking the ✔  button it moves the cursor to the end of the editor. The latter would be the expected behavior as for now.

@niuware I've merged the latest master changes into the branch of this pull request. This fixes the issue, now for the media popover the cursor behaves as desired when clicking away.

@niuware could you review this again?

@niuware could you check this again?

Hi @steurt, I haven't merged this one yet because of this unexpected behavior https://github.com/niuware/mui-rte/pull/129#issuecomment-643140900 . You can reproduce this by adding an image, then click on the image to edit it and close the popover by clicking away. You will notice the cursor goes back to the beginning of the editor instead of going to the end.

@niuware thank you for the feedback and the reproduction steps. I'll check it out and make sure it works properly.


User Verification and Moderation:  Implement user verification, moderation, and reporting features (across all relevant files)

Developer 5 (secondary task): Work across all relevant files and in collaboration with Developers 1 and 3 to integrate user verification and moderation features.
Coordinate with other developers to ensure consistency in handling reported content and user interactions.


Support for UDP Multicasting

I spent a bit of time trying to get UDP multicasting happening with Crystal. What I learned is that it is theoretically possible to do with Crystal, but you need to understand the underlying system calls to make that happen.
So my request is for wrappers around the UDP socket to allow for easily joining multicast groups and sending broadcasts similar to Go's net.ListenMulticastUDP function and associated functionality so that one does not have to play with setsockopts.
Thanks!

This is already supported. Just set sock.broadcast = true then connect the UDP socket. See this spec for example.
sock = UDPSocket.new(Socket::Family::INET)
sock.broadcast = true
sock.connect("<IP_ADDRESS>", 1234)
sock.send("my broadcasted message")

Some documentation seems to be lacking, though.

Are you on IRC @ysbaddaden?
I saw that broadcasts were supported which is fantastic but unless my knowledge is mistaken, to listen to a multicast address like say <IP_ADDRESS> you need to bind to <IP_ADDRESS> and then do something funky with setsockopts to join that multicast group?

Then no, we don't provide a helper for the IP_ADD_MEMBERSHIP socket option.


Not getting any output

I already tested the code. Although, I'm not getting any error, there is not any detected vehicle in the output. I tried object detection API only (not your code package) to see what the problem is; many vehicles were detected for the same input and same model (ssd-mobilenet). After some investigations, I found out that  the variable 'is_vehicle_detected" in 'predict_speed' function is replaced by 1. I thought it should be increased one be one, not to be substituted by a constant. Also the variable ‘bottom-bottom_position_of_detected_vehicle’ is not initialized.
Moreover, in 'visualization_utils.py', the function '
draw_bounding_box_on_image' is supposed to return the output image, however, it updates the is_vehicle_detected variable as well as csv file.
I'm not sure on how to fix this. My python version 3.6. Did you get the demo output in

Could you share your source video via YouTube or something like that? Thus, I can check it...


New package: OpenML v0.1.0

Registering package: OpenML
Repository: https://github.com/JuliaAI/OpenML.jl
Created by: @ablaom
Version: v0.1.0
Commit: fd4d975584c610a3f693a64b00e2c0717fbc156d
Git reference: master

Could we have this merged now please?


Cluster

What does this PR do?

Fixes # (issue)
Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests? [not needed for typos/docs]
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review

[ ] Is this pull request ready for review? (if not, please submit in draft mode)

Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hello @tchaton! Thanks for opening this PR.

In the file flash/model_map.py:

Line 13:121: E501 line too long (121 > 120 characters)
Line 34:1: E305 expected 2 blank lines after class or function definition, found 1

In the file flash/vision/embedding/image_embedder_model.py:

Line 27:1: E731 do not assign a lambda expression, use a def
Line 28:1: E731 do not assign a lambda expression, use a def

Do see the Hitchhiker's guide to code style


Turn off the question for postcode search options

Is your feature request related to a problem?
Australian postcodes are buggy when searching the BMLT
Hours have been spent trying to work this bug out.
We have found that searching by state/territory and city/suburb produces much more consistent results.
We would just like to remove the prompt to ask for postcodes.
Describe the solution you'd like
Just ask for state/territory and town/suburb
We would still like postcodes to work as many people still like to send a postcode to the SMS number to get a list of meetings in the next 24 hours.
Describe alternatives you've considered
Fix the Australian Postcode issue.

will be slated for a future release

This feature was already completed some time ago.  Set static $disable_postal_code_gather = true;

ref: #231
https://yap.bmlt.app/docs/meeting-search/disabling-postal-code-gathering/


Doc: centering images is not in view

When we center images/figures, it frequently extends into the full browser
width, not the more constrained view. Removing the centering makes them
fit better.

PRs welcome!

AFAICT the figure is styled with a class of "align-center" but the RTD theme provides no CSS for that class. Playing with the HTML I think a style of
margin-left: 0px
margin-right: auto
max-width: 800px

makes it work in a way that would make Miles less grumpy. The "800px" comes from the style for the text. I'm not sure how to inject this in our style, since all of that is generated and none is by hand.

New PR coming soon.


Fix nil pointer exception that was missed by the tests

My last PR made a nil pointer exception that the tests missed, but could occur under normal use.  This fixes it.
Sorry about that.

I noticed in the test output that there is never a second Convey(... so it appears as:
--- PASS: TestMissingConfig (0.01s)
=== RUN   TestKineticCreation

  Given an badly configured init-ed kinetic ✔✔✔✔

Can we add a second Convey() with the expected result?


[Question] Best way to change "animation"

Example:
I have only one LED. If the programm runs "smoothly" the led has the animation "Breathe()".
But if an error occours (wifi-lost) then the led should switch to fast blinking.
At the moment my implementation looks like this. Everytime I need to switch the animation, I create a new JLED-Instance. It works, but maybe there is a more "elegant" solution. Maybe related to Issue #10
JLed leds[] = {
		JLed(BUILTIN_LED).Breathe(2000).Forever()
};

loop(){
       leds[0].Update();
}

errorOccoured(){
     leds[0] = JLed(BUILTIN_LED).Blink(200, 200).Forever();
}

Hello,
There is no need to redefine the object each time.
Just call the variable with the new parameters.
ex: leds[0].Blink(50, 1800).DelayBefore(450).Forever();
Regards,
Jacques

Thx, again for your fast answer.
I changed my code and it works flawlessly.


Update state_code branch with changes from main

Update state_code branch with changes from main

Merged in with merge #43


[Authorization] Consider base class to make building custom policies/requirements easier

The authorization system is quite nice, but complex given the type checking for authorization handlers and authorization requirements. When building custom authorization handler/requirement logic, it's a tad complex/confusing to be required to build a class such as this:
public class ClaimsAuthorizationRequirement :
   AuthorizationHandler<ClaimsAuthorizationRequirement>, IAuthorizationRequirement

I'd like to see a easy base class to encapsulate this policy based approach in some way (with the assumption this class can fully implement the authorization logic based upon the incoming user's claims without needing to look at something external and this doesn't need anything from DI). Something like:
abstract public class AuthorizationRequirement
{
    abstract public void Handle(AuthorizationContext context);

    // not sure if these helpers would be needed -- looking for
    // a way to not have to pass the IAuthorizationRequirement instance to Succeeded
    protected void Succeed(){}
    protected void Failed(){}
}

And then perhaps an implementation:
public class SeniorSalesRequirement : AuthorizationRequirement
    {
        protected override void Handle(Microsoft.AspNet.Authorization.AuthorizationContext context)
        {
             if (context.User.HasClaim("role", "Exec") ||
                 context.User.HasClaim("role", "SeniorSales"))
             {
                  base.Succeed(context);
              }
        }
    }

Perhaps this approach would need another pre-registered authorization handler (like the PassThroughAuthorizationHandler) that knows how to handle the AuthorizationRequirement-dervied requirements.
Just throwing out ideas to try to simplify and polish the API for doing policy based authorization.

That sounds reasonable to me, we started without the requirement/handler split initially, and I agree that it simpler in many situations and worth a little additional sugar...  I'll take a look
cc @blowdart @lodejard @divega

@brockallen Take a look at this PR: https://github.com/aspnet/Security/pull/655
Does something like this work for you?  Basically you would just have to do something like this:
policy.RequireAssertion(c => c.User.HasClaim("role", "e1") || c.User.HasClaim("role", "s1")));

2e1a8b31cd0c520ffd69ba7818313ae9a9f688a4

Nice, thanks.


added spork/relpath

Returns the relative path between two subpaths
this should imitate the behaviour of e.g.
realpath --relative-to="a/bit/deeper/with/some/nested/dirs" "a/bit/deeper/with/other/nested/dirs"

I wrote a few tests for it in a new test suite.

LGTM

@tionis, it would be great if you added some documentation to content/path.mdz for this new functionality.

Ok, I added the documentation in #80 and also fixed a bug I discovered in my implementation.


Refactor ImportDocumentManager to not be so dependent on Windows

The import document manager has a lot of logic in it that's highly dependent on Windows but also has a lot of vital logic in it that's non-windows specific. We should build out a file change abstraction that can be re-implemented on Mac (instead of the entire import document manager).

@NTaylorMullen done?


change go version in go.mod

It looks like the project has been already migrated to 1.18 but go.mod still specifies 1.17. :)

@sergot, had the bump on other places added in the PR #119, but let's do it separately :)
I also did go mod tidy after the bump of you plus bumped the workflows as well (7ad48e4)


Feature/fix middleware method binding

Coverage remained the same at 100.0% when pulling a027d4263269b57150c29f9b29b3365c9f6a07cd on feature/fix-middleware-method-binding into 13ad76ef2399137b1f3e9771acbc9ffea9e32876 on develop.


After update to alpha 11-3 'md-input-container' is not a known element

Bug, feature request, or proposal:
After upgrading to 2.0.0-alpha.11-3 and trying to implement md-input-container as per the md-input readme in my template html eg,

I get an an error 'md-input-container' is not a known element. I use Angular CLI 1.0.0-beta.22-1 and angular 2 - 2.2.3
What is the expected behavior?
No errors allows me to use md-input-container
What is the current behavior?
'md-input-container' is not a known element
What are the steps to reproduce?
Below is  my module.ts and package.json file. I followed instructions as well be deleting the material folder in @angular. And then running npm install --save @angular/material in the terminal.
Also I currently do not import md-input-container into my component as it has not been a requirement.  Could this be this the reason for the error?
app.module.ts
// Core
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { routing } from './app.routing';
// Plugins
import { MaterialModule } from '@angular/material';

@NgModule({
  declarations: [
    AppComponent
  ],
  entryComponents: [
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    routing,
    MaterialModule.forRoot()
  ],
  providers: [AUTH_PROVIDERS],
  bootstrap: [AppComponent]
})
export class AppModule { }

Package.json
{
  "name": "todo1",
  "version": "0.0.0",
  "license": "MIT",
  "angular-cli": {},
  "scripts": {
    "start": "ng serve",
    "lint": "tslint \"src/**/*.ts\"",
    "test": "ng test",
    "pree2e": "webdriver-manager update",
    "e2e": "protractor"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "2.2.3",
    "@angular/compiler": "2.2.3",
    "@angular/core": "2.2.3",
    "@angular/forms": "2.2.3",
    "@angular/http": "2.2.3",
    "@angular/material": "^2.0.0-alpha.11-3",
    "@angular/platform-browser": "2.2.3",
    "@angular/platform-browser-dynamic": "2.2.3",
    "@angular/router": "3.2.3",
    "core-js": "^2.4.1",
    "rxjs": "5.0.0-beta.12",
    "ts-helpers": "^1.1.1",
    "tslint": "^4.1.1",
    "zone.js": "^0.6.23"
  },
  "devDependencies": {
    "@angular/compiler-cli": "2.2.3",
    "@types/jasmine": "2.5.38",
    "@types/node": "^6.0.42",
    "angular-cli": "1.0.0-beta.22-1",
    "codelyzer": "~2.0.0-beta.1",
    "jasmine-core": "2.5.2",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "1.2.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-cli": "^1.0.1",
    "karma-jasmine": "^1.0.2",
    "karma-remap-istanbul": "^0.2.1",
    "protractor": "4.0.9",
    "ts-node": "1.2.1",
    "tslint": "^4.0.2",
    "typescript": "~2.0.3",
    "webdriver-manager": "10.2.5"
  }
}

This change is only in the master branch which is not released yet.
Change your view to the tag: 2.0.0-alpha.11 in order to see the code/documentation that is in line with that.

I thought because it was stated in the readme it was released. Good thought it was something I was doing.


Export issues with Blender 3.1

All of the usages of invoke_props_dialog that have a non integer width argument are going to need to have the width argument be cast to int or similar. #379
PR in the good branche this time.

But how would I go about casting it?


Unable to update Immich to v1.88.x

My Immich version was v1.87, and when I click on "Check then update" I get this error in CasaOS :

Maybe because the docker-compose structure changed ?
Is there a solution to update it seamlessly through CasaOS ?

Please post any problems or concerns on the following website: https://community.bigbeartechworld.com/. This way, I can stay updated on the issues.
You might also find this thread relevant to your situation: https://community.bigbeartechworld.com/t/update-immich-to-v1-88-1-on-bigbearcasaos/286/2?u=dragonfire1119

Oh okay I didn't know.

Oh okay I didn't know.

Not a problem at all! I want to express my gratitude for your assistance in keeping Immich current. However, I do have a hectic schedule as I oversee numerous projects, and I'm making an effort to encourage everyone to submit their issues in a single, centralized location, including YouTube comments.


Ring members return as unhealthy and stuck the cluster

Problem
On Loki (and apparently in other projects) we're facing this weird scenario where ring members return as unhealthy and once this happens to more than one member, the ring gets stuck (maybe because we're running with replication_factor = 3? :thinking: )
What we know so far is:

Clicking manually to forget the unhealthy members does fix the issue
I don't think we ever faced this with typical healthy rollouts; I think all occasions it did happen were when pods were deleted or OOMKilled or the k8s node hosting the pods had an outage, so maybe it has a relationship with our heartbeat logic :thinking:
For Loki, this happens for both, ingesters members and distributors members, so it isn't related to a specific implementation of the project
The typical log line we use to identify this behavior is the one below (for Loki):

level=warn ts=2022-07-28T17:32:28.308736477Z caller=grpc_logging.go:43 method=/httpgrpc.HTTP/Handle duration=179.426µs err="rpc error: code = Code(500) desc = at least 2 live replicas required, could only find 1 - unhealthy instances: x.x.x.x:9095,y.y.y.y:9095\n" msg=gRPC

This is probably not enough detail to track down what is wrong, so if this happens again I'll make sure to grab a memory dump and other things that might help.

the ring gets stuck

What does it mean? Can you be more specific what you mean by "stuck"?

the ring gets stuck

What does it mean? Can you be more specific what you mean by "stuck"?

sorry, this was a few months back so I don't remember all the details. but by "stuck" I meant that all ring operations would start to error reporting that it had too many unhealthy instances.

trying to illustrate better what I had in mind when I created this:

let's say you have 15 members in the ring, all of them working healthy and just fine. we ran into a scenario where, because 2 members were unhealthy, all other members start to error reporting that the ring had too many unhealthy instances.
I can't remember though if this was a misconfiguration on our side. but in our case, we'd be better if the other 13 healthy instances kept working normally


validate Markdown links

Adds a new task to package.json which checks for dead links in Markdown files, as suggested in pull request #357.

Caveats:

Because it's actually doing a network request for every link, it's pretty slow – certainly too slow to use as a git hook during local development, and will be frustrating as a check via GitHub Action during continuous integration. Better to run it manually.
Files are listed individually because the command line interface for checking multiple files is pretty rough – no globs, no way to exclude files or directories (even node_modules!), etc.
The automated release notes in CHANGELOG.md as added in pull request #24 include a lot of direct links to individual commits and as a result they take a very long time to check.
There's one actual dead link in CHANGELOG.md because publishing package updates was undermined by an npm incident on 2023-03-16.


firefox: extract instead of running installer

Also adds license and description.

Now I ask myself why I didn't come up with this solution ... 😁
Can you change add these changes to all other Firefox versions as well?

@r15ch13, probably because someone else wrote the original script and you followed their approach.
Sure I can fix the other scripts, but since some of them are for development builds, I have a few questions/comments.
1) What's the deal with development builds (nightlies, betas, etc.) of scoop apps?
I noticed there are a few (but not many) in the extras bucket. (Firefox is one of the few.)
2) Does it really make sense to have them in the extras bucket?
Most people will not be interested in them, so it seems like a waste of disk space and bandwidth to have them with the main apps. It would make more sense to store them in a separate bucket (perhaps that's what this repository will be used for eventually?).
3) Does it make sense to have a centralised bucket for development builds at all?
Even users who want to install a development build probably only want to do so for a single app. Why not have upstream developers maintain their own buckets for nightly builds, or even just individual manifests that users can install like this:
scoop install https://gist.githubusercontent.com/shoogle/bdba57b9dcb186fab07377916f2552cd/raw/musescore-nightly-master.json

3) Does it make sense to update manifests for development builds manually?
MuseScore releases 2-3 development builds per day. Consider these points:

Users are usually only interested in the latest development build.
Builds get superseded very rapidly.
Multiple builds will have been missed by the time somebody gets around to updating the manifest.

Scoop manifest already contain update information, so, specifically for development builds, it might make sense to always install the latest available version rather than the version in the manifest. Perhaps there doesn't need to be a version in the manifest at all (the update information is enough). This is the only way that a centralised nightlies bucket can be useful, otherwise the manifest will either always be out of date, or it will constantly be updated with new manifests for apps people don't use.
The alternative is for upstream developers to host the development manifests/buckets themselves, and for them to be updated automatically by the build scripts that are used to generate each development build.
4) What about past versions of development builds?
There are some occasions users do want to install a specific version of a development build (e.g. to look back to see when a bug first appeared). For regular scoop apps, it is possible to get a list of previous versions by looking back at the history of the manifest file. However, for development versions, this may not be the case:

if the manifest is not updated quickly enough some versions will be skipped
development builds are only stored for a limited time, so past versions no longer be available

This means that, specifically for development builds, either:

the manifest file should contain all currently available versions, or
the update information should return all currently available versions (e.g. by extracting them from a page like this one)

P.S. Sorry if this is not the appropriate place to discuss this. I'm happy to copy this into an issue if required.

TLDR
For scoop to be useful for development builds, either:

App manifests for development builds would be hosted and maintained centrally in a special bucket

the bucket would only contain development builds (no dev builds in main or extras buckets)
manifests for dev builds wouldn't contain a current version (no need to update manifest with each new version)
update information would report all development versions currently available on the upstream website

App manifests for development builds must be hosted and maintained by upstream developers

manifests would contain all currently available versions of the development build
manifests would be updated automatically by the upstream build scripts used to generate development builds

@r15ch13, I've updated manifests for the other Firefox builds, and I've also fixed an issue I found with the "checkver" regex in firefox-esr.json.
The old regex was looking on the ESR page for a version string like this:
<html  data-esr-versions="52.9.0"

However, that would break at certain times of year (like now), when two ESR versions are available:
<html  data-esr-versions="52.9.0 60.1.0"

I fixed the regex so that it can handle this situation too. My fix chooses the version that appears first, which looks to be the older of the two versions. Justification is below.
Firefox ESR versions
As explained in more detail (and with nice diagrams) here and here...

Each Extended Support Release (ESR) is based on a specific version of Firefox Desktop.
The ESR version receives extended support for a period of 54 weeks.
12 weeks before the end of that period, the next ESR version is released.

During the 12 week transition period, the incoming and outgoing ESR are both supported. Both ESRs continue to receive security updates which increase their MINOR and PATCH version numbers.
Whether to offer the old or new ESR version?
It's tempting to think that scoop should offer the newest version as soon as it becomes available, but that ignores the whole point of extended support releases. ESRs are mainly targeted at organisations rather than individuals, and organisations care about stability rather than new features. The 12 week transition period is there to allow organisations to test and certify deployment of the new ESR version before upgrading all their systems, so I think it makes sense for scoop to continue to offer the old ESR during the transition period.
The alternative would be to offer two manifests, or build some kind of fastlane/slowlane facility, to allow scoop users to choose for themselves...

Awesome work! Thank you! 👍
Removing firefox.exe is a good idea.
Using older ESR version is the right thing to do.


Update atomic_bridge.move to use blockheight as timelock not timestamp

As discussed with @cde8 the timelock sync between chains occurs at the blockheight level, not the timestamp level.
Currently the atomic_bridge.move(counterparty) module uses timestamp, whereas the eth (initiator) uses blockheight. This was merged optimistically as an issue to fix later.
You can see us setting the timestamp in motion here https://github.com/movementlabsxyz/movement/pull/205/files#diff-a56b20379dbef0e9742fd9a9e7fe5512e645e339176a27bbbe4774bfa0aabe5a
I initially tried to use blockheight in the tests but this broke the tests wouldn't run withe compiler reporting some errors within aptos-framework code. Now that we have the upstream sync, this issue may be resolved.

Update the atomic_bridge.move to use blockheight as its timelock val.
Submit the PR to the feature branch eng-546-atomic-bridge
No tests need to be added, but the current move tests should still pass.

Done and merged into https://github.com/movementlabsxyz/movement/pull/215


Add serde support (optional serde feature).

This PR adds serialization via serde::Serialize and serde::Deserialize.
The de-serializer is guarded against malicious size hints, in the exact same manner as serde's Deserialize impl for Vec.
The implementation was modeled off of arrayvec.

Thanks!


KTOR-7653 Fixes for 3.0 release

Fixes for:
KTOR-7653 Project generator: issues with 3.0 release
Includes:

Fixed version ranges for call-logging and mongodb plugins (and more...)
Updated plugin versions for flaxoos and swagger-ui plugins
Added dependency output gradle target for debugging
Fix for RC-2 appearing in list of releases

I've also disabled failing on compilation errors due to some classpath problem.  It seems that Ktor 2.3.* is getting included in the classpath somehow but the jars aren't present when debugging, so there could be some plugin bundling it in their jar or something.  It will require isolating classpaths per plugin instead of grouping them all into the same per release, which will take some time.

There is a problem with this test, that it doesn't throw an exception anymore 😅
RegistryBuilderTest.`fails on unknown types`


Container Exec dosnt work

There is a problem with the Exec on API->container.
It goes into an error 404 not found, i think its possible that the URL is wrong, in the API Description it works via wss://ws.cloud.docker.com/

@arcronis the URL is correct, we use this lib in production environment on daily basis with no problem.
With 'exec' API it has to use WebSocket protocol , that's why instead of https you see wss.
Please see the code below we use to update database in our CI practice. You can change it to fit your requirement.
use DockerCloud\API\Container as ContainerAPI;
use DockerCloud\API\Service as ServiceAPI;

 /**
     * @param   Stack $Stack
     * @param   array $commandList
     * @param     int $retryTime
     */
    protected function execRetry($Stack, $commandList = [], $retryTime = 3)
    {
        if (empty($commandList)) {
            return;
        }

        $ContainerAPI = new ContainerAPI();
        $ServiceAPI   = new ServiceAPI();
        $AppService   = $ServiceAPI->findByName(AppService::SERVICE_NAME, $Stack->getResourceUri());
        $AppService   = $ServiceAPI->getByUri($AppService->getResourceUri());
        $ServiceAPI->waitForState($AppService, $AppService::STATE_RUNNING);
        $Container = $ContainerAPI->getByUri($AppService->getContainers()[count($AppService->getContainers()) - 1]);

        // exec first command
        Logger::getInstance()->info('exec :' . $commandList[0]);
        $ContainerAPI->exec($Container->getUuid(), $commandList[0], function ($response)
        use ($Stack, $ContainerAPI, $Container, &$commandList, $retryTime) {
            $info = json_decode($response);
            if (property_exists($info, 'output')) {
                // exec first command success
                unset($commandList[0]);
                Logger::getInstance()->info($info->output);
            } elseif ($info->type == 'error') {
                // output error info
                Logger::getInstance()->info($info->message);
                //retry
                if ($retryTime > 0) {
                    $retryTime--;
                    Logger::getInstance()->info("retrying update database... [else try count: $retryTime]");
                    sleep(10);
                    $this->execRetry($Stack, $commandList, $retryTime);
                    // clear command list
                    $commandList = [];
                }
            }
        });
        // exec other command
        foreach ($commandList as $key => $command) {
            Logger::getInstance()->info('exec :' . $command);
            $ContainerAPI->exec($Container->getUuid(), $command, true);
            unset($commandList[$key]);
        }
    }

hi @arcronis did you get it working? shall I close this issue?


Bashcomp: add missing options and speed up

r? @wycats
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+ 3f49c79d0760bceaff73e0a97ee537ae810f00ca

:hourglass: Testing commit 3f49c79 with merge b61b5ea...

:sunny: Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64


XDoc: Add Home Section

Currently, users can find documents in the home window:

We want to display also blog posts in the home window.


New package: cedric.fa2tv version <IP_ADDRESS>

Checklist for Pull Requests

[ ] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Verify:

The installer didn't seem to write any data to the Registry.


[SGCI] Catalog: Inconsistent breadcrumb, Uncommon word, Low discoverability

Feedback from the SGCI usability study (phase 2)
Severity: 2

The breadcrumb of this page should be CHEESEHub/Catalog to be consistent with other pages.
"Choose an application below to configure" is not a common way to phrase the call of action. "Choose an application below" or "Add an application" would be enough.
None of the users in the previous study noticed that they could switch between grid view and list view.
The import and create button don't seem to fit into the catalog page very well as the current focus user group are learners. It would be more suitable to add an “Add application” button on the menu and move the upload feature there. Also, the consistency between the “+Create” button and “Add Application” title needs to be improved.
Further, users would need more instruction on the create process such as who is allowed to upload an app and what will happen after they add an app.

Important bits to keep in mind going forward with CDDR:

The import and create button don't seem to fit into the catalog page very well as the current focus user group are learners. It would be more suitable to add an “Add application” button on the menu and move the upload feature there. Also, the consistency between the “+Create” button and “Add Application” title needs to be improved.
Further, users would need more instruction on the create process such as who is allowed to upload an app and what will happen after they add an app.


Set mesosMasterAddress default to private IP (resolves #1664)

Note this is the same as #1668 but reopened.

Jenkins, test this please.

Sort of off-topic, but this test failure looks like a repeat of #1700. It looks like there's some (unrelated) infinite-loop problem with the GoogleJobStore, but it's hard to pin it down. I wonder if, instead of using the jenkins timeout, which unceremoniously and silently kills everything, we could use a pytest timeout, so we know which test failed? That would help narrow down the possibilities--these flaky tests are super annoying and we should track them down if possible.

Joel that's a great idea,  I didn't even know that was an option!
Also are you suggesting that my code is not responsible for the failure?
On Jun 23, 2017 9:48 PM, "Joel Armstrong"<EMAIL_ADDRESS>wrote:
Sort of off-topic, but this test failure looks like a repeat of #1700
https://github.com/BD2KGenomics/toil/issues/1700. It looks like there's
some (unrelated) infinite-loop problem with the GoogleJobStore, but it's
hard to pin it down. I wonder if, instead of using the jenkins timeout,
which unceremoniously and silently kills everything, we could use a pytest
timeout https://pypi.python.org/pypi/pytest-timeout, so we know which
test failed? That would help narrow down the possibilities--these flaky
tests are super annoying and we should track them down if possible.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/BD2KGenomics/toil/pull/1731#issuecomment-310813970,
or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKPMlLltXuuAQSM3RoGnGlhnMdC4RN2bks5sHJUqgaJpZM4OD7Am
.

On closer inspection it looks like the failure is not in the Google jobStore tests but in the sort tests, so maybe this is caused by your code after all. My bad! I think the point about pytest timeouts still stands, though.
(I think the failure is probably caused by the mesos test support libs, which specify a master IP of <IP_ADDRESS>. Mesos slaves reject any master that advertises a different IP than it's contacted on. Changing those to use the same "get external IP" logic will probably fix things.)

Jenkins, test this please

Jenkins test this please

Well cool! Looks like this is working now too! @ejacox ready for review

It looks like a merge took out the call to getLocalIP.

@ejacox Hah! okay, I'm on it. Thanks

It looks like all of the integration test failures are due to the IAM outage

HAH!  Down to just four beautiful commits. This is ready for review @ejacox

I ran the failed test (src.toil.test.provisioners.aws.awsProvisionerTest.AWSAutoscaleTest.testSpotAutoScale) locally and it passed fine. My suspicion is that the failure was transient, but I don't have a good reason why.
Also it is suspicious that this test failed given that it was modified to test the new default value of --mesosMaster. I don't think the failure was related however because if it was, the staticAutoScaleTest would have probably failed as well.
I will test again. Jenkins test this please.

@ejacox merge?


Add Italian translation

#22

Thanks, we will need more in the near future. Hope we can count with you once again ;)

i'm happy to hear my contribute helped you out. I hope I can help out again inthe future


Add OAuth2 service tests

There is no longer an oauth2 service. Instead it is a plugin and is now well tested. feathers-authentication-oauth2


feat: Adding literals

After about 5 or 6 iterations of playing with how to represent expressions to start working on scan planning, I've finally settled on something I like!!
Rather than a huge code dump, I've broken it out into smaller successive PRs so that it is easier to review. This PR contains the definitions for representing Literals, which will then get utilized in constructing BooleanExpressions and so on.

CC @Fokko @nastra @wolfeidau

@zeroshade this is a considerable amount of work, I really need to learn more about the internals of iceberg, mostly working to understand the metadata.
Looks great, nothing stands out as issues to me.

@zeroshade Thanks! Can you fix the conflicts?


Add constant to avoid the use of arbitrary-looking values in websockets

Been trying WebSockets (cool stuff there BTW) and noting some stuff that as a user feels weird, been playing around to improve usability and readability (the user does not see a seemingly, from user's point of view, arbitrary value), please tell me if I step on somebody toes of I use non-standard Godot style.
This adds the possibility to use:
client.get_peer(WebsocketPeer.SERVER)
instead of
client.get_peer(1)
I don't know if SERVER is the best name for it. I guess it's the first one that comes to your mind when programming , but I think is not 100% technically accurate or know if it follows Godot's naming conventions.

That's actually not specific to WebSockets though, it's the same in all the high level multiplayer API: http://docs.godotengine.org/en/latest/tutorials/networking/high_level_multiplayer.html#managing-connections

But I agree that making it a constant wouldn't hurt.

Oh right! Still haven tried hlmpAPI. So you thing it's good Idea to move it to a higher Level? Or better add another constant in the other side to keep readibility? (As PacketPeer.SERVER might feel unrelated to the user in Websocket space)?

As cryptic as it can be, it's basically NetworkedMultiplayerPeer.TARGET_PEER_SERVER
https://github.com/godotengine/godot/blob/master/core/io/networked_multiplayer_peer.cpp#L61
But I agree, even if we update the docs it would look funky to use that constant in a non himpa context.
So It think this PR is fine, maybe, just for clarity define the enum as:
enum {
    SERVER = TARGET_PEER_SERVER
};

Haven't seen this constant. This makes more sense and allows for different implementations

Haven't seen this constant. This makes more sense and allows for different implementations.
Seeing now how it is defined in NetworkMultiplayerPeer, I understand now how it works, but the constant is defined in a different implementation of PacketPeer, so I do not think is good praxis to reference this from the WebsocketPeer sibling class, it's a weird situation I see...  Maybe move it up to the superclass? or maybe or redefine it in each subclass? I don't know if this would break

Hey, moved the constants up but kept the bindings as both compatibility and programming helpers (For example, i don't know if the broadcast makes sense in the websocket case, so it's not binded). I think this is cleaner than referencing a sibling class.... But I don't know if those constants are inherent of it, so maybe it needs to be defined in both.

I don't think moving it to packet_peer is okay though, in many cases it has no meaning there.
Either create brand new constants in WebSocketPeer like you did before, or, we could just tell users to use:
client.get_peer(WebSocketClient.TARGET_PEER_SERVER) (which we could alias as SERVER_PEER).
As

You are right hahah, I thing I'm just messing everything up a lot.

So what should be done in the end?

@AinaSG , in the end, I think your original proposal of just adding a value WebSocketPeer.SERVER_ID is the best solution. Could you update your PR?
Sorry for the mess :-(

Yes! I think having separate constants us the way2go. Will fix tomorrow
morning when having a computer. Thank you everyone! ^^
El dg., 3 març, 2019 16:01, Fabio Alessandrelli<EMAIL_ADDRESS>va escriure:

@AinaSG https://github.com/AinaSG , in the end, I think your original
proposal of just adding a value WebSocketPeer.SERVER_ID is the best
solution. Could you update your PR?
Sorry for the mess :-(
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/26270#issuecomment-469031263,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGwfDm1MsAgoiMHCxMH-wtyA0OL5HfHQks5vS-PIgaJpZM4bPiud
.

(Pretty bump, hope you found your computer)

Ping :)

Closing for now as this PR is stale.


Manual SIFT Installation

Request that a "minimum requirements" list get added to
http://digital-forensics.sans.org/community/downloads
for the manual build.  Such as:
2G of RAM, 1G of Swap, 10G of disk (for just os, tools, and swap)

@SANS-SIFT can you make this happen?


Ref #7629

Closes opened file with finfo to avoid segfault on specific PHP versions
See https://github.com/zendframework/zendframework/issues/7629 for reproduction details

Thanks, @philippe-jung


Add Python 3.13 to test matrix

Now that it's released, we should test it.

This will not pass until pyarrow (and possibly others) release Python 3.13 wheels. Until then, we could look at marking integration tests as xfail for 3.13, but not sure if that's worth the effort.

Re ef57f6f: I'm not sure how I feel about bumping everything at once - does uv lock -P pyarrow suffice to make the tests pass already?

Also: Should we add a version guard requires-python: ">=3.9,<3.14" to pyproject.toml, since this mirrors the versions we explicitly test against?

I decided on a full upgrade in place of trying to upgrade pandas, numpy, polars etc., but I can do that too.

I decided on a full upgrade in place of trying to upgrade pandas, numpy, polars etc., but I can do that too.

I guess if it doesn't break anything obvious it doesn't hurt (since we also don't constrain the versions in pyproject.toml).

Also: Should we add a version guard requires-python: ">=3.9,<3.14" to pyproject.toml, since this mirrors the versions we explicitly test against?

Semantically, all current non-development Python versions fulfill this constraint, which makes it an empty condition (until a very brief transition time in October 2025). I've seen these constraints in practice, but I'm not convinced they are all that useful.

I actually meant >=3.10, but your point still stands somewhat. I guess what it does it give a "
proper" notice once Pie-thon 3.14 comes out since you won't be able to install the package without us at least giving it a cursory test beforehand.


python3Packages.types-tabulate: init at 0.8.5

Motivation for this change
I would like to add type annotations for tabulate into nixpkgs proper so that mypy works nicely on projects using python + tabulate via nix
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[X] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

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

2 packages built:

python310Packages.types-tabulate
python39Packages.types-tabulate


Feature request: utility to call the same actor with multiple messages

We have written up a (crude) utility function to send multiple messages to the same actor and receive the response with a mpsc channel.
This is mainly to minimize overhead.
Is it possible to include such feature in ractor?
Here's my implementation. One big flaw is that this requires making another message type for MpscSender instead of using RpcReplyPort
pub async fn call_multi<TMessage, TReply, TMsgBuilder>(
    actor: &ActorCell,
    msg_builder: TMsgBuilder,
    size: usize,
) -> Result<Vec<TReply>, MessagingErr<TMessage>>
where
    TMessage: Message,
    TMsgBuilder: FnOnce(MpscSender<TReply>) -> Vec<TMessage>,
{
    let (tx, mut rx) = concurrency::mpsc_bounded(size);
    let msgs = msg_builder(tx);

    for msg in msgs {
        actor.send_message::<TMessage>(msg)?;
    }

    let mut replies = Vec::with_capacity(size);

    // wait for the reply
    while let Some(result) = rx.recv().await {
        replies.push(result);
    }

    Ok(replies)
}

Couldn't you use the existing multi_call and give an array of the same actor? Wouldn't that achieve the same result here?
I think there's definitely a use-case for having a MultiReplyPort or something, so instead of a single result, you could get a stream of results for example. But normally that's not something present in Erlang's OTP, and we'd probably build a different pattern for it when needed. As an example, send a cast with an argument of the reply actor, and then the caller sends N messages back to the caller. But it won't block the same way as an RPC.

We transitioned from Riker-rs to ractor just now. We made this code because in riker, calling the actor a bunch of times and getting the results (internally via a lot of Oneshot's, just like ractor) was slow, so we made one that utilizes a mpsc channel to make it faster. (And it did improve efficiency there!)
We're not certain that this approach would necessarily be faster in ractor, but generally mpsc seems to fit better than creating a lot of oneshot's for when you have multiple messages with each a response.
Maybe we could make a benchmark, hm.

And also, we're not sure if multi_call would help here, since the messages are different.

How would you have a mpsc reply port if the input messages are different, therefore likely resulting in different reply types? Unless you have each message have the same return type, which then is quite flaky to provide something at a framework level, I don't see how you could make this work.
We could add a multiple-reply port, but I don't see a strong reason to do it yet (personally).

The messages are different as in they each have different parameters, specifically different parameters in an Enum.
The replies are the same way, different parameters in the same Enum type.
We meant that the message values are different, not the types, sorry for the confusion.

The messages also have the same enum kind, they're all the same kind just different parameters.

We're not certain that this approach would necessarily be faster in ractor, but generally mpsc seems to fit better than creating a lot of oneshot's for when you have multiple messages with each a response.

From my point of view, this would be the only reason to add what you're requesting here. It would require a decent amount of support changes in the proc macros of ractor_cluster I think, so i'm hesitant to do it. If you however wish to put up a PR of what it might look like I'm open to considering it! Thanks :)

Got it :) We might work on it when we have time and motivation!

I'm doing some backlog maintenance and since I haven't seen anything come of this in a while, I'm going to close this issue. But if you are up for revisiting it, please feel free to re-open the issue!


Clarification of gl-vec3. transformMat4

Hi!
I am new to math so sorry for my ignorance, but I just like to understand things.
More then an issue caused by a bug this is a need of clarification, sorry again if this is not the right place.
I'm porting some geometry old code from processing.org java framework to javascript with gl-matrix. For instance I used toxiclibs.
In that code I'm encoding some quaternion rotations into a matrix and then I need to transform all point of a mesh within that matrix.
I'm stucked on what in toxiclibs is called TriangleMesh.transform(Matrix4x4) (see here):

Applies the given matrix transform to all mesh vertices. [...]

This method itself calls Vec3D Matrix.applyTo(Vec3D v) (see here) that, as the name says, transform a Vec3 by a Matrix4x4.
I need to translate this in gl-matrix and I thought I need to use gl-vec3.transformMat4 (see here):

Transforms the vec3 with a mat4. 4th vector component is implicitly '1'

But results are totally difference and I ended up rewriting the transform method from the toxiclibs in that way to have the result I'm expecting:
/**
 * Applies the given matrix 4x4 `matrix` transform to the input vec3 `v`.
 * @param {vec3} out the receiving vector
 * @param {vec3} v the vector to transform
 * @param {mat4} m matrix to transform with
 * @returns {vec3} out
*/
function transform(out: Vec3, v: Vec3, matrix: Mat4): Vec3 {
  const temp: Mat3 = mat3.create()
  const width: number = 4
  for (let i = 0; i < width; i++) {
    temp[i] =
      v[0] * matrix[0 + i * width] +
      v[1] * matrix[1 + i * width] +
      v[2] * matrix[2 + i * width] +
      matrix[3 + i * width]
  }
  out[0] = (temp[0] * 1.0) / temp[3]
  out[1] = (temp[1] * 1.0) / temp[3]
  out[2] = (temp[2] * 1.0) / temp[3]
  return out
}

Note that this method has the same signature of gl-vec3.transformMat4
So.. I don't really understand the math behind (and would really thank someone if can explain to me) but basically.. what I'm doing wrong? Which gl-matrix method do I need?

Reproduction code
Setup
function transform(out, v, matrix) {
  const temp = mat3.create()
  const width = 4
  for (let i = 0; i < width; i++) {
    temp[i] =
      v[0] * matrix[0 + i * width] +
      v[1] * matrix[1 + i * width] +
      v[2] * matrix[2 + i * width] +
      matrix[3 + i * width]
  }
  out[0] = (temp[0] * 1.0) / temp[3]
  out[1] = (temp[1] * 1.0) / temp[3]
  out[2] = (temp[2] * 1.0) / temp[3]
  return out
}

a = [1,3,5]

let q = quat.create();
let t = vec3.fromValues(1, 2, 3);
let s = vec3.fromValues(5, 6, 7);
q = quat.setAxisAngle(q, [0, 1, 0], 0.7);
let b = mat4.create();
mat4.fromRotationTranslationScale(b, q, t, s);

out = [0,0,0]

Test
transform(out, a, b)
// [ -0.5339665620223336, 0.782608695652174, 1.3599564925484036 ]

vec3.transformMat4(out, a, b)
// [ 27.371830224990845, 20, 26.54838752746582 ]

Second test (transpose matrix)
transposed = mat4.create()
mat4.transpose(transposed, b)
transform(out, a, transposed)
// [ 27.371829986572266, 20, 26.54838752746582 ]

vec3.transformMat4(out, a, b)
// [ 27.371830224990845, 20, 26.54838752746582 ]


Add pathEnd(s:string) and segment(s:string) Handler-s

As referenced in #21

Thank you! I have tagged version 0.3.9, so that it is easier to use these new handlers


Create PULL_REQUEST_TEMPLATE

As a project user
I want to know what information is required to submit a pull request
So that my request may be accepted quickly

Resolved by #53.


add ability to overwrite wagtail logo with own logo for the userbar

In the userbar the wagtail logo is loaded though a font. This behavior remains, however the font icon may now be overwritten by an image.
To acomplish this the classes which define the font icon have been split out to an icon tag which is a child of the userbar trigger div. The  tag is containted within a block called branding_logo, so the user may overwrite this block similar to overwriting the branding logo in other templates.
Please test my work, and modify if needed. (should go without saying)

This also provides an alternative to overwriting the icon using a font, and could likely be condisdered a solution to issue #2353

If it gets merged, you can create a file dashboard/templates/wagtailadmin/userbar/base.html:
{% extends "wagtailadmin/userbar/base.html" %}
{% load staticfiles %}

{% block branding_logo %}
    <img src="{% static 'ffs_base/img/my_logo.svg' %}" alt="my logo" />
{% endblock %}

I have not fully checked if the size or dimnetions of the custom logo will be an issue. Possbile one or two lines should be added to userbar.scss to make sure the image is always containted within the "wagtail-usebar-trigger" class, and does not overflow it.
Shouldn't be hard to do if needed.

Reviewing my own pull request, I see that I made a new pull request after this one, which includes every change made in this one.
So this PR might be ignored completely, instead review PR #4741


Pear Now Companion - Dark Mode Bug

If i apply dark mode, the background color doesn't change to gray (see below) :

This makes the text difficult to read.

what phone, android is it
On Wed, Jan 12, 2022 at 7:42 PM Steven Felix @.***>
wrote:

If i apply dark mode, the background color doesn't change to gray (see
below) :
[image: Screenshot_20220112-221848_Pear Launcher.jpg]
https://user-images.githubusercontent.com/57618009/149169449-9dd8f720-f858-4ec2-bbe3-9863e6b1a336.jpg
This makes the text difficult to read.
—
Reply to this email directly, view it on GitHub
https://github.com/PearLauncher/pearlauncher.github.io/issues/1, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AEBWVCQ4APBOGUFZKP3VOQLUVZCYRANCNFSM5L2XAWIA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Samsung SM-A105G
Android 11

I'll check it out
On Tue, Jan 18, 2022 at 6:52 PM Steven Felix @.***>
wrote:

Samsung SM-A105G
Android 11
—
Reply to this email directly, view it on GitHub
https://github.com/PearLauncher/pearlauncher.github.io/issues/1#issuecomment-1016029276,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEBWVCRIJMJT47BZPMRBXZDUWYRPPANCNFSM5L2XAWIA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>


linking issue with lucene++ 3.0.8

Compiling poedit with latest lucene++ release fails reporting ld erors
ld: error: undefined symbol: Lucene::StringUtils::toUnicode(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
>>> referenced by transmem.cpp
>>>               tm/transmem.o:(TranslationMemoryImpl::Search(Language const&, Language const&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > const&))

The breakage occurs after commit 9fe7860
and affects poedit 1.8.4 and 2.4.2
Poedit compilation log : poedit-1.8.4_33.txt

Sounds like a problem with your build environment or with LucenePlusPlus to me.
If you believe otherwise, submit a PR with a fix. Unlike me, you do have an environment (details of which you don't provide) where you can reproduce it. If you're savvy enough to build Poedit from sources, you're savvy enough to investigate and fix.
P.S. Spamming both involved projects with no investigation and no attempt to identify the responsible project is not cool.

Sorry if you feel spammed, I'm Just reporting an issue and asking for some help.
Regarding the context, couple of weeks ago lucene++ was upgrade in FreeBSD ports (from 3.0.7 to 3.0.8)
and since  poedit doesn't build anymore.
Reverting the upgrade back to 3.0.7 solves the problem.
I built poedit using lucene++ modified versions from 3.0.7 to 3.0.8, integrating one by one the commits
and, as I said, I found the one who breaks.
Now I need to figure out if the issue is caused by an update un lucene++ API or build options introduced by error
in lucene++ or  not properly used by poedit  yet.
Maybe finding a fix can be beneficial for everyone.
Regards.

Sorry if you feel spammed

I don't "feel" spammed, I'm telling you that filing the identical issue in both projects, as you did (that's not a "feeling", that's observable fact), is frowned upon.

Maybe finding a fix can be beneficial for everyone.

It would be. Which is why I asked you to be of benefit to the project you use and investigate and contribute a fix. Probably best start by using LucenePlusPlus' master (which has evidently-build-related fixes since the last release) and looking into why you get linker errors.

Per LucenePlusPlus duplicate, evidently a build issue  →  closing.


Multiline comment and suggestion

Hi,
this MR adds support for:

creating multiline comments and suggestions based on API docs
creating comments on unchanged lines

TODO:

:heavy_check_mark:  I'm still testing these to figure out if LineCode is correctly calculated and maybe some tests would be nice for this :thinking:
:heavy_check_mark:  Update docs
:heavy_check_mark:  Currently go-gitlab module does not send correct data so this needs to wait for: https://github.com/xanzy/go-gitlab/pull/1822
It would be nice if someone tested it with delta -> I didn't have time yet to setup and test it. I also noticed that get_location in delta is much more complex ( currently I am sure if it returns result on unchanged line ).

@harrisoncramer could you review this when you have time ? I need to do testing with delta but using it daily with diffview.nvim for reviews and it seems to work as expected :slightly_smiling_face:. Also if you have some ideas how to improve it or refactor it don't hesitate to comment :+1:

Sounds good, thank you for your contribution. I'll take a look probably this weekend.

Hi,
thanks for review.  Mainly I moved the reviewer specific getting of content and searching for correct line numbers to reviewer lua files. For now delta will return error notification that multiline comments are not supported - as you mentioned that it will be probably dropped I would leave it unsupported :+1:.
Sorry for duplicating review time but could you look over it once again ? Thanks.

Works great, if you put this into non-draft status then I'm game to merge! Thank you, this is an awesome feature add.

By the way if you are looking for another feature to implement I think that this would be pretty killer https://github.com/harrisoncramer/gitlab.nvim/issues/47

sure, I already have few more things in my mind so when I will have time I can look into that 👍


Prevents access to request raw data in Flask

This all seems to be a bit of a mess, but if you want to access the raw request data in Flask regardless of the content type (I can't control the client), you need to call
 request.get_data()

and you need to do this before accessing request.data or request.form, because both of these will call get_data() in such a way that the stream will be exhausted, parsed into the form dict, and the raw data is never cached.
This doesn't seem documented except in the comments: https://github.com/mitsuhiko/werkzeug/blob/master/werkzeug/wrappers.py#L440
Should the sentry extension call request.get_data() first to make sure the raw data is cached before using request.form?

I've run into this issue also recently.
It makes sense that Flask doesn't want to cache the unparsed body.  This could be really large in the case of file uploads.  Triggering the caching is probably not best for all scenarios.
This is working for me right now
# Workaround to allow unparsed request body to be be read from cache
# This is required to validate a signature on webhooks
# This MUST go before Sentry integration as sentry triggers form parsing
@app.before_request
def enable_form_raw_cache():
  if request.path.startswith('/redacted'):
    if request.content_length > 1024 * 1024:  # 1mb
      abort(413)  # Payload too large
    request.get_data(parse_form_data=False, cache=True)

if config.SENTRY_DSN:
  sentry = Sentry(app, dsn=config.SENTRY_DSN, logging=True, level=logging.ERROR)

There might still be a better, more general solution.  I'm not sure if the code that captures request.form could just be moved into an after_request and still have the same results?

I don't think the raven client should force buffering of the body. That seems like a terrible idea because this could be (as mentioned) huge.

Just ran into this. It took me a long time to realize that this is what was happening. @mitsuhiko could we perhaps add this issue to the docs in Sentry?

Please add a big fat warning in the Sentry docs, also got bitten by this :/

Also just ran into this. Why does the Sentry SDK need to access request.data or request.form? If the SDK is already accessing the data (and triggering it being parsed into a data structure that is attached the request) then I don't understand how it would be doing much for memory/performance concerns by not cacheing it.

For what it's worth the new sentry-python SDK makes this configurable and generally is less invasive for accessing this information.


Trigger needed in collection entries for addon development

To be able to add functionality with an addon to Collection entries view, a trigger like this is needed.

whhy don't you trigger it her: https://github.com/agentejo/cockpit/blob/next/modules/Collections/views/entries.php ?

why don't you trigger it here: https://github.com/agentejo/cockpit/blob/next/modules/Collections/views/entries.php ?

I don't remember anymore, I will try to move it and see if anything breaks

I tries to move the trigger, but it broke my event handler, that looks like this:
$this->on('collections.entries', function ($collection) use ($app) {
  $filters = $app->module("collectionentriesfilters")->loadFilters();
  $this->renderView("collectionentriesfilters:views/partials/filters.php", ['collection' => $collection, 'filters' => $filters[$collection['name']]]);
});

Basically I render more content in the collections.entries handler and then move it with javascript. But this.mount does not seem to be called if the trigger is not inside something which is passed thru @render.
How do I go about this?

Tried to move it, but I need to have trigger in the partial since I have built a riot-view that modifies the filter field and it needs to be redrawn when the filtering process is run.
Would you accept the PR if I change the trigger name?

Thanks!


getting java.lang.UnsatisfiedLinkError

couldn't find "libopencv_java.so"

I am having the same issue, how do I go about it


TokenScript.org cannot login with github

visiting tokenscrip.org, and try to login with github, cannot prompt github auth page, instead of following failure page.

@bootingman 1) solve it kindly; 2) if not solvable in a short time, simply disable sign-in with github until it is solved. Thanks!

Seems it's not a bug, you have not allowed the quest from GitHub, please approve the request from GitHub, then you can log in with GitHub account.
I tried more than 5 times in different browsers, Firefox/Chrome/Brave/Vivaldi on PC/Mobile, 100% works.

It works for Safari on Mac (can register and login),
but doesn't work for Chrome.
Chrome Version 72.0.3626.121 (Official Build) (64-bit)
Mac Darwin MacBook-Pro.local 18.2.0 Darwin Kernel Version 18.2.0

@theBergmann can you tell if it works for you?

It is working on my chrome Version 73.0.3683.86 (Official Build) (64-bit). Login - Github - Create new account - Done.

Consider it solved per @theBergmann comment.


Change user agent in header for mobile version of website

For http://example.com different html and js is rendered for mobile and desktop version. So is it possible to change page user agent as we do in phantomJS?

Don't know. @mikelambert?

No such feature/option right now...if PhantomJS supports it, then I assume it's just a matter of making an option that plumbs it all the way down to our use of the PhantomJS API.

Oops, dupe of #176. Please close @mikelambert.


Client::OP_BINDTO option doesn't have any effect?

Looks like Client::OP_BINDTO option make no sense ☹
Intro
Let's say I have two IP's: MY_FIRST_IP, MY_SECOND_IP.
Trying bash curl to check IP interface works fine:
curl --interface MY_SECOND_IP http://ip-api.com/json

result:
{ ... "query":"MY_SECOND_IP" ...}

Fine.
Trying artax:
$client->request("http://ip-api.com/json", [
  Client::OP_BINDTO => 'MY_SECOND_IP',
]);

result:
{ ... "query":"MY_FIRST_IP" ...}

Gives MY_FIRST_IP instead of MY_SECOND_IP.

Confirmed. You can reproduce it locally by using the following Nginx configuration:
server {
	listen 80 default_server;
	return 200 $remote_addr;
}

<?php

require __DIR__ . "/vendor/autoload.php";

Amp\run(function () use ($argv) {
    $client = new Amp\Artax\Client;
    $client->setOption(Amp\Artax\Client::OP_BINDTO, $argv[1] ?? "");

    $response = yield $client->request("http://localhost/");

    var_dump($response->getBody());

    Amp\stop();
});

You can run it with php test.php "<IP_ADDRESS>" and php test.php "$LOCAL_NETWORK_ADDR".

This seems like a PHP bug to me. The documentation states that you can set the IP and / or port. Setting it to <IP_ADDRESS>:0 works for me as expected, <IP_ADDRESS> just gets ignored.

@kelunik It's not a PHP bug, just the docs are maybe a bit badly worded.
It requires input in format "ip:port", with both operands set. It's just that you can set one of them to 0.
I.e. valid, according to docs should be:
<IP_ADDRESS>:1234
<IP_ADDRESS>:0
0:1234
0:0

And invalid:
<IP_ADDRESS>
:1234

PHP curl parameter CURLOPT_INTERFACE works fine, with just IP string, without port.
Docs say:

CURLOPT_INTERFACE
The name of the outgoing network interface to use. This can be an interface name, an IP address or a host name.

Now I'm using pure PHP curl with curl_multi_exec() http://php.net/manual/ru/function.curl-multi-exec.php instead of artax, in case of multithreaded requests it does everything I need 😊

@bwoebi I think we should either fix PHP or fix amphp/socket to automatically append :0 if there's only an IP.

@kelunik I agree there - on doing both, I think. Fix PHP (7.1) and amphp/socket because older versions.

@kelunik @bwoebi Ok guys, thanks for response, I hope this report was useful.

@bwoebi Did you have a look at fixing this in php-src?

Closing, as I moved it to https://github.com/amphp/socket/issues/25.


Uploading stops when the device is locked.

The case:
I want to make my app uploading 500-1000 images in the background even when the device is locked. Everything works fine when the app is in the foreground.
The issue:
When I lock the device, I don't receive any events neither in Flutter nor in native. Now it is impossible to debug the Flutter iOS app when the device is locked. Thus, I am trying to debug the native one.
The code for scheduling uploading on the Flutter side:
await Future.wait(notUploadedPhotos.map((photo) async {
      final taskId = await uploader.enqueue(
        MultipartFormDataUpload(
          url: '${rowService.apiClient.environment.baseUrl}photos/',
          files: [FileItem(path: '$basePath${photo.path!}', field: 'file')],
          method: UploadMethod.POST,
          headers: {'Authorization': 'Bearer $token'},
          allowCellular: allowCellular,
        ),
      );

      await galleryService.updatePhoto(photo.copyWith(taskId: taskId));
    }));

The background:

I tried to set the breakpoints in Xcode and don't receive anything after a while. I don't receive any errors at all.

Do we need to disable Data protection for the app or set a specific level? I saw some problems with those settings on stackoverflow.com but not sure that it is a key
Sometimes the app crashes when I try to create a task with 1000 files or 1000 tasks. Looks like related to https://github.com/fluttercommunity/flutter_uploader/pull/209
I saw the same question previously without response: https://github.com/fluttercommunity/flutter_uploader/issues/165 about background uploading
Did I miss something? There is nothing special for ios in the readme. Maybe I don't know what I need to set up to make it work?

After logs investigation I see:

but there is no successful message:

Looks strange like uploadTasks is  not empty but urlSessionDidFinishEvents has been called:

I see URLSessionDidCompleteWithError after URLSessionDidFinishEvents

2022-02-15 23:13:17.568849+0400 Runner[20204:1011071] URLSessionDidFinishEvents:
2022-02-15 23:13:17.569594+0400 Runner[20204:1010718] URLSessionDidCompleteWithError: chillisource.flutter_uploader.upload.background.25F06BE6-E4AD-4E30-AF59-BB03444803EE with response: <NSHTTPURLResponse: 0x282a91020> { URL: https://qa.app.ai/api/v1/photos/ } { Status Code: 201, Headers {
    "Alt-Svc" =     (
        clear
    );
    "Content-Length" =     (
        219
    );
    "Content-Type" =     (
        "application/json"
    );
    Date =     (
        "Tue, 15 Feb 2022 19:13:15 GMT"
    );
    Server =     (
        nginx
    );
    Vary =     (
        Accept
    );
    Via =     (
        "1.1 google"
    );
    allow =     (
        "POST, OPTIONS"
    );
    "referrer-policy" =     (
        "same-origin",
        "same-origin"
    );
    "x-content-type-options" =     (
        nosniff
    );
    "x-frame-options" =     (
        DENY
    );
} } and status: 201
2022-02-15 23:13:17.569776+0400 Runner[20204:1010718] URLSessionDidCompleteWithError: upload completed

but according to pattern of the message it is the following line which is ok:

My thoughts about this problem:
When  I lock the device, the system calls the urlSessionDidFinishEvents after 10 seconds but I still have uploadTasks. Is it the desired behavior by Apple?

@w3ggy did you find any solution for this issue ?


Request : ability to change every setting

this thing is great, works great, and is very customisable, but i feel like it's sad to not have access to settings like ripples / ripples type in the customisations.
This matrix rain has so much potential, and is the ONLY accurate one i've found (and i have looked for quite a long time) but yeah it could become a lot better if one were to be able to access every setting like the current customisations
(maybe i'm just stupid and can't figure out how to do it, but i've tried changing the default parameters in the web view, putting stuff like rippleName=circle in the link, like the rest of the parameters with no success)

Thank you for your kind words and interest in the project!
The work you describe will be a part of a larger initiative to create a GUI that exposes all these settings, changes them (on the fly when possible) and then encodes the result back in the URL. See #9 and #36 .
In the meantime, you're free to download or fork the project and create your own variation in the config file. It's not ideal, but it may hold you over while the GUI work is incomplete.


Build and run djinni on windows

Eventhough it will build and run djinni you still not be able to build android with make android. In order to build android you have to do the following:
> make android # will fail in the end, but will build all dependencies
> cd example_android
> gradlew.bat app:assembleDebug

You also need to install cygwin because of using Makefile.

BTW, I don't have MAC to test that it works on it too.

This is amazing, our Travis build runs on a Mac, so that sort of takes care of itself.  I'm going to look over this more closely tonight, but I see no reason not to merge.
Quick question, do you know if it is common practice to commit the gradle wrappers to source control?

I checked it out, best practice is to commit the wrappers.  This is an awesome first step! Thanks!


Potential weirdness with non-text characters

I've seen a few instances of spacing and alignment weirdness in cosmic-term and cosmic-edit with non-text characters. The easiest way to show this is in typeracer in the screenshot below, where you can see the border has gaps at the corners of the text boxes. Comparing it to kgx or another terminal, the text boxes don't have gaps.

I've also seen instances of btop get messed up alignment because of the bullet point character it prints in its usage meters, but I don't have a screenshot of this at this time.

I believe the btop issue is due to incorrect width calculation of braille fonts. @MoSal do you have ideas on this?

Gave typeracer a test (it's this one btw).
cosmic-text is falling back to "Nimbus Mono PS" for some glyphs, and "JetBrains Mono" for others.
Changing font settings to "JetBrains Mono" makes the issue go away.
The Nimbus font comes from the gsfonts package which is required by graphviz and libwmf (a dependency of gimp).
Maybe at some point, setting a first fallback choice should be implemented and exposed as a user setting, hoping it wouldn't prove to be a slippery slope (users requesting 2nd, 3rd, 4th,... fallback choices).

As for Braille chars, I didn't try it, but according to pop-os/cosmic-term#66, to guarantee correct rendering, a Monospace font with braille support is required (Iosevka was mentioned), and making sure font-weight is set to a value supported by such a font.

The screenshot shows kitty and the cosmic terminal both running btop. - Is it known that for example btop looks a  little messed up when compared to kitty?

2880x1800 resolution, Intel Corporation Alder Lake-P x1 laptop
Scale at 100% or 200% confirming same btop render issue
pop 22 cosmic terminal 11-05-2024, commit 5e96751

side note, likely known, if changing scale, while open, you have to exit cosmic terminal for it to match the change in scale.


Create a prior knowledge assessment

It would be nice to have students fill out a survey before starting the course that answers questions about their prior knowledge and prerequisites. I may have one from from my old course (MAE 223) that can be adapted.

We can likely use Brightspace quizzes for something like this, but we can also use google forms or something similar if we don't collect any student data that should be private. I have a number of these for prior courses using google forms.

@zofiatycz I shared a google form with you in the tu delft google drive. I think we can use it almost as is, but maybe you want to review and see if I should add/subtract anything.
We then need to:

Make an assignment 0 on brightspace
Link to the google form in the assignement (only the public link for filling it out)
Make the due date 17:00 Feb 4 (i'll ask them to fill it out in the first work session)

I think that form can be used as-is, there is nothing I would subtract. I looked through the schedule and I think it covers most of basic topics.
Shouldn't due date be 17:00 Feb11?

Shouldn't due date be 17:00 Feb11?

Yes, my mistake above.

@zofiatycz will make the due date 17:00 on February 8 (same day as first work session). Assignment created in brightspace which links to the form. Jason will take some time in the work session for people to fill it out.

@zofiatycz Can you post this to the students on Monday morning?

The assignment is created, not visible yet. If there is no comment I will make it visible on Monday morning (9 am)

Sounds good!

Done


defaultResponse not being returned in imposter json

Expected behaviour
When I POST this to mountebank:
Expected Request
{
    "port": 4545,
    "protocol": "http",
    "defaultResponse": {
        "statusCode": 400,
        "body": "No way!",
        "headers": {}
    }
}

I expect to receive a response equivalent to this:
Expected Response
{
    "protocol": "http",
    "port": 4545,
    "numberOfRequests": 0,
    "recordRequests": false,
    "defaultResponse": {
        "statusCode": 400,
        "body": "No way!",
        "headers": {}
    },
    "requests": [],
    "stubs": [],
    "_links": {
        "self": {
            "href": "http://localhost:2525/imposters/4545"
        },
        "stubs": {
            "href": "http://localhost:2525/imposters/4545/stubs"
        }
    }
}

Actual behaviour
When I perform any operation that returns an existing (or newly created) imposter that has a defaultResponse object set, the defaultResponse object is not included in the return value. I've verified the behavior from POST /imposters, GET /imposters, GET /imposters/4545, and DELETE /imposters/4545.
Actual Request
{
    "port": 4545,
    "protocol": "http",
    "defaultResponse": {
        "statusCode": 400,
        "body": "No way!",
        "headers": {}
    }
}

Actual Response
{
    "protocol": "http",
    "port": 4545,
    "numberOfRequests": 0,
    "recordRequests": false,
    "requests": [],
    "stubs": [],
    "_links": {
        "self": {
            "href": "http://localhost:2525/imposters/4545"
        },
        "stubs": {
            "href": "http://localhost:2525/imposters/4545/stubs"
        }
    }
}

Steps to reproduce
POST the request above to a running mountebank instance and inspect the response
Software versions used
OS         : Windows 10
mountebank : 2.4.0
node.js    : 15.10.0
Installation method : npm

Log contents in mb.log when running mb --loglevel debug
mb --loglevel debug
info: [mb:2525] mountebank v2.4.0 now taking orders - point your browser to http://localhost:2525/ for help
debug: [mb:2525] config: {"options":{"port":2525,"noParse":false,"formatter":"mountebank-formatters","pidfile":"mb.pid","log":{"level":"debug","transports":{"console":{"colorize":true,"format":"%level: %message"},"file":{"path":"mb.log","format":"json"}}},"allowInjection":false,"localOnly":false,"ipWhitelist":["*"],"mock":false,"debug":false,"heroku":false,"protofile":"protocols.json","origin":false},"process":{"nodeVersion":"v15.10.0","architecture":"x64","platform":"win32"}}
info: [mb:2525] POST /imposters/
debug: [mb:2525] ::1:56222 => {"port":4545,"protocol":"http","defaultResponse":{"statusCode":400,"body":"No way!","headers":{}}}
info: [http:4545] Open for business...
debug: [http:4545] ::1:56224 ESTABLISHED
debug: [http:4545] ::1:56225 ESTABLISHED
debug: [http:4545] ::1:56224 LAST-ACK
debug: [http:4545] ::1:56224 CLOSED
info: [http:4545] ::1:56225 => GET /
debug: [http:4545] ::1:56225 => {"requestFrom":"::1:56225","method":"GET","path":"/","query":{},"headers":{"User-Agent":"PostmanRuntime/7.28.4","Accept":"*/*","Postman-Token":"d81a4925-0b84-44ce-b7ac-2720a08d6b70","Host":"localhost:4545","Accept-Encoding":"gzip, deflate, br","Connection":"keep-alive"},"body":"","ip":"::1"}
info: [http:4545] no predicate match, using default response
debug: [http:4545] generating response from {"is":{}}
debug: [http:4545] ::1:56225 <= {"statusCode":400,"headers":{"Connection":"close"},"body":"No way!","_mode":"text"}
debug: [http:4545] ::1:56225 CLOSED

Thanks!


Fix "Similar code" issue in src/game/player.js

Similar code found in 1 other location (mass = 108)
https://codeclimate.com/github/crnlPanic/Arena-Electron/src/game/player.js#issue_59d219fc4de48d0001000052

Doesn't match any climate issues


Create a stand-alone version that can edit local markdown files

I'd love to see this as a stand-alone markdown editor too, like retext or typora, that can edit local markdown files.

Hello, just for info I've written a PHP application (to run on a localhost webserver) which is aimed to allow to edit markdown local files too. Currently based on another editor but I'm busy to change to tui.editor. I've to code a few things to finalize the migration (situation mid-june 2018). The application is called marknotes and is available as Open Source software on Github (see my profile).

Hello -
You can use Write.Pub (which in turn uses TUI) to edit, save and version local markdown files. http://www.write.pub/download/
Cheers

This issue is old so close it. If you have any question, please make a new issue.


docs - Fix broken relative links

Fixed broken relative links in the documentation

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

Hi @cdefgah
Thanks for the PR but afraid you aren't fixing broken links. It looks like you've changed links so that you can (1) view images while browsing the GitHub repo, and (2) more easily browse articles while browsing the GitHub repo.
The way the content is written, with a markdown extension for images, and with what's known as a root-relative link, is completely valid. The docs build system validates them and ensures they resolve on the built content at https://docs.microsoft.com/dotnet/maui
Therefore I'm going to close this PR.

@davidbritch ok, thank you, David.


[core] Add ext_deposit_event runtime call bindings

A litle bit of guessing how to integrate this into PDSL using the commit for adding println and commit for ext_deposit_event
Right now, I have it so test_env prints the event data when it is called. Is this right?
Is anything here right?
Fixes: https://github.com/Robbepop/pdsl/issues/51

@thiolliere you may want to check it out too

We also might want to have @pepyakin take a view on it for the Substrate side.
Also I am not sure about this but could be this advantageous also for calling events in Substrate?
https://github.com/Robbepop/pdsl/issues/42#issuecomment-477219821
Right now we use an interpreted buffer (the Vec<u8>) but maybe we can do better?

I see no issues with this PR in regards to our CI so I will simply merge it now.

Is this already based on master?


Adding a preset for paddling pools

I had an area that I wanted to mark as a paddling pool in the online id editor, however there currently is no suggested preset for this. It would be awkward to tag it as a swimming pool, because you can't swim there, so I was quite unsure. I saw that there is a "Kids pool" string in transifex, but I'm not sure for what it is used.
Link to wiki: https://wiki.openstreetmap.org/wiki/Tag:leisure%3Dpaddling_pool <- Here you can see that there are several ways to tag it, so I am not sure what the best one would be.

Interesting, I think it makes sense to have a preset for this.

or a field on the swimming_pool preset to specify the usage.
or maybe both, so user can more easily discover the sub presets when only the main preset is selected.

(Side note: I was amazed to see we don't have any of the sub presets selected in this case in Neukölln, which is mapped in high detail :)).

Some research:
There are not wiki pages for the "possible synonyms"

https://taginfo.openstreetmap.org/tags/swimming_pool%3Dchildren's_pool#wiki
https://taginfo.openstreetmap.org/tags/swimming_pool%3Dwading#wiki
https://taginfo.openstreetmap.org/tags/swimming_pool%3Dkids#wiki but the kids are mentioned in https://wiki.openstreetmap.org/wiki/Key:swimming_pool#Alternative_usage

Next steps: I think this is not clear enough, yet, to add a preset right now. It would be best if someone where to clarify the tags in the wiki first, likely by starting a forum discussion.

I agree that there isn't enough consensus yet and an OSM forum discussion is probably the best bet.
The downside of leisure=paddling_pool is that it isn't rendered by Carto or Organic Maps, but it describes clearly what is meant. Of the other choices, swimming_pool=wading also seems to be good, because it can't get confused with "non-swimmer's pools" as easily as the other choices and has the most uses.


[Feat] - Add PR templates

I would like to create a Pull Request (PR) template for our GitHub repository to standardize the process of submitting PRs. This template will guide contributors in providing essential information about their changes, making it easier for reviewers to understand the context and purpose of each submission.
The PR template will include sections for:

Title: A clear and concise title summarizing the changes.
Description: A detailed explanation of the changes made, including the problem being addressed and how the changes resolve it.
Related Issues: Any associated issue numbers or links that this PR addresses.
Type of Change: A checkbox list indicating the nature of the changes (e.g., bug fix, new feature, documentation, etc.).
Checklist: A series of checkboxes for contributors to confirm that they have completed essential tasks, such as testing their changes and updating documentation.

Implementing this PR template will enhance our workflow, improve communication, and ensure consistency in our contributions.

What do you need to be done here? I'd love to help

@Chioma-Okeke  I have updated Issue description. And please let me know If you want to work on this

Okay
I would love to help with this.
I have a question. Is having a title necessary when each PR has a title box?

@Chioma-Okeke , No, we don't need to add a title box explicitly, as it is already included.

@Chioma-Okeke , assigned!


[BUG] api.py "sequences: bytes" SyntaxError

Describe the bug
Error raised during module import:
  File \"/opt/custom-envs/cloudbuilder-k8s-py3/lib/python3.9/site-packages/requests/__init__.py\", line 48, in <module>
    from charset_normalizer import __version__ as charset_normalizer_version
  File \"/opt/custom-envs/cloudbuilder-k8s-py3/lib/python3.9/site-packages/charset_normalizer/__init__.py\", line 24, in <module>
    from .api import from_bytes, from_fp, from_path, normalize
  File \"/opt/custom-envs/cloudbuilder-k8s-py3/lib/python3.9/site-packages/charset_normalizer/api.py\", line 36
    sequences: bytes,
             ^
SyntaxError: invalid syntax

To Reproduce

install Python 3.9.9
use ansible collection kubernetes.core version 2.2.2
run a task using kubernetes.core.k8s

Logs
log.txt
Desktop (please complete the following information):

OS: Red Hat Enterprise Linux Server release 7.9 (Maipo)
Python version: Python 3.9.9
Package version: 2.0.9

Similarly to #114 I highly think that your Python setup is not in a good shape.
The SyntaxError on sequences: bytes means that your Python Core does not support type hint on function arguments.

Thank you. Correct, error was python2 used instead of python3


Revise/Create examples or export functions

These examples are currently lacking or exposing a too extended output

Keeping as such to avoid additional dependencies or extra code in the examples.


Support bulk sends for Ordinals inscriptions

Requested by Leonidas of Ord.io

Duplicate of https://github.com/hirosystems/wallet/issues/3736


[cinder-csi-plugin] ephemeral volume removal (#2602)

What this PR does / why we need it:
Remove openstack credits from node plugin
Which issue this PR fixes(if applicable):
step 2 of #2599
Special notes for reviewers:
Release note:

the flag node-service-no-os-client was deprecated

Manual tests:

[x] create/delete
[x] snapshot create/delete
[x] create from clone

When you have a time, can you take a look on this changes @jichenjc @dulek
I think it's ready to go, but we need to wait for the official release first.
Thanks.

/ok-to-test

@sergelogvinov could you please rebase your PR?

@kayrus done.
Thank you!

/test pull-cloud-provider-openstack-check

I've changed the golangci-lint version to 1.61.0, and test pull-cloud-provider-openstack-check passed.

@sergelogvinov I submitted a more agnostic PR that allows to run node service without credentials: #2655

Thank you for your review @kayrus!
In my view, it's better to use CLI flags. All CSI sidecars work the same way, which makes it easier for new members to get started with the project. If we need to change the rescanOnResize or nodeVolumeAttachLimit settings, we need two configurations (with/without OpenStack credentials). This adds more complexity to manage. People will likely use the one configuration with credentials to speed up the cluster. A CLI flag is very easy to change by adding it to the daemonset using helm or kustomize.
I try to follow the rule of keeping code changes to a minimum. However, I think it would be better to refactor cmd/cinder-csi-plugin/main.go. I also believe it’s much better to do this in separate PRs, rather than having one large PR that’s already difficult to review.

If we need to change the rescanOnResize or nodeVolumeAttachLimit settings, we need two configurations (with/without OpenStack credentials).

I try to follow the rule of keeping code changes to a minimum. However, I think it would be better to refactor cmd/cinder-csi-plugin/main.go

I didn't insist on keeping the code changes to a minimum. What I meant is that refactoring can be a real pain; sometimes, you can spend hours on it and still end up failing or burning out. I suggested adding new features alongside code refactoring. For example, if you notice issues in a part of the code related to a new feature, that’s a sign it should be rewritten. However, if it involves too many dependencies that also need rewriting, it’s a sign to find a compromise.
A good example is #2655. It wasn’t purely a new feature; it was a security measure. As a result, I didn’t attempt a full rewrite but instead adjusted my changes accordingly. Unfortunately, my changes ended up introducing a bug. I’m not claiming to be a perfect developer, so I hold myself responsible, but if the overall code quality were better, the likelihood of such mistakes would be lower.
So, feel free to refactor cmd/cinder-csi-plugin/main.go.

I also believe it’s much better to do this in separate PRs, rather than having one large PR that’s already difficult to review.

It depends. Maybe it makes sense to do this before this PR?

I truly appreciate the opportunity to improve this code (plugin), and we have several suggestions and ideas regarding cmd/cinder-csi-plugin/main.go. However, I believe it would be more efficient to implement these changes in a separate PR, as we can do it in parallel with others PRs.
For now, I have removed any flags or changes related to this file. This PR is currently blocking me, and I am unable to move forward with my other PRs.
Thank you for your understanding!

@dulek, @jichenjc, @kayrus, @mdbooth  Is there anything else I can do to help here?

/lgtm

@zetaab @dulek if you don't have objections, I'll approve this PR tomorrow

/approve
/lgtm