Force text content-type

It seems to me that Chrome will block all json sendBeacon's right now.
This may break a lot, there is probably a nicer way to do it. Please let me know =).

I was wondering what was going on here, so I chased it down to https://github.com/dxa4481/CORS. Turns out navigator.sendBeacon() now sends an OPTIONS preflight request to the server to figure out if the current client is allowed to write to it.
E.g. probably do something like:
if (req.type === 'OPTIONS') {
  res.setHeader('access-control-allow-origin', '*')
  res.setHeader('access-control-allow-methods', '*')
  res.setHeader('access-control-allow-headers', '*')
  res.setHeader('access-control-allow-credentials', 'true')
}
res.end(200)

And in prod replace the values for the name of your domain, and the values being sent. I think this would be _the right way to do things_™. Going to be adding it to bankai right away!

Did you try this out? It was my impression that Chrome incorrectly implemented it without preflight checks (and then firefox copied them). From the chrome bug:

Regarding ETA for (A), it turned out to be not a quick work given Chromium's architecture. The CORS code lives in the renderer. There's no reliable way to keep a fetch for sendBeacon alive while waiting for preflight being processed in the browser process. It requires some work.

Search for preflight for a bit more context on that page. Also helpful comment.
It seems a bit broken all around right now unfortunately. That is why I thought using text may be best solution for now (its what google analytics does too).

Woah, no I haven't tried it out yet. I thought I understood the bug correctly after reading it, but guess it's time to make a repro to figure out how to handle it. Thanks for pointing out!

😢 you're completely right. I misread the error, and looks like this is indeed the only way around it. Ughhhhhhhhhhhhhhhhhhhhhh.

v1.0.2 :sparkles:


colWidths did not seem to exist, leading to malformed HTML/CSS

Perhaps @tfennelly knows what this originally was supposed to be, but anyway I am sick of NetBeans showing this plugin as erroneous because of the bad CSS in the test HTML files!
@reviewbybees

colWidths seems to be not used anywhere in the plugin, so I guess it is safe to remove it.
:bee:

This pull request originates from a CloudBees employee. At CloudBees, we require that all pull requests be reviewed by other CloudBees employees before we seek to have the change accepted. If you want to learn more about our process please see this explanation.

🐝  let's merge :)


Refactor into workspaces: libcramjam, cramjam-python, and cramjam-cli

(Holiday/weekend project)

Split into workspaces [libcramjam, cramjam-python, cramjam-cli]
New CLI distribution, first just in python, cramjam-cli exposting all the de/compress core implementations of each variant.

How did you approach such a thorough rearrangement?

Started off trying to implement a CLI interface, became a bit unsatisfied w/ some side-effects of it being inside of Python's library implementation, and anyway had been thinking for a while to make a pure Rust crate, which ought to help with #97. Still a fair amount of shifting things about, like moving the block/frame stuff into libcramjam.
Otherwise, the jist was only to copy the previous cramjam into both libcramjam and cramjam-python then took out things that didn't belong; namely moving <<codec>>::internal::* into libcramjam, and removing from cramjam-python, replacing with libcramjam.


[Bug]:

Error Message and Logs
Auto deploy fails when i create the application with the API (applications/private-github-app)
Steps to Reproduce
1.Create (Private - GH App)... POST... https://my.domain.com/api/v1/applications/private-github-app
body:{
project_uuid,
server_uuid,
environment_name,
github_app_uuid,
git_repository,
git_branch,
ports_exposes,
build_pack,
name,
domains
}
2.Create Env..  POST... https://my.domain.com/api/v1/applications/{APPLICATION_ID}/envs
3.Deploy... POST ... https://my.domain.com/api/v1/applications/{APPLICATION_ID}/start
The application is created and everything seems to work fine.. but when I commit and publish the changes in Git.. the application created with the API never detects that commit and does not do an Auto Deploy.
If I add the application manually, everything works fine..
Am I omitting any parameter so that the Webhook works normally?
Example Repository URL
No response
Coolify Version
v4.0.0-beta.373
Are you using Coolify Cloud?
No (self-hosted)
Operating System and Version (self-hosted)
Ubuntu 24.04
Additional Information
No response

Thanks for the report we will track resolution in this issue https://github.com/coollabsio/coolify/issues/4557


update component

add component Empty
update page not found

modify image found

Don't forget to resolve this "Remove the space before "!" so it will become "No result found!""

add component empty


[Feature]: install a different version of appsmith

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
https://docs.appsmith.com/getting-started/setup/installation-guides/docker
how to install appsmith with selected version? let say the latest is 1.18, but i want to install the 1.16 on local.
thank you
Why should this be worked on?
for development purposes, it would be helpful to be able to determine which version to use

@fkrahmad you can specify the version in the docker compose file as appsmith-ee:v1.16


Load client cert from format *.crt and *.key (native-tls)

Add new optional fn from_pkcs8_pem for easy load client certificate (*.crt and *.key) for feature native-tls.
Example usage:
use reqwest::blocking::Client;
use reqwest::{Certificate, Identity};
use std::fs;

const URL: &str = "hostname server with mTLS";

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let ca = Certificate::from_pem(&read_file("ca.crt"))?;
    let cert = Identity::from_pkcs8_pem(&read_file("client.crt"), &read_file("client.key"))?;

    let client = Client::builder()
        .add_root_certificate(ca)
        .identity(cert)
        .build()?;

    let status = client.get(URL).send()?.status();

    println!("Status Code: {status}");
    Ok(())
}

fn read_file(path: &str) -> Vec<u8> {
    fs::read_to_string(path).unwrap().into_bytes()
}

@seanmonstar, what do you think about this idea?

Yea, seems like a useful feature to me :)

@seanmonstar, fix failed CI for my PR:

Upgrade minimal version native-tls from 0.2.8 to 0.2.10 (support new function load certificate from_pkcs8);
Fix test docs.

Pls run again CI check.

@seanmonstar, tell me when to expect a new release with this feature?

Probably later this week, possible early next week.


CloudFormation creation failed.

stack will fail at below step
BuildArtifactsKinesisReplayBuildPipelineDownloadLambdaResourceD172C062
with error message "HTTP 300 Multiple choices"
Should change url parameter for resource "BuildArtifactsKinesisReplayBuildPipelineDownloadLambda785E80B0"
from
https://github.com/aws-samples/amazon-kinesis-replay/archive/release-0.1.1.zip
to
https://github.com/aws-samples/amazon-kinesis-replay/archive/refs/tags/release-0.1.1.zip

Hey, I've already addressed this problem with this commit https://github.com/aws-samples/amazon-kinesis-analytics-streaming-etl/commit/e97244ca0d906b4ae30431ad09acd98306718879. I may have missed updating all artifacts that depend on these sources, can you please let me know where exactly the issue is occurring? Thanks!


UP007: Does not respect target version and suggests incompatible syntax

To me it seems that ruff should only suggest fixes that are compatible with the configured target version. That's not the case for this example using ruff 0.1.4.
Command:
ruff check .

Config:
target-version = "py39"

[lint]
select = ["UP"]

Code:

from __future__ import annotations

from typing import Optional

class C:
    int: Optional[int]

Output:
main.py:7:10: UP007 Use `X | Y` for type annotations

This is even auto-fixable but will result in a syntax error on Python 3.9

Using | isn't a syntax error in Python 3.9 if you import annotations from __future__. More information can be found on the docs.

Thanks, I read the docs now and it turned out it's coming from pydantic. Thanks much!

