Feature Request: allow access to reader object in callback

Describe the solution you'd like
I think it would be nice if reader object can be accessed within the response callback.
I made change for myself since I wanted to cancel the stream in the middle.
https://github.com/shrft/streamed-chatgpt-api/commit/60bbdc16e68163508c4ba42aa809a59b449ab5fe
I use it like this.
fetchStreamedChat({
    apiKey,
    messageInput: 'Hello, how are you?',
}, (responseChunk, reader) => {
    if(xxxx){
      reader.cancel();
    }
    // get the actual content from the JSON
    const content = JSON.parse(responseChunk).choices[0].delta.content;
    if (content) {
        process.stdout.write(content);
    }
});

Additional context
thank you for your work. I use your library for my personal chatgpt command line tool.

I was actually just looking at how to cancel a stream myself when I came across this patch.

Having looked into this a little more, if the sole purpose of this is to cancel a stream, wouldn't it be better to pass in an abortController signal into the fetch call instead?
Something like:
const controller = new AbortController();

fetchStreamedChatContent({
  fetchOptions: {
    signal: controller.signal
  },
  // other options
  ...
  },
  // callbacks
  ...
);

And then in fetchChatResponseWithRetry:
  fetch(apiUrl, {
    method: 'POST',
    headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${apiKey}`,
  },
  body: options.body,
  ..fetchOptions
}),

I've kept this generic enough incase you want to override other fetch options too.
Now you can call controller.abort() from your code.


basic restart with step count

Getting weird issues about classifying agents at the end with quick test but wanted to get some feedback

I added a few comments. What's the error that you are getting?

The error is related to missing the selfisher FileNotFoundError: [Errno 2] No such file or directory: '/home/naren/Developer/py/mhri/multiHRI/agent_models/test/3/ADV_s68_h512_tr[H]_ran_selfisher_attack0' I was not sure if this was supposed to be created as part of the training process

I added a bunch of comments. I think the code can be cleaned but lets take care of that later. Also it looks like this can only resume the SP population and not the other functions right? In that case add a comment next to args.resume to mention this.
After you address the comments and confirm that the code doesn't break with args.resume = False and args.Resume = True in these functions, you are good to merge:
SPN_1ADV_XSPCKP(args=args)
SP(args)
FCP_traditional(args=args)
SPN_1ADV(args=args)

Most functions use that to generate the population required to the main training. This is was most functions  do:

train a population of SP agents using train_agent_with_checkpoints
train the primary agent using the population
Right now, from what I understand the resume can only resume step 1. It cannot resume step 2 so you should mention in the comment next to args.resume.

For SPN_1ADV, that is expected. It's basically saying that it doesn't have that agent yet, so it should train it from scratch. As long as the code continues working from that error and does not break you are good.

Everything works with and without resume except for SPN_1ADV which fails for both. I get this error Traceback (most recent call last):   File "scripts/train_agents.py", line 357, in <module>     SPN_1ADV(args=args)   File "scripts/train_agents.py", line 56, in SPN_1ADV     attack_rounds=attack_rounds   File "/home/naren/Developer/py/mhri/multiHRI/scripts/utils/train_helper.py", line 96, in get_N_X_SP_agents     n_x_sp_eval_types=n_x_sp_eval_types   File "/home/naren/Developer/py/mhri/multiHRI/scripts/utils/train_helper.py", line 146, in joint_ADV_N_X_SP     use_entire_population_for_train_types_teammates=True)   File "/home/naren/Developer/py/mhri/multiHRI/oai_agents/common/teammates_collection.py", line 240, in generate_TC     use_entire_population=use_entire_population_for_train_types_teammates   File "/home/naren/Developer/py/mhri/multiHRI/oai_agents/common/teammates_collection.py", line 41, in get_teammates     assert len(agents_perftag_score) % required_population_size == 0, \ ZeroDivisionError: integer division or modulo by zero
Also I looked at resume for the other RLAgentTrainer instances. Seems like it could be done where if resume is enabled instead of returning the loaded agent you restart training, but I think that should be in a different PR

@narendasan I think you can ignore this error for now. Thanks Naren, I skimmed it and it looks good. If you have addressed all the comments you should merge it!
@Jmiceli17 can you take a look at this error later? I think it is related to the population PR

Everything works with and without resume except for SPN_1ADV which fails for both. I get this error
  File "scripts/train_agents.py", line 357, in <module>
    SPN_1ADV(args=args)
  File "scripts/train_agents.py", line 56, in SPN_1ADV
    attack_rounds=attack_rounds
  File "/home/naren/Developer/py/mhri/multiHRI/scripts/utils/train_helper.py", line 96, in get_N_X_SP_agents
    n_x_sp_eval_types=n_x_sp_eval_types
  File "/home/naren/Developer/py/mhri/multiHRI/scripts/utils/train_helper.py", line 146, in joint_ADV_N_X_SP
    use_entire_population_for_train_types_teammates=True)
  File "/home/naren/Developer/py/mhri/multiHRI/oai_agents/common/teammates_collection.py", line 240, in generate_TC
    use_entire_population=use_entire_population_for_train_types_teammates
  File "/home/naren/Developer/py/mhri/multiHRI/oai_agents/common/teammates_collection.py", line 41, in get_teammates
    assert len(agents_perftag_score) % required_population_size == 0, \
ZeroDivisionError: integer division or modulo by zero

(this is with quick test)
Also I looked at resume for the other RLAgentTrainer instances. Seems like it could be done where if resume is enabled instead of returning the loaded agent you restart training, but I think that should be in a different PR

Looking into this...
when you run SPN_1ADV what are you setting primary_train_types to?

@Jmiceli17 I didnt change anything from the default so I think its primary_train_types = [TeamType.SELF_PLAY, TeamType.SELF_PLAY_ADVERSARY]


feat(module:calendar): use months short format

PR Checklist
Please check if your PR fulfills the following requirements:

[X] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[X] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: #736
What is the new behavior?
use short format
Does this PR introduce a breaking change?
[ ] Yes
[X] No

Other information

Coverage remained the same at 40.86% when pulling 1cbb3b2f4aeff9c1e01338dce72d0bf59d696391 on HsuanXyz:feat-calendar-months-short into 504fdc8c57436b46e2914105c7f394025e783260 on NG-ZORRO:master.


New package: LTY.XMLTOCSV version <IP_ADDRESS>

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

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

Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/115304&drop=dogfoodAlpha

@microsoft-github-policy-service agree company="LTY"

@wingetbot run


[FLINK-15464][hive] Fix HiveTableSourceTest::testPartitionFilterDateT…

…imestamp for 1.x

What is the purpose of the change
Fix HiveTableSourceTest::testPartitionFilterDateTimestamp for 1.x
Brief change log

Fix HiveTableSourceTest::testPartitionFilterDateTimestamp for 1.x

Verifying this change
Manually verified with 1.x versions.
Does this pull request potentially affect one of the following parts:
NA
Documentation
NA

@JingsongLi @bowenli86 Please take a look. Thanks.

Ping @JingsongLi and @bowenli86 for review.

LGTM, merging


Variant Calling

It looks like the variant calling is restrictive and is not calling all of the 382 sites in even high coverage genomes which is unexpected, this might explain why we are seeing higher correlation ratios than seen historically, need to investigate the reason
`

MMRF_2947_1_BM_CD138pos_T1_KHWGS.bwa.bam.snpSniffer
MMRF_2947_1_PB_WBC_C2_KHWGS.bwa.bam.snpSniffer
265
261
0.984

`

It looks like the variant calling is restrictive and is not calling all of the 382 sites in even high coverage genomes which is unexpected, this might explain why we are seeing higher correlation ratios than seen historically, need to investigate the reason
`
MMRF_2947_1_BM_CD138pos_T1_KHWGS.bwa.bam.snpSniffer	MMRF_2947_1_PB_WBC_C2_KHWGS.bwa.bam.snpSniffer	265	261	0.984
`

Will closing https://github.com/tgen/snpSniffer/issues/13 resolve this issue, or is it separate?

yes fixed with #13


Set cut-off for Ensemble Accept/Decline to 1 hour prior to start time

Should happen after sending reminder email (see #80)

Decline should be allowed anytime. Accept anytime is fine, too, as long as the member has been vetted on that codebase (e.g., has access, mob start/next works, etc.).
Closing this because I'll use other ways to vet members.


NestJS: Error: Cannot find module './generated/client' when importing Prisma Client when using custom output path

Bug description
In a NestJS applicating, when importing prisma client using a custom generated path.
note: application runs fine when importing prisma client using default path import { PrismaClient } from '@prisma/client';
application gets following error
Require stack:
- prismatest\dist\prisma\prisma.service.js
- prismatest\dist\prisma\prisma.module.js
- prismatest\dist\app.module.js
- prismatest\dist\main.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)
    at Function.Module._load (node:internal/modules/cjs/loader:920:27)
    at Module.require (node:internal/modules/cjs/loader:1141:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (prismatest\src\prisma\prisma.service.ts:2:1)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Function.Module._load (node:internal/modules/cjs/loader:958:12)
    at Module.require (node:internal/modules/cjs/loader:1141:19)`

How to reproduce
In NestJS application, set schema.prisma with custom output path
generator client {
  provider = "prisma-client-js"
  output = "./generated/client"
}

Create nestJS service and extend PrismaClient which imports from generated output PrismaClient
import { Injectable } from '@nestjs/common';
import { PrismaClient } from './generated/client';

@Injectable()
export class PrismaService extends PrismaClient {}

Expected behavior
No response
Prisma information
generator client {
  provider = "prisma-client-js"
  output = "../../node_modules/@gigauth/generated/client"
}

import { Injectable } from '@nestjs/common';
import { PrismaClient } from './generated/client';

@Injectable()
export class PrismaService extends PrismaClient {}

Environment & setup

OS: Windows
Database: PostgreSQL
Node.js version: v18.15.0
NestJS version: 10.1.8

Prisma Version
prisma                  : 5.2.0
@prisma/client          : 5.2.0
Current platform        : windows
Query Engine (Node-API) : libquery-engine 2804dc98259d2ea960602aca6b8e7fdc03c1758f (at<EMAIL_ADDRESS>Schema Engine           : schema-engine-cli 2804dc98259d2ea960602aca6b8e7fdc03c1758f (at<EMAIL_ADDRESS>
Schema Wasm             : @prisma/prisma-schema-wasm 5.2.0-25.2804dc98259d2ea960602aca6b8e7fdc03c1758f
Default Engines Hash    : 2804dc98259d2ea960602aca6b8e7fdc03c1758f
Studio                  : 0.494.0

I also tried using a NestJS monorepo project using the generated custom path for prisma client and got the following error
ERROR [ExceptionHandler] Prisma Client could not find its schema.prisma. This is likely caused by a bundling step, which leads to schema.prisma not being copied near the resulting bundle. We would appreciate if you could take the time to share some information with us. Please help us by answering a few questions: https://pris.ly/bundler-investigation-error

Please help us by answering a few questions: https://pris.ly/bundler-investigation-error

Can you please do that and then link to your answer here? These questions are designed to ask for the correct details to debug such a problem.
For your original message:

application gets following error

Can you share the complete error message? This only seems to be part of it - the actual error is missing for example. Thanks!

@janpio

Can you please do that and then link to your answer here? These questions are designed to ask for the correct details to debug such a problem.

https://github.com/prisma/prisma/discussions/20257#discussioncomment-6992382

Can you share the complete error message? This only seems to be part of it - the actual error is missing for example. Thanks!

Error: Cannot find module './generated/client'
Require stack:
- prismatest\dist\prisma\prisma.service.js
- prismatest\dist\prisma\prisma.module.js
- prismatest\dist\app.module.js
- prismatest\dist\main.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)
    at Function.Module._load (node:internal/modules/cjs/loader:920:27)
    at Module.require (node:internal/modules/cjs/loader:1141:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (prismatest\src\prisma\prisma.service.ts:2:1)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Function.Module._load (node:internal/modules/cjs/loader:958:12)
    at Module.require (node:internal/modules/cjs/loader:1141:19)

Ok, back to your original problem: I can reproduce it:
[5:41:14 PM] Starting compilation in watch mode...

[5:41:17 PM] Found 0 errors. Watching for file changes.

Error: Cannot find module '../prisma/generated/foo'
Require stack:
- /workspace/prisma-examples/typescript/rest-nestjs/dist/src/prisma.service.js
- /workspace/prisma-examples/typescript/rest-nestjs/dist/src/app.controller.js
- /workspace/prisma-examples/typescript/rest-nestjs/dist/src/app.module.js
- /workspace/prisma-examples/typescript/rest-nestjs/dist/src/main.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
    at Function.Module._load (node:internal/modules/cjs/loader:922:27)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:121:18)
    at Object.<anonymous> (/workspace/prisma-examples/typescript/rest-nestjs/src/prisma.service.ts:2:1)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Function.Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)

We have a nice NestJS example project at https://github.com/prisma/prisma-examples/tree/latest/typescript/rest-nestjs
When I add a custom output, I indeed get the same error: https://github.com/prisma/prisma-examples/pull/5228/files + https://github.com/prisma/prisma-examples/actions/runs/6175968386/job/16763936139?pr=5228#step:5:65
And indeed, the generated Prisma Client is not included in the dist folder of the project at all:
$ tree dist
dist
├── prisma
│   ├── seed.d.ts
│   ├── seed.js
│   └── seed.js.map
├── src
│   ├── app.controller.d.ts
│   ├── app.controller.js
│   ├── app.controller.js.map
│   ├── app.module.d.ts
│   ├── app.module.js
│   ├── app.module.js.map
│   ├── main.d.ts
│   ├── main.js
│   ├── main.js.map
│   ├── prisma.service.d.ts
│   ├── prisma.service.js
│   └── prisma.service.js.map
└── tsconfig.build.tsbuildinfo

Some bundler configuration is missing here.

(I know this is not what you want, but a custom output path that is in node_modules, e.g. ../node_modules/@foo/bar, seems to work: https://github.com/prisma/prisma-examples/pull/5229 I totally do not recommend doing that, but for some reason that is picked up.)

(I know this is not what you want, but a custom output path that is in node_modules, e.g. ../node_modules/@foo/bar, seems to work: prisma/prisma-examples#5229 I totally do not recommend doing that, but for some reason that is picked up.)

I was actually about to mention that but you can also set the output path to a root folder and it will also get picked up .
The root path does not work for the monorepo setup though and will only work if you set the output path as you stated in ../node_modules/@foo/bar,

Yes, monorepo is a different problem completely.
What is an example for "a root folder" that works?

Yes, monorepo is a different problem completely. What is an example for "a root folder" that works?

Was referring to the root folder of the app so if the folder you generate the client into is at the root level of the app it also gets picked up. import { PrismaClient } from 'prisma/generated/client';
\---prismatest
    +---dist
    +---node_modules
    +---prisma
    |   |   schema.prisma
    |   |
    |   \---generated
    |       \---client
    |           |   edge.d.ts
    |           |   edge.js
    |           |   index-browser.js
    |           |   index.d.ts
    |           |   index.js
    |           |   package.json
    |           |   query_engine-windows.dll.node
    |           |   schema.prisma
    |           |
    |           \---runtime
    |                   edge-esm.js
    |                   edge.js
    |                   index-browser.d.ts
    |                   index-browser.js
    |                   library.d.ts
    |                   library.js
    |
    +---src
    |   .eslintrc.js
    |   .gitignore
    |   .prettierrc
    |   nest-cli.json
    |   package-lock.json
    |   package.json
    |   README.md
    |   tree.txt
    |   tsconfig.build.json
    |   tsconfig.json

Yes, monorepo is a different problem completely. What is an example for "a root folder" that works?

Was referring to the root folder of the app so if the folder you generate the client into is at the root level of the app it also gets picked up. import { PrismaClient } from 'prisma/generated/client';
\---prismatest
    +---dist
    +---node_modules
    +---prisma
    |   |   schema.prisma
    |   |
    |   \---generated
    |       \---client
    |           |   edge.d.ts
    |           |   edge.js
    |           |   index-browser.js
    |           |   index.d.ts
    |           |   index.js
    |           |   package.json
    |           |   query_engine-windows.dll.node
    |           |   schema.prisma
    |           |
    |           \---runtime
    |                   edge-esm.js
    |                   edge.js
    |                   index-browser.d.ts
    |                   index-browser.js
    |                   library.d.ts
    |                   library.js
    |
    +---src
    |   .eslintrc.js
    |   .gitignore
    |   .prettierrc
    |   nest-cli.json
    |   package-lock.json
    |   package.json
    |   README.md
    |   tree.txt
    |   tsconfig.build.json
    |   tsconfig.json

Yea it is. Wasn't sure if you knew that worked in addition to generating client into ../node_modules/@foo/bar

No, that's the problem: That does not work in my case, see https://github.com/prisma/prisma-examples/actions/runs/6175968386/job/16763936139?pr=5228#step:5:65
$ tree
.
├── nest-cli.json
├── package.json
├── prisma
│   ├── generated
│   │   └── foo
│   │       ├── edge.d.ts
│   │       ├── edge.js
│   │       ├── index-browser.js
│   │       ├── index.d.ts
│   │       ├── index.js
│   │       ├── libquery_engine-debian-openssl-3.0.x.so.node
│   │       ├── package.json
│   │       ├── runtime
│   │       │   ├── edge-esm.js
│   │       │   ├── edge.js
│   │       │   ├── index-browser.d.ts
│   │       │   ├── index-browser.js
│   │       │   ├── library.d.ts
│   │       │   └── library.js
│   │       └── schema.prisma
│   ├── schema.prisma
│   └── seed.ts
├── README.md
├── src
│   ├── app.controller.ts
│   ├── app.module.ts
│   ├── main.ts
│   └── prisma.service.ts
├── test
│   ├── app.e2e-spec.ts
│   └── jest-e2e.json
├── tsconfig.build.json
└── tsconfig.json

No, that's the problem: That does not work in my case, see https://github.com/prisma/prisma-examples/actions/runs/6175968386/job/16763936139?pr=5228#step:5:65

@janpio I tried pulling down your branch and confirmed that the problem is still happening.
Took a while but figured out what was making your build fail was the seed.ts file in the prisma folder.
If you delete the seed.ts file and also need to delete the dist folder, the app seems to generate the correct structure in the dist folder.
+---dist
|       app.controller.d.ts
|       app.controller.js
|       app.controller.js.map
|       app.module.d.ts
|       app.module.js
|       app.module.js.map
|       main.d.ts
|       main.js
|       main.js.map
|       prisma.service.d.ts
|       prisma.service.js
|       prisma.service.js.map
|       tsconfig.build.tsbuildinfo

this is the dist folder structure when the seed.ts file is still in the prisma folder where the app has errors.
+---dist
|   |   tsconfig.build.tsbuildinfo
|   |
|   +---prisma
|   |       seed.d.ts
|   |       seed.js
|   |       seed.js.map
|   |
|   \---src
|           app.controller.d.ts
|           app.controller.js
|           app.controller.js.map
|           app.module.d.ts
|           app.module.js
|           app.module.js.map
|           main.d.ts
|           main.js
|           main.js.map
|           prisma.service.d.ts
|           prisma.service.js
|           prisma.service.js.map

hopefully this works for you and gives some insight into what the issue is

Ugh yes, I can reproduce that removing the seed file makes the application with a custom output folder work:
https://github.com/prisma/prisma-examples/pull/5234
That is... unexpected. Seems the seed.ts in the prisma folder leads to the app being bundled differently, without the custom output folder. :wat:

A possible workaround without deleting the prisma/ seed.ts file would be copying the files (cpx) right before you run the dev script or right after your build script (depending on your setup)
Using the rest-nestjs Prisma example, you can get around it as follows.:

Install cpx as a dev dependency — npm install cpx
Add a script to copy the files in your package.json file (if the output remains to be ../prisma/generated):

"copy:prisma": "cpx 'prisma/generated/**' 'dist/prisma/generated'",

Update the dev script to run copy:prisma before starting the application

"dev": "npm run copy:prisma && nest start --watch",

import { PrismaClient } from 'prisma/generated/client

I'm having this problem with the docker container:

My prisma client is version: 5.15.0 and I'm using the default directory.

following.

This worked for me.
Modify your nest-cli.json file to include the generated folder as assets.
{   "$schema": "https://json.schemastore.org/nest-cli",   "collection": "@nestjs/schematics",   "sourceRoot": "src",   "compilerOptions": {     "deleteOutDir": true,     "assets": [       {         "include": "../prisma/generated",         "outDir": "dist/prisma",         "watchAssets": true       }     ],     "watchAssets": true   } }


SpatieMediaLibraryFileUpload not working within Fieldset or Group relationship

Package
filament/spatie-laravel-media-library-plugin
Package Version
v3.2
Laravel Version
v.11.9
Livewire Version
v3.0.0
PHP Version
PHP 8.3
Problem description
I have a User and a Profile model with these relations:
User -> hasOne -> Profile
User implements HasMedia (avatar image).
<?php

namespace App\Models;

// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;

class User extends Authenticatable implements HasMedia
{
    use HasFactory, Notifiable, InteractsWithMedia;

    protected $fillable = [
        'name',
        'email',
        'password',
    ];

    protected $hidden = [
        'password',
        'remember_token',
    ];

    protected function casts(): array
    {
        return [
            'email_verified_at' => 'datetime',
            'password' => 'hashed',
        ];
    }

    public function profile(): HasOne
    {
        return $this->hasOne(Profile::class);
    }
}

Profile -> belongsTo -> User
class Profile extends Model
{
    protected $guarded = [];

    public function user(): BelongsTo
    {
        return $this->belongsTo(User::class);
    }
}

In my ProfileResource I create the User and the Profile information, but the user avatar is not being created.
public static function form(Form $form): Form
    {
        return $form
            ->schema([
                Forms\Components\Fieldset::make('User Information')
                    ->relationship('user')
                    ->schema([
                        Forms\Components\TextInput::make('name')
                            ->label('Name')
                            ->required(),

                        Forms\Components\TextInput::make('email')
                            ->label('Email')
                            ->required(),

                        Forms\Components\TextInput::make('password')
                            ->label('Password')
                            ->password()
                            ->dehydrated(fn (?string $state): bool => filled($state))
                            ->required(fn (string $operation): bool => $operation === 'create'),

                        Forms\Components\SpatieMediaLibraryFileUpload::make('profile_photos')
                            ->label('Profile Photo')
                            ->collection('profile_photos')
                            ->avatar(),
                    ]),

                Forms\Components\TextInput::make('facebook_name')
                    ->label('Facebook Name')
                    ->required(),
            ]);
    }

It only works when I'm editing it.
Expected behavior
I expect to create the user profile photo inside the Profile Form.
Steps to reproduce

Use SpatieMediaLibrary.
Implements Relations between User and Profile.
Use Fieldset or Group with the 'relationship' method inside the ProfileResource with the SpatieMediaLibraryFileUpload.

Reproduction repository (issue will be closed if this is not valid)
https://github.com/javierpomachagua/filament-demo
Relevant log output
No response

Donate 💰 to fund this issue

You can donate funding to this issue. We receive the money once the issue is completed & confirmed by you.
100% of the funding will be distributed between the Filament core team to run all aspects of the project.
Thank you in advance for helping us make maintenance sustainable!

Can you try with this code? Actually I'm facing on that problem. That package is not working well. Something like collections() are not working.
  Forms\Components\SpatieMediaLibraryFileUpload::make('media')
                            ->label('Profile Photo'),

I tried it but it's not working, it only works when I created it without the file, then in the edit page I upload the file and it works.

It's not working. Maybe your env APP_URL is wrong.
Check
php artisan storage:link
Check SpatieMediaLibraryFileUpload::make('media'). That is not 'a'
Forms\Components\SpatieMediaLibraryFileUpload::make('media')
   ->label('Profile Photo')
   ->avatar(),

After trying too many ways, finally, the solution was to create a second group with the same user relationship, so in that case, that record user had been created and then we could save the media to the user.
public static function form(Form $form): Form
    {
        return $form
            ->schema([
                Forms\Components\Group::make()
                    ->relationship('user')
                    ->schema([
                        Forms\Components\TextInput::make('name')
                            ->label('Name')
                            ->required(),

                        Forms\Components\TextInput::make('email')
                            ->label('Email')
                            ->required(),

                        Forms\Components\TextInput::make('password')
                            ->label('Password')
                            ->password()
                            ->dehydrated(fn (?string $state): bool => filled($state))
                            ->required(fn (string $operation): bool => $operation === 'create'),

                    ]),

                Forms\Components\Group::make()
                    ->relationship('user')
                    ->schema([
                        Forms\Components\SpatieMediaLibraryFileUpload::make('media')
                            ->label('Profile Photo')
                            ->collection('profile_photos')
                            ->avatar(),
                    ]),

                Forms\Components\TextInput::make('facebook_name')
                    ->label('Facebook Name')
                    ->required(),
            ]);
    }


Where to put the id app?

**OS target (Android/iOS):**Android
**Godot version:**3.0.6
**Issue description:**I know where to put the ad block id, but where do I put the id of the app that admob provides

I was trying to put real ads and put the ad unit ID, but I'm not sure where to put the app ID, I did not export the app, but I was wondering if it works without the id or where should I put this. English is not my native language, I hope you have understood, if yes, I hope you will help me.

If you are using Google Mobile Ads SDK <= 7.41.0 you don't need to use the app ID. If not, this module won't work until somebody update it, sorry.


fix build and add back 'on: push' (SOFTWARE-4437)

@brianhlin

I tested this by hand in an ubutu:latest docker container; works now.

I tested this by hand in an ubutu:latest docker container; works now.


can't find client cert option

Hi,
Trying to pass a client-cert file in the connection request but can't see that in the example code. Is this supported? If so, how is it done? If not, can this be added?
Lookups tests fail with
SSL3_GET_RECORD:wrong version number:s3_pkt.c:339 in the log
This error clears up on the command line using openssl s_client when I pass in the -cert option
Thanks

⚠ This issue has been locked due to age. If you have encountered a recent
problem that seems to be covered by this issue, please open a new issue.
Please include a minimal reproducible example
when opening a new issue.


Viewer variable in console clobbered with multiple viewers

🐛 Bug
Launching two napari viewers from the same python script will cause problems where the viewer variable inside each console clobbers each other as they use the same viewer name - see https://github.com/napari/napari/blob/master/napari/_qt/qt_viewer.py#L230
This was flagged in https://github.com/napari/napari/issues/787#issuecomment-564829450

Just confirming that this is still an issue. Run:
import napari
import numpy as np

v = napari.Viewer()

v.add_image(np.ones((100,100)))

v2 = napari.Viewer()

v2.add_image(np.ones((50,50)))

napari.run()

Currently I find that the second viewer's console is less functional. For example, the output from the ipython doesn't show up in the second viewer's console:


Add PyBITS Hyderabad 2018

Details of the conference:

Website: http://pybits.bits-hyd.org/
Date: October 27-28, 2018
Venue: BITS Pilani Hyderabad Campus, Hyderabad
Description: The annual student centric Python conference.

I have made the required change. :)


[DNM] Add Midas maker

Pull request for adding Midas full hotspot in Helium App.

please update this PR with your maker ID and we'll merge it in.

Already updated maker id. Please let me know if you can merge it in.


Add meta info of selected diagram message

When scrolling far down, you can't properly see the parties in the diagram. Could be a good idea to add meta info about the selected message in diagram. Potentially on flow

Potentially also improve the current [SDP] implementation to also specify what other type of content it is.


Fix build qcap_source

Need some modifications to build and run the qcap_source operator.

Install depended library in docker for running QCAP SDK.
Map /opt/yuan/qcap/include and lib into docker for building qcap_source.
Add the define BUILD_WITH_QCAP_SDK to the file, qcap_source.cpp.
The define BUILD_WITH_QCAP_SDK to control qcap_source has capture function or just a fake operator.
Original intent is avoid build breaking for the user who don't have QCAP SDK.

OK, let's remove the define.


Delete modal is not visible

Describe the bug
The delete modal doesn't visible completely when we open it in the middle of the page.
To Reproduce
Steps to reproduce the behaviour:

Go to any of your submitted solutions.
Scroll down to the website preview.
Click on the delete icon
See an error

Expected behaviour
It should be on top of everything and completely visible when a user clicks on the delete button.
Screenshots

Hey @rishipurwar1  Please assign this to me.

Hey @rishipurwar1 Please assign this to me.

Assigned to you.
Note: Please make a PR to the development branch NOT in the main branch and test your changes on all the pages where we're using this component.

Looking forward to seeing your PR! Feel free to give a star⭐ to this repo.

Yes, Thanks @rishipurwar1 .

@rishipurwar1  Can you please tell what's the file name for the delete solution component?

@rishipurwar1 Can you please tell what's the file name for the delete solution component?

File: https://github.com/rishipurwar1/coding-space/blob/main/src/components/reusable/ConfirmationModal.js

Okay, got it.....Thanks.

@rishipurwar1  can you guide me on how setup the database for challenges? I'm unable to run the app so that I can delete one solution to check whether my code is running fine or not.

@rishipurwar1 can you guide me on how set up the database for challenges? I'm unable to run the app so that I can delete one solution to check whether my code is running fine or not.

can you please share your email id here or dm me on the codingspace discord server so that I can add you to our database?

Dmed you on discord server.

@JatinSingh08 Any updates??


where is documentation for what the [E], [I] and yellow highlights mean?

If there isn't any documentation for these please explain what these symbols mean.
Thanks!
I am using the HTML reporter...

Hovering over the elements with the mouse pops tooltip explaining that
yellow highlight is "branch not covered"
[E] is "else path not taken"
[ I ] is "if path not taken"


Mark all read on IMAP accounts also marks unseen messages as read

Checklist

[X] I have used the search function to see if someone else has already submitted the same bug report.
[X] I will describe the problem with as much detail as possible.

App version
6.202
Where did you get the app from?
Google Play
Android version
Android 11
Device model
No response
Steps to reproduce
When marking all mails as read, K9 will mark all mails on the server as read, including those not yet seen by the user.

select a not to frequent mail fetch interval, eg. manually for testing
fetch mails, scan all mail subjects, decide nothing is important
send another mail to the server
mark all mails a read

This latest mail will now be marked as read, even so no even the subject was visible on the user device,
Expected behavior
It should only mark those as read that have already been downloaded.
Actual behavior
All mails on server are currently  marked as read by the function.
Logs
No response

This is the intended behavior. The app is even showing a confirmation dialog, so you don't accidentally use this action.
If you want to mark all downloaded messages as read, use "select all" from the menu, then the "mark as read" action.


Allow contraining movement to be vertical or horizontal

Description
A valid use case should be constraining an endpoint to move only along a certain axis. Perhaps just horizontal or vertical, but with some effort could be made to be arbitrary.
related to: #2
inspired by @ubitux here: https://twitter.com/insouris/status/1558863351710629893

I think it makes sense to allow to follow a curve. Here is the kind of stuff I very often do in desmos, which I'd like to reproduce with matplotlib:
https://user-images.githubusercontent.com/34467/184556895-65bbc987-cc70-4c10-803a-15944ba7825c.mp4
As you can see, the coordinate of the point depends on the variable, which is a slider but the inverse connection from the graph is also detected.

@ubitux I've closed this issue as the proposed functionallity in the top comment is now possible - but I've opened a new issue to track your suggestion.


CodeSandbox CI

What do you think about CodeSandbox CI?
The code using react-three-fiber is pretty visual, so a possibility to play with PR changes and see what happens would help the process. And well, deploying reproduction/example projects is pretty boring.

i set one up, the last step though, should i prime it to /examples?

I've been thinking about "vanilla-ts-vanilla-ts" or ""react-new" (CRA) templates for presenting bugfixes or features, but /examples would actually be better, because it's already set up.


Expose ClientMap, ClientMapWrapper, ClientWrapper

Would that fix the AOT Problems ?

@Uter1007 AOT problems persist even with this PR

:-(

@Uter1007 AOT issues resolved by #364. You can use it in your project by running the following command (assuming you're using npm5):
npm i github:CaerusKaru/apollo-angular#aot


Relaying

We can't bust 100 percent of existing NATs, but we can provide opt-in relaying via the bootstrap nodes.

Take a look at https://github.com/ipfs/go-ipfs/issues/57 and https://github.com/ipfs/go-ipfs/tree/bf22aeec/p2p/protocol/relay
I'm thinking

use other relay nodes (i think default is yes, opt-out).
allow others to relay connectivity information only -- STUN/TURN/ICE-like. (divided in this, but default yes, opt out would be best for the network).
allow others to relay arbitrary streams (default no, opt-in).

allow others to relay connectivity information only -- STUN/TURN/ICE-like. (divided in this, but default yes, opt out would be best for the network).

Dont we already do this throught the DHT?

@whyrusleeping yeah, i'm saying for privacy policies


[HUDI-3743] Support DELETE_PARTITION for metadata table

What is the purpose of the pull request
In order to drop any metadata partition (index), we can reuse the DELETE_PARTITION operation in metadata table. Subsequent to this, we can support drop index (with table config update) for async metadata indexer.
Brief change log

Add a new API in HoodieTableMetadataWriter
Current only supported for Spark metadata writer

Verify this pull request
Added a unit test in TestHoodieBackedMetadata, which creates multiple metadata partitions and then drops one. Asserted that there are no file slice from the dropped partition.
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

LGTM， In addition, I want to wait for https://github.com/apache/hudi/pull/4489 to merge in and then merge this?

LGTM， In addition, I want to wait for #4489 to merge in and then merge this?

Got it. I'll wait for that to land first.

@hudi-bot run azure


🚀 Feature: Switch scaffolder actions to use zod to define input and output

🔖 Feature description
Scaffolder actions currently use a manually defined JSON schema and separate TypeScript type for their input and output. Let's switch that over to use zod-to-json-schema instead. The schema is verbose, and the TypeScript types frequently do not line up with the schema.
Quick little comparison between the two approaches, note that this isn't necessarily the API we'd want to end up with:
return createTemplateAction<{ url: string; targetPath?: string }>({
  id: 'fetch:plain',
  schema: {
    input: {
      type: 'object',
      required: ['url'],
      properties: {
        url: {
          title: 'Fetch URL',
          description:
            'Relative path or absolute URL pointing to the directory tree to fetch',
          type: 'string',
        },
        targetPath: {
          title: 'Target Path',
          description:
            'Target path within the working directory to download the contents to.',
          type: 'string',
        },
      },
    },
  },
  ...
})

vs
return createZodTemplateAction({
  id: 'fetch:plain',
  schema: z.object({
    url: z.string().min(1).describe('Relative path or absolute URL pointing to the directory tree to fetch'),
    targetPath: z.string().optional().describe('Target path within the working directory to download the contents to.'),
  }),
  ...
})

🎤 Context
This is a more focused version of #9555, see that issue for more details. We have now used zod-to-json-schema for both permissions and scaffolder field extensions, and it's a pretty sweet utility for compile-time and runtime checking along with schema generation. The schema generation is important when you want to be able to serialize the checks for things like remote validation or documentation.
✌ Possible Implementation
No response
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
No, but I'm happy to collaborate on a PR with someone else

I can take this!

Here's a screenshot of what I was able to come up with:

Currently, I have a new function convertZodToJson that converts and parses out the expected json schema (I will place in a separate fill later). This seems to be right logically but there's minor type issue that occurring. The input key invokes an error Type 'JSONSchema7Type | undefined' is not assignable to type 'Schema | undefined'.
I've attempted to add JSONSchema7Type to actions/types.ts (ex. input?: Schema | JSONSchema7Type;) but receive an error Cannot find name 'JSONSchema7Type'.
Any suggestions on a path forward?

Fixed by #15561


Lava Puddles are too common

ReTerraForged: (custom biome config)

Vanilla: (Single Biome - Plains)

Both worlds were generated on the same instance and both images have been exported using the same version of Xaero's World Map. The images show an area of 3000x3000 blocks and are both on a 1:1 scale
PS: Would you be kind enough to send me / share the biome config you used in these screenshots? https://discord.com/channels/687310840915165240/687310841472876577/1127357626943033394

fixed in the upcoming release


WIP Account UI

Display user account information after successfully parsing cookie

#213 makes this PR obsolete

#213 makes this PR obsolete


Continuous Delivery (11%)

Random notes, as I originally cherry-picked chapters to read:
55: "... most software developed by large teams spends a significant proportion of its development time in an unusable state. The reason for this is easy to understand: Nobody is interested in trying to run the whole application until it is finished. Developers check in changes and might even run automated unit tests, but nobody is trying to actually start the application and use it in a production-like environment."
"This is doubly true in projects that use long-lived branches or defer acceptance testing until the end. Many such projects schedule lengthy integration phases at the end of development to allow the development team time to get the branches merged and the application working so it can be acceptance-tested. Even worse, some projects find that when they get to this phase, their software is not fit for purpose. These integration periods can take an extremely long time, and worst of all, nobodv has any way to predict how long."
56: "Everything in your project must be checked in to a single version control repository: code, tests, database scripts, build and deployment scripts, and anything else needed to create, install, run, and test your application."
60: "Keep the Build and Test Process Short
If it takes too long to build the code and run the unit tests, you will run into the following problems:
• People will stop doing a full build and running the tests before they check in. You will start to get more failing builds.
• The continuous integration process will take so long that multiple commits will have taken place by the time you can run the build again, so you won't know which check-in broke the build.
• People will check in less often because they have to sit around for ages waiting for the software to build and the tests to run."
61: "If you find that the second build takes longer than half an hour or so, you should consider running this test suite in parallel ..."
 This smoke test should perform a few simple acceptance and integration tests to make sure that the most commonly used functionality isn't broken-and report back quickly if it is."
62: "The first prerequisite to achieve this is careful configuration management, not just of source code, but also of test data, database scripts, build scripts, and deployment scripts. All of these must be stored in version control ..."
96: "Integration tests can be written in the same way as you write normal acceptance tests. Normally, integration tests should run in two contexts: firstly with the system under test running against the real external systems it depends on, or against their replicas controlled by the service provider, and secondly against a test harness which you create as part of your codebase."
*** How do IT and AT differ?
100: "Close collaboration between developers and testers throughout the development of a story is essential to a smooth path to the release. Whenever developers finish some functionality, they should call over the testers to review it. The testers should take over the developers' machine to do this testing. During this time, developers might continue work on an adjacent terminal or laptop, perhaps fixing some outstanding regression bugs. This way they're still occupied (since testing can take some time), but are easily available in case the tester needs to discuss anything."
"The problem is even worse when there are no acceptance tests or where acceptance tests are not effective because features are being developed on branches that are not merged regularly to trunk. In this case, it is all too common, once the code is integrated and manual system-level testing starts, for teams to become completelv overwhelmed bv defects. Arguments break out between testers, developers, and management, release dates slip, and users get landed with poor-quality software."
101: "In many projects, testing is treated as a distinct phase carried out by specialists. However, high-quality software is only possible if testing becomes the responsibility of everybody involved in delivering software and is practiced right from the beginning of the project and throughout its life. Testing is primarily concerned with establishing feedback loops that drive development, design, and release. Any plan that defers testing to the end of the project is broken because it removes the feedback loop that generates higher quality, higher productivity, and, most importantly of all, any measure of how complete the project is."
"The shortest feedback loops are created through sets of automated tests that are run upon every change to the system. Such tests should run at all levels-from unit tests up to acceptance tests (both functional and nonfunctional). Automated tests should be supplemented with manual testing such as exploratory testing and showcases."
119: There is a figure that helps prevent the CD pipeline from getting behind when teams are checking in very frequently. If the CD pipeline is currently running "build & unit tests" on version 1, and version 2 and 3 are committed. When version 1 is done, the pipeline should now build off the most recent version available. Otherwise the builds will get further and further behind.
The same idea applies to the "automated accepted tests" phase. As this phase will run even longer than the "build & unit test" phase, it should follow a similar process. The CI system's scheduler notices new changes and trigger a new run of the accept tests against the latest version. This intelligent scheduling is crucial.
120: "A new instance of your deployment pipeline is
created upon every check-in and, if the first stage
passes, results in the creation of a release
candidate."

I've stopped cherry-picking chapters and am now reading the book in order. I've reached page 14.


GoFSH Hangs on Instance Conversion

I was trying to convert the UTG IG to FSH, but GoFSH hangs when it reaches "Processing Instances..." phase.
The repo to check out is https://github.com/HL7/UTG/commit/208a5ab7c79a12373fcbd46f7c50b480d4070b46
The command used to launch the process is: gofsh -t json-and-xml -s single-file
PS - After waiting 15 minutes or so, it looks like the process is still alive, but moving extremely slowly.  So call it no quite dead, but nearly dead.

Thanks for reporting.  Oddly enough, someone else just reported a similar issue on chat.fhir.org yesterday: https://chat.fhir.org/#narrow/stream/179166-implementers/topic/GoFSH.20gets.20stuck

New information -- there are some huge instances of BUNDLE in the IG. Hundreds of resources in the bundles. I think the "hang" is really the time to create the honkin' huge bundles.
Does every IG have bundles like this?

Here's a zip file of the gofsh directory resulting from conversion of UTC IG.
gofsh.zip


RubyInstallerTeam.Ruby - Splitting versions

Ruby needs to be split into different folders at X.X since they can be installed side by side
| RubyInstallerTeam
|| Ruby
||| 2.7
|||| 2.7.1
|||| 2.7.2
|||| 2.7.5-1
||| 3.0
|||| 3.0.0
|||| <IP_ADDRESS>
|||| 3.0.2-1
||| 3.1
|||| 3.1.0-1

We would probably have to use x64 and x86 folders too unless winget-cli supports updating 2 installs

To help with debugging, another set of packages that fail to upgrade:
   PS ...Sda\Code> winget upgrade --all
   Name                      Id                               Version      Available    Source
   -------------------------------------------------------------------------------------------
   Ruby                      RubyInstallerTeam.Ruby           2.4.3-2      3.1.0-1      winget
   Ruby                      RubyInstallerTeam.Ruby           3.0.1-1      3.1.0-1      winget
   9 upgrades available.
   27 packages have version numbers that cannot be determined. Use "--include-unknown" to see all results.

That is, winget upgrade --all can be run twice and the same 9 packages will be listed, even after some of those packages were ostensibly upgraded.
Originally posted by JohnLukeBentley in https://github.com/microsoft/winget-cli/issues/752#issuecomment-1044387977

Name                               Id                               Version Available Source
--------------------------------------------------------------------------------------------
Ruby 2.7.6-1-x64-msvcrt with MSYS2 RubyInstallerTeam.RubyWithDevKit 2.7.6-1 3.1.2-1   winget

This is.. not ideal

Name                               Id                               Version Available Source
--------------------------------------------------------------------------------------------
Ruby 2.7.6-1-x64-msvcrt with MSYS2 RubyInstallerTeam.RubyWithDevKit 2.7.6-1 3.1.2-1   winget

This is.. not ideal

I'll split the RubyWithDevKit package into RubyWithDevKit.2.7, RubyWithDevKit.3.1, etc, too so winget would allow you to stay updated on a specific Ruby version

Is there a tool for AppsAndFeaturesEntries

Currently this is the only automated method jedieaston/Add-ARPEntries by @jedieaston

I haven't seen anything like that in YamlCreate

I'm not sure if @Trenly got any ideas about how we could implement this, but since we do have Sandbox integration i think it should be possible once we add support for those fields (Trenly is currently™ rewriting YamlCreate so if its going to be supported its in the new version) (I think this is the branch with the new version Trenly/Recursion)
Example of how it should look
  AppsAndFeaturesEntries:
  - Publisher: Microsoft Corporation
    DisplayName: Microsoft .NET Core Runtime - 3.1.25 (arm64)
    DisplayVersion: <IP_ADDRESS>218
    ProductCode: '{d38317c6-4235-427b-a41c-0709f93f9181}'

I do have a few ideas on how to do it. I've even been considering implementing it in YamlCreateV2 instead of waiting until V3 (Recursion) due to the complexity of recursion, and the need to support portables in v2 and eventually zip, at least until v3 is stable.
I think I should be able to get the entries from the Sandbox, but the issue with that is having to go back in and modify the manifests after the sandbox test runs. What I've been considering for now is to just add a prompt for the Primary ARP entry. If the file is an MSI file, much of the information can be pulled from the database; If a .exe has the VersionInfo set, I can recommend that, etc.

Could one of you geniuses run the Add-ARPEntries script over the new manifests? I don't use Hyper-V so i'm kinda left out :(
RubyWithDevKit just got moved too =)
Moves:

https://github.com/microsoft/winget-pkgs/pull/66736
https://github.com/microsoft/winget-pkgs/pull/66757
https://github.com/microsoft/winget-pkgs/pull/66758
https://github.com/microsoft/winget-pkgs/pull/66760
https://github.com/microsoft/winget-pkgs/pull/66767
https://github.com/microsoft/winget-pkgs/pull/66783
https://github.com/microsoft/winget-pkgs/pull/66832
https://github.com/microsoft/winget-pkgs/pull/66833
https://github.com/microsoft/winget-pkgs/pull/66834
https://github.com/microsoft/winget-pkgs/pull/66835
https://github.com/microsoft/winget-pkgs/pull/66836
https://github.com/microsoft/winget-pkgs/pull/66837
https://github.com/microsoft/winget-pkgs/pull/66838
https://github.com/microsoft/winget-pkgs/pull/66839
https://github.com/microsoft/winget-pkgs/pull/66840
https://github.com/microsoft/winget-pkgs/pull/66841

Removes:

https://github.com/microsoft/winget-pkgs/pull/66754
https://github.com/microsoft/winget-pkgs/pull/66755
https://github.com/microsoft/winget-pkgs/pull/66756
https://github.com/microsoft/winget-pkgs/pull/66761
https://github.com/microsoft/winget-pkgs/pull/66762
https://github.com/microsoft/winget-pkgs/pull/66763
https://github.com/microsoft/winget-pkgs/pull/66776
https://github.com/microsoft/winget-pkgs/pull/66777
https://github.com/microsoft/winget-pkgs/pull/66778

Could one of you geniuses run the Add-ARPEntries script over the new manifests? I don't use Hyper-V so i'm kinda left out :(

I've got the Add-ARPEntries script set up so I'll work through those manifests and add the ARP entries

All ARP entries for both RubyInstallerTeam.Ruby and RubyInstallerTeam.RubyWithDevKit have been added :)


Refactor docs to follow diataxis concept

From the refactor it's quite clear we're missing tutorials, and some API documentation. I also noticed slight overlaps between usage/model concepts.
I didn't write new documentation, only moved pages/paragraphs around and fixed the links I could find. Furthermore, I copied the README.md (but removing the prototype sentence) to serve as a documentation intro, making it slightly like the quarto website itself, as I found the current homepage quite dry.
This will incur merge conflicts for any documentation PR, so I say we merge this quickly, and create new documentation in subsequent PRs.

@visr I've incorporated your comments. Note that home image now links to our assets: . You can see the url if you edit the/this post. The private url is generated on the fly from it. In Quarto(-preview) markdown, it seems the redirect isn't followed (it is here though), so I put it in html tags to be sure.


cmd/cue: incomplete value from default

What version of CUE are you using (cue version)?

$ cue version
cue version +409dacf linux/amd64

Does this issue reproduce with the latest release?
Yes
What did you do?
package x

#Guide: {
	x: Steps.scenario_a.step1
	y: *Steps.scenario_a.step1 | #Step

	Steps: scenario_a: step1: *Steps.step1 | #Step

	Steps: step1: #Step
}

#Step: {
	Age: int
}

g: #Guide & {
	Steps: step1: #Step & {
		Age: 5
	}
	Steps: scenario_a: step1: #Step & {
		Age: 4
	}
}

