[BUG] Mounting StaticFiles with an APIRouter doesn't work

Describe the bug
Mounting StaticFiles with an APIRouter doesn't work.
To Reproduce
from typing import Any
from fastapi import FastAPI, Request, APIRouter
from fastapi.staticfiles import StaticFiles
from fastapi.testclient import TestClient

router = APIRouter()

@router.get("/")
async def foo(request: Request) -> Any:
    # this raises starlette.routing.NoMatchFound
    return request.url_for("static", path="/bar")

app = FastAPI()

router.mount("/static", StaticFiles(directory="."), name="static")
# uncomment to fix
# app.mount("/static", StaticFiles(directory="."), name="static")

app.include_router(router)

client = TestClient(app)
client.get("/")

Execute the script, raises NoMatchFound
Uncomment line to mount with app instead
Executes as expected

Expected behavior
I can use APIRouter() as if it was a FastAPI() as noted in the docs.

The include_router function in FastAPI is expecting an APIRouter, and will only register Routes that are included on that APIRouter. A StaticFiles is a sub-application, not a Route. I believe that FastAPI only supports mounting sub-applications on the app.
I'm not sure it makes sense to mount it on an APIRouter as the features of that class (default dependencies, response models) don't do much for static files. Maybe the bug here is that the mount function should be overloaded (from Starlette's) to raise an exception directly telling developers it's not supported?
If there is a specific need to include static files under a router, could you outline why that feature would be more useful then the basic mounting on the app?
Could you also point out the specific docs that were confusing so they can be clarified?
Finally, if you do need some Router functionality for your StaticFiles, you could use the Starlette methods directly in the meantime.  Something like this:
from typing import Any
from fastapi import FastAPI, Request, APIRouter
from fastapi.staticfiles import StaticFiles
from fastapi.testclient import TestClient
from starlette.routing import Router

app = FastAPI()
router = APIRouter()

@router.get("/")
async def foo(request: Request) -> Any:
    # this raises starlette.routing.NoMatchFound
    return request.url_for("static", path="/bar")

app.include_router(router)

static_router = Router()
static_router.mount("/", StaticFiles(directory="."), name="static")
app.mount("/static", other_router)

client = TestClient(app)
client.get("/")

If there is a specific need to include static files under a router, could you outline why that feature would be more useful then the basic mounting on the app?

I have different modules with different static things in my app and wanted to separate everything. So that changing the prefix also changes the static prefix.

Could you also point out the specific docs that were confusing so they can be clarified?

It's here https://fastapi.tiangolo.com/tutorial/bigger-applications/#path-operations-with-apirouter "All the same options are supported.", but I now see that this only refers to path operations.
(btw the search in the docs is broken, it just says "Initializing search" forever)

@tiangolo we probably need your opinion here on design. Would it be appropriate for include_router to also mount any sub-applications that have been mounted to thatAPIRouter (with appropriate prefix)? Or should we explicitly disable the mount function on APIRouter and make a note in the docs about it?
@lazka there is an open issue about the search (#1448). It works on some platforms and not on others (not sure that's been narrowed down yet).  I have good luck on Chrome on macOS.

Turns out what I actually want is to mount another FastAPI() like so
subapp = FastAPI()
app = FastAPI()
subapp.mount("/prefix", subapp)

This is more in line with flask blueprints. Only downside with is the "startup" event isn't triggered for "subapp" :(

I just ran into the same issue. I agree that at the very least there should be an error (although I would definitely support mounting within routers).
@lazka Good to know that's a solution. Would this introduce any additional latency (because of the duplicated "bookkeeping", FastAPI/starlette does for each ASGI request? Or is that not something to even worry about?
Basically, I'm in a similar situation where I have organized my app into around 7 different APIRouter instances that each have around 3 routes defined and are all imported and included in the root router. While I assumed this was one of the intended purposes of APIRouter, if not perhaps we should update the bigger-applications docs page or at least mention when an APIRouter behaves differently than the FastAPI class.

@lazka Good to know that's a solution. Would this introduce any additional latency (because of the duplicated "bookkeeping", FastAPI/starlette does for each ASGI request? Or is that not something to even worry about?

I don't know. I'm still using it that way and hadn't had any issues (besides the events not working..)

I have the same problem, I cannot render static files in an APIRouter.

Same here. I use @lazka's solution for now, but it would be nice to have this more intuitive. Or at least throw an error if someone tries to mount StaticFiles to a APIRouter. It took some time to get to this page.

I tried the same way as lazka and failed.

the same issue, still can't figure it out, how to serve static files with the router. Any help, please.

The underlying problems seems to be that the route does not get applied to the application. The cause is a very restrictive check:
https://github.com/tiangolo/fastapi/blob/f0388915a8b1cd9f3ae2259bace234ac6249c51a/fastapi/routing.py#L713-L721
This should be expanded to work with routing.BaseRoute

Hello, same issue here.
If I don't utilize a root_path prefix in my APIRouter, then it works.
Once I do, I get 404 on all calls for anything under http://example.com/root_path/static.

You need to refer to your static folder as a root folder. So, in a response, if you refer to it as static/some_file.ext, it will parse it to http://example.com/ROOT_PATH/static/some_file.ext. But, if you refer to it as /static/some_file.ext, it will parse it to http://example.com/static/some_file.ext.
Below is a full working example of this behaviour:
from fastapi import APIRouter, FastAPI
from fastapi.staticfiles import StaticFiles
from fastapi.responses import HTMLResponse

app = FastAPI()

app.mount('/static', StaticFiles(directory='static'), name='static')

my_router = APIRouter(prefix='/router')

@my_router.get("/not-working")
async def router_root():
    content = ""
    # -------------------^ note, not absolute path!
    return HTMLResponse(content=content)

@my_router.get("/working")
async def router_root():
    content = ""
    # -------------------^ note, trailing slash!
    return HTMLResponse(content=content)

app.include_router(my_router)

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="<IP_ADDRESS>", port=8000)

Output (first called not-working, then working):
INFO:     <IP_ADDRESS>:53410 - "GET /router/not-working HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:53410 - "GET /router/static/black.png HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:53412 - "GET /router/working HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:53412 - "GET /black.png HTTP/1.1" 200 OK

As @septatrix has pointed out, the problem lies inside a loop which copies routes from downstream router to an upstream. Mount routes are simply ingored. But it seems that it's quite easy to make it work by appending the following code:
elif isinstance(route, routing.Mount):
    self.mount(prefix + route.path, route.app, route.name)

to if-else chain at https://github.com/tiangolo/fastapi/blob/f0388915a8b1cd9f3ae2259bace234ac6249c51a/fastapi/routing.py#L726-L729
I haven't tested it thoroughly but for my use case everything looks fine.
Here is the full snippet I use for current fastapi version as less hacky solution is not available to my knowledge.

any update on this? Running into the same issue.

I find there is not else statement.
Maybe we can add else to avoid unexpected type like this?


fix linux-driver build err

new version kernel add -Wmissing-prototypes and -Wall
We should add the function prototype otherwise the compilation will fail

please push to dev branch next.


Error after installing material plugin

I am getting the below error during ng build or even ng run
This error vanishes when I uninstall the @angular/material plugin
ERROR in Error: Metadata version mismatch for module /Volumes/Local Disk/Client Projects/MYP/myp-dashboard/src/app/app.module.ts, found version 3, expected 4
    at StaticSymbolResolver.getModuleMetadata (/Volumes/Local Disk/Client Projects/MYP/myp-dashboard/node_modules/@angular/compiler/bundles/compiler.umd.js:31822:34)
    at StaticSymbolResolver._createSymbolsOf (/Volumes/Local Disk/Client Projects/MYP/myp-dashboard/node_modules/@angular/compiler/bundles/compiler.umd.js:31579:46)
    at StaticSymbolResolver.resolveSymbol (/Volumes/Local Disk/Client Projects/MYP/myp-dashboard/node_modules/@angular/compiler/bundles/compiler.umd.js:31238:14)
    at StaticReflector.findSymbolDeclaration (/Volumes/Local Disk/Client Projects/MYP/myp-dashboard/node_modules/@angular/compiler/bundles/compiler.umd.js:30355:67)
    at StaticReflector.findDeclaration (/Volumes/Local Disk/Client Projects/MYP/myp-dashboard/node_modules/@angular/compiler/bundles/compiler.umd.js:30330:21)
    at Object.listLazyRoutesOfModule (/Volumes/Local Disk/Client Projects/MYP/myp-dashboard/node_modules/@angular/compiler-cli/src/ngtools_impl.js:51:37)
    at Function.NgTools_InternalApi_NG_2.listLazyRoutes (/Volumes/Local Disk/Client Projects/MYP/myp-dashboard/node_modules/@angular/compiler-cli/src/ngtools_api.js:91:39)
    at AotPlugin._getLazyRoutesFromNgtools (/Volumes/Local Disk/Client Projects/MYP/myp-dashboard/node_modules/@ngtools/webpack/src/plugin.js:241:66)
    at _donePromise.Promise.resolve.then.then.then.then.then (/Volumes/Local Disk/Client Projects/MYP/myp-dashboard/node_modules/@ngtools/webpack/src/plugin.js:495:24)
    at <anonymous>

Here's my package.json

"dependencies": {
"@angular/animations": "^5.0.0",
"@angular/cdk": "^5.0.0-rc0",
"@angular/common": "^5.0.2",
"@angular/compiler": "^5.0.2",
"@angular/core": "^5.0.2",
"@angular/forms": "^5.0.2",
"@angular/http": "^5.0.2",
"@angular/material": "2.0.0-beta.12",
"@angular/platform-browser": "^5.0.2",
"@angular/platform-browser-dynamic": "^5.0.2",
"@angular/platform-server": "^5.0.2",
"@angular/router": "^5.0.2",
"arrive": "^2.4.1",
"bootstrap": "^3.3.7",
"bootstrap-material-design": "^0.5.10",
"bootstrap-notify": "^3.1.3",
"chartist": "^0.11.0",
"classlist.js": "^1.1.20150312",
"core-js": "^2.5.1",
"googleapis": "^22.2.0",
"jquery": "^3.2.1",
"moment": "^2.19.2",
"ng-cli": "^0.7.0",
"perfect-scrollbar": "^1.2.0",
"rxjs": "^5.5.2",
"web-animations-js": "^2.3.1",
"zone.js": "^0.8.18"
}

It's not a  good idea to use unmatching Material and Cdk versions. Use "@angular/material": "^5.0.0-rc0"

@julianobrasil Thanks for your response ! Appreciate it !  So for both @angular/material' as well as @angular/cdkyou mean to say that I use^5.0.0-rc0` ??

Yes.

I changed as per your comment. Still facing the same issue.
here's my package.json again..

"dependencies": {
"@angular/cdk": "^5.0.0-rc0",
"@angular/common": "^5.0.2",
"@angular/compiler": "^5.0.2",
"@angular/core": "^5.0.2",
"@angular/forms": "^5.0.2",
"@angular/http": "^5.0.2",
"@angular/material": "^5.0.0-rc0",
"@angular/platform-browser": "^5.0.2",
"@angular/platform-browser-dynamic": "^5.0.2",
"@angular/platform-server": "^5.0.2",
"@angular/router": "^5.0.2",
"arrive": "^2.4.1",
"bootstrap": "^3.3.7",
"bootstrap-material-design": "^0.5.10",
"bootstrap-notify": "^3.1.3",
"chartist": "^0.11.0",
"classlist.js": "^1.1.20150312",
"core-js": "^2.5.1",
"googleapis": "^22.2.0",
"jquery": "^3.2.1",
"moment": "^2.19.2",
"ng-cli": "^0.7.0",
"perfect-scrollbar": "^1.2.0",
"rxjs": "^5.5.2",
"web-animations-js": "^2.3.1",
"zone.js": "^0.8.18"
},
"devDependencies": {
"@angular/cli": "1.5.0",
"@angular/compiler-cli": "4.4.4",
"@angular/material": "^5.0.0-rc0",
"@types/bootstrap": "3.3.32",
"@types/chartist": "0.9.34",
"@types/jasmine": "2.5.38",
"@types/jquery": "1.10.31",
"@types/node": "6.0.73",
"codelyzer": "2.0.0",
"jasmine-core": "2.5.2",
"jasmine-spec-reporter": "3.2.0",
"karma": "1.4.1",
"karma-chrome-launcher": "2.0.0",
"karma-cli": "1.0.1",
"karma-coverage-istanbul-reporter": "0.2.0",
"karma-jasmine": "1.1.0",
"karma-jasmine-html-reporter": "0.2.2",
"protractor": "5.1.0",
"ts-node": "2.0.0",
"tslint": "4.5.0",
"typescript": "2.4.2"
}

Have you removed node_modules and dist directories? If you haven't, do it and npm install after that.

Oh, don't forget to upgrade @angular/compiler-cli to 5.0.2 in the devDependencies section

Yes did those already.. like removed the node modules and installed again but no luck.. added angular compiler as well in Dev dependencies.  Still no luck.

Check out the package.json for our docs site:
https://github.com/angular/material.angular.io/blob/master/package.json
Also try clearing both node_modules and your package-lock.json.
Closing this since it seems to be an environment issue.


chore: bdd-spring-1586838494 to 0.0.1

chore: Promote bdd-spring-1586838494 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


External Name services incorrectly listed

The script lists external names in the unused services.

Thanks @samsilborydoxo for trying script and raising the issue.
I haven't tried external services but it might as per current logic. I will fix it in next release.

This is fixed in the new release v.35


[Hacktoberfest]: Edit the CodingGarden entry in the Twitch section

🆕🐥☝ Beginners Only:
This issue is reserved for people who are new to Open Source. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you 💝
To do:

Edit CodingGarden entry in the Twitch Section
See below for link to step-by-step tutorial
Go down to Twitch section - it starts at around line 167

Update the entry to read:
| [Learn with CodingGarden](https://www.twitch.tv/codinggarden) | CodingGarden | 9 | Open, interactive and engaging community where any coder, from beginner to veteran, can learn and grow together |

Add your details in the contributors section at the bottom of the page using the same formatting as the last one

📋 Step by Step
Step-By-Step Tutorial
Remember to observe the Code of Conduct - by which we mean, in short - Be Kind, Be Positive, Be Helpful

Ill take this?


fix(simple-tab): Address "wonky" styling of transaction simple view

High Level Overview of Change

Make simple tab rows use flex-wrap: wrap to more clearly show long values
Fix nested .label causing values to appear wonky like SignerListSet
Focus validator styles to only apply to validator page and do the same for transactions

Fixes #263
Type of Change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Refactor (non-breaking change that only restructures code)
[ ] Tests (You added tests for code that already exists, or your new feature included in this PR)
[ ] Documentation Updates
[ ] Release

Before

After

Test Plan
Check transaction and validator pages

LGTM (Side note - is there a nice way to see a preview for the changes, or if I want to do that do I need to load the explorer locally?)

Locally.  There is a way to deploy to a dev and staging but there are many PRs and only a few test env.  Let me know if you want to see it deployed.

LGTM (Side note - is there a nice way to see a preview for the changes, or if I want to do that do I need to load the explorer locally?)

Locally. There is a way to deploy to a dev and staging but there are many PRs and only a few test env. Let me know if you want to see it deployed.

👍 - No need :)


Error install with webpack

Hello,
I'm trying to install your library in my project based on: https://github.com/angular/angular2-seed
But I'm not getting, you know how I do to install the library with Webpack?
Thank you very much.

Hi @caiolima86
I had a similar issue on another library. I don't really use webpack i prefer systemjs. However i tried to make the library work. Turns out it was quit strait forward. Here is the link

Hello,
It worked perfectly, thank you for your help, I am newbie in the world of angular2.
Thank you for your attention =)