👍 You can also disable this behavior (of using newer syntax when __future__ is present via keep-runtime-typing.


feat(Grid): add update checker

Feature update:
Now checks for new updates every time Marketplace is opened and notifies the user via a button that leads to the repository:

Styling update:
Merge search bar onto header

TODO:

[x] Use an SVG instead of available! for styling purposes(?)

[x] Implement spcr-whats-new and manage changelogs

Implemented spcr-whats-new to display a changelog modal every time it is updated.

Important note: Current version of Marketplace is not a valid SemVer version, so in order to trigger the modal, the version inside the Changelog component must be bumped simultaneously as the version number of Marketplace.

Now uses GitHub commit log as changelog. Will need to squash commits in the future to reduce list length.


Add files via upload

HI adding my college name

@graceloo I am sorry, the domain vccs.edu is blacklisted because the school allows to register an email address there even if you are not a student of the school. If you are the student of this school, please apply with official document (OFFICIAL DOCUMENT tab at https://www.jetbrains.com/shop/eform/students).


allprojects / subprojects closure delegation results in unexpected multiproject configuration

Given a multiproject build with the following 2 build scripts:
root/build.gradle:
apply plugin: 'groovy'

allprojects { Project project ->
    repositories {
      mavenCentral()
    }
    test {
        exclude '**/*SystemTest.class'
    }
}

and
root/sub/build.gradle:
apply plugin: 'groovy'
dependencies {
    testCompile "junit:junit:4.12"
}

the test task configuration for the sub project is not applied. Instead the test task of the root project is referenced as when the configuration block is evaluated no test task for the subproject yet exists.
This is misleading and counter intuitive. IMO gradle should be stricter here and fail early when a task referenced in the subproject closure is not found in the subproject itself but delegating to
Currently there are two workarounds I can think of:

Add evaluationDependsOnChildren to the root build.gradle file.
wrap test task configuration in a plugins.withType block.

Expected Behavior
two options I see to improve this:

be smart and detect required configuration ordering (seems quite tricky)
fail early here and require the configured task to exist for this particular subproject.

Current Behavior
root projects task is configured and not the subprojects task, resulting in misleading behaviour.

Has this behavior changed recently?


Commit SHA or Version used
Additional context
N/A

Currently debugging on LL/DDI/ADV/BV-47-C, other tests fail for the same reason


sonar failers due to 401

all sonar builds has been failing since Dec2.
https://github.com/googleapis/google-auth-library-java/actions/runs/12131139021/job/33822744230
Error:  Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:<IP_ADDRESS>89:sonar (default-cli) on project google-auth-library-parent: Error status returned by url [https://api.sonarcloud.io/analysis/jres?os=linux&arch=x86_64]: 401 -> [Help 1]

similar issue in sdk-platform-java: https://github.com/googleapis/sdk-platform-java/issues/3369

Added SONAR_TOKEN and validated the workflow working in #1592.

Re-opening this as it seems to still fail: https://github.com/googleapis/google-auth-library-java/actions/runs/12282128891/job/34272653159?pr=1590
Min mentioned above that this seems to be flaky in sdk-platform-java as well: https://github.com/googleapis/sdk-platform-java/issues/3369


Bug: URI::setSegment() accepts the last +2 segment without Exception

CodeIgniter version: develop (4a4f55b1308cf9f9e22f19be84ce444d69263c2d) after 4.3.1
This is also reported in #2962
<?php

namespace App\Controllers;

use CodeIgniter\HTTP\URI;

class Home extends BaseController
{
    public function index()
    {
        $uri = new URI('http://example.com/one/two');

        $uri->setSegment(4, 'four');
        var_dump($uri->getSegments());
        echo $uri;
    }
}

The result:
array (size=3)
  0 => string 'one' (length=3)
  1 => string 'two' (length=3)
  2 => string 'four' (length=4)

http://example.com/one/two/four

Closed by #7251


Add feature for .aggregate() and .sum()

Adds the changes required to implement .aggregate and .sum features to mquery

@vkarpov15 I don't blame you, this is supposed to be a private patch for a freelancing project, never designed to see the light of day. It doesn't implement every query condition, since there was a specific request and a list of conditions that needed to be implemented. And yes, the code quality is a mess. However, I hope this at least shows that implementing aggregate support and a translation layer from query conditions to an aggregation pipeline isn't as hard as it seems.

Any documentation on sum?


Disallow non-unique instance names for platforms

PR Type

Bugfix Pull Request

I ran into an issue where I named my instances the same (by accident)
and then when I ran molecule create I had 2 when I expected 3 containers
created. I realised we are missing validation for this.
References:

http://docs.python-cerberus.org/en/stable/customize.html#custom-rules

Hmmm, this needs some more work then ...

Opened https://github.com/pyeve/cerberus/issues/467 against this.

@webknjaz, any inspiration on this one? This seems like 'a good enough' fix ...
See final comment in https://github.com/ansible/molecule/pull/1775#issuecomment-466949763.


Update the ABI for uniquing foreign type metadata

swift_getForeignTypeMetadata is now a request/response function.

The initialization function is now a completion function, and the pointer to it has moved into the type descriptor.

The cache variable is no longer part of the ABI; it's an implementation detail of the access function.

The two points above mean that there is no special header on foreign type metadata and therefore that they can be marked constant when there isn't something about them that needs to be initialized.

The only foreign-metadata initialization we actually do right now is of the superclass field of a foreign class, and since that relationship is a proper DAG, it's not actually possible to have recursive initialization problems.  But this is the right long-term thing to do, and it removes one of the last two clients of once-based initialization.
I'm calling this part of SR-7876 despite it not actually resolving any real problems because it is part of the finishing-recursive-metadata project.

Build failed
Swift Test OS X Platform
Git Sha - 994526937df3e333d83f0221abd383f42e98f3ab

@swift-ci Please test.

Build failed
Swift Test OS X Platform
Git Sha - 994526937df3e333d83f0221abd383f42e98f3ab

Build failed
Swift Test Linux Platform
Git Sha - 994526937df3e333d83f0221abd383f42e98f3ab

@swift-ci Please test.

Build failed
Swift Test OS X Platform
Git Sha - 0f91166742b522f71fcd2a191ef466e63772a4dc

Build failed
Swift Test Linux Platform
Git Sha - 0f91166742b522f71fcd2a191ef466e63772a4dc


Add Klaytn formula

Proposed changes
Formula for Klaytn
Types of changes
Please put an x in the boxes related to your change.

[ ] Bugfix
[x] New feature or enhancement
[ ] Others

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING GUIDELINES doc
[x] I have signed the CLA
[x] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

Further comments
Later, we need a bootle for Klaytn with the test result on various mac versions.

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

The homepage URL is changed from github to KlaytnDocs.


Testing screens that uses DestinationsNavigator and Parcelable args

Hi,
Previously i was using this to mock the NavHostController, but cannot find a way to do the same with DestinationsNavController.
private val navController = TestNavHostController(ApplicationProvider.getApplicationContext())
I could make it work on the startDestination of the NavGraphs, but i think this is not the correct way.

On the detail screen i receive parcelable args, and i'm not able to mock the args on the Destination.
When i tried to run the test, i receive this exception and cannot mock the args:

I wanna know if already exists a way to mock or test the screens with this library, receiving the args from the DestinationNavigator.

Hi @asrieltiago ! 👋
Thanks for reporting.
So yeah, this is something I haven't had time to fiddle with, unfortunately.
The one thing I can think of is that you can create a DestinationsNavigator like this:
     val navController = TestNavHostController(ApplicationProvider.getApplicationContext())

     fun destinationsNavigator(navBackStackEntry: NavBackStackEntry): DestinationsNavigator {
         return DestinationsNavController(navController, navBackStackEntry)
     }

    //...
        DestinationsNavHost(navGraph = NavGraphs.root, navController = navController)

I'm not sure if this helps or not. I'd have to fully understand what you're trying to do, so I can test on my side.
Is this an open-source project I can take a look at?
From my understanding, you want to test after navigating if the Parcelable args are correct on the other side?

Or you can create an implementation of DestinationsNavigator any way you want since it is an interface. Again.. not sure if this helps you.

I made the UI test work, following your idea of creating a class inheriting from the DestinationsNavigator interface.

In the end it was something simple, thanks for the quick answer and maybe this will help the next ones who are going to test the UI.

If you need an empty implementation of DestinationsNavigator, the library has an EmptyDestinationsNavigator 😅
I thought you wanted to test navigating specifically! Yeah if all you need to test is screens on their own, then this will work for you!


Dry-run support

For debugging, it would be useful to have a dry-run, where Dreadnot would output all the tasks and commands it would run, without actually execing anything.
It could grab the shell commands it would run and confirm the file mode was compatible to be executed. (owned by the dreadnot user, etc).

see also #77


Replace FIPS County File w/proper Geo-coding library

We are currently using a flat file csv table for the purposes of mapping postal codes to counties, but we need to migrate this to a proper geocoding library that lets us get the correct county based on address and postal code. This would then need to be used for both HL7 serialization and ingestion for patients, labs, and providers.

Mo,  below is the Slack response from Alicia Beckett.  We can use SimpleReport's SmartyStreets license.  Let me know what/if you need me to do anything else.  I believe this would now fall under the Pipeline Team for prioritization and grooming, but I'll help in anyway possible.
My thoughts are that Zip Codes with Counties should be in a DB and updated routinely.  Seems an API call for each inbound message and/or outbound message would be far slower than DB queries.
Alicia Beckett  1 hour ago
Yes, it is available to you. We have unlimited API calls. @Tim Best can get you setup with the API key.


fix(chore): correct the changelog format

now issue description will be visible
GH-68
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #68
Type of change
Please delete options that are not relevant.

[ ] 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)
[ ] Intermediate change (work in progress)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Checklist:

[ ] Performed a self-review of my own code
[ ] npm test passes on your machine
[ ] New tests added or existing tests modified to cover all changes
[ ] Code conforms with the style guide
[ ] API Documentation in code was updated
[ ] Any dependent changes have been merged and published in downstream modules

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[BUG] Unable to test with jest

Before you begin...

[X] I have searched the existing issues
[X] I am not using version 13.x of node  (if so, please upgrade)

Description of the problem
Using jest 28.1.1, which does support ESM now, I'm not able to use this library.  When I try and do a test I get this error:
SyntaxError: The requested module 'uuid' does not provide an export named 'v4'

  at Runtime.linkAndEvaluateModule (node_modules/jest-runtime/build/index.js:828:5)
  at TestScheduler.scheduleTests (node_modules/@jest/core/build/TestScheduler.js:317:13)
  at runJest (node_modules/@jest/core/build/runJest.js:407:19)
  at _run10000 (node_modules/@jest/core/build/cli/index.js:339:7)
  at runCLI (node_modules/@jest/core/build/cli/index.js:190:3)

Recipe for reproducing
In a spec file do this:

import {v4} from 'uuid'

describe('Employee', () => {
    let name: string

    beforeEach(() => {
        name = v4()
    })

Additional information
I saw another issue on this from a couple years ago, but that essentially said "Jest doesn't support ESM" but you can do ESM modules now.  This is my jest.config.mjs, where I've included uuid in the transformIgnorePatterns
import ngPreset from 'jest-preset-angular/presets/index.js'

globalThis.ngJest = {
    skipNgcc: false,
    tsconfig: 'tsconfig-esm.spec.json'
}

/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
const jestConfig = {
    ...ngPreset.defaultsESM,
    globals: {
        'ts-jest': {
            ...ngPreset.defaultsESM.globals['ts-jest'],
            tsconfig: '<rootDir>/tsconfig-esm.spec.json'
        }
    },
    globalSetup: 'jest-preset-angular/global-setup',
    moduleNameMapper: {
        tslib: 'tslib/tslib.es6.js',
        rxjs: '<rootDir>/node_modules/rxjs/dist/bundles/rxjs.umd.js'
    },
    setupFilesAfterEnv: ['<rootDir>/setup-jest-esm.ts'],
    transformIgnorePatterns: ['node_modules/(?!@infragistics|@igniteui|uuid|tslib|.*\\.mjs$)']
}

export default jestConfig

Environment
System:
OS: macOS 12.4
CPU: (10) arm64 Apple M1 Pro
Memory: 212.77 MB / 16.00 GB
Shell: 6.21.00 - /bin/tcsh
Binaries:
Node: 18.4.0 - /opt/homebrew/bin/node
Yarn: 1.22.19 - /opt/homebrew/bin/yarn
npm: 8.12.1 - /opt/homebrew/bin/npm
Browsers:
Chrome: 102.0.5005.115
Safari: 15.5
npmPackages:
@angular-devkit/build-angular: ^14.0.2 => 14.0.2
@angular/animations: ^14.0.0 => 14.0.2
@angular/cli: ~14.0.2 => 14.0.2
@angular/common: ^14.0.0 => 14.0.2
@angular/compiler: ^14.0.0 => 14.0.2
@angular/compiler-cli: ^14.0.0 => 14.0.2
@angular/core: ^14.0.0 => 14.0.2
@angular/forms: ^14.0.0 => 14.0.2
@angular/localize: ^14.0.0 => 14.0.2
@angular/platform-browser: ^14.0.0 => 14.0.2
@angular/platform-browser-dynamic: ^14.0.0 => 14.0.2
@angular/router: ^14.0.0 => 14.0.2
@infragistics/igniteui-angular: 14 => 14.0.1
@ng-bootstrap/ng-bootstrap: ^13.0.0-beta.1 => 13.0.0-beta.1
@ngneat/spectator: ^11.0.1 => 11.0.1
@ngneat/until-destroy: ^9.2.0 => 9.2.0
@popperjs/core: ^2.10.2 => 2.11.5
@types/jest: ^28.1.2 => 28.1.2
@types/uuid: ^8.3.4 => 8.3.4
bootstrap: ^5.1.3 => 5.1.3
jest: ^28.1.1 => 28.1.1
jest-preset-angular: ^12.1.0 => 12.1.0
ng-mocks: ^14.0.1 => 14.0.1
ngx-ui-loader: ^13.0.0 => 13.0.0
rxjs: ~7.5.0 => 7.5.5
tslib: ^2.3.0 => 2.4.0
typescript: ~4.7.2 => 4.7.4
uuid: ^8.3.2 => 8.3.2
zone.js: ~0.11.4 => 0.11.6

Forgive me if I'm way off on this, I haven't dived too deep on this yet but I am running into this issue as well. I think the issue is with esm vs cjs resolution in the exports field in package.json. UUID doesn't have a type field in the package.json so Jest expects this to be a cjs package (absent an .mjs file extension). The "default" field in exports defaults to an esm file which causes Jest to choke when it sees the first export.
Probably the least invasive way to solve this would be for the esm-* folders to have a package.json file that just has
{
  "type": "module"
}

But there are also more holistic solutions too.

Ooo, but this workaround in #451 worked for me.

This is actually a duplicate of https://github.com/uuidjs/uuid/issues/451.  whoops


DataSourceUi: for a database file, the analyze and config buttons are not appropriate

When uploading a database file, we still get the analyze and configure buttons.

analyze typically does not make sense as there may be several objects in the database that could be analyzed
the config button currently does not work for database datasources

in fact they already generate errors because the dom is not setup correctly


Support DATABASE_URL environment variable

psql and friends also support the DATABASE_URL environment variable, known from "12 factor apps".
It would be useful for benchmarking server apps if pg_activity could support it too.
Examples
https://github.com/jazzband/dj-database-url

psql and friends also support the DATABASE_URL environment variable

psql does not support this as far as I can tell. If it would, that would
be based on libpq
https://www.postgresql.org/docs/current/libpq-envars.html but
DATABASE_URL is not mentioned there.


Not working with Firefox (Android)

If I set Firefox as default browser, it will restart my app instead of returning to previous state of my app.
Not sure if it is Firefox issues or this plugin does not support Firefox.

@JT501
This plugin uses a custom tab in chrome.
It will not work if you do not currently have chrome set as your default browser.

I see, thanks.


Adjust order of instruction

In this instruction, please consider combine step 5 with step 2, or may be just put it before step 4, because dependency like libusb-1.0-0-dev is required when conducting step 4. Specifically, when running
./scripts/patch-realsense-ubuntu-xenial.sh

Hello @a-loner ,
The above PR includes several documentation modification, including yours.
Thanks for the suggestion.


Add Pytorch Profiler

Description
This adds a training callback that stores pytorch profiling outputs following the simple config at https://pytorch.org/tutorials/intermediate/tensorboard_profiler_tutorial.html.
Motivation and Context
How Has This Been Tested?
This has been used to produce and view profile outputs.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds or improves functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation improvement (updates to user guides, docstrings, or developer docs)

Checklist:

[ ] My code follows the code style of this project and has been formatted using black.
[ ] All new and existing tests passed, including on GPU (if relevant).
[ ] I have added tests that cover my changes (if relevant).
[ ] The option documentation (docs/options) has been updated with new or changed options.
[ ] I have updated CHANGELOG.md.
[ ] I have updated the documentation (if relevant).

Thanks @frobnitzem!  Will be very happy to merge and have this feature.
One small thing: can you run the code through black: https://nequip.readthedocs.io/en/develop/dev/contributing.html#style-enforcement?
And one bigger thing:

The TensorBoard integration with the PyTorch profiler is now deprecated. Instead, use Perfetto or the Chrome trace to view trace.json files.
https://pytorch.org/tutorials/intermediate/tensorboard_profiler_tutorial.html

Would it make sense to add support in this callback for the newer export_chrome_trace API (https://pytorch.org/tutorials/recipes/recipes/profiler_recipe.html#using-tracing-functionality), with some option to flip between the older Tensorboard and newer Perfetto/chrome tracing in the on_trace_ready callback?
Finally, should any of the scheduler or profiler options be exposed optionally in the arguments to the callback?
Thanks again for the PR!!

Still a work in progress.  Trying this in October, I got much better profile info, so will probably scrap the tensorboard analysis in favor of the workflow you linked here.

Sounds great, thanks!


Form is blocked if no account active

The form should allow to be filled if there is no active account - deeplink to the web wallet.

As discussed, if the user is not logged, the collapsed "send tip" section will point to the wallet "tip" action upon click.


CLion + VS 2019 - compile errors not shown

Just tried the basic "cpp" example from bazel.build and change something (identifier): when running CLion it shows that CL.exe failed, but it does not report the compile error in the hello-world.cc file.
Line 21 - change argc to argcx:

The only output as seen in the screenshot is a failure of CL.exe (Exit 2), but no info about the compile error. This is a fresh (evaluation) install of CLion, no other plugins.
Command: bazel.exe build --tool_tag=ijwb:CLion --keep_going --curses=no --color=yes --progress_in_terminal_title=no --aspects=@intellij_aspect//:intellij_info_bundled.bzl%intellij_info_aspect --override_repository=intellij_aspect=C:\Users\sbrabec\AppData\Roaming\JetBrains\CLion2020.3\plugins\clwb\aspect --output_groups=intellij-compile-cpp -- //examples/cpp:hello-world
I don't know if this is related, but:

when started there is a message about "Warning:Unable to check compiler version for "C:\Program Files (x86)\Microsoft Visual Studio\2019...": ignoring unknown option '--version'
derive_targets_from_directories does not work, it always results in "Error:Deriving targets from project directories failed.". I get the same error also on IntelliJ.

Version information
CLion: 2020.3.4
Platform: Windows 10 10.0
Bazel plugin: 2<IP_ADDRESS>.1
Bazel: 4.0.0
VisualStudio: 2019 16.9.6

We officially do not support Windows (see https://ij.bazel.build/docs/bazel-support.html). Please see/subscribe to #113 for the current state of Windows support and community contributions/forks on the topic


Story of my life

Codecov Report

Merging #203 into master will decrease coverage by 0.07%.
The diff coverage is 77.77%.

@@            Coverage Diff             @@
##           master     #203      +/-   ##
==========================================
- Coverage   90.19%   90.12%   -0.08%
==========================================
  Files          88       88
  Lines        3733     3747      +14
  Branches      827      830       +3
==========================================
+ Hits         3367     3377      +10
- Misses        364      368       +4
  Partials        2        2

Impacted Files
Coverage Δ

src/component/ContactMap.tsx
97.31% <ø> (ø)
:arrow_up:

src/container/UMAPSequenceContainer.tsx
98.98% <ø> (ø)
:arrow_up:

src/container/NGLContainer.tsx
96.26% <100%> (ø)
:arrow_up:

src/container/PredictedContactMap.tsx
98.48% <100%> (+0.2%)
:arrow_up:

src/helper/FetchHelper.ts
85.18% <33.33%> (-14.82%)
: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 249eb56...36975fe. Read the comment docs.


What highlight group is causing this red background?

Info

Operating System: macOS
Shell: zsh
Terminal: Alacritty
nvim --version: 0.8.0
fzf --version: 0.30.0

[ ] The issue is reproducible with mini.sh

Description
When I use FzfLua the files list has a red background:

Which highlight group is causing this? I'm having trouble figuring it out from the README.

If I were to guess, this is something inherited from your FZF_DEFAULT_OPTS in the shell, to override it use fzf_colors in the setup (bg is probably what you’re after), you can use your existing neovim hl groups:
require'fzf-lua'.setup {
  fzf_colors = {
      ["fg"]          = { "fg", "CursorLine" },
      ["bg"]          = { "bg", "Normal" },
      ["hl"]          = { "fg", "Comment" },
      ["fg+"]         = { "fg", "Normal" },
      ["bg+"]         = { "bg", "CursorLine" },
      ["hl+"]         = { "fg", "Statement" },
      ["info"]        = { "fg", "PreProc" },
      ["prompt"]      = { "fg", "Conditional" },
      ["pointer"]     = { "fg", "Exception" },
      ["marker"]      = { "fg", "Keyword" },
      ["spinner"]     = { "fg", "Label" },
      ["header"]      = { "fg", "Comment" },
      ["gutter"]      = { "bg", "Normal" },
  },
}

I just looked into this a little bit more: I don't have FZF_DEFAULT_OPTS set in my shell, and running fzf on its own both in my shell and in a floating terminal neovim doesn't result in a red background. I've also copied that snippet you provided verbatim and and I still have the red background.
Is there anything else it could be?

Err... scratch that. fzf running on its own in a floating terminal does have the red background, but FZF_DEFAULT_OPTS is still not defined in said floating terminal.

It looks like the red background happens in floating terminals on redraw, so it's not actually related to this plugin:

Still looking into how to fix this though.

It looks like the red background happens in floating terminals on redraw, so it's not actually related to this plugin:

Still looking into how to fix this though.

Have you tried different terminals? What happens if you use neovim inside Kitty for example? Could it be another plug-in, try nvim -u NONE to test it out.

It happens in Kitty but not with nvim -u NONE. I'll have to start poking at my plugins.

Found it! It's this plugin: https://github.com/bronson/vim-trailing-whitespace
Now I just need to decide whether to uninstall, disable in certain buffer types, or only enable in markdown...
Thank you for your help!

Found it! It's this plugin: https://github.com/bronson/vim-trailing-whitespace
Now I just need to decide whether to uninstall, disable in certain buffer types, or only enable in markdown...
Thank you for your help!
EDIT: I think this change looks nice, the listchars don't show up in fzf and I can still highlight trailing whitespace: knpwrs/dotfiles@b361ed2

Ty for the update!

I had a similar issue. I am using github-nvim-theme.
Calling require("github-theme").setup() causes fzf-lua to not apply colors set with fzf_colors.


[EventRequest] Page 403 Purchase Order Statistics

Due to Polish Localization App building, we need a publisher and a small code modification in Page 403. Polish localization adds a feature of setting the total amount including vat of the prepayment via Purchase Order Statistics. Since there is no access to the public members of the page, even from a page extension, we need this changes in code.
Trigger: OnValidate field PrepmtTotalAmount2
BEGIN
// START/BC14PL
OnBeforeValidatePrepmtTotalAmount2(Rec, PrepmtTotalAmount, PrepmtTotalAmount2);
UpdatePrepmtAmount;
// STOP /BC14PL
END;
Publisher signature:  [Integration] LOCAL PROCEDURE OnBeforeValidatePrepmtTotalAmount2@12(PurchaseHeader@1002 : Record 38;VAR PrepmtTotalAmount@1000 : Decimal;VAR PrepmtTotalAmount2@1001 : Decimal);

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Paginated report subscriptions for external / guest users

Hi,  This page seems to suggest that paginated report subscriptions are available, but doesn't restrict the scope to just internal users. My understanding is that you can not subscribe or an external user cannot subscribe to a paginated report (given they have premium per user activated).  Are you able to clarify/confirm this in the documentation.
Thanks,
Chris
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2caf5705-b9c8-3818-4524-3c4bf9b112a2
Version Independent ID: 98ede3b9-f4f6-88a6-83fc-6afab863bf4a
Content: Subscribe to paginated reports in the Power BI service - Power BI
Content Source: powerbi-docs/consumer/paginated-reports-subscriptions.md
Service: powerbi
Sub-service: pbi-explore
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

Thank you for your feedback, @christianb7. I'm assigning this to the author of the article so that they can make that detail clear.

Hi @christianb7 ,
Thank you for your suggestion.  We've made the update and set the article to republish later today or tomorrow.
All the best,
The DOCS team


Playing media in background without interruption?

Dear all,
is it possible to enable background media playback (e.g. webradio stations) without interruption after some time?
I know, the browser has the same problem, but it would be really nice, if a webapp could circumvent this problem.
THX for this nice app @tobykurien !

Oh sorry:
I've read the link to your other app too late.
For anybody with the same problem :-):
https://github.com/tobykurien/WebMediaShare


missclicked

missclick

Note that serde_qs is a crate that exists and supports sequences.

I know, but i need query in comma separated format.

You don't really need to fork serde_urlencoded for that, you can use serialize_with and deserialize_with https://serde.rs/field-attrs.html#serialize_with


Does it support importing PDF and Word directly?

Describe the feature:
support importing PDF and Word
Describe a specific use case for the feature:

sounds like the same issue. https://github.com/zilliztech/attu/issues/226#issuecomment-1904703704
I will try to add such feature soon.


Compression Really Slow On Android

Current Behavior
It is really slow to compress video on Android (for 1 minute video it takes 15 - 25 seconds), whereas on apps like WhatsApp compression is really fast.
Expected Behavior
It should take less than 5 second time for compression. Please tell me

If i am doing anything wrong or
Any solution for this problem.

My Environment
Device Company  ->  Vivo
Android  -> 11
Funtouch OS  ->  10.5

software
version

react-native-video-processing
^2.0.0

react-native
0.64.2

node
v14.17.0

@siddharth-kt FFMPEG is a slow library, the main issue comes from there. You shouldn't feel this issue on iOS since we not used it there

@siddharth-kt FFMPEG is a slow library, the main issue comes from there. You shouldn't feel this issue on iOS since we not used it there

Yes, thanks for answering 🙂, so for android currently there is no solution to speed-up compression.


Add thermistor support

I would like to have support for reading thermal data of a ntc/ptc and setting a thermal limit. I want to implement this myself but I rather upstream this change so I don't have maintain a custom fork.
Is this something that you would be willing to merge? I guess this would add a couple of parameters to config with an additional motor error for exceeding the thermal limit.
This is related to #403 but would use a real sensor instead of an estimation.

Thanks for your interest!
Yes that's in general a feature we should have and would be willing to merge if someone looks into it.
There's already temperature monitoring for the on-board FETs in Motor::update_thermal_limits().
Here's how it works:

motor.config.inverter_temp_limit_lower: the FET temperature at which motor current limiting kicks in (up to this point the current limit is taken from motor.config.current_lim)
motor.config.inverter_temp_limit_upper: the FET temperature at which current is limited to 0A
motor.config.inverter_temp_limit_upper + 5°C: the hard limit at which the ODrive "panics" with ERROR_INVERTER_OVER_TEMP (this should ideally be configurable)

The motor temperature monitoring would probably look almost the same except that the sensor voltage current is retrieved from GPIOs (you can look at the sin/cos encoder implementation for this).
Going forward (not required for this) it would probably make sense to generalize the way we apply current limits to the FOC controller, so that current limits can be injected from anywhere in the system. Something like an array of pointers from which the FOC controller uses the smallest value.

@samuelsadok Oke great! Will look at it next week when my thermistors have arrived!

@samuelsadok The thermistor coefficient for the FETs thermistor are there to get a better readout then just applying a linear calculation?
https://github.com/madcowswe/ODrive/blob/5770b3d92d090826ef9b226b3ce44ed00f84deff/Firmware/MotorControl/board_config_v3.h#L68-L70
and used here:
https://github.com/madcowswe/ODrive/blob/767a2762f9b294b687d761029ef39e742bdf4539/Firmware/MotorControl/motor.cpp#L146-L150
Should it be possible for a user to manually specify these coefficient for their own thermistor with a maximum number of a degree 3 polynomial?

There are two common types of thermistors. One is Pt100 (or Pt1000), which has a roughly linear relationship between temperature and resistivity and the other ones are NTCs/PTCs, which have an exponential relationship.
I'm not sure why we're using a polynomial fit instead of the exponential model, perhaps because logf() is much slower (@madcowswe?).
Here's a script to fit the polynomial based on the NTC's parameters: https://github.com/madcowswe/ODrive/blob/master/analysis/thermistors.py
Yes it would make sense to expose the coefficients as a user config. We could turn the script above into a convenience function in odrivetool so that users can directly set the coefficients from NTC parameters.

Oke I will add this convenience function to the odrivetool as well. What's not clear to me is how I can migrate to a new config. Since I want to add new parameters the config stored in NVM no longer matches the struct definition.

If the length of the configuration in NVM and in the firmware mismatch, the firmware ignores the NVM. This is supposed to cover the most common use case, which is adding/removing config fields.
In that sense, the NVM is not persistent across firmware changes that touch the config format.
However if users upgrade through odrivetool dfu, then the odrivetool temporarily pulls all configuration values by name and then restores them by name in a best-effort fashion.

I have started doing this and have a basic implementation ready. See my comment in the pull request itself. I still have some open points.
https://github.com/madcowswe/ODrive/pull/419

There seems to be thermistor on the aux port but this isn't not used at all in the firmware? I can add this now quite easily in my pull request to introduce a current limit based on the thermistor if you guys want.

This issue can be closed :)!

Yup, thanks for your work!


Added a JWT key used in CVE-2023-51442

GitHub's advisory  of CVE-2023-51442 mentions the following:
A security vulnerability has been identified in Navidrome's subsonic endpoint, allowing for authentication bypass. This exploit enables unauthorized access to any known account by utilizing a JSON Web Token (JWT) signed with the key "not so secret".

This pull request adds the key involved in the CVE to the scraped-JWT-secrets.txt file

This secret should be updated upstream instead of here. You could open a pull request in the repository.
https://github.com/wallarm/jwt-secrets

@molangning are you sure it's the same file? I saw that the file on this repo has 3502 lines. However, the file on the other repo has 103851 lines. Either way, neither of them currently has this value.
FWIW, I sent a pull request in both repos.

The file source was stated in the readme
As for the content differences, the file is somewhat outdated (~2 years), so differences should be expected.

Thanks @0xjams !
I do agree, it should go upstream too - and we should look at pulling the latest version at some point


Test the txIfo syscall with both deprecated and non-deprecated transa…

…ctions

This change is

Codecov Report

Merging #987 (35f38c1) into mohammad/Update_test_contract/Add_test_get_execution_info_v2 (1feb5da) will not change coverage.
The diff coverage is n/a.

@@                                      Coverage Diff                                      @@
##           mohammad/Update_test_contract/Add_test_get_execution_info_v2     #987   +/-   ##
=============================================================================================
  Coverage                                                         67.50%   67.50%
=============================================================================================
  Files                                                                51       51
  Lines                                                              6494     6494
  Branches                                                           6494     6494
=============================================================================================
  Hits                                                               4384     4384
  Misses                                                             1726     1726
  Partials                                                            384      384

:mega: Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!


CDK-845: Refactor CSV to support String parsing.

Extracts the Avro record building from CSVFileReader into CSVRecordBuilder
that can be used by passing an already-parsed String[]. Adds
CSVRecordParser that wraps a CSVParser, which will parse a single line
of CSV passed as a String. This is to support changes to the flume sink
that can read events with CSV payloads.

Rebased and fixed the read(String) method. I think that addresses the problems that required changes.

+1 looks good to me.


Eclipse Papyrus .di files erroneously recognized as D

The diagrams created with the Eclipse plugin 'Papyrus' (actually XML format) have the .di file extension. Linguist recognizes them as language D, which is nonsense.
Analyzing the magic first line <?xml version="1.0" encoding="UTF-8"?> might help Linguist to guess correctly in the second attempt.

Linguist is detecting them at D precisely because of the.di extension. This extension is not associated with Papyrus at all.
If this is a commonly and widely used extension of Papyrus, we'll gladly accept a PR adding support for it. Until then, you'll need a manual overdrive to identify these files as Papyrus.


BigDecimal results in cursor.null() in ModelAdapter

So I have this code:
@Column("price")
public BigDecimal price;

And when I look in the adapter I end up with:
entity.fee = cursor.null(cursor.getColumnIndex("fee"));

And the console error:
Error:(25, 23) error: <identifier> expected

This should be a compiler error. It appears that you don't have an adapter for BigDecimal.


⚠ TROJAN 🇺🇸 United States USF 1 has degraded performance

In cc5df1b, TROJAN 🇺🇸 United States USF 1 (https://ust-1.opensvr.net/) experienced degraded performance:

HTTP code: 200
Response time: 13638 ms

Resolved: TROJAN 🇺🇸 United States USF 1 performance has improved in a109694.


Add attribute options

Homee Attributes can have options, that will be exposed with this patch. Options that are not present will have empty values.
closes #5

Thanks!


Allow Stack to implement Middleware

An interesting suggestion made by @mnapoli was that a middleware Stack could be used as a Middleware to allow deep chaining. In order to achieve this, Stack and Middleware would need to have compatible signatures. Currently both define a process() method with an incompatible signature.
Is this something that should be allowed?
If it is allowed, what would be appropriate names for each method?

Personally I am in favor of allowing Stack to be a Middleware. For naming:
Middleware::process($request, $next);
Stack::dispatch($request);

Thoughts @http-interop/http-middleware-contributors ?

I already implement dispatcher as middleware - I believe it's important to achieve better modularity. (you can see here how I did it in my dispatcher.)
I've noticed something interesting about what's currently referred to as the "stack" interface - it's actually identical to a controller interface:
interface Controller {
    public function dispatch(RequestInterface $request): ResponseInterface;
}

"Takes a Request and produces a Response" is probably the broadest, most general definition you can have of a controller interface?
This was one of the reasons I changed my mind about lambda vs double-pass - it fits much better with controllers. (whereas with double-pass, would-be controllers had to be "response builders" which were given the existing incoming Response and had to populate it, which seemed wrong.)
Either way, what I'm thinking is that this pattern is so common and so generally useful, we should not refer to it as a "stack interface" - a stack happens to be a controller, but so do many other types.

@mindplay-dk I don't want to mix middleware with MVC. In the case of client middleware, calling it a controller doesn't make sense. Those of us that use ADR will find it confusing.
The "stack" name also has foundation in the StackPHP project.

I don't want to mix middleware with MVC

Understood and agreed.

In the case of client middleware, calling it a controller doesn't make sense

Okay, but calling it a "stack" doesn't make sense either.
The ability to dispatch a request and return a response does not make something a stack. The methods previously present were about manipulating a stack - the remaining interface method signature has nothing directly to do with being a stack.
So how about a name that describes only the remaining responsibility, e.g.Dispatchable?
My concern remains though, that this interface signature is so general, it's not even middleware-specific in the first place - having multiple identical interfaces might create interoperability problems.
I can picture having to write dummy adapters, just to get around typing issues - like, say:
use Psr\Middleware\DispatchableInterface;
use Foo\Bar\ControllerInterface;

class ControllerAdapter implements DispatchableInterface {
    public function __construct(ControllerInterface $controller) {
        $this->controller = $controller;
    }

    public function dispatch(RequestInterface $request) {
        return $this->controller($request);
    }
}

I'm honestly not even convinced that this interface rightfully belongs in a middleware standard?
It could potentially be an isolated standard based on PSR-7 - or an amendment to PSR-7, which, even that might be a bit of a stretch, though I suppose you could argue that this interface is about the exchange of HTTP messages, which would make it possibly fit into PSR-7?
I know that this distracts from the goal of getting to a PSR standard for middleware, but please do give some serious thought to the implications if we standardize on something this fundamental as part of an architectural standard.

Renaming Stack to Dispatchable works for me.

What will this interface solve in terms of interoperability?
The middleware is useful because middlewares can be written once and reused.
If we standardize a "Dispatchable", it means about the same thing as the HttpKernelInterface right? Which is an HTTP application? What do we gain by standardizing that? We don't want reusable and composable applications, because that's exactly what middlewares are for (like Stack before we had PSR-7).

What will this interface solve in terms of interoperability?

Dispatchers can implement it, which makes it every easy to exchange dispatchers in frameworks.

What do we gain by standardizing that?

I think that HttpKernelInterface is more about interoperability with Symfony - this interface is about interoperability of dispatchers.

We don't want reusable and composable applications

We don't? What is it we're doing then? :-)

It's something close to the run() method in Expressive maybe?
https://github.com/zendframework/zend-expressive/blob/master/src/Application.php#L553
Except without compounding the responsibility of generating a request for a response with the responsibility of creating the request, which leads to dependency on a specific the PSR-7 implementation; we'll have PSR-17 for that.
And without depending on an emitter - something we don't have a story for at the moment. Which again makes me think that there is an entire area of responsibility which isn't covered by any PSR yet, which is the exchange of messages, which would include also an interface for an emitter. I'm not convinced that this belongs either in PSR-7 or (especially) not here.
I feel increasingly like these responsibilities are not specific to middleware, but are more generally about HTTP message exchanges, which would fit better in PSR-7, or as an entirely separate (and very simple) PSR...

We don't want reusable and composable applications

We don't? What is it we're doing then? :-)

Come on that's exactly what I said in the part that you cut:

We don't want reusable and composable applications, because that's exactly what middlewares are for

Dispatchers can implement it, which makes it every easy to exchange dispatchers in frameworks.

OK but why put that interface in a middleware PSR? Why not include a Router interface too for example? I think a Dispatcher interface is fine (without the mutable methods) but in a separate PSR, because a dispatcher doesn't have to be middleware-based.
It seems we are thinking in the same direction:

I feel increasingly like these responsibilities are not specific to middleware, but are more generally about HTTP message exchanges, which would fit better in PSR-7, or as an entirely separate (and very simple) PSR...

Come on that's exactly what I said in the part that you cut

Haha, sorry, I did that to emphasize how you already made that point ;-)

OK but why put that interface in a middleware PSR?

And now you're making my point ;-)
Okay, so, as I said in my first comment on this topic, I know that this distracts from the goal of getting to a PSR standard for middleware - but it really seems like at least the Dispatchable interface is actually a dependency of this PSR.
It sounds like @mnapoli and I agree that putting it in this PSR seems wrong - I'm not sure @shadowhand is on board with that idea yet? I know it's really annoying to have to switch tracks, but I think we might be creating a real problem for our future selves and the community if we slack on this one.
We also identified another responsibility, Emitter, which might be about exchange too, but perhaps more appropriately belongs as an amendment to PSR-7? Or perhaps yet another PSR, although that one isn't a dependency of this PSR either way, so I think we can set aside that one for now.
There is probably also some reluctance to start a PSR with just one interface with one method? On the other hand though, this one is likely a slam-dunk, as rare as those might be in the land of PSR quibbles.
interface DispatchableInterface
{
    /**
     * @return ResponseInterface
     */
    public function dispatch(ServerRequestInterface $request);
}

Am I missing something obvious? I've never used client middleware at all, so you can guess where I'm going with that question... do only server-requests get "dispatched", or client-request too?
If so, would it be a problem if there's just one interface and it was type-hinted against RequestInterface, or does that take us right back to this discussion?

If a middleware PSR is basically unusable without a dispatcher/stack/queue/collection/thing interface to go with it, then it's not appropriate to split off, IMO.  The HTTP Factory is reasonably stand-alone and can be used in places other than middlewares so it makes sense as its own PSR.  But if there's no way to connect middlewares together, they're useless.  So whatever that mechanism is or gets called it should be included in the same spec, not split off to a separate one.

Mmh now there's something I don't get. If we have standard middlewares, then we can use them in all [compatible] frameworks and applications out there. It's all good!
Why then:

but it really seems like at least the Dispatchable interface is actually a dependency of this PSR.

I don't see what prevents us from using PSR-15 middlewares in frameworks/applications that will accept them? Why do we need a dispatchable for this PSR (not questioning the interface itself), why is it a dependency?

If a middleware PSR is basically unusable without a dispatcher/stack/queue/collection/thing interface to go with it, then it's not appropriate to split off, IMO.

Why would PSR-15 middlewares be unusable without the dispatch/stack/… ? That's exactly the point: everyone is free to do whatever (pipe, stack, route, …) they want with middlewares because those have a standard interface.
To me it's like saying PSR-7 is unusable because we don't have standard routers or HTTP clients. That's a totally different level of interoperability.

@Crell @mnapoli the PSR isn't useless without this piece - the issue isn't interop of middleware with frameworks/applications, it's the ability to exchange implementations of the actual middleware stacks.
In other words, you are correct, this doesn't strictly speaking have anything to do with middleware - not directly, but the StackInterface was brought up originally, and I pointed out that this interface is extremely general, and not specific to middleware at all. It's presently part of the PSR, is why I brought it up.
@mnapoli you're right, this isn't really about interop at the middleware level, though it does pertain to middleware dispatchers - which this PSR doesn't strictly need to mention at all, in order to be useful; without any mention of what a stack should look like, middleware would be interoperable without it, but middleware stacks themselves, as components in an application/framework, would not.
I would think that a separate PSR for message dispatch would be at least a soft dependency after all though - if nothing more, then at least by referencing it with a recommendation, along the lines of, "a dispatcher capable of processing PSR-15 middleware SHOULD implement the PSR-(?) Dispatchable interface".
If a dispatch PSR is not a hard dependency, I suppose we could simply remove this interface from the specification for the time being, and add a note to the meta-doc stating why the PSR does not at this time include such as interface, and that the PSR may be amended with a recommendation, at a later time, if such as PSR becomes available?

The stack/dispatcher part of PSR-15 has always been optional. I think it should be included simply for completeness. If no one ends up using it, there is no problem. If people do end up using it, there is no problem. Why continue to debate this?

Why continue to debate this?

Because if we include it, it collides head-on with a future dispatch PSR - and/or hampers the creation of such a PSR. Whether people use it or not. The mere existence of it is the problem.
And because it's not essential to this PSR, or to the functioning or consumption or middleware at all - as proven by the fact that it's optional.
It's not about interop of middleware - it's not even about interop of middleware stacks, it's about interop of any kind of message dispatch mechanism, whether that happens to provide middleware support or not.
While I think it's an important interface, it's not specific to middleware at all, and I thin this PSR is quite complete without it.
@http-interop/http-middleware-contributors do you disagree?

it collides head-on with a future dispatch PSR

To my knowledge, no one has suggested such a PSR, and if it did exist it would not be a problem since it wouldn't share the same namespace. This implied PSR could also state that it deprecates the PSR-15 interface, would be a separate package, and would therefore allow an upgrade path.

no one has suggested such a PSR

we just did :-)

if it did exist it would not be a problem since it wouldn't share the same namespace

A name collision is not the issue - overlapping concerns is the issue. Once people start supporting this interface, and then there's another identical interface in a different namespace for a different PSR, we have problems.
It'll never get to that though, because this PSR would hamper that PSR - everyone will be like, "but PSR-15 already covers that". It won't seem necessary. Only, PSR is about middleware, and has a much larger scope, dispatch being just a detail. So people won't rely on it to standardize dispatch - except maybe of middleware dispatchers - because it's a middleware PSR.
Interop at this level is not a pressing matter as far as this PSR goes, correct? So why should we press it.
Returning to this general issue at a later time, outside the scope of middleware, is perfectly practical. So I think this is an opportunity to reduce the scope and move this PSR along. Why not?

+1 with everything @mindplay-dk said
With the logic "why not?" we could include anything in the PSR. We need to think the other way around: "why?", and include only what's needed for middleware interoperability. This is not directly related to using middlewares, it's related to using dispatchers.
To me it's the same thing as PSR-15 should not have been in PSR-7.
We are still debating this here, this will be way worse when the PSR goes to review and hundreds of people don't understand why there's this interface :)