Then:
$ cue eval --out json

What did you expect to see?
{
    "g": {
        "x": {
            "Age": 4
        },
        "y": {
            "Age": 4
        },
        "Steps": {
            "scenario_a": {
                "step1": {
                    "Age": 4
                }
            },
            "step1": {
                "Age": 5
            }
        }
    }
}

What did you see instead?
g.y: incomplete value {Age:4} | {Age:int}

Removing the Steps field (i.e. shifting everything "up" one level) does not cause the problem to manifest.
Marking as a "new evaluator" issue for now.

This is correct behavior:

a reference does not itself resolve a disjunction (a reference may be a reference to a type, after all)
also from the M2 and D1 disjunction rules in the spec, you can see that both remaining values are tagged as default, so the remaining value is indeed ambiguous.

This is ultimately the result that there can be only one level of default. There may be useful to have a builtin that can at least pick a default during evaluation. Or maybe defaults should actually resolve upon reference. The idea of not doing so was that one can refer to a type that has a default as well. But maybe this is more confusing than not in practice and it seems bad practice anyway.

Or maybe defaults should actually resolve upon reference.

Would this then mean that there can be multiple levels of defaults?

Would this then mean that there can be multiple levels of defaults?

No that would still not mean that. It would even mean there is less possibility to propagate defaults than there is now.