Don't mention it. I'm glad it worked out for you.

You can add /components in your import
import { EasyFormsModule } from 'angular2-easy-forms/components';


Proposal rental fees endpoint

Closes #87

Related https://github.com/nemtech/catapult-rest/issues/275


Arm ISO is not bootable for Raspberry Pi 3

I download arm64 iso and burn in MacOS via Etcher.
I got next partitions on SD card:
/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *15.9 GB    disk2
   1:       Microsoft Basic Data                         71.7 KB    disk2s1
   2:                        EFI NO NAME                 2.9 MB     disk2s2
   3:       Microsoft Basic Data                         384.1 MB   disk2s3

Should it be MBR boot loader?

Here is example of Fedora image:
/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.9 GB    disk2
   1:             Windows_FAT_32 NO NAME                 79.7 MB    disk2s1
   2:                      Linux                         512.8 MB   disk2s2
   3:                      Linux                         2.5 GB     disk2s3

Same Problem.
On my Sopine A64(arm64) don't install K3OS.

Hello, I am also very interested in running K3OS on Raspberry Pi 3B+ too. Could you please provide an image or explain how to get it working ? I cannot get to boot on the ISO file (whether it is burnt on an USB device plugged to the RPi or on it's SD card). Would the bootstrapped, takeover or ARM overlay installation work ?

The same counting, if you dd the ISO to USB, for bare metal boot on AMD64. It doesn't boot.

I've got it running on raspberry pi's using Ubuntu server for Raspberry pi and doing an Arm overlay installation of k3os.
https://ubuntu.com/download/iot/raspberry-pi-2-3
https://github.com/rancher/k3os#arm-overlay-installation

same issue on mac.   downloaded iso, converted to img , flashed to sdcard and  pi is not booting.

Same issue as OP

Hello,
Same issue. My tests about remastering iso are sucessful on a VM. But when i tried with the arm iso and on my raspberry, it does not boot.

If the partition table is to be believed I suspect the issue is that the k3os boot partition is EFI:
Number  Start   End     Size    File system  Name                Flags
 1      32.8kB  104kB   71.7kB               Gap0                hidden
 2      104kB   3054kB  2949kB               EFI boot partition  boot, hidden
 3      3054kB  416MB   413MB                Gap1                hidden

AFAIK there is no EFI solution for the Raspberry Pi
I was able to get K3Os to install using the ARM overlay but once booted it doesn't appear to have everything running.

+1 for this

The arm64 ISO is currently targeted at server-grade hardware. The overlay method is currently the only way to get installations of k3OS on arm and arm64 working on Raspberry Pi 3/4.

@dweomer I've tried the ISO overlay several times starting with Ubuntu on Pi 3 and then overlay. Each time I find that most services are not running when I reboot. If I start K3OS AMD64 in a VM it starts correctly every time. I'm not sure the overlay method works for Pi3.
K3OS ARM 64, the lightweight kube for the edge, is targeted for server grade hardware.... that sounds weird....

@dmc5179 have you properly updated the file /boot/cmdline.txt by adding rw? Otherwise things won't work

@zimme yes, I did add rw to the cmdline.txt file. If I don't do that and reboot the OS won't boot at all.

@dweomer I've tried the ISO overlay several times starting with Ubuntu on Pi 3 and then overlay. Each time I find that most services are not running when I reboot. If I start K3OS AMD64 in a VM it starts correctly every time. I'm not sure the overlay method works for Pi3.

There is no "ISO overlay". For RPI 3 boards, as per the ARM Overlay Installation instructions in the README, you will need to unpack the appropriate rootfs tarball on top of a working root filesystem installed by the likes of Raspbian or Ubuntu Server for RPI. If you use Raspbian as a base you should know that it is 32-bit (because it targets RPI 2/3) and therefore the arm64 overlay will not work (because you don't get the k3OS kernel with ARM overlay, you get the kernel from your base install). If you use Ubuntu for RPI 3 that @zimme linked to above then you do have a 64-bit installation and you should use the arm64 tarball.
A decent introductory tutorial: https://blog.alexellis.io/test-drive-k3s-on-raspberry-pi/#preparetherpi

@dweomer Do you know, if there are any plans to automate build ISO/IMG for Raspberry Pi 3?

There are no plans for this currently but that doesn't mean won't happen.

@Ognian , Have you had a chance to try the above and see if the ISO actually works with UEFI?
@dweomer , would having an installer option for force MBR partitioning allow SOC's to use the arm image?  Or are there other driver/firmware issues that are resolved by the arm overlay installation, that would also require a separate pi3/4 ISO to be generated?

If I manually partition the sd card and lable a partition K3OS_STATE, will then the installer pick this one and not overwrite the whole sd card?

@Ognian specifying the --no-format flag combined with the K3OS_STATE partition device, e.g. /dev/mmcblk0p2 (assuming uefi is on /dev/mmcblk0p1) should prevent the overwrite of the uefi partition

@dweomer , would having an installer option for force MBR partitioning allow SOC's to use the arm image? Or are there other driver/firmware issues that are resolved by the arm overlay installation, that would also require a separate pi3/4 ISO to be generated?

I haven't looked into arm/arm64 packaging at all as we have yet to declare official support for either arch. I would like to get it done but it is low on my list of priorities for the time being.
That said, if your or anyone in the community would like to contribute a PR that makes arm/arm64 bootable media (with the caveat that for arm64 we would prefer to not break the AWS packer build) I would be thrilled to review it. 😃

Okay, check. If someone wants to investigate. It looks the build is done with a Docker container. And the Dockerfile is calling grub-mkrescue and xorriso = wrapper ...
https://github.com/rancher/k3os/tree/master/images/06-iso


Update README.md

just a little modification for clarity (landing could be confused with a "physical landing")

unfixed


fix: label w/ dot prefix test cases for Uri

typos

Coverage increased (+0.6%) to 51.056% when pulling 50889502c7d9472e96bd88874b015e35ac10a160 on fix/uri-specs into aae94529b145a80044bda23cde526cbe443a5c74 on develop.


CORE-14015: merge 5.0 up to 5.1

Matching API change: https://github.com/corda/corda-api/pull/1138
Verified by comparing change list relative to 5.1 with the diffs to 5.1 since the last merge, which was 515ede8aad75b97fec40283467bf911f429bc5e2 by @chrisr3

Checked my commit, which looks fine. It was originally merged in 5.1 and ported back to 5.0. So as expected nothing shown in the diff.


Make provided[Compile|Runtime] configurations not consumable in war plugin

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build


Camera translations

Hey, thank you for this extremely cool api. After 5 days head banging, I found that I need to take into account the pixi's renderer resolution in order to make the camera coord conversion to work as it should.
Here are the wrapped methods (I am not sure 100% about the z values, because I do not need z at all in my app).
public static toWorld(
        container: Container,
        anchor: Point,
        model: Model
    ): ObservablePoint3D {
        let bounds = container.getBounds();
        let x = bounds.x + anchor.x * bounds.width;
        let y = bounds.y + anchor.y * bounds.height;
        return this.screenToWorld(x, y, model);
    }

    public static screenToWorld(
        x: number,
        y: number,
        model: Model
    ): ObservablePoint3D {
        let worldCoordinates = Camera.main.screenToWorld(
            x,
            y,
            Camera.main.z - model.z,
            undefined,
            {
                width:
                    App.instance.renderer.width /
                    App.instance.renderer.resolution,
                height:
                    App.instance.renderer.height /
                    App.instance.renderer.resolution,
            }
        );

        return worldCoordinates;
    }

    public static worldToScreen(
        x: number,
        y: number,
        z: number = Camera.main.z
    ): Point {
        let worldCoordinates = Camera.main.worldToScreen(x, y, z, undefined, {
            width:
                App.instance.renderer.width / App.instance.renderer.resolution,
            height:
                App.instance.renderer.height / App.instance.renderer.resolution,
        });

        return worldCoordinates;
    }

I hope this helps and it will save time to someone using your api.
Thanks,
Ivan

Hey, thanks for this! Is the standard methods worldToScreen/screenToWorld not working when resolution is above 1?

Yes, the standard methods works only for resolution 1, that's why I am sending you the solution.
The easiest way to replicate the bug is to zoom in/out the page - this makes the pixi renderer change its resolution, so try it.

I included your fixes in the dev branch, please check if this resolves the issues you had with it.
Could you please give some more details about PostProcessingSprite? The only thing happening in prerender is that the PPS is being resized (but only if you didn't provide a size yourself) - by default it want to be fullscreen. It could be an issue though that it's not resizing to correct resolution if above 1.

Would be great help if you could reproduce these issues in a simple example.

And about PPS, if you give it a width and height where the aspect ratio differs from the camera aspect ratio it will look wrong. The objects rendered to the PPS need to use a camera which have the same aspect ratio as the PPS. This is handled automatically if you don’t give it a width and height.

Yep, my bad about the PPS width and height, thank you for the clarification.
I made a test repo, everything is described at main.ts.
https://github.com/djlastnight/Pixi3DCameraTests

I created a PR which should fix the issues: https://github.com/djlastnight/Pixi3DCameraTests/pull/1

Thank you, it is merged, I will test it when I go back to home.

I guess we could close this now, thank you again ;)


Feature request: Implement Fetch API using polyfill on XHR

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
As discussed in https://github.com/HtmlUnit/htmlunit/issues/78, there are several polyfills that allow web applications to use the Fetch API in browsers that don't support them, but the browsers that HtmlUnit can behave as most (or all?) already support fetch natively.
One option is to implement the api directly by using a polyfill, referencing some appropriately licensed JS so that when the application calls fetch(), HtmlUnit doesn't need to actually have any specific code, just let the polyfill call XmlHttpRequest which is already supported.
This strategy could be used to populate many browser APIs that can be largely implemented using existing features. This feature (or something even simpler) implemented by a project member could also serve as an example for how outside contributors could easily help by finding and hooking up quality polyfills for other yet to be implemented features.

@niloc132 have done a first impl - please have a look and let us discuss this a bit

Released, thanks for this great suggestion

Thanks! I'm sorry I haven't had time to go over it in depth, but I appreciate the work you've done to add this, both to support fetch and to give an example of how polyfills can be used to add features in the future.

no prob, time is always the problem - same here.
Have already added proxy support using the same pattern - thanks again


how to classify age and gender based on dface

@whuxujiyuan we did not implement that function contempoary. If you have some datasets include gender or age information annotation, you can add these  classification detection at the end of  MTCNN net by yourself.

Thanks very much, should i add one classification Net after the O-Net or somewhere else in O,P,R


[New Rule] jsx-embed-condition

This rule disallows use of && inside JSX Embeds to avoid conditional numbers from being rendered.
Fixes https://github.com/yannickcr/eslint-plugin-react/issues/1979

I'm still not convinced this is a rule worth adding

It is a convention recommended by The official React docs. A whole bunch of people have been stung by this bug, many didn't even know what caused it, see:

https://github.com/facebook/react-native/issues/20764
https://github.com/facebook/react-native/issues/23607
https://github.com/facebook/react-native/issues/23735
https://github.com/artsy/emission/pull/1706
https://blog.echobind.com/a-common-conditional-rendering-bug-in-react-native-8bbbc400abd8

(and you'll find many more examples by searching for "Text strings must be rendered within a Text component" on Google)
Apart from crashing React Native hard, the bug is known to add random 0s to the DOM in HTML renderer. I wrote this PR because my team got bit by this a few times.

If it were added, it'd need autofix to avoid being too disruptive.

This Lint rule is opt-in only. I can commit to adding an autofix for it later next month. My work schedule is pretty tight before that.

you can specify the parserOptions.ecmaVersion to be 2020 in this test case.

Doing so fixed the check on tests for latest Node.js runners, but broke them on the rest. I looked around the repository and couldn't find any tests with ecmaVersion newer than 2018. I would appreciate some help here! Thanks!

You can pass parserOptions.ecmaVersion directly in the one test case.

You can pass parserOptions.ecmaVersion directly in the one test case.

Attempted in https://github.com/yannickcr/eslint-plugin-react/pull/2888/commits/8abb5dcd900845d416f4469d7fc2fbf9197c4040 No dice. Any other ideas?

Please mark the PR as ready for review once the next round of changes is done. Thanks!

We have a similar rule in an internal codebase called logical-and-expressions; its existence in our jsx-ruleset makes it clear what its scope is.
Since this plugin's purview is a bit broader, perhaps a name like jsx-logical-and-expressions would capture the rule's scope+spirit.

We have a similar rule in an internal codebase called logical-and-expressions; its existence in our jsx-ruleset makes it clear what its scope is.
Since this plugin's purview is a bit broader, perhaps a name like jsx-logical-and-expressions would capture the rule's scope+spirit.

@steelbrain Here's the internal rule we use, which includes a simple fixer.
module.exports = {
  meta: {
    docs: {
      url: 'SECRET URL'
    },
    fixable: 'code'
  },
  create(context) {
    const sourceCode = context.getSourceCode();

    return {
      JSXExpressionContainer(node) {
        if (
          node.expression.type === 'LogicalExpression' &&
          node.expression.operator === '&&' &&
          node.parent.type !== 'JSXAttribute'
        ) {
          context.report({
            node,
            message: 'JSX expression should not use logical-and.',
            fix: (fixer) => fixer.replaceText(
              node,
              `{${sourceCode.getText(node.expression.left)} ? ${sourceCode.getText(node.expression.right)} : null}`
            )
          });
        }
      }
    };
  }
};

@steelbrain Here's the internal rule we use, which includes a simple fixer.
module.exports = {
  meta: {
    docs: {
      url: 'SECRET URL'
    },
    fixable: 'code'
  },
  create(context) {
    const sourceCode = context.getSourceCode();

    return {
      JSXExpressionContainer(node) {
        if (
          node.expression.type === 'LogicalExpression' &&
          node.expression.operator === '&&' &&
          node.parent.type !== 'JSXAttribute'
        ) {
          context.report({
            node,
            message: 'JSX expression should not use logical-and.',
            fix: (fixer) => fixer.replaceText(
              node,
              `{${sourceCode.getText(node.expression.left)} ? ${sourceCode.getText(node.expression.right)} : null}`
            )
          });
        }
      }
    };
  }
};

I do not have the bandwidth to work on it this week, I'll continue this work on the weekend. Thank you for your continued support!

I do not have the bandwidth to work on it this week, I'll continue this work on the weekend. Thank you for your continued support!

We've also been bit by this bug and would like to see this rule enforced in our code base

@steelbrain are you still planning to finish this?

@ljharb Happy to open up a new PR with the lint rule + fix + tests if ya'll are interested in this. I was gonna release it as a separate package otherwise.

I do not have the bandwidth in the near future and this needs more love than I can give right now :)
Good luck @holic

Let's please keep this open so it can be reused.

@holic please post a branch link here, and i'll update the PR

Added a PR here: https://github.com/jsx-eslint/eslint-plugin-react/pull/3318
This ports over the code we used internally at my last company that I was intending to release as its own package. Let me know if you'd prefer I build off of this PR instead.

@holic i thought i was pretty clear i did not want a second PR opened; that pollutes the repo forever. Now I have to keep both PRs open and in sync until both are landed together.

Closed by https://github.com/jsx-eslint/eslint-plugin-react/pull/3203


Infer namespace/cluster scope when using schema extension

Infer namespace/cluster scope currently uses Paths but we don't have them when loading CRDs.
Adding a schema extension (x-kubectl-validate-namespaced) should do the trick.

/assign

Ended up using x-kubectl-validate-scope.


CUJ Testing for Beta v2 - Creator can Set Page Color

Feature Description
In preparation for the Beta 2 release we would like to have validation and confirmation of the CUJ functionality detailed in
https://github.com/google/web-stories-wp/issues/1622

[x] Open colorpicker in design panel when page is selected

Tested on macOS Mojave 13-inch v. 10.14.6 / Safari v. 13.1.2 and found no issues.

Verified in QA


cannot import name 'url_quote' from 'werkzeug.urls'

After starting the following minimal sample
from quart import Quart

app = Quart(__name__)

@app.route('/')
async def hello():
    return "hello world"

app.run()

On quart run I get the following error:
from werkzeug.urls import url_quote
ImportError: cannot import name 'url_quote' from 'werkzeug.urls'

This may be helpful. I did try downgrading Werkzeug, but started getting other dependency errors.
Environment: Development or Production

Python version: 3.11.4
Quart version: 0.19.3

A fresh install with only pip install quart returns the following:
Package      Version
------------ -------
aiofiles     23.2.1
blinker      1.6.3
click        8.1.7
Flask        3.0.0
h11          0.14.0
h2           4.1.0
hpack        4.0.0
hypercorn    0.14.4
hyperframe   6.0.1
itsdangerous 2.1.2
Jinja2       3.1.2
MarkupSafe   2.1.3
pip          23.3
priority     2.0.0
Quart        0.19.3
setuptools   65.5.0
Werkzeug     3.0.0
wsproto      1.2.0

I think your environment must be in an odd state, as this works for me. I tried with,
Package      Version
------------ -------
aiofiles     23.2.1
blinker      1.6.3
click        8.1.7
Flask        3.0.0
h11          0.14.0
h2           4.1.0
hpack        4.0.0
hypercorn    0.14.4
hyperframe   6.0.1
itsdangerous 2.1.2
Jinja2       3.1.2
MarkupSafe   2.1.3
pip          23.2.1
priority     2.0.0
Quart        0.19.3
Werkzeug     3.0.0
wsproto      1.2.0

Hmm, ok. I did a fresh install. A completely new project and still have the same issue. But, at least I know that the issue is on my end.
➜  quart-test python -m venv venv
➜  quart-test source ./venv/bin/activate
(venv) ➜  quart-test python -m pip install --upgrade pip
Requirement already satisfied: pip in ./venv/lib/python3.11/site-packages (23.1.2)
Collecting pip
  Using cached pip-23.3-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 23.1.2
    Uninstalling pip-23.1.2:
      Successfully uninstalled pip-23.1.2
Successfully installed pip-23.3
(venv) ➜  quart-test pip list
Package    Version
---------- -------
pip        23.3
setuptools 65.5.0
(venv) ➜  quart-test pip install quart
Collecting quart
  Using cached quart-0.19.3-py3-none-any.whl.metadata (5.6 kB)
Collecting aiofiles (from quart)
  Using cached aiofiles-23.2.1-py3-none-any.whl.metadata (9.7 kB)
Collecting blinker>=1.6 (from quart)
  Using cached blinker-1.6.3-py3-none-any.whl.metadata (1.9 kB)
Collecting click>=8.0.0 (from quart)
  Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting flask>=3.0.0 (from quart)
  Using cached flask-3.0.0-py3-none-any.whl.metadata (3.6 kB)
Collecting hypercorn>=0.11.2 (from quart)
  Using cached hypercorn-0.14.4-py3-none-any.whl.metadata (5.4 kB)
Collecting itsdangerous (from quart)
  Using cached itsdangerous-2.1.2-py3-none-any.whl (15 kB)
Collecting jinja2 (from quart)
  Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting markupsafe (from quart)
  Using cached MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl.metadata (3.0 kB)
Collecting werkzeug>=3.0.0 (from quart)
  Using cached werkzeug-3.0.0-py3-none-any.whl.metadata (4.1 kB)
Collecting h11 (from hypercorn>=0.11.2->quart)
  Using cached h11-0.14.0-py3-none-any.whl (58 kB)
Collecting h2>=3.1.0 (from hypercorn>=0.11.2->quart)
  Using cached h2-4.1.0-py3-none-any.whl (57 kB)
Collecting priority (from hypercorn>=0.11.2->quart)
  Using cached priority-2.0.0-py3-none-any.whl (8.9 kB)
Collecting wsproto>=0.14.0 (from hypercorn>=0.11.2->quart)
  Using cached wsproto-1.2.0-py3-none-any.whl (24 kB)
Collecting hyperframe<7,>=6.0 (from h2>=3.1.0->hypercorn>=0.11.2->quart)
  Using cached hyperframe-6.0.1-py3-none-any.whl (12 kB)
Collecting hpack<5,>=4.0 (from h2>=3.1.0->hypercorn>=0.11.2->quart)
  Using cached hpack-4.0.0-py3-none-any.whl (32 kB)
Using cached quart-0.19.3-py3-none-any.whl (77 kB)
Using cached blinker-1.6.3-py3-none-any.whl (13 kB)
Using cached click-8.1.7-py3-none-any.whl (97 kB)
Using cached flask-3.0.0-py3-none-any.whl (99 kB)
Using cached hypercorn-0.14.4-py3-none-any.whl (58 kB)
Using cached MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl (17 kB)
Using cached werkzeug-3.0.0-py3-none-any.whl (226 kB)
Using cached aiofiles-23.2.1-py3-none-any.whl (15 kB)
Installing collected packages: priority, markupsafe, itsdangerous, hyperframe, hpack, h11, click, blinker, aiofiles, wsproto, werkzeug, jinja2, h2, hypercorn, flask, quart
Successfully installed aiofiles-23.2.1 blinker-1.6.3 click-8.1.7 flask-3.0.0 h11-0.14.0 h2-4.1.0 hpack-4.0.0 hypercorn-0.14.4 hyperframe-6.0.1 itsdangerous-2.1.2 jinja2-3.1.2 markupsafe-2.1.3 priority-2.0.0 quart-0.19.3 werkzeug-3.0.0 wsproto-1.2.0
(venv) ➜  quart-test pip list
Package      Version
------------ -------
aiofiles     23.2.1
blinker      1.6.3
click        8.1.7
Flask        3.0.0
h11          0.14.0
h2           4.1.0
hpack        4.0.0
hypercorn    0.14.4
hyperframe   6.0.1
itsdangerous 2.1.2
Jinja2       3.1.2
MarkupSafe   2.1.3
pip          23.3
priority     2.0.0
Quart        0.19.3
setuptools   65.5.0
Werkzeug     3.0.0
wsproto      1.2.0
(venv) ➜  quart-test quart run
Traceback (most recent call last):
  File "/.pyenv/versions/3.11.4/bin/quart", line 5, in <module>
    from quart.cli import main
  File "/.pyenv/versions/3.11.4/lib/python3.11/site-packages/quart/__init__.py", line 5, in <module>
    from .app import Quart as Quart
  File "/.pyenv/versions/3.11.4/lib/python3.11/site-packages/quart/app.py", line 46, in <module>
    from werkzeug.urls import url_quote
ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/.pyenv/versions/3.11.4/lib/python3.11/site-packages/werkzeug/urls.py)
(venv) ➜  quart-test

The Quart version must be 0.18.X or earlier given the stack trace. Have you got Quart installed globally and getting preference in the PATH for the quart run command?

Thank you. Yes, I completely wiped it and started fresh again. It's working now. Thanks for following up.


Make tests faster

This PR implements a few minor speed improvements for tests.

@matmair how much faster does this make the tests?

@SchrodingersGat around 10-20 secs in my tests. So not really big seeing the tests run 14mins on my setup

@matmair still interested in this? The other recent changes got testing down to ~20 minutes which is a huge improvement

Not really, the improvements here are minuscule.


pep8

Your code is super pretty but OMG what are those horrible double spaces as indent??? :scream:

I always found 2 spaces enough to distinguish between indentation levels (and 4 spaces so quickly eats up line width...), so sometimes I take the liberty. Now that it's integrated into rgi_scripts, you're welcome to apply your formatter of choice. 😉


Fix security issues from code scanning

https://github.com/GustavPS/Dose/security/code-scanning

#67 Fixes some of the critical warnings

#68 Fixes the last critical warning

#70 Fixes some 'high' warnings


[Snyk] Upgrade com.contentstack.sdk:utils from 1.2.7 to 1.2.8

This PR was automatically created by Snyk using the credentials of a real user.![snyk-top-banner](https://github.com/andygongea/OWASP-Benchmark/assets/818805/c518c423-16fe-447e-b67f-ad5a49b5d123)
Snyk has created this PR to upgrade com.contentstack.sdk:utils from 1.2.7 to 1.2.8.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.

The recommended version was released on 22 days ago.

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:

🧐 View latest project report
📜 Customise PR templates
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Upgrade the package version in this PR : https://github.com/contentstack/contentstack-java/pull/149.


Migrate entityExists to C++ with callback API

Description
Closes #993. Migrate the entityExists method to C++, and update its signature to conform to the batch-first callback based design principle.
Corresponding BAL update: https://github.com/OpenAssetIO/OpenAssetIO-Manager-BAL/pull/64

[x] I have updated the release notes.
[x] I have updated all relevant user documentation.

I noticed the release notes had two "Breaking changes" sections, so I've merged them as part of the rebase.


After installing <IP_ADDRESS> instances with uefi cannot boot for second time (xcp-ng 8.2)

ISSUE TYPE

Bug Report

COMPONENT NAME

CRITICAL - operation not possible

CLOUDSTACK VERSION
<IP_ADDRESS>

CONFIGURATION

Ubuntu server 18 with cloudstack <IP_ADDRESS>
Hypervisor xcp-ng 8.2 with september security patch
Advanced networking
SUMMARY

Continuing from this issue
https://github.com/apache/cloudstack/issues/5204
Which is closed and this problem happening
After installation of <IP_ADDRESS>, when creating a new instance there is an option in advanced setting for bios or uefi - legacy, secure (btw - why there is 2 options for uefi? on xen orchesra there are only bios and uefi)
When selecting bios everything is working perfect, even old vms from old templates which had issues with <IP_ADDRESS>. You can shutdown, boot again, reboot, everything works as it should
When selectin uefi - both options (secure - legacy) the instance will boot without issue on the 1st boot. But if you shutdown the instance and try to boot it again there is issue. Without even touching something from settings. There is an error that
"Unable to start a VM due to insufficient capacity"

and in the logs of cloudstack management there is something strange

I have selected uefi and secure and haven't touched the settings. I can understand that it is trying to vm with bios boot option.
This happens even on old instances created with older versions of CS. Instance will work the 1st time booting but if you shut it down cannot boot anymore.
I think this is really critical.
STEPS TO REPRODUCE

1. Create new instance or boot an instance with option uefi.
2. shut it down.
3. Try to boot it and it won't boot anymore

EXPECTED RESULTS

The instance to boot as the first time.
I underline that i haven't touched anything in instance settings.

ACTUAL RESULTS

Instance cannot boot

@AlexanderKgr thanks for reporting, would have been nicer if we could test 4.15.2 RC1/RC2.
Let's try to get it right for 4.16 then, cc @shwstppr - can you work on a fix for 4.16?

@AlexanderKgr thanks for reporting, would have been nicer if you could test 4.15.2 RC1/RC2 earlier. Until you've the fix you may disable xcpng8.2 hosts or explore a workaround.
Let's try to get it right for 4.16 then, cc @shwstppr - can you work on a fix for 4.16?

i will try to revert to 4.15.1. i have a db backup. luckily i have not upgraded my production site. next time i will try rc versions

Great to hear that @AlexanderKgr, just a tip - after your issue is fixed by a pull request you can help us test the fix in your test environments using snapshot/nightly builds from http://download.cloudstack.org/testing/nightly (however, note this doesn't honour DB upgrade paths), and definitely help us test release candidates (RCs) and vote in future.

Great to hear that @AlexanderKgr, just a tip - after your issue is fixed by a pull request you can help us test the fix in your test environments using snapshot/nightly builds from http://download.cloudstack.org/testing/nightly (however, note this doesn't honour DB upgrade paths), and definitely help us test release candidates (RCs) and vote in future.

i will help with the test.
I have issue restoring db. have drop cloud db, run the initialization script, stopped management server and restore db with the dump i have before upgrade... management server boots as new...any help?

@AlexanderKgr once the PR #5469 gets merged you may test the next nightly

@AlexanderKgr once the PR #5469 gets merged you may test the next nightly

build failed!

@AlexanderKgr the PR is still in progress, we'll let you know once it is merged so you can test the nightly build

@AlexanderKgr the PR is still in progress, we'll let you know once it is merged so you can test the nightly build

Merged?

@AlexanderKgr the PR has been merged now - wait for the build/testing folder with today's date (2021-09-27) or later at https://download.cloudstack.org/testing/nightly/

installed and tried 28-9-21 version and everything works.
thanks for fixing
@rhtyd
@shwstppr

tried to boot an old instance with uefi and still facing the same error.

and from the logs of cs

@shwstppr what is wrong with my configuration?
running on CloudStack <IP_ADDRESS>-snapshot.20210929
@rhtyd


Patch to enable notebook functionality with a workaround

What does this PR do?

Fixes #131.
Temporary workaround to run the notebook as suggested in https://github.com/huggingface/setfit/issues/512
Who can review?
@merveenoyan and @stevhliu.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

Thank you for the quick responses! 😄


Disable quick-mention on hidden comments

Resolve #4603
Test URLs
https://github.com/sindresorhus/refined-github/issues/3686#issuecomment-734784717
Screenshot
Before:

After:

Eggcellent! Thank you


chore(main): release sdk 1.0.3

:robot: I have created a release beep boop
1.0.3 (2024-01-07)
Bug Fixes

sdk: reconnection + message queue (#55) (68d4490)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/FullStack-DevTool/FSDT/releases/tag/sdk-v1.0.3 :sunflower:


ServiceObject#parent could be a ServiceObject

https://github.com/googleapis/nodejs-common/blob/master/src/service-object.ts#L74
The interface declaration for ServiceObjectConfig specify its parent property to be a Service object. In the context of nodejs-storage. While this is true for Bucket, whose parent is Storage, he parent of File is Bucket, which is a ServiceObject.
https://github.com/googleapis/nodejs-storage/blob/master/src/file.js#L2266
class File extends common.ServiceObject {
  ...
  setMetadata(metadata, options, callback) {
    ...
    this.parent.setMetadata.call(this, metadata, options, callback);
  }

What do y'all think about this implementation?
https://github.com/googleapis/nodejs-common/compare/master...kinwa91:fix-nested-service-obj-subclass
It essentially allows ServiceObject#parent to be either a Service or ServiceObject object

Closed via #212


Tag the master branch to mark the version as stable for composer

Hi,
could you please tag the master branch to mark the version as stable for composer? Here is the manual: https://help.github.com/articles/creating-releases/ .
Thanks.

Thanks @michallohnisky. I've created a release for version 1.0.0.  I hope that does what's needed.

@SimonEast Thx.


Is six or soupsieve a requirement?

https://github.com/abrignoni/ALEAPP/blob/d1ba1f5dadb42d4da636594bfd564a8aa15636e6/requirements.txt#L5
I don't see it being used in code. Same for the six library

Most likely not. It guess it is a vestige from the old ileapp code that was
use as a basis for ALEAPP at the time.
On Wed, Apr 29, 2020, 4:12 PM Yogesh Khatri (@swiftforensics) <
<EMAIL_ADDRESS>wrote:

https://github.com/abrignoni/ALEAPP/blob/d1ba1f5dadb42d4da636594bfd564a8aa15636e6/requirements.txt#L5
I don't see it being used in code.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/abrignoni/ALEAPP/issues/46, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG3DPC2XEKIWPRQIUGUGHODRPCCZTANCNFSM4MUBAAYQ
.

Removed them now.


[R-package] Improves logging in lint_r_code.R (fixes #3471)

References Issue  #3471

Looks great, thank you so much for taking the time to contribute to LightGBM! We hope you'll come back and contribute in the future 😀

Thanks. I'm looking for other issues which I can tackle!

if you'd like another small, focused issue to get more familiar with LightGBM's R package, this is a good one: https://github.com/microsoft/LightGBM/issues/3390
if you want to try a larger issue, #2983 would be very appreciated.
We'd also welcome things that are not explicitly included in issues, like if you see any issues in the documentation at https://lightgbm.readthedocs.io/en/latest/R/reference/


Sweep: Update the library to support string as the subject type. CASL by nature supports that. Currently, this library only accepts class types, making typescript complain when providing string types.

You can define permissions like:
export const userPermissions: Permissions<Roles, Subjects, Actions> = {
everyone({ user, can }) {
can(Actions.read, 'User', { userId: user.id });
},
};
However, the types of the @useability decorator cannot take a string for the subject parameter so @useability(Actions.read, 'User') shows a type error.
Fix this, it must accept both. Ensure we also update code that expects it to be an object.

Checklist

[X] Modify src/interfaces/permissions.interface.ts ✓ https://github.com/jjbell170/nest-casl/commit/c7416542f2558694b9753db2fc10eda3033506c9 Edit
[X] Running GitHub Actions for src/interfaces/permissions.interface.ts ✓  Edit
[X] Modify src/__specs__/app/post/post.permissions.ts ✓ https://github.com/jjbell170/nest-casl/commit/fb8ec0f73b417a531d8c9a1a153043d950a9976b Edit
[X] Running GitHub Actions for src/__specs__/app/post/post.permissions.ts ✓  Edit

There are a few places where we currently expect an object, make sure these all handle an object or a string.
Add new test cases for string, don't just replace the old ones, as both are valid test cases.
Use better typing for subject, that looks messy, avoid union types.


Integrated Terminal Appends ^V to the prompt when switching spaces

VSCode Version: 1.38.1
Version: 1.38.1
Commit: b37e54c98e1a74ba89e03073e5a3761284e3ffb0
Date: 2019-09-11T13:31:32.854Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Darwin x64 18.7.0

OS Version: 10.14.6 (18G103)

Steps to Reproduce:

Open VSCode in fullscreen mode
Open another app in the main desktop so that you have two spaces: one desktop, one VSCode
Every time you switch between spaces, ^V will be appended to the terminal

Does this issue occur when all extensions are disabled?: Yes

How are you switching spaces?

⌃→ and ⌃←

I can't repro unfortunately and haven't had any other reports on this, let me know if you find out any more details.


Relative urls + WordPress in subdirectory + plugins

I have one specific issue with the relative path that is added to wp_upload_dir() which lead me to a more general observation that I want to address and discuss. First comes the issue, and at the bottom the general topic.
Expected behavior
When calling wp_upload_dir(), there should be a relative path added to the return value.
Actual behavior
The relative path is absolute.
Steps to reproduce behavior
Install WPML, set up a minimum of two languages, set Different languages in directories and Use directory for default language. Then call wp_upload_dir() anywhere.
What version of WordPress, PHP and Timber are you using?
WordPress 5.3, PHP 7.3, Timber 1.13.0
How did you install Timber? (for example, from GitHub, Composer/Packagist, WP.org?)
Composer
Fix
Instead of relying on the static $home_url in ImageHelper, you can implement the same functionality as in the URLHelper in get_content_subdir(). However, all of this functionality should be extended with calling untrailingslashit() on the result to avoid inconsistencies introduced by other plugins.
General
There are several locations where Timber uses relative paths. This has lead to several issues in the past. Especially when WordPress is located in a subdirectory, as in Bedrock, and when WPML is used and is set to use subdirectories for languages. Also multisites might be a source of trouble but I haven't had time lately to look at that again.
The reason for these issues is the following:
Normally home_url() will return https://example.com and site_url() will also return https://example.com.
When you (install WordPress in a subdirectory)[https://wordpress.org/support/article/giving-wordpress-its-own-directory/], lets say this subdirectory is wp, site_url() will return https://example.com/wp.
When you install WPML and server languages in directories, it will modify home_url() to include the current language, for example https://example.com/en/. (Note the inconsistency. Normally, home_url() does not include a trailing slash, with WPML it does.)
When multisites come into play, these function behave differently.
Also, it is possible for any plugin to modify the home or site_url, which can lead to even more issues.
At the moment there are specific integration fixes included in Timber for WPML. I am wondering if there is a more general way to fix all of the underlying issue once and for all.
I haven't had time enough yet to go through the code, if the relative paths / urls are actually needed at all. If not and it would be possible to drop all this functionality, I would suggest to go ahead and do this.
If they are needed, maybe it would make more sense to not make use of WordPress functions, but of PHP ones.
Let me explain:
Normally, if you need a relative URL, you want a URL relative to the schema + domain + port. Because you usually want to use this URL in the browser and not specify the host info again.
If you need a relative path, this should usually be needed relative to the docroot of the current script because you would normally server only those files.
There might be exceptions to these common use cases but for those I would offer the developer a Timber specific constant or filter to modify them.
Can you see any benefit in my suggestions?
I would really like to see all of the related and maybe even unforeseeable issue relating to the relative url / path generation solved. This is giving us headaches again and again. I would possibly also be available to help making these changes. However, I am not completely familiar with the entire codebase and what the functions are used for. Also this should not introduce any breaking changes, only if you decide to remove the entire relative functionality.
Cheers.

@domtra I completely agree. Timber was formulated based on the most simple setups and behavior (where a site is a site, there's only one language in the world and everyone uses the same WP install plan). However, WordPress and Timber are used all over the world (hooray!) and increasingly, that's using non-traditional setups (Bedrock, etc.).
So short answer, I'm all for removing places where relative URLs are relied upon. If you or another passerby wants to work on this, the places in the codebase to probably examine are ...

Images: attachments, resizing etc.
Pagination: parsing page URL formats
Archives: parsing page URL formats

I was able to fix wrong WPML URLs with filters (I'm also changing location of images, but that is not needed)
add_action( 'timber/image/new_url', 'timber_image_new_url' );
add_action( 'timber/image/new_path', 'timber_image_new_path' );

function timber_image_new_url($location) {
    $upload_dir = wp_upload_dir();

    $new_dir = str_replace($upload_dir['relative'], '/wp-content/cache/image', $upload_dir['basedir']);
    if(!file_exists($new_dir)) {
      wp_mkdir_p($new_dir);
    }

    $location = str_replace($upload_dir['relative'], '/wp-content/cache/image', $location);
    // Resolves issues with wrong relative URLs with WPML
    // Without this we cannot generate unique images from non default languages
    // https://github.com/timber/timber/issues/2117
    if(strpos($location, '/wp-content/') === 0) {
      $location = str_replace('/wp-content', content_url(), $location);
    }

    return $location;
  }

function timber_image_new_path($location) {
    $upload_dir = wp_upload_dir();

    // Resolves issues with wrong relative URLs with WPML
    // Without this we cannot generate unique images from non default languages
    // https://github.com/timber/timber/issues/2117
    if(strpos($upload_dir['relative'], 'http') === 0) {
      $upload_dir['relative'] = str_replace(content_url(), '/wp-content', $upload_dir['relative']);
    }

    $new_dir = str_replace($upload_dir['relative'], '/wp-content/cache/image', $upload_dir['basedir']);
    if(!file_exists($new_dir)) {
      wp_mkdir_p($new_dir);
    }

    $location = str_replace($upload_dir['relative'], '/wp-content/cache/image', $location);

    return $location;
  }

Since this issue didn't get much traction in the past few years I am going to close this. If anyone still runs into this issue, please let us know.


Swarm filtering

Instead of equality compare between a filter and a multiaddres, check that the filter is a subset of the multiaddress.

Codecov Report

Merging #44 into master will increase coverage by 0.04%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #44      +/-   ##
==========================================
+ Coverage   77.12%   77.16%   +0.04%
==========================================
  Files          51       53       +2
  Lines        2719     2733      +14
==========================================
+ Hits         2097     2109      +12
- Misses        622      624       +2

Impacted Files
Coverage Δ

src/Swarm.cs
87.94% <100%> (ø)
:arrow_up:

src/MultiAddressWhiteList.cs
100% <100%> (ø)

src/MultiAddressBlackList.cs
100% <100%> (ø)

src/Multiplex/Muxer.cs
75.6% <0%> (-1.63%)
:arrow_down:

Continue to review full report at Codecov.

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


Rdp windows 10 authentication error

Hello thanks for sharing the guide, appreciate very much !  Successfully install window 10 but the problem is when I rdp it shows authentication error,
Here are the screenshot of error, can you please look into it, thank you

Yes this is mentioned in readme file.
So you can use tightvnc/realvnc ..
You can disable this from security.

Yes this is mentioned in readme file.
So you can use tightvnc/realvnc .. You can disable this from security.

Maybe i missed where you mentioned..haha
Yes tightvnc is working good, thanks !

tightvnc should work as expected. As for RDP its not an issue for CLIENT ( VPS)
It is because windows blocks remote access for security issues and any new update patchers security.
Can be disabled from windows setting ( on both host+client)


Instead of SimpleTableSegment, TableSegment should be the member of SelectStatement

Fixes #4640.
Ref #4582.

Pull Request Test Coverage Report for Build 10097

6 of 48 (12.5%)  changed or added relevant lines in 10 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.07%) to 58.95%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sharding-core/sharding-core-rewrite/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/OrderByTokenGenerator.java
0
1
0.0%

shardingsphere-sql-parser/shardingsphere-sql-parser-relation/src/main/java/org/apache/shardingsphere/sql/parser/relation/statement/dml/SelectStatementContext.java
2
6
33.33%

shardingsphere-sql-parser/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/MySQLDMLVisitor.java
0
5
0.0%

shardingsphere-sql-parser/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/OracleDMLVisitor.java
0
5
0.0%

shardingsphere-sql-parser/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/PostgreSQLDMLVisitor.java
0
5
0.0%

shardingsphere-sql-parser/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/SQL92DMLVisitor.java
0
5
0.0%

shardingsphere-sql-parser/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/SQLServerDMLVisitor.java
0
5
0.0%

shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/sql/statement/dml/SelectStatement.java
1
13
7.69%

Files with Coverage Reduction
New Missed Lines
%

sharding-orchestration/sharding-orchestration-core/src/main/java/org/apache/shardingsphere/orchestration/internal/util/IpUtils.java
3
76.0%

Totals

Change from base Build 1013:
-0.07%

Covered Lines:
12146

Relevant Lines:
20604

💛  - Coveralls


Karma's Code Review

Code Review
Results summary
Add a brief summary of your code review. Not more than 50 words.
While reviewing Karma's code, I've taken notes of a few things. Although her code is solid, there's a few small elements missing in her html. Small stuff, like: closing tags, opening tags, an alt function on images and lining her tags up together. Other than that her CSS is absolutely GLORIOUS. Lastly, The JavaScript was fine but with some small issues as well. All in all, well done! ^^
Checklist

[ ] The web app fulfills the minimum functional requirements in the app instructions section

The code does indeed do the minimum functions.

[ ] GitHub Pages is activated in the repo and the web app is live

The Repo does activate when the web app is live!

[ ] The HTML index.html page passes W3C HTML validation

The 'index.html' did not completely pass through the validator. As there was a couple simple mistakes that could easily be fixed.

[ ] The web app passes W3C CSS validation

The web app passed through the CSS validator perfectly!
Screenshot

LOL @ShaweTeaBae why is this in your repository and not in https://github.com/imd1005-web-development-winter-2023/assignment-03-karmacappuccino/issues

👀

UUUHH...I'M NOT  GITHUB IS JUST CONFUSING


KAFKA-3993 Console Producer Drops Data

@ijuma Would you mind taking a look?
This fixes the problem for me using this test script.
export BOOTSTRAP_SERVERS=localhost:9092
export TOPIC=bar
export MESSAGES=10000
./bin/kafka-topics.sh --zookeeper localhost:2181 --create --partitions 1 --replication-factor 1 --topic "$TOPIC" \
&& echo "acks=all" > /tmp/producer.config \
&& echo "linger.ms=0" >> /tmp/producer.config \
&& seq "$MESSAGES" | ./bin/kafka-console-producer.sh --broker-list "$BOOTSTRAP_SERVERS" --topic "$TOPIC" \
&& ./bin/kafka-console-consumer.sh --bootstrap-server "$BOOTSTRAP_SERVERS" --new-consumer --from-beginning --max-messages "${MESSAGES}" --topic "$TOPIC"

@theduderog, there is a shutdown hook that calls producer.close(), it would be good to know what's happening when data is dropped. Is the shutdown hook not called at all or is the JVM killed before producer.close() returns? Maybe you can add some debugging output to help figure this out?

I think this was fixed by changing the default acks value from 0 to 1. If you agree, maybe we can close this PR?

yep, that seems to fix it.  Thanks.


Question about riscv32B and riscv64B performance improvement.

I have a question about the performance impact of adding B extensions to riscv32. In my experiments compiling coremark with rv32gcb and rv32gc, I found only a 2% increase in coremark runs when compiling with rv32gcb; However, compiling coremark with rv64gcb and rv64gc showed a 10% increase in coremark runs compiled with rv64gcb.
Is this a normal phenomenon?  Can it be argued that adding the B extension does not improve performance much on 32-bit?

I think this highly depends on the actual application / program being run (regardless of whether it is a 32-bit or 64-bit architecture). A software that makes extensive use of bit-field manipulation or string operations can surely benefit (in terms of performance) from the bit-manip extension.

Depending on the application, the mix of Zb* instructions involved will change.
For Coremark, I can point to the following from the cuff:

Coremark operates on 32bit-indexed arrays, the Zba extension will help to alleviate penalties from the 64bit addressing on RV64.
32bit and 16bit extensions are quite prevalent in Coremark (as it operates on 32bit and 16bit datatypes), which should match to Zba and Zbb instructions ... however, whether each of these translates into an improvement depends on your microarchitecture (as the underlying instruction patterns are very easy to fuse)
The CRC calculation can benefit significantly from Zbc (as we have demonstrated a while back), although the necessary compiler enablement has not been completed in the community yet.
As there is no string-operations and no byte-swapping, neither orc.b nor rev8 come into play
The bitfield-extraction cases in coremark (e.g., cmp_idx and the entire 'dtype' logic in calc_func) are not covered by Zb*. Experiments with T-Head's XTheadBb have shown that a more general instruction (their th.ext and th.extu) can be easily applied to these in our compilers.

To answer your original question: if you have a workload that heavily depends on Zb* instructions in RV32 (e.g., makes heavy use of rev8, single-bit instructions, the XLEN-variants of Zba or carryless multiply), you will see a large win with Zb*; if your application mainly shows benefits from the 64bit-only (.uw) variants of Zba, then you will see only small gain.
I hope this provides some context.

thanks a lot.


Adding grid_map to documentation index for distro.

I'd like grid_map to be indexed and documented on ros.org.

@vrabaud "hey, that looks cool btw, how does that compare to costmap_2d ?"
Thanks. Grid map has similar features to costmap_2d, but was developed as backbone for the elevation mapping package. It has following features:

Universal application to 2.5-dimensional mapping, any number of layers supported (elevation, variance, color, surface normal, occupancy, traversability, foothold quality etc.).
Data storage is implemented as two-dimensional circular buffer. This allows re-positioning of the map (to follow the robot) without copying data.
Data is stored as Eigen data types, allowing to use the available Eigen algorithms directly to the map data.
Compatibility with ROS message types such as PointCloud2, OccupancyGrid, and GridCells.

Thx for the info ! Did you advertise it on the navigation SIG http://wiki.ros.org/sig/Navigation ?

Not yet, I will do so, thanks!


Add buildah pr based and remove s2i

This will remove buildah clustertask based on
pipeline resource and all related other addons
This will remove s2i task and their related
addons
Update script accordingly

/test 4.3-e2e

/test 4.3-e2e

/lgtm
/approve


Update release script to transpile esmodule code into commonjs for node

Fixes
Please link to the issue this PR addresses
Description
WIP - This is disgusting but it works
How to generate a usable index.js:

run npm install @babel/core @babel/cli @babel/preset-env @babel/plugin-transform-modules-commonjs in the project root
Run deno bundle -c tsconfig.json mod.ts | node_modules/.bin/babel --presets=@babel/preset-env --plugins=@babel/plugin-transform-modules-commonjs --no-babelrc -- > index.js
This will bundle the deno ts code into a js ESModule, then use babel to convert the ESNext features using polyfills, and convert the ESModule into a commonjs module, which node can consume
Create a new directory, then cd into it
Copy index.js into this new directory
Create the following typescript file:
serialize-test.ts

import { strict as assert } from 'assert';
// @ts-ignore
import { Serializable, SerializeProperty } from "./index";

class Test extends Serializable {
    @SerializeProperty()
    testName = "toJson";
  }
  // @ts-ignore
  assert.strictEqual(new Test().toJson(), `{"testName":"toJson"}`);
  // @ts-ignore
  console.log(new Test().toJson())
  // @ts-ignore
  const test = new Test().fromJson(`{"testName":"fromJson"}`);
  assert.strictEqual(test.testName, "fromJson");
  console.log(test)

And the following ts config file:
tsconfig.json

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "experimentalDecorators": true,
    "forceConsistentCasingInFileNames": true
  }
}

install typescript npm install -g typescript
run tsc to compile serialize-test.ts into serialize-test.js
run node serialize-test.js, you should see the following output:

{"testName":"toJson"}
Test { testName: 'fromJson' }

Proposed changes in this PR

foo
bar
baz

Things to look at

[ ] Test coverage
[ ] Code Style
[ ] Documentation (READMEs etc)

coolcool!
seems like we did these different ways, which do you prefer?
if we like the other PR I still think we can merge this one if we remove the babel stuff, possibly also update the deno versions here as well to 1.3.3 in the ci and changelog

The other PR has a better implementation of the babel conversion (no nodejs requirement)
Going to close this one, but I think we should keep the test instructions I wrote in the description in mind for testing our eventual node module

closing as this was resolved with #53


Firebase Crashlytics NuGet

Hi!
The Release Monitoring dashboard of Firebase Crashlytics requires the minimum version of the Crashlytics SDK to be v10.8.0+.
It would be nice to have an updated NuGet with the Crashlytics.
Thank you.

@evgenyvalavin I'll include an -alpha version in the next batch of updated bindings if you can help me validate / test them.

@AdamEssenmacher yes, I'm up to test the nuget and help you.
I'm new to ios bindings. I hope to find some time in the future to dive deep at least a little bit.

@AdamEssenmacher I've come across an interesting issue trying to build new Firebase NuGets with an old Xamarin one.
For example:

If a csproj contains only "AdamE.Firebase.iOS.*" NuGets I can build an .api fine.
If a csproj contains  "AdamE.Firebase.iOS.*" and "Xamarin.Firebase.iOS" NuGets the project doesn't build successfully.

/Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error: clang++ exited with code 1: [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error : ld: warning: Could not find or use auto-linked framework 'GoogleAppMeasurement' [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error : Undefined symbols for architecture arm64: [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :   "_APMAnalyticsConfiguration", referenced from: [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :       +[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics.o) [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :   "_APMAppMeasurementOriginFirebase", referenced from: [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :       +[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics.o) [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :   "_APMConsentSettings3P", referenced from: [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :       +[FIRAnalytics setConsent:] in FirebaseAnalytics(FIRAnalytics.o) [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :   "_APMFormattedEventName", referenced from: [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :       +[FIRAnalytics logEventWithOrigin:name:parameters:] in FirebaseAnalytics(FIRAnalytics.o) [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :   "_APMFormattedUserPropertyName", referenced from: [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :       +[FIRAnalytics setUserPropertyString:forName:] in FirebaseAnalytics(FIRAnalytics.o) [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :   "_APMIsAnalyticsCollectionDeactivated", referenced from: [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :       +[FIRAnalytics startWithConfiguration:options:] in FirebaseAnalytics(FIRAnalytics.o) [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :   "_APMIsAnalyticsCollectionEnabled", referenced from: [/Users/runner/work/1/s/src/Mobile/iOS.csproj] /Users/runner/hostedtoolcache/dotnet/packs/Microsoft.iOS.Sdk/17.2.8053/targets/Xamarin.Shared.Sdk.targets(1560,3): error :       +[FIRAna [/Users/runner/work/1/s/src/Mobile/iOS.csproj]

What's up - I'm running into the same issue as @evgenyvalavin. Will be looking into this further today.
Can also assist with validation & testing once ready.
PS: @AdamEssenmacher You're the man for forking this repo and taking this on. Not all heroes wear capes (unless you do).

If a csproj contains "AdamE.Firebase.iOS.*" and "Xamarin.Firebase.iOS" NuGets the project doesn't build successfully.

Yeah this is always going to be the case.
Anything Xamarin.Firebase.iOS.* has a dependency on Xamarin.Firebase.iOS.Core. Likewise, anything AdamE.Firebase.iOS.* has a dependency on AdamE.Firebase.iOS.Core. Xamarin.Firebase.iOS.Core and AdamE.Firebase.iOS.Core pack the same set of common Firebase/Google native libraries, so they cannot be included in the same project. They're fundamentally incompatible. This means that any other 3rd-party plugins/packages out there (i.e. Plugin.Firebase, Shiny, certain barcode scanners...) that use these dependencies all need to agree on importing these native libraries from a central authority, which used to be Microsoft and is now just some random dude in Ohio >.<
This situation is exactly what I warned about in the MAUI thread where Microsoft abandoned these components and pointed us over to that slim binding demo library, where I opened an issue pointing out the same that was (quite rudely) shut down.

Something is not right with the Crashlytics NuGet. My app crashes in 1-2 seconds after startup as soon as I've added the NuGet. And the thing is I can't make it stop crashing after removing the nuget, cleaning everything and building again... Trying to figure this out...
Full report is in the file
crashlytics_crash.txt

#10

Same with 10.20.0-alpha1
<_ExportSymbolsExplicitly>false</_ExportSymbolsExplicitly> is set in the csproj

Please try adding a dependency on Installations and see if that helps or not. I got 10.20 Crashlytics to work.

Updated to 10.24.0. Everything works fine. Thank you @AdamEssenmacher!


v0 coexistence and data type extensibility

This pull request implements the changes discussed in https://github.com/UAVCAN/specification/pull/64:

Implicit zero extension (implicit truncation is the original behavior, no changes needed).
CAN transport: new CAN ID format that permits coexistence of v1 and v0 on the same CAN bus.
UDP and Serial transports: data type hash mismatch is no longer considered an error. This is necessary to support polymorphic types. The structure of the data type hash will require reconsideration (https://github.com/UAVCAN/specification/issues/66).

Also, I slightly relaxed the timing requirements in some test cases to reduce the probability of spurious failures due to poor real-time performance of the test suite.
Fixes #88
Fixes #89
Fixes #90

Pull Request Test Coverage Report for Build 717

139 of 141 (98.58%)  changed or added relevant lines in 8 files are covered.
363 unchanged lines in 37 files lost coverage.
Overall coverage increased (+0.4%) to 86.194%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pyuavcan/dsdl/_serialized_representation/_deserializer.py
80
81
98.77%

pyuavcan/transport/can/_identifier.py
44
45
97.78%

Files with Coverage Reduction
New Missed Lines
%

.test_dsdl_generated/sirius_cyber_corp/PerformLinearLeastSquaresFit_1_0.py
1
90.98%

.test_dsdl_generated/uavcan/metatransport/can/ArbitrationID_0_1.py
1
88.76%

.test_dsdl_generated/uavcan/node/ExecuteCommand_1_0.py
1
91.39%

.test_dsdl_generated/uavcan/node/port/ID_1_0.py
1
88.76%

.test_dsdl_generated/uavcan/pnp/cluster/RequestVote_1_0.py
1
92.92%

.test_dsdl_generated/uavcan/pnp/NodeIDAllocationDataMTU8_0_1.py
1
86.32%

.test_dsdl_generated/uavcan/si/sample/duration/Scalar_1_0.py
1
83.33%

.test_dsdl_generated/uavcan/si/sample/energy/Scalar_1_0.py
1
83.33%

.test_dsdl_generated/uavcan/si/sample/volume/Scalar_1_0.py
1
83.33%

.test_dsdl_generated/uavcan/si/unit/angle/Scalar_1_0.py
1
83.67%

Totals

Change from base Build 710:
0.4%

Covered Lines:
18362

Relevant Lines:
20555

💛  - Coveralls

Shouldn't you also bump the version with this change?


feat: Make templates in composeContext dynamic

Relates to:

Risks
Medium, might be a package that I missed to update where this could introduce a typescript error.
Background
What does this PR do?
Make it possible to use dynamic templates to make the agent more fun and unique
Idea taken from:
https://x.com/dabit3/status/1872126857774031201
What kind of change is this?
Features

Documentation changes needed?
Updated the composeContext docs indocs/docs/api/functions/composeContext.md and docs/api/functions/composeContext.md

Testing
Added test logic to packages/core/src/tests/context.test.ts
Detailed testing steps

Create a character with Twitter/Lens/Farcaster etc
Update post template with a function. @dabit3 provided a gist for one here https://gist.github.com/dabit3/ca4495ed84e464ab397fca8abeb672be
Update templates, ex:

templates: {
    lensPostTemplate: generateTemplate()
}

Discord username
@0xheavydev

I disagree with this change. The easiest way to go about this is to create a script that can update the character file with templates field and define the templates they want to define. I did this just now with a simple script.
Script:

Updated File:

Test the agent:

Try to get info based on template instructions added:

This feature is not needed since this is already available through the JSON templates field

@jonathangus  I added a PR as an example of how to do this without changing any eliza code. #1554

@HashWarlock if I'm not mistaken this will still make the template static in runtime?
The idea here is to be able to change template logic in runtime.
Since it is a function we can now have any conditional logic. Was thinking to even make it async to give the developer more control, but that change was major so might revisit later.

@jonathangus, maybe I'm misunderstanding then.
How would this be different than having the template describe the conditional logic with the state variable checks as examples that would cause the agent to return a different response? This is how choosing the action replies on Twitter works when the agent would like, re-tweet, Quote, or reply.
If I want a template to do conditional logic that executes 100% correctly, like a calculation, it would be beneficial, but maybe it's better to add tools for that case.
From my point of view, this starts to approach a customized agent direction that requires new builds every time you add new logic. But if it doesn't break all templates w/ the new type accepting strings, then this can be useful.
Some questions:

Does this require also editing all the other templates among the different clients as well?
Can we expand on the doc to make sure devs understand how to implement this?

Thanks for the feedback @HashWarlock
It can probably be achieved by describing the logic in the template, but having it as a function resolver allows us to use state and external data not accessible in the agent.
Just to clarify, this will still support all current clients and agents that use templates as strings. It simply introduces the possibility to pass a function that will resolve the template string. For me, this improves the developer experience by allowing developers to more easily customize their agents, and I’m personally a fan of using function resolvers when building SDKs.
I updated the related documentation I could find, but I may have missed something.

@jonathangus Ahhhh, I think I understand clearly now. Let's me know if my thoughts are aligned here.
Example: I want to create a template function that would require the user to have an active subscription to get a response. Some psuedo-code test could look like:
    runtime = {
            databaseAdapter: {
                getAccountById: vi.fn(userId).mockResolvedValue({
                     id: userId,
                     name: "Suh Dude",
                     username: "suhdude",
                     details: {
                       subscriptionNftId: "1",
                       subscriptionNftApiUrl: "https://api/getStatus?id=1", // returns true
                     },
                 });,
            },
            state: {
                 userName: "hehehe",
                 userId: "wa-suh-dude-ah-ha-aa",
            }
    } as unknown as IAgentRuntime;

    it("should reply with REPLY if subscription is active", () => {
            const userId = runtime.state.userId;
            const template = () => {
                const userAccount = runtime.databaseAdapter.getAccountById(userId);
                const subscriptionStatus: boolean = await fetch(userAccount.details.subscriptionNftApiUrl);
                return (subscriptionStatus=== true) ? "REPLY" : "IGNORE";
            };

            const result = composeContext({ runtime.state, template });

            expect(result).toBe("REPLY");
    });
}

If I'm right in this regard, you have changed my perspective, sir 😆 I actually need this for a project I'm working on currently. Thank you for the meaningful discussion! 🙏

Exactly! It’s a great example that shows what we can do with more configuration options for the template.
Though this would require the template and composeContext function to be asynchronous, which is a larger change than I initially intended and will affect more packages if implemented.
Could it be a good start to support synchronous callbacks?

Exactly! It’s a great example that shows what we can do with more configuration options for the template.
Though this would require the template and composeContext function to be asynchronous, which is a larger change than I initially intended and will affect more packages if implemented.
Could it be a good start to support synchronous callbacks?

No worries on the async part, I'm pretty sure a provider could get that info then update the runtime state instead. Then there is no need to change too much. Let's get any conflicts fixed and I'll approve PR 👾

Ready! @HashWarlock


unable to schedule jobs using multiply schedules

we provide in the docs info that multiply schedules are possible using:
<parameter name="scheduling" value="H 2 * * *\nH 10 * * *" />

but in reality schedule is not populated. only single line schedules are possible

merged: https://github.com/zebrunner/community-edition/pull/538
docs republished

docs updated, need to double check to close:
https://zebrunner.github.io/community-edition/user-guide/


powershellyaml RequirrdVersion in example-validation-report.ps1 missing

Hi Toby
if you run the script example-validation-report.ps1, the "requiredversion" is missing in the output for "powershellyaml".

@dako365 Issue is fixed. Because module dependencies without version binding can exist, I've implemented an appropriate handling. See commit above.


Expose single record extraction utility to eager result

I thought about @robsdedude arguments against introducing this and the one that resonated with me the most is: EagerResult has everything loaded in memory and Single is just a simple len(myEagerResult) == 1, so the added value is quite minimal.
On the other hand, Result does not have a known size and there is value in exposing Single which asserts there is exactly a single result left to consume.
I'll close this PR for now.


./configure: line 26: ./util/python/python_config.sh: no such file or directory

While running ./configure and then comes to an issue, ./configure: line 26: ./util/python/python_config.sh: no such file or directory. Could somebody give me a little help?

That's mysterious. The file is clearly in the repo (here). Can you make sure that you checked everything out properly?

Closing due to staleness / lack of reproducibility.  Please request to re-open if it's still a problem.

was working on a different fork - it seems the file isn't there for me. although there's a BUILD file.


[W5.3b][W13-A1]Raynold Ng

LO-Inheritance

@raynoldng
Some comments added. Please ack & close the PR after reading comments.

Acknowledged with thanks


POST Request

The API I'm posting requires the BODY to be like the example below:
'{"record": {"form_id": "my-form-id","latitude": 27.770787,"longitude": -82.638039,"form_values": {"2832": "My string value",}}}'
If I use the Request.AddBodyParameter, how can I make it where it inputs the {"record": { before it inputs all the data I'll be putting into the AddBodyParameter?

Also, I'll be doing the POST for each row in my excel sheet (each row is a new record). How can i make it where it will loop through each row and post each row separately?
I don't know if this will work because each cell in the row contains different data.
So basically, how can I make the Request.AddBodyParameter pull in each cell from the row while also going through each row and POSTing the row separate as a record?


audit: Port audit_conflicts method to rubocop and add tests

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

#569
This PR partially ports audit_conflicts method to a custom cop. Remaining code in audit_conflicts uses Homebrew internals methods and I could not figure out their exact functionality to port them. Please let me know if this approach is not good.

@MikeMcQuaid Moving the two private methods defined in conflicts_cop.rb to formula_cop.rb as they can be reused in other cops. ( conflicts_cop.rb)


Fusion status not updating

The Vrtk fusion status field appears to be reporting Visual-inertial-GNSS fusion (4) even when fusion isn't running / there isn't a fix yet. This is causing some downstream issues because this check always passes and the driver will publish an invalid TF for T_ecef_enu0 (mentioned in this PR)

Hi @stephen-cpr. Thank you for bringing this up. We are currently reworking the ROS driver and will make sure to add your proposed change to the new version :smile:

This problem has been patched on the ROS driver. It occurred due to empty TF messages being sent from the device after a reset. The source of this issue has been patched for the next stable release (due October). I am closing this ticket.


double-linked list test times out on simarm64 precompiled use-blobs

When running the configuration
python tools/test.py -m release -c precompiler -r dart_precompiled -a simarm64 --use-blobs co19/LibTest/collection/DoubleLinkedQueue/DoubleLinkedQueue_class_A01_t01
the test takes more than 8 minutes.
Marking the test as skip in the status file.
If this is a bug, and the test shouldn't take so long, then keep the issue open, otherwise, I suppose "will not fix".

This only occurs after we roll co19 and get the new test.  I have created the issue in order to update the status files in the roll.