@http-interop/http-middleware-contributors is this still an open issue for anyone, or can we close it?


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2065

Questions ?
Please refer to the Backport tool documentation


TenantConfig mail settings not working with queue:work

Bug description
When using TenantConfig to set email configurations with queue:work, all the email notifications sent will use the mail configuration of the tenant associated with the first notification that was sent.

However, the configurations and tenant data inside the email notification will be correct.

Steps to reproduce
All the steps to reproduce are in README.md of the following repo: https://github.com/iolk/laravel-tenancy-bug
Expected behavior
Emails should use the correct 'mail.from.name' and 'mail.from.address' for the given tenant.
Laravel version
10.0.3
stancl/tenancy version
3.7.0

That's not a bug with the TenantConfig feature. It's meant to set config keys and it does that.
The issue here is that there's a singleton in the service container which loads the value from the config once and then it always uses that.
We added a feature for tenant-specific mail credentials in v4.

@stancl could you provide more context about that?
we are facing this issue and emails are triggered from the incorrect tenant when using queueable emails
Altho I can see in the email content that the data is for the correct tenant, it just uses the wrong SMTP key to send the email

Changing the config isn't enough for mail since it gets loaded into a singleton and never read again.

@stancl any suggested workaround for that?

@stancl it would be great if you could provide any directions for those still working with tenancy v3
Thanks a lot!