This issue has been migrated to https://github.com/cue-lang/cue/issues/577.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


Making send button inline with edit buttons

I love the new send icon but I still feel that two button stacked above each other has abit of a tight feel (Send + 1 of the bar buttons)
I know slack has the send button on inline with the bar items.
Heres a quick render of the concept.

Considering the actions scroll, how would we render the rest of them? Maybe a gradient on the right and fix the send button?
I’m pretty open to this idea. The send button and manage button are too much visual clutter to me
Sent with GitHawk

Yes a gradient was what I was thinking would look great!
Sent with GitHawk

Ok I’m sold
Sent with GitHawk

Yes! As much as I’d love to help with this one I’m not sure I could do it justice. I looked into it and seems like it will require a bit of restructure change In MessageViewController.
Just out of curiosity, MVC doesn’t have the edit bar below it that’s added in GitHawk itself right?
Sent with GitHawk

It doesn’t, but I’ve got some ideas to unblock this one! Shouldn’t be an issue.
Sent with GitHawk

Sent with GitHawk


Setting player.currentTime on mobile Safari 11 (iOS)

Expected behaviour
Setting player.currentTime after the ready event sets the time at the appropriate position (an arbitrary point in the video).
Actual behaviour
Only on iOS, the video plays from the start instead of the specified position.
Environment