How to convert video classification from pytorch to onnx，on cpu

I want to convert the pytorch model to the onnx model on the cpu, but there is no relevant code in the source code. Can you upload pytorch2onnx.py in the video classification?

I'm so sorry that I never try to convert the PyTorch model to the onnx model.
Actually, as I know, there is no relevant code to convert Vision Transformer to the onnx model......

Oh, that's kind of interesting, I just converted it to onnx. However, thank you very much for taking the time to reply to me.

As there is no more activity, I am closing the issue, don't hesitate to reopen it if necessary.


Global Mocha timeout

Added the timeout option to the Mocha grunt task; set to 10000.
Removed the individual test suite timeouts, for all server tests.
As discussed in #964

@mleanos just merge the Grunt and Gulp PRs together.

@ilanbiala Ok, will do. I just thought we were keeping Grunt & Gulp separate since we're not officially supporting Gulp.

@ilanbiala Combined the Gulp change into this PR.

LGTM (grunt & gulp test-ed). Thanks.

@ilanbiala I think we can add it as part of 0.4.2, you have any objections?

LGTM. :+1:

LGTM

Thank you @lirantal
@vaucouleur Thanks for the suggestion.


Do I need to install the apex library to enhance the performance of deepspeed under mixed precision training?

Do I need to install the apex library to enhance the performance of deepspeed under mixed precision training?

No you do not need apex in DeepSpeed, it is optional.

would it be training faster if install apex or not any increasement of trainining speed?


Why did you change the standard getters/setters?

I'd put this in discussion but there doesn't seem to be one - and it is somewhat of a feature request.
This library is excellent apart from the fact that you have renamed the functions. Why does it have to be "set" and "takeXXX" when it should be using the original put and get names (and set and take are not opposites in English)? This could been a very convenient drop-in but I've spent a lot of time renaming all of the getters/setters from my Android native code in order to use this in a KMP version. It's a real PITA and I do not see why it was necessary.
Please consider using the original MMKV function signatures and names as aliases for your function names.

In MMKV original version, different languages have different function signatures.
Java: "encode" and "decode", "getXXX" and "putXXX".
Objective-C: "getXXX" and "setXXX".
It need to be consistent in MMKV-Kotlin, but "takeXXX" is not the best name indeed.

Hi, originally, during the development process, when I took the API names same with the MMKV Java version, that's very confusing, and very easy to make mistakes. So, I changed these names. Actually, the takeXxx APIs are just like the APIs in JSONObject. Now, I would consider adding a set of new APIs, make them more common, and easy to understand. Thanks for your issue.


Django Admin form widget

My Form in Django Admin has widget to field but is substituted by django material. O widget is not loading.