Browser: Mobile Safari
Version: 11
Operating System: iOS
Version: 11.2

Steps to reproduce

Initialize Plyr on a video element
Set up an event listener for the ready event
Set player.currentTime to a new time after the ready event has fired

I found a workaround by listening for the playing event, setting player.currentTime, and then removing the event listener. However I'm not sure if this behavior is expected on iOS, or if it's even possible to accomplish.
PS. thanks for the great player, it's a breeze to work with and the new version looks amazing!

@devedge have you found any other solutions? seem to be seeing the same issue as well, so thanks for the workaround 👍

Has there been any progress on a fix for this problem?
@devedge might you be able to detail how exactly you got your workaround to work? It would be a gigantic help. I can't seem to get this to work.

+1

Try to set the current time after loadeddata event (https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/loadeddata_event) has been fired.

Thanks James!
On Sun, Sep 13, 2020 at 8:01 AM James J. Ye<EMAIL_ADDRESS>wrote:

Try to set the current time after loadeddata event (
https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/loadeddata_event)
has been fired.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sampotts/plyr/issues/857#issuecomment-691682303, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABWNRSGAGKQ5XO74VYKSBSTSFTNC7ANCNFSM4EYRDC5Q
.

--
Communications: contact our Publicist, Brianna Vacca, at<EMAIL_ADDRESS>Follow us:
http://twitter.com/mxdwn
Raymond Flotat
Editor-in-Chief
mxdwn.com
e<EMAIL_ADDRESS>p:<PHONE_NUMBER>
w: http://www.mxdwn.com