Yes. This is works as designed.
Each field are rendered by own template https://github.com/viewflow/django-material/blob/master/material/base.py#L54


Initial implementation of FlywheelEventStoreAdapter

TODO:

[x] Complete README
[x] Implement replays

@prolic Unless you have other comments I'm now ready to merge the PR. Once done I will tag a 1.0.0 release.


[bazel] Should ensure pytest code is actually run or switch to unittest

It's unclear to me if any pytest-based code is getting run via our Bazel setup.
My suggested options:

Figure out how to have pytest run explicitly when __name__ == "__main__"
Use unittest instead (my preference)

\cc @sloretz

See https://github.com/EricCousineau-TRI/drake-ros/pull/6 which invokes pytest via
if __name__ == '__main__':
    sys.exit(pytest.main(sys.argv))

Use unittest instead (my preference)

One blocker is ament_add_test expects tests to output a junit xml file, which unittest doesn't do by default. Maybe this package would do it though? https://packages.ubuntu.com/jammy/python3-xmlrunner

Yup.  That's what Drake uses for its python unit tests.

Adding pytest.main works for me for now, and will resolve it.
FWIW, I don't love the "implicitness" of pytest (plugins, configuration, etc), and generally prefer unittest, if just for more clarity on what's happening. However, I don't want to sacrifice other work for this.