Code comments

name: Pull request template
about: GenderMag Recorders Assistant project

What does this implementation fix? Explain your changes.
added comments

Does this close any open issue? (Give issue id from issue tracker)
no.

Include any related logs, error, output file etc.

Did you test on Mac and Windows?

Did you test the full GM process and verify that the code does not contribute any unexpected errors/bugs?

If possible, provide a screenshot of the functionality.

Any other information?

Did this get merged? Or closed because not relevant anymore?

Closed because not relevant. I meant to merge it with a fork of the repository.


Enabling concurrency will make job.update() or job.save() triggers job processing twice

I have the following code
var queue = kue.createQueue();

queue.process('myjob', 4, processMyJob);

function processMyJob(job, done) {
    console.log('processMyJob');
    // do some process
    done();
}

function testJobs() {
    var job = queue.create('myjob', { name: 'test' });
    // job.update does the same
    job.save(function jobSaved(err) {
        // do something
        job.data.jobid = job.id;
        job.save();
    });
}
testJobs()

This will execute processMyJob twice even though it only creates one job.
I need to either save / update my job id into its data field to be used later.
It works fine if no concurrency option is on.
it looks like redis sends the job to getJob twice

well I just realised this is not in the scope of the 'update job' feature as the job did not enter process worker yet.

you can call update instead of save when updating a job
I can't see why you are putting job.id inside data! When you have job.data should should also have job.id
Is your problem cleared now? Or yet it exists?

Yes you are right. but update still triggers the same
Well, that was one of the legacy code I had which I just need to process job.id in worker.
It is cleared with workaround but I think the point of the issues was update job object before processing

That does not sound like a real use case. will close it


Raise LeaderNotAvailable Error when get topic

Traceback (most recent call last):
  File "/Users/allen/.virtualenvs/roommgr/lib/python2.7/site-packages/eventhub/eventhub.py", line 61, in get_consumer
    tp = self._kafkaclient.topics[topic]
  File "/Users/allen/.virtualenvs/roommgr/lib/python2.7/site-packages/pykafka/cluster.py", line 57, in __getitem__
    topic = Topic(self._cluster(), meta.topics[key])
  File "/Users/allen/.virtualenvs/roommgr/lib/python2.7/site-packages/pykafka/topic.py", line 52, in __init__
    self.update(topic_metadata)
  File "/Users/allen/.virtualenvs/roommgr/lib/python2.7/site-packages/pykafka/topic.py", line 150, in update
    raise LeaderNotAvailable()
pykafka.exceptions.LeaderNotAvailable
[1]    70054 segmentation fault  python roomonline.py