JFXCentral Entry

Would be great if this library could be added to JFXCentral at jfx-central.com. Data needs to be added to the data repository: https://github.com/dlemmermann/jfxcentral-data

Thanks Dirk, will do ....


Error encountered while opening certificate store 1.9.7

Running 1.9.7 beta 2
Having Apache server.
The certificate were created with 1.9.6.
With 1.9.6 all was fine.
 N: Create new certificate
 L: List scheduled renewals
 R: Renew scheduled
 S: Renew specific
 A: Renew *all*
 C: Cancel scheduled renewal
 X: Cancel *all* scheduled renewals
 Q: Quit

 Please choose from the menu: s

 1: apachelounge.com - renew after 2017-12-1 9:34:26
 C: Cancel

 Which renewal would you like to run?: 1

 [INFO] Renewing certificate for apachelounge.com
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [EROR] Error encountered while opening certificate store
System.Security.Cryptography.CryptographicException: The system cannot find the file specified.

   at System.Security.Cryptography.X509Certificates.X509Store.Open(OpenFlags flags)
   at LetsEncrypt.ACME.Simple.Services.CertificateStoreService.GetCertificate(Func`2 filter, X509Store store)
 [EROR] Renewal for apachelounge.com failed, will retry on next run

Same result with:  >letsencrypt --forcerenewal

The problem is that in v1.9.6 and before the default certificate store is "WebHosting". But failing to open that store, it silently fell back to the "Personal" store.
I suppose you and others who reported this error don't have the WebHosting-store on your machines, because I guess it's only created on machines with IIS installed and/or recent versions of Windows server.
v1.9.7-beta does not have that automatic fallback anymore, because I don't like the idea of handling an exception by moving the certificate to some other place. This takes away control from the user, but also makes it more difficult to find the certificate should we want to remove it, check it's thumbprint to figure out which bindings it's selected for, etc.
In short, the way to solve this issue is to change the .config file to make the default store "Personal".
I will consider some options to fix this error, either by going back to the old behaviour, automatically creating the WebHosting-store if it doesn't exist yet, or some other configuration mechanism to enable the fallback.

I already changed the storename to Personal, but haven't tried to rerun LetsEncrypt as the certificate generated is valid and gives no further issues.

Changed in letsencrypt.exe.config to Personal, same issue as above.
      <setting name="CertificateStore" serializeAs="String">
        <value>Personal</value>
      </setting>

Indeed in MMC/Certificates (Local Computer)/Personal/Certificates I see the  certificate apachelounge.com (On Windows 2012 R2)
Btw.
Running Apache, there is no need to use the CertificateStore.

If you don't want the certificate to be installed to any store, the alternative is to use the --centralsslstore switch, which outputs .pfx files to the specified folder instead of installing to a Windows Certificate Store. AFIAK those .pfx files are not useful for Apache either, but at least it will leave the Certificate Store clean.

Seems OK now, except there's still no scheduled task generated for renewal and no registration in registry at all.

Trying with Beta 3:
First attempt:  Certificates are renewed:
 [EROR] Error encountered while opening certificate store
System.Security.Cryptography.CryptographicException: The system cannot find the file specified.

   at System.Security.Cryptography.X509Certificates.X509Store.Open(OpenFlags flags)
   at LetsEncrypt.ACME.Simple.Services.CertificateStoreService.GetCertificate(Func`2 filter, X509Store store)
 [INFO] Requesting certificate apachelounge.com 2017-10-15 12:19:18
 [INFO] Saving certificate to C:\ProgramData\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\apachelounge.com-crt.der
 [INFO] Installing certificate in the certificate store
 [INFO] Installing SSL certificate in server software
 [WARN] Unable to run script.
 [INFO] Renewal for apachelounge.com succeeded, next one scheduled for 2017-12-14 10:19:20