I have 3 brokers, and they are running without ERROR logs. The error message is logged directly to STDERR，and then the process quits for segmentation fault.

@xqliang What is the command you are running?  Check out your Kafka topic status by running the built in kafka tool bin/kafka-topics.sh --describe.  My guess is that the topic you are looking at has lost its leader because there is some trouble with one of your brokers.

@xqliang I'm not sure which command you're running, but this error is expected if you start a consumer or producer when there are not enough brokers alive in the cluster to satisfy the replication factor for the topic you're using.

@jasonrhaas Here is the describing result:
$ ./bin/kafka-topics.sh --describe --zookeeper <IP_ADDRESS>:2181 --topic dispatch_1025_33
Topic:dispatch_1025_33  PartitionCount:1        ReplicationFactor:1     Configs:
        Topic: dispatch_1025_33 Partition: 0    Leader: 2       Replicas: 2     Isr: 2

The console consumer is ok:
$ ./bin/kafka-console-consumer.sh --zookeeper <IP_ADDRESS>:2181 --topic dispatch_1025_33 --from-beginning
!?C
!?C
^CConsumed 2 messages

The zookeeper info:
[zk: <IP_ADDRESS>:2181(CONNECTED) 24] ls /brokers/ids
[2, 1, 0]

[zk: <IP_ADDRESS>:2181(CONNECTED) 22] get /controller
{"version":1,"brokerid":1,"timestamp":"1447038499256"}
cZxid = 0x990004e1d6
ctime = Mon Nov 09 11:08:19 CST 2015
mZxid = 0x990004e1d6
mtime = Mon Nov 09 11:08:19 CST 2015
pZxid = 0x990004e1d6
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x3504a56735e05b5
dataLength = 54
numChildren = 0

[zk: <IP_ADDRESS>:2181(CONNECTED) 40] get /brokers/ids/0
{"jmx_port":-1,"timestamp":"1447038342442","host":"<IP_ADDRESS>","version":1,"port":19092}
cZxid = 0x990004e16d
ctime = Mon Nov 09 11:08:16 CST 2015
mZxid = 0x990004e16d
mtime = Mon Nov 09 11:08:16 CST 2015
pZxid = 0x990004e16d
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x2504a5672e5058f
dataLength = 93
numChildren = 0

[zk: <IP_ADDRESS>:2181(CONNECTED) 38] get /brokers/ids/1
{"jmx_port":-1,"timestamp":"1447038502528","host":"<IP_ADDRESS>","version":1,"port":19093}
cZxid = 0x990004e24a
ctime = Mon Nov 09 11:08:22 CST 2015
mZxid = 0x990004e24a
mtime = Mon Nov 09 11:08:22 CST 2015
pZxid = 0x990004e24a
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x3504a56735e05b5
dataLength = 93
numChildren = 0

[zk: <IP_ADDRESS>:2181(CONNECTED) 39] get /brokers/ids/2
{"jmx_port":-1,"timestamp":"1447097560166","host":"<IP_ADDRESS>","version":1,"port":19094}
cZxid = 0x9a00000003
ctime = Tue Nov 10 03:32:43 CST 2015
mZxid = 0x9a00000003
mtime = Tue Nov 10 03:32:43 CST 2015
pZxid = 0x9a00000003
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x250edbc78a70000
dataLength = 93
numChildren = 0

The logs from kafka-server[0,1].stdout:
==> logs/kafka-server1.stdout <==
[2015-11-11 13:05:33,928] INFO conflict in /brokers/ids/1 data: {"jmx_port":-1,"timestamp":"1447038502597","host":"<IP_ADDRESS>","version":1,"port":19093} stored data: {"jmx_port":-1,"timestamp":"1447038502528","host":"192.168.22
9.153","version":1,"port":19093} (kafka.utils.ZkUtils$)
[2015-11-11 13:05:33,931] INFO I wrote this conflicted ephemeral node [{"jmx_port":-1,"timestamp":"1447038502597","host":"<IP_ADDRESS>","version":1,"port":19093}] at /brokers/ids/1 a while back in a different session, hence I wil
l backoff for this node to be deleted by Zookeeper and retry (kafka.utils.ZkUtils$)
[2015-11-11 13:05:37,268] INFO Partition [__consumer_offsets,18] on broker 1: Shrinking ISR for partition [__consumer_offsets,18] from 1,2,0 to 1,0 (kafka.cluster.Partition)
[2015-11-11 13:05:37,301] INFO Partition [__consumer_offsets,18] on broker 1: Cached zkVersion [31] not equal to that in zookeeper, skip updating ISR (kafka.cluster.Partition)
[2015-11-11 13:05:37,301] INFO Partition [__consumer_offsets,30] on broker 1: Shrinking ISR for partition [__consumer_offsets,30] from 1,2,0 to 1,0 (kafka.cluster.Partition)
......

==> logs/kafka-server0.stdout <==
[2015-11-11 13:05:33,951] INFO conflict in /brokers/ids/0 data: {"jmx_port":-1,"timestamp":"1447038496429","host":"<IP_ADDRESS>","version":1,"port":19092} stored data: {"jmx_port":-1,"timestamp":"1447038342442","host":"192.168.22
9.153","version":1,"port":19092} (kafka.utils.ZkUtils$)
[2015-11-11 13:05:33,953] INFO Partition [__consumer_offsets,5] on broker 0: Cached zkVersion [18] not equal to that in zookeeper, skip updating ISR (kafka.cluster.Partition)
[2015-11-11 13:05:33,953] INFO Partition [__consumer_offsets,37] on broker 0: Expanding ISR for partition [__consumer_offsets,37] from 0 to 0,1 (kafka.cluster.Partition)
[2015-11-11 13:05:33,954] INFO I wrote this conflicted ephemeral node [{"jmx_port":-1,"timestamp":"1447038496429","host":"<IP_ADDRESS>","version":1,"port":19092}] at /brokers/ids/0 a while back in a different session, hence I wil
l backoff for this node to be deleted by Zookeeper and retry (kafka.utils.ZkUtils$)
[2015-11-11 13:05:33,970] INFO Partition [__consumer_offsets,37] on broker 0: Cached zkVersion [14] not equal to that in zookeeper, skip updating ISR (kafka.cluster.Partition)
[2015-11-11 13:05:33,970] INFO Partition [__consumer_offsets,11] on broker 0: Expanding ISR for partition [__consumer_offsets,11] from 0 to 0,1 (kafka.cluster.Partition)
......

It looks like metadata is out of sync between in brokers, may be a kafka bug fixed in 0.9.
I try to init consumer only with broker 2(<IP_ADDRESS>:19094), and the LeaderNotAvailable error is gone. That is to say, pykafka can retry all given brokers to get the right metadata (rather than raise LeaderNotAvailable) when brokers are out of sync.

Thanks for the thorough job gathering information @xqliang - I think your analysis is spot-on. If we'd retry our metadata fetch when hitting LeaderNotAvailable that would make a lot of sense, and we should then probably pick a random broker to query in Cluster._get_metadata().

I've opened PR #358 to make topic creation a bit more resilient against this type of failure. @xqliang if you'd like to  test the branch and give feedback, please feel free.

Sorry @emmett9001 , I'm kind of busy these days, and forgot this. After I totally restart all Kafka brokers, I can not reproduce this error.


⚠ BeyondHD has degraded performance

In 3b84d4d, BeyondHD ($BHD) experienced degraded performance:

HTTP code: 200
Response time: 1195 ms

Resolved: BeyondHD performance has improved in f042856 after 12 minutes.


Only the text part is clickable on [I'm looking for someone] button etc.

The whole button should be clickable.
e.g., On:
https://google.org/personfinder/japan

Looks like you still haven't set your git command email address?

Thanks! LGTM. Merged.


#2341: Accept default argument value when args lenght equal 1

Fix issue https://github.com/pallets/flask/issues/2341

Good catch, this makes sense. Thanks!


all Miota disappeared from my wallet

Issue description
My wallet was stolen
Briefly describe the issue.
I have checked my wallet (trinity) and saw that  all the MIOTA that I owned was transfered to an unknown wallet  on 14 of June

Wallet version
Which version of wallet are you using?

wallet version (version number, commit, or branch):

Trinity wallet. Version v1.6.2
System specification
What is your operating system?
windows 10
Mac/Win/Linux (+Version and or Distro if possible)
Is it a repeatable issue?
Yes
Steps To reproduce the issue
Explain how the maintainer can reproduce the issue.

Detect the infringement
Return all the MIOTA or compensate it.

Expected behaviour
Only me can access to my wallet and manage my coins
Actual behaviour
Someone else could transfer all my coins to an unknow wallet
Errors
Paste any errors that you see from the Error Log in the Firefly menu or share screenshots of the issue.

Did you do the migration of your tokens? Because it seems all your tokens have been migrated to the new network.

ok, you are right. All the tokens were migrated to the new network, that´s why I couldn´t see it. Now I can see all the balance in firefly


crypto: replace ed25519-dalek with ed25519-consensus

https://github.com/MystenLabs/narwhal/issues/535

Thanks @joyqvq ! This looks good, I just have 3 questions:

Is this change sufficient to fix #544 as well?
Can we write one negative test for invalid EdDSA serialization? The full issue is #500, no need to solve it, I just want to see a non-regression on the unit test you fix: you fix the code, I would like to see the non-fixed code fail.
We should open an issue to inspect our now pervasive use of OnceCell in key/signature material and make sure it complies with serde best practices.

yes - although i only touched ed25519 files to keep the scope for review, will follow up a diff to upgrade rand across the board and eliminate the workaround
👍 good point, test added, will pick up full issue next
opened


An experimental workaround to temporarily fix seed 8 fuzz test of Dir…

AB#6044
This draft PR shows a workaround to resolve the failed fuzz test of seed 8, unfortunately, it is not a comprehensive solution and it will result in some other failures. The following is an explanation and summary of the problems exposed from the seed 8, hopefully it will be helpful for the subsequent investigation.
containerRuntime3.connect()
containerRuntime3.disconnect()
directory3.deleteSubdirectory("dir1")
containerRuntime3.connect()
containerRuntime3.disconnect()
directory3.createSubdirectory("dir1")
containerRuntime3.rebase()
synchronize() // it includes flush() and processAllMessages

The prerequisite knowledge is: there exist two structures to hold the local messages when we enable the group batching: pendingMesages and outbox. From the above code snippet, the expected order for directory3 is to delete dir1 first and then create dir1.
Based on my observation, when directory3 delete dir1 (in disconnected state), the message deleteSubdirectory("dir1") is inserted to the pendingMessages. When container3 switch its state to connected, it needs to resubmit all pending mesages. However, now it will follow the submit logic of connected state, so it will move the message deleteSubdirectory("dir1") from the pendingMessages to the outbox.
Next, container3 is disconnected again, then directory3 creates dir1, the message createSubdirectory("dir1") is sffrf to the pendingMessages. However, when container3 rebase(), the message deleteSubdirectory("dir1")int outbox needed to be resubmitted againj, which indicates that this message will be moved from the outbox back to the pendingMessages, but now positioned after the message createSubdirectory("dir1")!
Consequently, other clients will process the messages in the order createSubdirectory("dir1") => deleteSubdirectory("dir1"), causing dir1 to disappear in other clients' views while persisting in directory3 locally, resulting in a conflict.

@andre4i @clarenceli-msft Without looking to deep, would the appropriate fix be something I did for the normal ContainerRuntime a bit ago? https://github.com/microsoft/FluidFramework/pull/16579


ENH: allow workflow for blocker PRs

E.g. release blocker PRs could be manually milestones while  in the PR phase, the action should leave these alone.

Implemented in 0eed2486845efe6c78764ac79b791bc34c89c5f1, and will be available in the 0.3 release.


Update Rich Presence status on discord restart/re-connection

Currently if we launch the application first, call update presence the update presence request is queued till discord is launched. As discord is launched and user logs in, the queued rich presence status is being updated correctly in discord.
Now if we again restart the discord while application is launched, the queued rich presence status is not updated again in discord.
It would be nice, if we can fix the same in SDK, where queued update presence can be sent to discord on re-connection till the update presence is either cleared or discord shutdown is called.

This seems like perhaps a side-effect of us doing Rich Presence game detection by socket connection instead of previous PID detection.
I think (?) that the IPC/RPC socket restarts in Discord when you refresh. And while the SDK reconnects, we've cleared your past presence since a disconnect happened, and you haven't sent a new one yet.
@night could you confirm if I've got the right idea here?


user12986714: Watch betvest

user12986714 requests the watch of the watch_keyword betvest. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

betvest has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Rejected by Daniil in Charcoal HQ. Reason: 'This should be changed to betvest(?!.net). The (?!.net) is a 'negative lookahead', meaning it will only match 'betvest' if it doesn't contain '.net' after it. This is necessary/useful as I have just watched the domain 'betvest.net' so we don't want multiple RegEx's matching the same turn. If left as is, the regex would match the 'betvest' part of 'betvest.net'.'


Arena kage

The Arena Kage is here!

LOL what's the context behind this one?

Lmao because I always joke about becoming the Arenakage over at the
Underground Colosseum because I've been there for literal months now and
haven't left
On Wed, Sep 27, 2023, 10:54 PM Levi Meahan @.***> wrote:

LOL what's the context behind this one?
—
Reply to this email directly, view it on GitHub
https://github.com/elementum-games/shinobi-chronicles/pull/435#issuecomment-1738395989,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5BFKZWEF3NDVWXUITI5DK3X4TYI7ANCNFSM6AAAAAA5IKKAKA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Lmao because I always joke about becoming Arenakage over at the Underground Colosseum because I've literally been there for months now without leaving.

LMAO let's do it


ENH: Add std style reverse iterators to FixedArray

Added Standard C++ Library (std) style reverse iterators to FixedArray.
Suggested by Pablo @phcerdan

For the record, The new reverse iterators proposed by this pull request can be passed to an std algorithm, while the old FixedArray reverse iterators (returned by rBegin() and rEnd()) might then get a compilation error:
itk::FixedArray<int, 3> fixedArray1{};
itk::FixedArray<int, 3> fixedArray2{};

std::copy(fixedArray1.rbegin(), fixedArray1.rend(),
  fixedArray2.rbegin()); // OK: using the new reverse iterators
std::copy(fixedArray1.rBegin(), fixedArray1.rEnd(),
  fixedArray2.rBegin()); // Error: using the old reverse iterators

std::sort(fixedArray1.rbegin(), fixedArray2.rend()); // OK
std::sort(fixedArray1.rBegin(), fixedArray2.rEnd()); // Error

nice testing!

nice testing!

Thanks Bradley. Honestly I found the tests harder to write than the rbegin() and rend() functions themselves! But I think they are OK now  :-)


mask fails to update existing missing values when missingval is set

It seems that when mask is called with the missingval keyword set to a new value, it fails to update the existing missing values in the masked array. For example:
julia> a = Raster([1.0 0.0; 1.0 1.0], dims=(X, Y), missingval=0);

julia> b = Raster([1.0 1.0; 1.0 0.0], dims=(X, Y), missingval=0);

julia> mask(a, with=b, missingval=5.0)
2×2 Raster{Float64,2} with dimensions: X, Y
extent: Extent(X = (1, 2), Y = (1, 2))
missingval: 5.0
parent:
 1.0  0.0
 1.0  5.0

We can see that the top-right value is now considered non-missing. I think it's fair to say that this behaviour would be unexpected for most users.
I propose the following solution:
function _mask!(A::RasterStack, with::AbstractRaster; kw...)
    return _mask!(A, boolmask(with); kw...)
end

 function _mask!(A::AbstractRaster, with::AbstractRaster{Bool}; missingval=missingval(A), values=A)
    missingval isa Nothing && _nomissingerror()
    missingval = convert(eltype(A), missingval)

    # Add missing values of A to the mask if the missingval has changed
    bmask = missingval != Rasters.missingval(A) ? boolmask(A) .&& with : with

    broadcast_dims!(A, values, bmask) do x, w
        if isequal(w, Rasters.missingval(bmask))
            missingval
        else
            convert(eltype(A), x)
        end
    end
    return A
end

This solution should cause no changes when missingval is either unspecified or set to the same value. Otherwise, we add the missing values from A to the mask before masking. Because mask relies on _mask!, this should fix the problem for both mask and mask!.

That makes sense to me.

boolmask! seems to be giving me unexpected results. In particular, it sets missing values to non-missing in the dest array.
julia> with = boolmask(b)
2×2 Raster{Bool,2} with dimensions: X, Y
extent: Extent(X = (1, 2), Y = (1, 2))
missingval: false
parent:
 1  1
 1  0

julia> Rasters.boolmask!(with, a)
2×2 Raster{Bool,2} with dimensions: X, Y
extent: Extent(X = (1, 2), Y = (1, 2))
missingval: false
parent:
 1  0
 1  1

If I understand this correctly, it looks like boolmask! simply sets a value in dest to false if it's missing in src, and true otherwise, even if it's missing in dest. Is this intentional?
function boolmask!(dest::AbstractRaster, src::AbstractRaster; missingval=_missingval_or_missing(src))
    broadcast_dims!(dest, src) do a
        !isequal(a, missingval)
    end
end

I think this solution would work as well and has the advantage of avoiding additional allocations:
function _mask!(A::AbstractRaster, with::AbstractRaster; missingval=missingval(A), values=A)
    missingval isa Nothing && _nomissingerror()
    missingval = convert(eltype(A), missingval)

    broadcast_dims!(A, values, with) do x, w
        if isequal(w, Rasters.missingval(with)) || isequal(x, Rasters.missingval(values))
            missingval
        else
            convert(eltype(A), x)
        end
    end
    return A
end

Oh right yes that is intentional for boolmask to work.
Yes was going to say you could just do the broadcast manually its so little code.

Cool, I'll open a PR with the proposed changes and additional test cases.