Second attempt, no error any more and certificate is stored in Wouterstore
>letsencrypt --forcerenewal
 [INFO] Let's Encrypt Windows Simple (LEWS)
 [INFO] Version <IP_ADDRESS>42 (RELEASE)
 [INFO] ACME Server https://acme-v01.api.letsencrypt.org/
 [INFO] Please report issues at https://github.com/Lone-Coder/letsencrypt-win-simple
 [INFO] Renewing certificate for apachelounge.com
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Cached authorization result: valid
 [INFO] Requesting certificate apachelounge.com 2017-10-15 12:28:57
 [INFO] Saving certificate to C:\ProgramData\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\apachelounge.com-crt.der
 [INFO] Installing certificate in the certificate store
 [INFO] Installing SSL certificate in server software
 [WARN] Unable to run script.
 [INFO] Uninstalling certificate from the certificate store
 [INFO] Removing certificate apachelounge.com 2017-10-15 12:19:18
 [INFO] Renewal for apachelounge.com succeeded, next one scheduled for 2017-12-14 10:29:00

So all fine. Maybe you can add an option that IIS is not installed/used, so we do not have a Warning.
Btw.
With 1.9.7 I see : [INFO] Cached authorization result: valid
What does the mean ?
I see that there are no new acme-challenge's and see no traffic from letsencrypt.org in my server ?

The first error happens when LEWS is looking for the previously issued certificate, but is not fatal.
When the new certificate is saved it creates the store (if it doesn't exist yet). And of course it should be the WebHosting store, not the Wouterstore, I fixed that little oopsie with the beta4 build.

Btw.
With 1.9.7 I see : [INFO] Cached authorization result: valid
What does this mean ?
I see that there are no new acme-challenge's and see no traffic from letsencrypt.org in my server ?

It means that your previous authorization is still valid, so it's not necessary to go through the process again, and we can skip straight to requesting the certificate. It's a little optimization that saves a little time and prevents you from running into rate limits.

Thanks!
All fine now.

Coming in from #598 , is there a way to tell LEWS that we have a valid Cert, we just need it to put it in the proper store and setup the scheduled renewal task?  Kinda like the optimization you were talking about above for the authorization stage, but starting after the certificate has been received.  (Maybe this is too much of an edge case to address, since normally this shouldn't happen)
If not, I'll test this again on Win2008/IIS on Friday when I'm out of the penalty box.

Unfortunately not, though re-requesting a previously issued certificate (i.e. for the same hosts) shouldn't be hit with a rate limiting exception., as it would count as a renewal.

Hi, i have the same problem. Cert is not getting imported with letsencrypt-win-simple.v<IP_ADDRESS>-beta5.
In my letsencrypt.exe.config I have set CertificateStore to Personal (I came from letsencrypt-win-simple.V1.9.3 and from there I had set is to personal right before).
I see the error also only one, the second time the error is gone, but cert is not imported.
C:\Users\Administrator>"C:\Program Files (x86)\letsencrypt-win-simple\letsencryp
t.exe" --forcerenewal --baseuri "https://acme-v01.api.letsencrypt.org/"
 [INFO] Let's Encrypt Windows Simple (LEWS)
 [INFO] Version <IP_ADDRESS>771 (RELEASE)
 [INFO] ACME Server https://acme-v01.api.letsencrypt.org/
 [INFO] Please report issues at https://github.com/Lone-Coder/letsencrypt-win-simple
 [INFO] Renewing certificate for wsus.comp.com
 [INFO] Authorizing wsus.comp.com using http-01 validation (FileSystem)
 [INFO] Answer should now be browsable at http://wsus.comp.com/.well-known/acme-challenge/6oFLH42REJY1dS6sfc9rS1yYPgLT_qnncHVr2bgQHIc
 [INFO] Authorization result: valid
 [EROR] Error encountered while opening certificate store
System.Security.Cryptography.CryptographicException: Das System kann die angegebene Datei nicht finden.
   bei System.Security.Cryptography.X509Certificates.X509Store.Open(OpenFlags flags)
   bei LetsEncrypt.ACME.Simple.Services.CertificateStoreService.GetCertificate(Func`2 filter, X509Store store)
 [INFO] Requesting certificate wsus.comp.com 2017.10.16 5:46:13
 [INFO] Saving certificate to C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org
 [INFO] Installing certificate in the certificate store
 [INFO] Installing SSL certificate in server software
 [WARN] Unable to run script.
 [INFO] Renewal for wsus.comp.com succeeded, next one scheduled for 2017.12.15 3:46:23

C:\Users\Administrator>"C:\Program Files (x86)\letsencrypt-win-simple\letsencrypt.exe" --forcerenewal --baseuri "https://acme-v01.api.letsencrypt.org/"
 [INFO] Let's Encrypt Windows Simple (LEWS)
 [INFO] Version <IP_ADDRESS>771 (RELEASE)
 [INFO] ACME Server https://acme-v01.api.letsencrypt.org/
 [INFO] Please report issues at https://github.com/Lone-Coder/letsencrypt-win-simple
 [INFO] Renewing certificate for wsus.comp.com
 [INFO] Cached authorization result: valid
 [INFO] Requesting certificate wsus.comp.com 2017.10.16 5:50:20
 [INFO] Saving certificate to C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org
 [INFO] Installing certificate in the certificate store
 [INFO] Installing SSL certificate in server software
 [WARN] Unable to run script.
 [INFO] Uninstalling certificate from the certificate store
 [INFO] Removing certificate wsus.comp.com 2017.10.16 5:46:13
 [INFO] Renewal for wsus.comp.com succeeded, next one scheduled for 2017.12.15 3:50:27

What makes you say the certificate is not imported? This line in the log

[INFO] Installing certificate in the certificate store

Which is not followed by any exception, point to the fact that it is (both first and second times). It could be imported to the wrong Certificate Store perhaps, but it definitely looks like its being imported somewhere. Can just run with --verbose to maybe see where it's going?

no, it was not - not in webserver section not in personal section - and I was for sure in certlm.msc and refreshed the view.

It might be an aliasing problem. I think the real name of the Personal store is "My", you should try configuring that.

Hi, I also wanted to ask you about he MY store... it looks like all certs are in "MY", but the one from letsencrypt-win-simple has gone in "personal" and can't been seen:

What do you mean with alias problem?

I think the following comment from http://paulstovell.com/blog/x509certificate2 (what is referred in the project sources) is wrong:

StoreLocation.CurrentUser specifies that I want the "My user account" store. StoreName.My maps to the Personal folder in recent versions of Windows.

I think it should just be MY, like on other suggestions from MS on the web. Example this: https://blogs.msdn.microsoft.com/muaddib/2013/10/18/understanding-and-managing-the-certificate-stores-used-for-smart-card-logon/

To view these certificates using CERTUTIL type the following:
CERTUTIL -viewstore  where store name is MY, Root, CA, AuthRoot

The alias problem that I theorized would be that there are two stores. The "My" store which shows as "Personal" in mmc, and a store which is actually called "Personal", which would be hidden by the fact that the another store already occupies that name. Your registry seems to confirm that theory.

Was a value of "Personal" translated before to "MY", or why was it working before?`

It was working before because LEWS would hit an exception when trying to open the non-existing "Personal"-store, which was silently handled by falling back to the "My"-store. The new version handles non-existing stores differently, specifically by trying to create them - and fatally crashing when that doesn't work either.
In summary, you were always supposed to configure "My" instead of "Personal" in the .config file, but were lucky that the old error handling code did what you intended anyway.

My Theory is, that the "personal" store was created by the initial error reported her. Because I am at a german locale I can see the personal store, but was not looking/search there, because I know the store is on top. Later I found the personal store by searching deeper for the problem.

I added a little change to beta 6 to auto-translate "Personal" to "My" to prevent this confusion in the future.

I just ran beta 8 on my Win2008 server and it ran fine.  Cert installed properly, scheduled task setup as expected.
I chose "save file on local(network) path" when I ran it - the new "temporary application in IIS" looked too spooky for me (and it's late on a Friday, so I didn't want to push my luck).
Thanks a ton for the bugfixes, man.


Switch to ocamlbuild

In the long run it might be easier to maintain ocamlbuild rules than the current fairly complex makefiles.
@whitequark: do you know if switching to ocamlbuild is likely to have implications for cross-compilation?  Some notes from a few years back suggest that there might be hardcoded references to the host ocamlfind, for example, which could be a problem.

Packages that use ocamlbuild are among of my favorites for cross-compilation. It doesn't have out-of-the-box support for that, but it also doesn't make your life hard--in general what you do is:

build build-system executables with -build_dir _build_tools
build host-system libraries with some sort of environment variable to tell myocamlbuild.ml where to find said tools

This is usually what I do for packages that don't natively support cross-compilation and need patches. Since you are controlling the build system, what I'd do is simply add a rule to myocamlbuild.ml that invokes the build-system build process, and then intrinsically knows where the executables are located.
This also should work nicely with @dbuenzli's topkg (which imo is a good idea) as you will need a mere single ocamlbuild invocation.

BTW I've recently fixed every issue listed in the notes you linked in ocamlbuild.

We'll probably switch to dune instead (#588)