python312Packages.numpyro: 0.15.2 -> 0.15.3

Description of changes
Changelog: Changelog: https://github.com/pyro-ppl/numpyro/releases/tag/0.15.3

python312Packages.numpyro: 0.15.2 -> 0.15.3
python312Packages.numpyro: use pytest-xdist to speed up testing
python312Packages.numpyro: switch to fetchFromGitHub

cc @fabaff

Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

2 packages marked as broken and skipped:

python311Packages.bambi
python311Packages.bambi.dist

16 packages built:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.corner
python311Packages.corner.dist
python311Packages.flowmc
python311Packages.flowmc.dist
python311Packages.numpyro
python311Packages.numpyro.dist
python311Packages.pymc
python311Packages.pymc.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist
python312Packages.numpyro
python312Packages.numpyro.dist

Result of nixpkgs-review pr 342734 run on x86_64-darwin 1

16 packages marked as broken and skipped:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.bambi
python311Packages.bambi.dist
python311Packages.corner
python311Packages.corner.dist
python311Packages.numpyro
python311Packages.numpyro.dist
python311Packages.pymc
python311Packages.pymc.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist
python312Packages.numpyro
python312Packages.numpyro.dist

Result of nixpkgs-review pr 342734 run on aarch64-linux 1

2 packages marked as broken and skipped:

python311Packages.bambi
python311Packages.bambi.dist

14 packages built:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.corner
python311Packages.corner.dist
python311Packages.numpyro
python311Packages.numpyro.dist
python311Packages.pymc
python311Packages.pymc.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist
python312Packages.numpyro
python312Packages.numpyro.dist

Result of nixpkgs-review pr 342734 run on aarch64-darwin 1

6 packages marked as broken and skipped:

python311Packages.bambi
python311Packages.bambi.dist
python311Packages.flowmc
python311Packages.flowmc.dist
python311Packages.pymc
python311Packages.pymc.dist

12 packages failed to build:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.corner
python311Packages.corner.dist
python311Packages.numpyro
python311Packages.numpyro.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist
python312Packages.numpyro
python312Packages.numpyro.dist

Result of nixpkgs-review pr 342734 run on aarch64-linux 1

2 packages marked as broken and skipped:

python311Packages.bambi
python311Packages.bambi.dist

14 packages built:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.corner
python311Packages.corner.dist
python311Packages.numpyro
python311Packages.numpyro.dist
python311Packages.pymc
python311Packages.pymc.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist
python312Packages.numpyro
python312Packages.numpyro.dist

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

2 packages marked as broken and skipped:

python311Packages.bambi
python311Packages.bambi.dist

16 packages built:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.corner
python311Packages.corner.dist
python311Packages.flowmc
python311Packages.flowmc.dist
python311Packages.numpyro
python311Packages.numpyro.dist
python311Packages.pymc
python311Packages.pymc.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist
python312Packages.numpyro
python312Packages.numpyro.dist

Result of nixpkgs-review pr 342734 run on aarch64-darwin 1

6 packages marked as broken and skipped:

python311Packages.bambi
python311Packages.bambi.dist
python311Packages.flowmc
python311Packages.flowmc.dist
python311Packages.pymc
python311Packages.pymc.dist

8 packages failed to build:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.corner
python311Packages.corner.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist

4 packages built:

python311Packages.numpyro
python311Packages.numpyro.dist
python312Packages.numpyro
python312Packages.numpyro.dist

@ofborg build python312Packages.arviz python311Packages.arviz

arviz fails on aarch64-darwin fails on aarch64-darwin by segfaulting during tests.
This is not a regression. When forcing the rebuild on master it does the same.
So I guess that it has somehow been built successfully on hydra and cached since then.

In terms of perf ? Quite a lot actually. I can do a little benchmark if you wish.

well, there doesn't seem to be a pattern to the flakyness, so i'd consider disabling xdist

nixpkgs-review result
Generated using nixpkgs-review

Command: nixpkgs-review pr 342734
Systems: aarch64-linux,x86_64-darwin,aarch64-darwin,x86_64-linux

aarch64-linux

:fast_forward: 2 packages marked as broken and skipped:

python311Packages.bambi
python311Packages.bambi.dist

:white_check_mark: 14 packages built:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.corner
python311Packages.corner.dist
python311Packages.numpyro
python311Packages.numpyro.dist
python311Packages.pymc
python311Packages.pymc.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist
python312Packages.numpyro
python312Packages.numpyro.dist

x86_64-darwin

:fast_forward: 16 packages marked as broken and skipped:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.bambi
python311Packages.bambi.dist
python311Packages.corner
python311Packages.corner.dist
python311Packages.numpyro
python311Packages.numpyro.dist
python311Packages.pymc
python311Packages.pymc.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist
python312Packages.numpyro
python312Packages.numpyro.dist

aarch64-darwin

:fast_forward: 6 packages marked as broken and skipped:

python311Packages.bambi
python311Packages.bambi.dist
python311Packages.flowmc
python311Packages.flowmc.dist
python311Packages.pymc
python311Packages.pymc.dist

:x: 8 packages failed to build:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.corner
python311Packages.corner.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist

:white_check_mark: 4 packages built:

python311Packages.numpyro
python311Packages.numpyro.dist
python312Packages.numpyro
python312Packages.numpyro.dist

x86_64-linux

:fast_forward: 2 packages marked as broken and skipped:

python311Packages.bambi
python311Packages.bambi.dist

:white_check_mark: 16 packages built:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.corner
python311Packages.corner.dist
python311Packages.flowmc
python311Packages.flowmc.dist
python311Packages.numpyro
python311Packages.numpyro.dist
python311Packages.pymc
python311Packages.pymc.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist
python312Packages.numpyro
python312Packages.numpyro.dist

well, there doesn't seem to be a pattern to the flakyness, so i'd consider disabling xdist

Sure, I have removed it.

nixpkgs-review result
Generated using nixpkgs-review.

Command: nixpkgs-review pr 342734
Systems: x86_64-linux,aarch64-linux,x86_64-darwin,aarch64-darwin

x86_64-linux

:fast_forward: 2 packages marked as broken and skipped:

python311Packages.bambi
python311Packages.bambi.dist

:white_check_mark: 16 packages built:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.corner
python311Packages.corner.dist
python311Packages.flowmc
python311Packages.flowmc.dist
python311Packages.numpyro
python311Packages.numpyro.dist
python311Packages.pymc
python311Packages.pymc.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist
python312Packages.numpyro
python312Packages.numpyro.dist

aarch64-linux

:fast_forward: 2 packages marked as broken and skipped:

python311Packages.bambi
python311Packages.bambi.dist

:white_check_mark: 14 packages built:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.corner
python311Packages.corner.dist
python311Packages.numpyro
python311Packages.numpyro.dist
python311Packages.pymc
python311Packages.pymc.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist
python312Packages.numpyro
python312Packages.numpyro.dist

x86_64-darwin

:fast_forward: 16 packages marked as broken and skipped:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.bambi
python311Packages.bambi.dist
python311Packages.corner
python311Packages.corner.dist
python311Packages.numpyro
python311Packages.numpyro.dist
python311Packages.pymc
python311Packages.pymc.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist
python312Packages.numpyro
python312Packages.numpyro.dist

aarch64-darwin

:fast_forward: 6 packages marked as broken and skipped:

python311Packages.bambi
python311Packages.bambi.dist
python311Packages.flowmc
python311Packages.flowmc.dist
python311Packages.pymc
python311Packages.pymc.dist

:x: 8 packages failed to build:

python311Packages.arviz
python311Packages.arviz.dist
python311Packages.corner
python311Packages.corner.dist
python312Packages.arviz
python312Packages.arviz.dist
python312Packages.corner
python312Packages.corner.dist

:white_check_mark: 4 packages built:

python311Packages.numpyro
python311Packages.numpyro.dist
python312Packages.numpyro
python312Packages.numpyro.dist


INFO - Seaport 1.5 Deploy on Astar

Hi,
I'm looking to deploy Seaport 1.5 on Astar network.
I took a look at the docs here ( https://github.com/ProjectOpenSea/seaport/blob/main/docs/Deployment.md ) and are clear.
The only thing that I noticed is that, on Astar, some addresses are already took by some EVM accounts, like the conduit address ( https://astar.subscan.io/account/0x00000000F9490004C11Cef243f5400493c00Ad63 ).
What is the best way to move Seaport there, to avoid mistakes ?
Thanks.

Not very familiar with Astar, but what are you seeing that indicates it was taken? Not seeing any transactions (even though the nonce is apparently at 2 already). If it's following regular EVM rules, something else wouldn't be able to take the conduit's address

Hey @montasaurus I was able to find some other infos on another blockscan and I noticed that the conduit controller seems already deployed there ( https://blockscout.com/astar/address/0x00000000F9490004C11Cef243f5400493c00Ad63/internal-transactions#address-tabs ).
Took me sometime, I'll eventually update you.
Thanks

Any update on this, I  facing same issue on pulsechain addresses are already there, I am able to list an NFT , but not able to buy,
Getting error


bibletime: 2.11.2 -> 3.0

Motivation for this change
Update to the newest version
Things done
Bump version & fix build

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Added a release notes entry if the change is major or breaking
[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 125162 at 7c285ec8 run on x86_64-linux 1

1 package built successfully:

bibletime

2 suggestions:

warning: build-tools-in-build-inputs
docbook_xml_dtd_45 is a build tool so it likely goes to nativeBuildInputs, not buildInputs.
Near pkgs/applications/misc/bibletime/default.nix:18:3:
   |
18 |   buildInputs = [
   |   ^

warning: unclear-gpl
gpl2 is a deprecated license, please check if project uses gpl2Plus or gpl2Only and change meta.license accordingly.
Near pkgs/applications/misc/bibletime/default.nix:48:5:
   |
48 |     license = lib.licenses.gpl2;
   |     ^


Panoptic GT labels for 1/10 points

Hi Junsong,
Thanks for your good job: "Pointly-Supervised Panoptic Segmentation". I'm interested in it and want to have a try. However, I encounter an issue that I don't have point gt panoptic labels,  "panoptic_train2017_10pnt/1pnt_uniform_dynamic" and "voc_panoptic_train_aug_1pnt_uniform", for COCO2017 and VOC, respectively. Could you please directly provide them for me or provide a script that can generate them myself for me?
Best regards,

Hi, thanks a lot for your interest!
Please check the generated labels used in the paper in this link. I translated the VOC label format into the COCO style, so the validation gt masks are also provided for convenience. Good luck!

Thank you very much for your sharing! I will close this issue later.


Add JMS connection close methods for JMS connector

Description:
We need to have methods equivalent to what is provided by JMS API of Java in Ballerina.
queueSender.close()
queueSession.close()
queueConnection.close()

Closing this issue. Since we moved JMS module to https://github.com/wso2-ballerina/module-jms repository.
Please refer wso2-ballerina/module-jms#15 to get latest updates of this issue


Added EKS-D 1.27

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@ahreehong is handling this one


fixed archived page to be scrollable

So Luke already fixed the padding problem, so I'm gonna just merge this into master and let his changes override mine.


Add a stress testing methods for streams

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/spark-streaming-df-test/31/
Test FAILed.

Merged build finished. Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/spark-streaming-df-test/32/
Test PASSed.

Merged build finished. Test PASSed.


Question on using DbContext pooling in a multi-tenant application

In Performance notes section of this document you say:

If this approach is impacting the performance of your application, consider using DbContext pooling.

The problem is when working with multi-tenant you a likely have a different connection string on every instance of the creation of the database. Won't DbContext pooling cause a problem in this case, or have you got a work around in the case of the connection string chancing?

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

ID: bb29a2b6-c401-287f-2da9-1aeb3c633b41
Version Independent ID: bb29a2b6-c401-287f-2da9-1aeb3c633b41
Content: Multi-tenancy - EF Core
Content Source: entity-framework/core/miscellaneous/multitenancy.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @JeremyLikness
Microsoft Alias: jeliknes

You'd probably be interested in this section, which explains how to do context pooling with tenant IDs (without changing the connection string per tenant).
If you're changing connection strings per tenant, you should still be able to change the connection string on the pooled context before returning it from the factory (just like the tenant ID is changed in the sample I linked to). Do you see any particular issue with that?

Hi @roji,
I hadn't seen that approach before and I hadn't seen IDbContextFactory<DbContext> before. From looking at that the IDbContextFactory<T> returns a pooled instance, which you then alter the instance by setting the TenantId (or in my case using SetConnectionString to change the connection string). Have I understood that correctly?

Yep, that's pretty much it. The scoped IDbContextFactory is just a place where we can apply some scoped information (the tenant ID) before returning the pooled context instance to the user.

Thanks @roji . Another learning opportunity.


[main] Update community files

Cron -knative-prow-robot
Produced by: knative-sandbox/knobots/actions/update-community
Details:

/approve
/lgtm


[PROPOSAL]: refactor core API of Engine

Proposal
Motivation

Current initialization process is difficult and hard to maintain. It contains hundreds of hard code if-else, which is hard to read and modify.
Current Engine is hard to use. The usage is very different from native torch, and users may take some effort to learn before starting their first applications.
Current Engine is not flexible. It relies on a configuration file or dict and a global context. If we want to run two models with different parallelism method, it's hard to implement this now. It also only supports single model training, which cannot support some famous RL like PPO.
Too many legacy code. Gemini and auto-parallelism both have another entry points instead of Engine.

Design
We keep engine as the main entry point of colossalai training.

Engine has 6 main components:

CheckpointIO: manage how to save and load checkpoints.
Scheduler: manage forward and backward process of pipeline parallelism.
PrecisionBolt: manage training (mixed) precision, including grad scaler and clipping.
EnvironmentTable: store distributed environment info, like cluster info, global process group info and device mesh info.
Accelerator: manage computation device.
ParallelismPlugin: manage parallelism training.

Engine's features include:

parallel training (forward, backward or pipeline)
save / load checkpoint
mixed precision training
grad clipping
(maybe) various devices support
torch-like grad accumulation (provide no_sync())

Engine is not a singleton, though in the most cases single engine is enough.
Possible sample code (pseudo-code)
# create engine
plugin = GeminiPlugin(stage=3, ...)
engine = Engine(precision='fp16', parallelism_plugin=plugin)

# initialize models, optimizers, lr schedulers
model, optimizer, lr_scheduler = engine.initialize(model, optimizer, lr_scheduler)
# or multi-models
actor, critic, actor_optimizer, critic_optimizer = engine.initialize(actor, critic, actor_optimizer, critic_optimizer)

# forward backward
outputs = model(inputs)
engine.backward(loss, optimizer)
optimizer.step()

# run pipeline (another paradigm)
engine.execute_pipeline(data_iter, model, criterion, optimizer, ...)
optimizer.step()

# HF models generation
sequences = model.generate(input_ids)

# IO Support 2 styles:
# 1. torch style (target path is a file)
# 2. Huggingface style (target path is a directory)
# torch style (don't consider checkpoint size, maybe OOM as for large models)
engine.load(model, 'model.pt', plan='torch')
engine.save(optimizer, 'optimizer.pt', plan='torch')

# huggingface style (save checkpoint in chunks)
engine.save(model, 'checkpoint/gpt2', max_file_size_gb=10, plan='huggingface')
engine.load(optimizer, 'checkpoint/gpt2', plan='huggingface')

Single-model supervised learning train loop without pipeline
colossalai.launch(...)
plugin = GeminiPlugin(stage=3, ...)
engine = Engine(precision='fp16',parallelism_plugin=plugin)

model = GPT2()
optimizer = Adam(model.parameters())
dataloader = Dataloader(Dataset)
lr_scheduler = LinearWarmupScheduler()
criterion = GPTLMLoss()

model, optimizer, lr_scheduler, dataloader = engine.initialize(model, optimizer, lr_scheduler, dataloader)

for epoch in range(max_epochs):
    for input_ids, attention_mask in dataloader:
        outputs = model(input_ids, attention_mask)
        loss = criterion(outputs.logits, input_ids)
        engine.backward(loss, optimizer)
        optimizer.step()
        lr_scheduler.step()
        optimizer.zero_grad()

Single-model supervised learning train loop with pipeline
colossalai.launch(...)
plugin = GeminiPlugin(stage=3, ...)
engine = Engine(precision='fp16',parallelism_plugin=plugin)

model = GPT2()
optimizer = Adam(model.parameters())
dataloader = Dataloader(Dataset)
lr_scheduler = LinearWarmupScheduler()
criterion = GPTLMLoss()

model, optimizer, lr_scheduler, dataloader = engine.initialize(model, optimizer, lr_scheduler, dataloader)

for epoch in range(max_epochs):
    num_steps = len(dataloader)
    for step in range(num_steps):
        loss = engine.execute_pipeline(dataloader, model, criterion, optimizer, return_loss=True, return_outputs=False)
        optimizer.step()
        lr_scheduler.step()
        optimizer.zero_grad()

Multi-model RL train loop without pipeline
colossalai.launch(...)
plugin = GeminiPlugin(stage=3, ...)
engine = Engine(precision='fp16',parallelism_plugin=plugin)

actor = GPT2Actor()
critic = GPT2Critic()
actor_optim = Adam(actor.parameters())
critic_optim = Adam(critic.parameters())
actor_loss_fn = ActorLoss()
critic_loss_fn = CriticLoss()

actor, critic, actor_optim, critic_optim = engine.initialize(actor, critic, actor_optim, critic_optim)

for epoch in range(max_epochs):
    for experience in replay_buffer:
        action_log_probs = actor(experience.sequences)
        actor_loss = actor_loss_fn(action_log_probs, experience.old_log_probs, experience.adv)
        engine.backward(actor_loss, actor_optim)
        actor_optim.step()
        actor_optim.zero_grad()

        values = critic(experience.sequences)
        critic_loss = critic_loss_fn(values, experience.old_values, experience.reward)
        engine.backward(loss, critic_optim)
        critic_optim.step()
        critic_optim.zero_grad()

Possible class definition (pseudo-code)
class Engine:
    def __init__(self,
                 device: Union[str, torch.device] = 'cuda',
                 precision: str = 'fp32',
                 grad_clipping_type: str = 'norm',
                 grad_clipping_value: float = 0.0,
                 parallelism_plugin: Optional[ParallelismPlugin] = None) -> None:
        # sanity check
        assert device in parallelism_plugin.supported_devices
        assert precision in parallelism_plugin.supported_precisions

        self.parallelism_plugin = parallelism_plugin
        self.accelerator = None
        self.precision_bolt = None
        if not parallelism_plugin.control_device:
            self.accelerator = Accelerator(device)
        if not parallelism_plugin.control_precision:
            self.precision_bolt = PrecisionBolt(precision, grad_clipping_type, grad_clipping_value)
        self.environment_table = EnvironmentTable(parallelism_plugin.device_mesh_shapes)
        self.checkpoint_io = CheckpointIO(self.parallelism_plugin, self.precision_bolt, self.accelerator)

    def initialize(self, *args: Union[Module, Optimizer, LRScheduler, DataLoader]) -> List[Union[Module, Optimizer, LRScheduler, DataLoader]]:
        rets = []
        for arg in args:
            if isinstance(arg, Module):
                arg = self.parallelism_plugin.setup_model(arg, self.environment_table.device_mesh_pool)
                if not self.parallelism_plugin.control_precision:
                    arg= self.precision_bolt.setup_model(arg)
                if not self.parallelism_plugin.control_device:
                    arg = self.accelerator.setup_model(arg)
            elif isinstance(arg, Optimizer):
                arg = self.parallelism_plugin.setup_optimizer(arg)
                if not self.parallelism_plugin.control_precision:
                    arg = self.precision_bolt.setup_optimizer(arg)
            else:
                # TODO
                pass
            rets.append(arg)
       return rets

    def backward(self, loss: Tensor, optimizer: Optimizer) -> None:
        # do backward when not using pipeline
        if not self.parallelism_plugin.control_precision:
            loss = self.precision_bolt.scale_loss(loss)
        optimizer.backward(loss)

    def execute_pipeline(self, data_iter: Iterator, model: Module, criterion: Callable[[Inputs, Outputs], Tensor], optimizer: Optimizer, return_loss: bool = True, return_outputs: bool = False) -> Tuple[Optional[Tensor], ...]:
        # run pipeline forward backward pass
        # return loss or outputs if needed
        pass

    def no_sync(self, model: Module) -> Context:
        if not self.parallelism_plugin.support_no_sync:
            raise RuntimeError()
        return model.no_sync()

    def save(self, obj: Union[Module, Optimizer, LRScheduler], path_like: str, plan: str = 'torch', **kwargs) -> None:
        pass

    def load(self, obj: Union[Module, Optimizer, LRScheduler], path_like: str, plan: str = 'torch', **kwargs) -> None:
        pass

class EnvironmentTable:
    def __init__(self, intra_op_world_sizes: List[int]):
        self.world_size
        self.rank
        self.global_group
        self.device_mesh_pool # generate from intra_op_world_sizes

    @property
    def is_master(self) -> bool:
        pass

class Accelerator:
    def __init__(self, device):
        self.device = device

    def setup_model(self, model) -> nn.Module:
        pass

class PrecisionBolt:
    def __init__(self, precision_type: dtype, grad_clipping_type: str, grad_clipping_value: float):
        self.precision_type = precision_type
        self.grad_clipping_type = grad_clipping_type
        self.grad_clipping_value = grad_clipping_value

    def setup_model(self, model) -> nn.Module:
        pass

    def setup_optimizer(self, optimizer) -> Optimizer:
        # inject grad clipping and unscale loss
        pass

    def scale_loss(self, loss) -> torch.Tensor:
        pass

class ParallelismPlugin:
    @property
    def supported_devices(self) -> List[device]:
        pass

    @property
    def supported_precisions(self) -> List[str]:
        pass

    @property
    def control_precision(self) -> bool:
        pass

    @property
    def control_device(self) -> bool:
        pass

    @property
    def support_no_sync(self) -> bool:
        pass

    def setup_model(self, model, device_mesh_pool) -> Module:
        pass

    def setup_optimizer(self, optimizer) -> Optimizer:
        pass

    def setup_dataloader(self, dataloader) -> Dataloader:
        pass

    @property
    def device_mesh_shape(self) -> List[Tuple[int, ...]]:
        pass

Futher work
Huggingface/accelerate and Lightning/fabric may have similar design.
We may provide colossalai plugin / strategy to these libs.
Self-service

[X] I'd be willing to do some initial work on this proposal myself.

@ver217  There are some suggestions regarding the API design:

Rename PrecisionBolt as bolt is rather unclear
Don't name the plugin as ParallelismPlugin as we can extend to other features such as quantization. I think it is enough to simply name it as Plugin.
Don't name it as engine as it can be a bit misleading as discussed earlier on.

This issue is migrated to #3046 , thus, I will close it for now and all discussions will take place in #3046 .


Don't scroll the file explorer when closing a file

I run into this scenario a bunch when using the file explorer-thingy (left file panel):

have a large codebase open with lots of directories and files
open some files
go to a different part of the codebase and open a file
realize that it's the wrong file
close that file
try to open a neighboring file
discover that the file explorer has repositioned to show the file that took focus after closing the file
get frustrated and scroll the file explorer back to the desired directory

Ideally, when closing a file, the file explorer would not scroll to the newly focused file. This, however, would only change the behavior when closing a file. Clicking on the tab for a file or opening a file would still scroll the file explorer to the proper position.

Duplicate of #38899


create example repo(s)

Create example repo(s) that show you how to use testium. This could be a promotion of jkrems/testium2-demo to this org. There could also be an example using something other than mocha.

Something npm/package.json encourages is to have an exmaple or examples directory in this repo (when that directory exists and you run npm init`, it will actually add an entry to package.json for it). Also very handy during integration tests etc. because the example can you incorporated.


Clarification on Sidekiq patch

Hi there, thank you for this useful gem!
I'm using it both with Resque and Sidekiq, and as the README says, in order to properly make Sidekiq queue cleanup and job death working with this gem, the patch needs to be required.
Can you please better explain how this patch works and why is it necessary?
More particularly, why is it always calling ActiveJob::Uniqueness.unlock!, that delete locks using the wildcard?
https://github.com/veeqo/activejob-uniqueness/blob/e86c621b0a56b6220c3b1e3b6fb5846313e1373a/lib/active_job/uniqueness.rb#L34-L36
I can understand that wildcard is useful when cleaning a queue, but why is it used also when a job (single job) death?
https://github.com/veeqo/activejob-uniqueness/blob/e86c621b0a56b6220c3b1e3b6fb5846313e1373a/lib/active_job/uniqueness/sidekiq_patch.rb#L92-L96
Thank you in advance!

Hello @arizz96

thank you for this useful gem!

Thank you!

Can you please better explain how this patch works and why is it necessary?

The activejob-uniqueness is designed to be agnostic to ActiveJob adapters. Every adapter has its own queues implementation and jobs management. Deleting jobs does not automatically cleanup their locks.
But developers do expect this behavior, especially if they have used sidekiq + sidekiq-unique-jobs. The activejob-uniqueness has a Sidekiq patch to provide this experience. The patch patches internal Sidekiq API of jobs management in a way similar to sidekiq-unique-jobs approach. The patch is optional in order to give developers more control over locks cleanup.

why is it always calling ActiveJob::Uniqueness.unlock!, that delete locks using the wildcard?
I can understand that wildcard is useful when cleaning a queue, but why is it used also when a job (single job) death?

You are right, there is a probability that the queue might have a job with no arguments alongside with jobs with arguments. Deleting a single job with no arguments will unlock all jobs of this type.
Thank you for the report. This bug needs to be fixed.


Feature request: url version specifiers

Currently, tool version specifiers are channels or version numbers. It would be nice if, instead, I could install and pin specific versions (e.g. nightly builds) by URL.

@rotu Do you have an example URL?
I think this would take quite a bit of work because of all the version resolving/checking that proto does.

So my initial intent here was so that I could install nightly builds that don't have a stable versioning scheme, e.g. canary builds like:
https://nodejs.org/download/nightly/v22.0.0-nightly202311184e23d6904c/
The other intent was to use a patched or alternate implementation ( e.g. pypy from https://downloads.python.org/pypy/pypy3.10-v7.3.13-win64.zip )
But perhaps these needs are better met by creating a TOML Plugin

I think for this kind of stuff, we can use prerelease or build metadata: https://docs.rs/semver/1.0.21/semver/

22.0.0-nightly202311184e23d6904c
7.3.13+pypy-3.10

The main issue right now is that most of the internals right now are powered by semver::Version, like inventory management, folder names, and version detection/resolution. Supporting URLs breaks all of those guarantees, and I'm not entirely sure how much work it would take to migrate away from it.

This feature is not a big need for me right now - it just seems like a good idea to keep in mind and a useful potential "escape hatch" e.g. if I need a patched version of npm instead of the official release. Or if I need to choose between packages of a specific Node release a la #137.
Conceptually I think about it as:

An alias, channel or version range disambiguates to a version
A version and an environment (OS, architecture, preferred archive format) resolves to a URL
That URL locates the files to be installed.

The reverse direction is not always possible (e.g. going from a version to the requested range) and the forward direction is not always reproducible (new releases happen), so if it's important to keep that info around, it should be saved in the manifest.
No pressure to migrate unless it makes the code better!


add getMyRoom

example .env
BLOBS_URL=https://graphql.planetary.pub/blob
ROOM_ADDRESS=net:civic.love:8008~shs:uhI9kMjtjJSK4R6R5NGAm51e2iSC5D8Q354tGvbzBI4=

This PR adds a hacky getMyRoom endpoint. It's working (ish) but will be improved when Filip deploys a better API for members + description.
Apologies for the noise of stuff I moved around. It's a reflection of tiredness and it makes this more annoying to review :shy_face:

 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.mixmix seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


feat: support srcDir

fixes #3

I'll take a look at this on saturday/sunday.
Have to also test your solution and cover this with tests.

This seem to work just fine!
I'll skip tests as Nuxt team target proper fix in 3.7 Milestone already.


Fix the issue for getting the title of youtube video

Fix the issue for getting the title of youtube video
maybe need to update the file Gopkg.toml or Gopkg.lock

maybe need to update the file Gopkg.toml or Gopkg.lock

yep, you need to update the Gopkg.toml file and run dep

maybe need to update the file Gopkg.toml or Gopkg.lock

yep, you need to update the Gopkg.toml file and run dep

already updated the Gopkg.toml, Gopkg.lock  and dependency

Thanks!


Add chugging-barrel v1.0.0

Adds loadout names to the Chugging barrel interface.

UI Looks great!


how do i get the source code so that i can modify the max file size from 20mb to 40mb?

how do i get to the source code so that this can be modified?

What do you need to modify? Image uploads?

I was just looking at making the maximum file size that the server can hold be larger than 20MB.  i have some audio files that ti want to store on the server that will be downloaded by user and played in the app.
at the moment 20MB per file is the most i can upload through the dashboard.

On 24 Dec 2016, at 3:32 am, Gregg Mojica<EMAIL_ADDRESS>wrote:
What do you need to modify? Image uploads?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/ParsePlatform/parse-server/issues/3278#issuecomment-269022016, or mute the thread https://github.com/notifications/unsubscribe-auth/AXdeoBsAMV8HxsGL66x8CzyRjeGjaEnyks5rLAWXgaJpZM4LUgne.

So you are trying to upload the file? Files uploaded through the server must edit the nginx file limit.

Yeah just manual uploading, there should be no need to programatically uploading such large files.
i am unsure what this nginx file is or how to get to it.  I have the bitnami server running on amazon ec2 and haven’t come across that browsing through the contents with the SSH.

On 24 Dec 2016, at 6:45 am, Gregg Mojica<EMAIL_ADDRESS>wrote:
So you are trying to upload the file? Files uploaded through the server must edit the nginx file limit.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/ParsePlatform/parse-server/issues/3278#issuecomment-269043734, or mute the thread https://github.com/notifications/unsubscribe-auth/AXdeoNQrzvJwA133gyZPhX-budpJT8fgks5rLDLxgaJpZM4LUgne.

http://stackoverflow.com/questions/4947107/nginx-upload-client-max-body-size-issue

thank you!

On 24 Dec 2016, at 6:45 am, Gregg Mojica<EMAIL_ADDRESS>wrote:
So you are trying to upload the file? Files uploaded through the server must edit the nginx file limit.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/ParsePlatform/parse-server/issues/3278#issuecomment-269043734, or mute the thread https://github.com/notifications/unsubscribe-auth/AXdeoNQrzvJwA133gyZPhX-budpJT8fgks5rLDLxgaJpZM4LUgne.

@pupoo was your issue solved? Can we close it?

i was offered a solution but i do not think it will work for my current set up.  Currently using bitnami parse server on AQS ec2 so there does not seem to be a way of modifying these config files.  when logging into the server via ssh the only config file that is available is server.js and this can not be modified without crashing the server.

On 27 Dec 2016, at 10:09 pm, Natan Rolnik<EMAIL_ADDRESS>wrote:
@pupoo https://github.com/pupoo was your issue solved? Can we close it?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/ParsePlatform/parse-server/issues/3278#issuecomment-269317694, or mute the thread https://github.com/notifications/unsubscribe-auth/AXdeoLTKkvKuZMSBxctw_2PzqEsBDwMQks5rMP_cgaJpZM4LUgne.

@pupoo I recommend you one of the following things:
Checking if you are able to change the maxUploadSize in the server initialization. Usually it's done in the server.js or index.js file. If it crashes the server, probably you need to stop, modify and start it again. I think you can check their docs here: https://docs.bitnami.com/aws/apps/parse/
If you want more customization, and they are not able to provide you a good answer on how to modify that property, I suggest you to deploy your own instance of Parse Server directly on EC2 or Heroku, for example. This way you can customize it according to your needs and have a better control. Take a look at the Parse Server Example  project.
As this is not a issue in Parse Server itself - maxUploadSize works as expected - I'm closing this issue, but feel free to add the solution you found as it may help other people that decided to use bitnami.


Navigation overspins when left running

If the slideshow loads and is left running for a while, the navigation buttons make the slides spirals rapidly back (instead of going through two revolutions, for instance)

enhanced the plugin.


error: linking with arm-linux-musleabihf-gcc failed: exit status: 1

How do you begin to debug these type of errors? From one directory it builds fine and from another it does not. What I was trying to do was test my GitHub Action Pipeline. On my machine, no sweat. In GH Action - FAIL. Started by doing a custom runner so I could get it to run on a machine I can control. Same results. The clone of the repo compiles fine, the _worker directory source does not. I had a similiar issue once and it was the underlying docker container and file permission. I cant seem to get "underneath" this one though. Error is below:
error: linking with `arm-linux-musleabihf-gcc` failed: exit status: 1
  |
  = note: "arm-linux-musleabihf-gcc" "/rust/lib/rustlib/arm-unknown-linux-musleabihf/lib/self-contained/crt1.o" "/rust/lib/rustlib/arm-unknown-linux-musleabihf/lib/self-contained/crti.o" "/rust/lib/rustlib/arm-unknown-linux-musleabihf/lib/self-contained/crtbegin.o" "/target/arm-unknown-linux-musleabihf/release/deps/cloud_gateway-1217d753b6b2adfa.cloud_gateway.f31181f6-cgu.0.rcgu.o" "-Wl,--as-needed" "-L" "/target/arm-unknown-linux-musleabihf/release/deps" "-L" "/target/release/deps" "-L" "/target/arm-unknown-linux-musleabihf/release/build/openssl-sys-5658aa5637f38c7c/out/openssl-build/install/lib" "-L" "/target/arm-unknown-linux-musleabihf/release/build/ring-ad69d615a5ca8a0b/out" "-L" "/rust/lib/rustlib/arm-unknown-linux-musleabihf/lib" "-Wl,-Bstatic" "/tmp/rustcFTTt8s/libring-06a9b6d9d5660bbb.rlib" "/tmp/rustcFTTt8s/libopenssl_sys-b779c6ee02f9f3a3.rlib" "-Wl,--start-group" "-lunwind" "/tmp/rustcFTTt8s/liblibc-955a2aaf479ae5c6.rlib" "-Wl,--end-group" "/rust/lib/rustlib/arm-unknown-linux-musleabihf/lib/libcompiler_builtins-3010074978d9ad33.rlib" "-Wl,-Bdynamic" "-latomic" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-nostartfiles" "-L" "/rust/lib/rustlib/arm-unknown-linux-musleabihf/lib" "-L" "/rust/lib/rustlib/arm-unknown-linux-musleabihf/lib/self-contained" "-o" "/target/arm-unknown-linux-musleabihf/release/deps/cloud_gateway-1217d753b6b2adfa" "-Wl,--gc-sections" "-static" "-no-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "/rust/lib/rustlib/arm-unknown-linux-musleabihf/lib/self-contained/crtend.o" "/rust/lib/rustlib/arm-unknown-linux-musleabihf/lib/self-contained/crtn.o"
  = note: /tmp/rustcFTTt8s/libopenssl_sys-b779c6ee02f9f3a3.rlib(libcrypto-lib-threads_pthread.o): In function `CRYPTO_atomic_or':
          threads_pthread.c:(.text.CRYPTO_atomic_or+0x8): undefined reference to `__sync_or_and_fetch_8'
          /tmp/rustcFTTt8s/libopenssl_sys-b779c6ee02f9f3a3.rlib(libcrypto-lib-threads_pthread.o): In function `CRYPTO_atomic_load':
          threads_pthread.c:(.text.CRYPTO_atomic_load+0x20): undefined reference to `__sync_val_compare_and_swap_8'
          collect2: error: ld returned 1 exit status

  = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

Are you using atomics in your crates? I'm guessing this is related to code using std::sync::atomic::AtomicInt?

Duplicate of #367.

This no longer replicates as of the latest main using the latest vendored OpenSSL. Note that you can't use the repository versions since those are linked to glibc. However, similar targets such as armv5te-unknown-linux-musleabi do fail with nearly identical errors, so if this reproduces later, I'll reopen this.


Why can't my React SPA react to signin-silent?error=login_required state?

Hello,
I have a strange issue which I can't seem to solve. I have the following auth wrapper code and the config in my app. The problem is that the spa should log out and show the user login screen whenever I log out from my identity server. In the network tab of the spa I can see that the session monitor tried to do a document type GET call to sign in-silent and it fails but still returns 200 with an error in URL params such as:
react-oidc-context version is 2.2.2
https://myurl.com/signin-silent?error=login_required&state=2f1e294a48ec494b8f5ff707e18b58e5&session_state=9P2gJqv7QOEaYSdAfR93As4oMO9umhUdvTv-GqXLEuE.E8DD8DE3357CF3563ED3A75711E705DA
But nothing in my code reacts to this GET call and forwards the user to the login screen. Can someone guide me on what I am missing here?
Even after the page refresh, I am still in the app. Only if I open a new tab and go to the URL of the spa then I see the login screen.
//Auth wrapper

import { FC, useEffect, useState } from 'react';
import { useAuth } from 'react-oidc-context';
import { Loader } from '@fleet/shared';

interface AuthWrapperProps {
  appLoading: boolean;
}

interface ErrorResponse {
  error: string;
  error_description?: string;
  error_uri?: string;
  state?: string;
}

export function isErrorResponseType(error: unknown): error is ErrorResponse {
  if (typeof error === 'object' && error !== null) {
    const e = error as { error?: unknown };

    return 'error' in e && typeof e.error === 'string';
  }
  return false;
}

export const APP_REDIRECT_URI_KEY = 'REDIRECT_URI';

const AuthWrapper: FC<AuthWrapperProps> = ({ children, appLoading }) => {
  const auth = useAuth();
  const [loginAttempted, setLoginAttempted] = useState(false);

  // Attempt silent sign-in once if appropriate
  useEffect(() => {
    if (
      !loginAttempted &&
      !auth.isAuthenticated &&
      !auth.activeNavigator &&
      !auth.isLoading &&
      !auth.error
    ) {
      console.log(loginAttempted);
      setLoginAttempted(true);
      auth.signinSilent().catch((error) => {
        auth
          .signinRedirect()
          .catch(() => console.error('Sign-in redirect error'));
        console.error('Silent sign-in error:', error);
      });
    }
  }, [auth, loginAttempted]);

  useEffect(() => {
    if (!auth.error) {
      return;
    }

    if (
      isErrorResponseType(auth.error) &&
      [
        'interaction_required',
        'login_required',
        'account_selection_required',
        'consent_required',
      ].includes(auth.error.error)
    ) {
      console.error('Authentication error:', auth.error);
      return;
    }
  }, [auth.error]);

  const isLoading = auth.isLoading || auth.activeNavigator || appLoading;

  if (isLoading) {
    return <Loader active size="fullscreen" />;
  }

  if (!auth.isAuthenticated) {
    return null;
  }

  return <>{children}</>;
};

export default AuthWrapper;

//authConf.ts
const isProduction = process.env.NODE_ENV === 'production';
const configuration: AuthProviderProps = {
  checkSessionIntervalInSeconds: 2,
  accessTokenExpiringNotificationTimeInSeconds: 300,
  revokeTokensOnSignout: true,
  silentRequestTimeoutInSeconds: 20,
  authority: process.env.REACT_APP_AUTH_URL!,
  client_id: process.env.REACT_APP_IDENTITY_CLIENT_ID!,
  redirect_uri: process.env.REACT_APP_BASE_URL + '/signin-oidc',
  automaticSilentRenew: true,
  post_logout_redirect_uri: process.env.REACT_APP_BASE_URL + '/signout-oidc',
  silent_redirect_uri: process.env.REACT_APP_BASE_URL + '/signin-silent',
  response_type: 'code',
  scope: `openid profile ${process.env.REACT_APP_API_SCOPE}`,
  onSigninCallback: () => {
    const redirectUri = sessionStorage.getItem(APP_REDIRECT_URI_KEY) || '/';
    sessionStorage.removeItem(APP_REDIRECT_URI_KEY);
    window.location.replace(redirectUri);
  },
  monitorSession: isProduction,
};

export default configuration;

actually, with 3.0.0 version it seems to be working

actually, with 3.0.0 version it seems to be working

good to know

I'm seeing the following in react-oidc-context
navigatorKeys.map((key) => [
          key,
          userManager[key] ? async (...args) => {
            dispatch({
              type: "NAVIGATOR_INIT",
              method: key
            });
            try {
              return await userManager[key](...args);
            } catch (error) {
              dispatch({ type: "ERROR", error });
              return null;
            } finally {
              dispatch({ type: "NAVIGATOR_CLOSE" });
            }
          } : unsupportedEnvironment(key)
        ])

Which silences the promise, error comes from the oidc silent signup for me when I do signinSilent. It simply hooks every function, and catches all errors, that are no longer thrown in the promise. So signinSilent(...).catch() will never fire.

I assume the wrapper is needed to update the state and trigger reflow, but why it's not thrown back?

In contrast to oidc-client-ts this library manages an error state, accessible with useAuth. Why can't you access error?

@pamapa I can indeed, that's what I did, I am just confused by the decision to suppress that error and resolve with null, which does not have any information about the reason it was resolved with null. Moreover, it does not seem to be type safe (as in signinPopup(args?: SigninPopupArgs): Promise<User>;, which can be resolved to null).
Looking at handling error state update, it might turn into a large map of every possible error handled by a single component, and the scenario "if this error happened when that flow failed here, then handle this way, but if flow failed in another place, handle another way" getting significantly more complex because of that.
I can understand the benefit of having that state manager for sure, just wasn't sure if that was intended behavior to just silence it. But from your answer, it looks like it is.


Add print interface to std

Looking for something like this:
interface Print<T> {
    fn print(T)
    fn println(T) { print "\n" print }
}

closed with #129


[Quest] [Regicide] Guide Unclear/Missing Steps

In the "To The Elven Lands" section, the 8th step reads "Kill the Guard" then the 9th step reads "Fill some barrels with Tar, and get some sulphur".
Step 9 should be removed as it skips the entire "Making a bomb" section, instead after step 8 the next steps should be:

Enter the Tyras Camp and talk to General Hining
Head back to the clearing with the Elven Tracker and pick up 2 pieces of Sulphur to the south (3 if you want to save time for Mournings End Part 1)
Return to Lord Iorwerth to receive the Big Book of Bangs.
The next step of "Ask Iowerth about all the parts needed for the barrel bomb" is fine and can stay.
A step after that should be added telling the player to pick up 2 barrels from the tent to the north of Lord Iowerth (3 for MEP1)
1 final step afterwards should tell the player to return back to the Elf Tracker area and fill the barrels with Coal Tar from the Poison Swamp. This is otherwise not mentioned at all in the guide.

Slightly annoyed there was no step to fill the barrels with coal tar from the swamp. I already left and now I have to spend 20 minutes going all the way back to the poison swamp.


Return sort

what

[x] return sort with correct logic

why

keep groups sorted

references

previous pr https://github.com/cloudposse/terraform-aws-efs/pull/105

/test all


App Lightning.app v1.6

New cask for FileWave Lightning.

Thank you for the contribution. It was merged directly as 3fca9966f18d37ae8bdc00d9f7922fdf922f4a59 to keep commit history cleaner. Your contribution is still credited to you.


Update recipe development environment getting started guide

Removes references to Kotlin that were no longer applicable
Adds comments to confusing sections of code
Adds missing Java dependency
Cleans up project layout to be more accurate
Provides a better explanation for local testing
Minor grammar / spelling fixes

Merging in the changes. Please feel free to let me know if I should change anything else or if the changes I made were incorrect :)


Reference paper of this system

Hi,
What thesis did you refer to implement the neuralcoref model?
Thanks

Hi, it based on the model developed in these two papers by Kevin Clark and Christopher D. Manning: https://cs.stanford.edu/~kevclark/

Deep Reinforcement Learning for Mention-Ranking Coreference Models.
by Kevin Clark and Christopher D. Manning in Empirical Methods on Natural Language Processing (EMNLP), 2016.
Improving Coreference Resolution by Learning Entity-Level Distributed Representations.
by Kevin Clark and Christopher D. Manning in Association for Computational Linguistics (ACL), 2016.


Typescript type definition

This PR contains a typescript definition file for the library. I've covered most of the methods on connection & discovery.
I didn't add the methods to manually send messages since the API doesn't expose the message types to send.
I do not plan to add anything for client, but the pattern is pretty easy to follow.

thx


Notebooks 2.0 // Frontend // Workspaces table // Workspace redirect status column

Insert a column in the beggining of the workspaces table (first column), containing an icon representing the redirect status for that workspace. The information will come from these fields, and should be fetched from the backend service. The icon comes from the "level" field, and the "text" should be displayed when the mouse hovers the icon.

/assign


Desync between encoder and decoder

/target/release/rav1e ~/sequences/objective-1-fast/KristenAndSara_1280x720_60f.y4m -o test.ivf -r test_rec.y4m --quantizer 200 --limit=3
$ cmp test_rec.yuv test_dec.yuv
test_rec.yuv test_dec.yuv differ: char 3338561, line 54
It happens current master d9a921f10c873935b897c7fa81a4a94d4a4768ca and even 3 months old one b72bdbfa5636fd1b3e42044214f696eac4d69955.
Does not happen with --quantizer 100

Can reproduce with ducks take off.

Looks like turning off the CDEF fix it?
Tried with f571c6320abfc04678cb4fb1ecbdce1d033374bb.

@xiphmont , I think your fix https://github.com/xiph/rav1e/commit/426280f5b5fea25fb73d3685393fabd7bb080742 fixes this issue?
If so, we can close this!

@xiphmont , I think your fix 426280f fixes this issue?
If so, we can close this!

@xiphmont, Oh sorry- I tried for 3 frames and seeing that the desync is still there.

BTW, this one is still here after the recent fixes, I'm looking at it next.

This seems fixed by https://github.com/xiph/rav1e/commit/c245abdd935a741146bc41b3c4d78844f0980987


Handle Twilio Error Code 30500 and Other Codes

User Story - Business Need
30500 is a Twilio internal error, and we should mark the notification as temporary-failure.

[x] Ticket is understood, and QA has been contacted (if the ticket has a QA label).

User Story(ies)
As a VA Notify client
I want my notification updates to be as accurate as possible
So that I can make informed decisions
Additional Info and Resources

The _evaluate_status method controls this behavior. This error code is not mapped, so it fell to a technical error. Add the mapping below to the twilio client twilio_error_code_map. There are too many Twilio statuses to effectively map, so we have to deal with them as we find them.
New constant for retryable:
    RETRYABLE_STATUS_REASON = 'Retryable - Notification is unable to be processed at this time. Replay the request to VA Notify.'

    '30500': TwilioStatus(30500, NOTIFICATION_TEMPORARY_FAILURE, RETRYABLE_STATUS_REASON),

Unaccounted for Twilio Error Code
Is handled differently from
Error code: <error code> existed but status for message: <message sid> was not failed nor undelivered
Acceptance Criteria

[x] New constant added for retries in constants.py, listed in additional information
[x] 30500 is added as a temporary-failure status with a message matching the additional information section
[x] Add mappings for 30003, 30004, 30005, 30006, 30007, 30024
[x] Add mapping for 21408, 21610, 21612, 21614, 21268, 21635, 60005,
[x] This work is added to the sprint review slide deck (key win bullet point and demo slide)

QA Considerations

[ ]  Get an appropriately signed test body from the developer to be able to add this to the lambda testing. then test it.

Potential Dependencies

Generate signature and message for every error code:
for ts in TwilioSMSClient.twilio_error_code_map.values():
    print(
        generate_twilio_signature_and_body(
            token=FAKE_DELIVERY_STATUS_TOKEN,
            uri=FAKE_DELIVERY_STATUS_URI,
            error_code=str(ts.code),
            message_status='failed',
        )
    )

PR approved and merged, awaiting pipeline deploy. Regression is currently failing due to GLIBC issue re-surfacing, but this can still be deployed, tagged and validated.

Test bodies needed to be regenerated for the correct signature. Will resume testing tomorrow (Tuesday).

Resumed testing tonight, all test cases passed, sending to Prod. Updating Team Repo with instructions for validation.


[SPARK-48767][SQL] Fix some error prompts when variant type data is invalid

What changes were proposed in this pull request?
The pr aims to:

fix some error prompts when variant type data is invalid.
provide a clear error-condition for variant related errors.
use checkError to check exception in the VariantSuite class.

Why are the changes needed?

Reproduction examples

For reproduction examples detail, please refer to: https://github.com/apache/spark/pull/47162#issuecomment-2202255944

When there is only value or metadata in variant data, it will throw variant with more than two field, which is obviously incorrect.
https://github.com/apache/spark/blob/930422389352b8349e5a845c8cae9993d30dce17/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaConverter.scala#L405-L408

When SQLConf.PARQUET_VECTORIZED_READER_ENABLED is true or false, there is a difference in the error prompt, and we should align it.

Does this PR introduce any user-facing change?
Yes, fix some error prompts when variant type data is invalid.
How was this patch tested?
Existed UT & Update UT.
Was this patch authored or co-authored using generative AI tooling?
No.

test("SPARK-47546: invalid variant binary") {
    // Write a struct-of-binary that looks like a Variant, but with minor variations that may make
    // it invalid to read.
    // Test cases:
    // 1) A binary that is almost correct, but contains an extra field "paths"
    // 2,3) A binary with incorrect field names
    // 4) Incorrect data typea
    // 5,6) Nullable value or metdata

    // Binary value of empty metadata
    val m = "X'010000'"
    // Binary value of a literal "false"
    val v = "X'8'"
    val cases = Seq(
      (s"named_struct('value', $v)",
        "INVALID_VARIANT.WRONG_NUM_FIELDS",
        "variant column must contain exactly two fields",
        "variant with more than two fields"),
      (s"named_struct('value', $v, 'metadata', $m, 'paths', $v)",
        "INVALID_VARIANT.WRONG_NUM_FIELDS",
        "variant column must contain exactly two fields",
        "variant with more than two fields"),
      (s"named_struct('value', $v, 'dictionary', $m)",
        "_LEGACY_ERROR_TEMP_1173",
        "variant missing metadata field",
        "variant missing metadata field"),
      (s"named_struct('val', $v, 'metadata', $m)",
        "_LEGACY_ERROR_TEMP_1173",
        "variant missing value field",
        "variant missing value field"),
      (s"named_struct('value', 8, 'metadata', $m)",
        "_LEGACY_ERROR_TEMP_1173",
        "variant column must be a non-nullable binary",
        "variant value must be a non-nullable binary"),
      (s"named_struct('value', cast(null as binary), 'metadata', $m)",
        "_LEGACY_ERROR_TEMP_1173",
        "variant column must be a non-nullable binary",
        "variant value must be a non-nullable binary"),
      (s"named_struct('value', $v, 'metadata', cast(null as binary))",
        "_LEGACY_ERROR_TEMP_1173",
        "variant column must be a non-nullable binary",
        "variant metadata must be a non-nullable binary")
    )
    cases.foreach { case (structDef, errorClass, msg1, msg2) =>
      Seq(false, true).foreach { vectorizedReader =>
        withSQLConf(SQLConf.PARQUET_VECTORIZED_READER_ENABLED.key -> vectorizedReader.toString) {
          withTempDir { dir =>
            val file = new File(dir, "dir").getCanonicalPath
            val df = spark.sql(s"select $structDef as v from range(10)")
            df.write.parquet(file)
            val schema = StructType(Seq(StructField("v", VariantType)))
            val result = spark.read.schema(schema).parquet(file).selectExpr("to_json(v)")
            println(s"$structDef, $vectorizedReader")
            val e = intercept[org.apache.spark.SparkException](result.collect())
            checkError(
              exception = e.getCause.asInstanceOf[AnalysisException],
              errorClass = errorClass,
              parameters = Map("parquetType" -> (if (!vectorizedReader) msg1 else msg2))
            )
          }
        }
      }
    }
  }

cc @cashmand @cloud-fan

cc @gene-db

The changes look good to me.

thanks, merging to master!


Update Plugin Artifacts Links for v0.158.11

Automated changes by create-pull-request GitHub action

 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.


babel-plugin-fela

Environment: Both
Type: Performance
This is the main issue for a Babel plugin.

Description
First of all, why a babel plugin?
Using Babel we can transform our code during compilation, which can help to bring drastic performance optimizations for Fela. We may especially improve rule functions themselves.
ToDo

[x] extract static properties to prerender once
[x] transform createComponent first parameter
[x] add renderer as second parameter if possible
[x] safety checks to not break rules
[x] enable precompiled styles
[x] enable custom 2. parameter
[x] build source with real AST nodes rather than source strings
[x] proper static extraction helper based on AST nodes
[x] enable static style extraction / cache rehydration
[x] test fixtures

Hello,
I have a few question about this babel-plugin:

Is this plugin supposed to achieve something similar to the Extract mode of emotion (https://github.com/tkh44/emotion/blob/master/docs/extract-mode.md) ?
Can we achieve the same thing with a babel-macro (https://github.com/kentcdodds/babel-macros) instead of a babel-plugin ?

About that last one, create-react-app could soon support babel-macro, so if this plugin was a macro it could be used in create-react-app without having to eject or fork.
Nice work on fela by the way.

For now this plugin does not extract CSS files. I don't see any benefit of doing so. But ofc this plugin is start the beginning. We can do basically everything with it.
I did not check babel-macro's yet, might check that later, but for now I'll stick to the plugin I guess.

About the benefits of extracting CSS files:
The browser can cache these files separately from the javascript and html.
Thanks to HTTP/2 it can even be "pushed" with the page without being directly included in <style/ > tags (so we keep the benefit of separated caches).
It can also start interpreting the css before the javascript kicks in.
For the components with static rules only (without props related values), I think the HoC can be completely removed and the class names can be defined statically which can improve performance.
The last two should also be possible without completely extracting the css in separate files.

The link above 404d, but here is a version that works: https://github.com/emotion-js/emotion/blob/b0c1427d3a8f689e637a7c4011c844292c704426/docs/extract-mode.md


Added script examples

Hello @andrewguest! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file python/scripts/bit_counter.py:

Line 17:80: E501 line too long (105 > 79 characters)


Improve article 2003.06505

Top of the document
\newcites
siAdditional References for the Appendix marginparsep has been altered.
topmargin has been altered.
marginparwidth has been altered.
marginparpush has been altered.
The page layout violates the ICML style. Please do not change the page layout, or include packages like geometry, savetrees, or fullpage, which change it for you. We’re not able to reliably undo arbitrary changes to the style. Please remove the offending package(s), or layout-changing commands and try again.

Red text in document: \citetsi, {itemize*}
End of document:
\bibliographystylesi
icml2020 \bibliographysiautogluon-automl

And we may also want to neutralize whichever check in the attached myicml.sty led to the big top warning of "The page layout violates the ICML style", as that concern doesn't apply in the HTML realm.


Make account for all balls on the field and in the robot

[x] Count and store number of balls in the robot
[x] Make Balls Consistent using window median.

I have not implemented the use of the functions created.
I have not been able to do this because of Routines were not pushed to main


[CT-582] stdout colouring broken on dbt-core on Windows

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Red/green colouring is no longer visible in dbt v1.1 on Windows.
Instead we see unexpected characters such as [←[32mPASS←[0m in 0.82s]
Possibly caused by https://github.com/dbt-labs/dbt-core/pull/4792
(dbt-env) C:\work\dbt-cuk>dbt test -m dim_booking
07:13:33  Running with dbt=1.1.0
07:13:35  Found 280 models, 593 tests, 1 snapshot, 0 analyses, 403 macros, 2 operations, 5 seed files, 388 sources, 0 exposures, 0 metrics
07:13:35
07:13:39  Concurrency: 4 threads (target='dev')
07:13:39
07:13:39  1 of 12 START test not_null_dim_booking_booking_id ............................. [RUN]
07:13:39  2 of 12 START test not_null_dim_booking_booking_ref ............................ [RUN]
07:13:39  3 of 12 START test not_null_dim_booking_booking_status_code .................... [RUN]
07:13:39  4 of 12 START test not_null_dim_booking_brand_code ............................. [RUN]
07:13:40  4 of 12 PASS not_null_dim_booking_brand_code ................................... [←[32mPASS←[0m in 1.28s]
07:13:40  5 of 12 START test not_null_dim_booking_cruise_code ............................ [RUN]
07:13:40  2 of 12 PASS not_null_dim_booking_booking_ref .................................. [←[32mPASS←[0m in 1.40s]
07:13:40  6 of 12 START test not_null_dim_booking_holiday_end_date ....................... [RUN]
07:13:40  3 of 12 PASS not_null_dim_booking_booking_status_code .......................... [←[32mPASS←[0m in 1.43s]
07:13:40  7 of 12 START test not_null_dim_booking_holiday_start_date ..................... [RUN]
07:13:41  1 of 12 PASS not_null_dim_booking_booking_id ................................... [←[32mPASS←[0m in 2.08s]
07:13:41  8 of 12 START test not_null_dim_booking_is_commercial_booking .................. [RUN]
07:13:41  5 of 12 PASS not_null_dim_booking_cruise_code .................................. [←[32mPASS←[0m in 0.89s]
07:13:41  9 of 12 START test not_null_dim_booking_logical_cruise_buskey .................. [RUN]
07:13:41  7 of 12 PASS not_null_dim_booking_holiday_start_date ........................... [←[32mPASS←[0m in 0.82s]
07:13:41  10 of 12 START test not_null_dim_booking_ship_code ............................. [RUN]
07:13:42  6 of 12 PASS not_null_dim_booking_holiday_end_date ............................. [←[32mPASS←[0m in 1.41s]
07:13:42  11 of 12 START test unique_dim_booking_booking_id .............................. [RUN]
07:13:42  8 of 12 PASS not_null_dim_booking_is_commercial_booking ........................ [←[32mPASS←[0m in 1.06s]
07:13:42  12 of 12 START test unique_dim_booking_booking_ref ............................. [RUN]
07:13:42  9 of 12 PASS not_null_dim_booking_logical_cruise_buskey ........................ [←[32mPASS←[0m in 1.01s]
07:13:43  11 of 12 PASS unique_dim_booking_booking_id .................................... [←[32mPASS←[0m in 0.89s]
07:13:43  12 of 12 PASS unique_dim_booking_booking_ref ................................... [←[32mPASS←[0m in 0.86s]
07:13:43  10 of 12 PASS not_null_dim_booking_ship_code ................................... [←[32mPASS←[0m in 1.89s]
07:13:43
07:13:43  Running 2 on-run-end hooks
07:13:43  1 of 2 START hook: cuk_project.on-run-end.0 .................................... [RUN]
07:13:45  1 of 2 OK hook: cuk_project.on-run-end.0 ....................................... [←[32mSUCCESS 1←[0m in 2.14s]
07:13:45  2 of 2 START hook: cuk_project.on-run-end.1 .................................... [RUN]
07:13:45  2 of 2 OK hook: cuk_project.on-run-end.1 ....................................... [←[32mSUCCESS 1←[0m in 0.12s]
07:13:45
07:13:46
07:13:46  Finished running 12 tests, 2 hooks in 10.20s.
07:13:46
07:13:46  ←[32mCompleted successfully←[0m
07:13:46
07:13:46  Done. PASS=12 WARN=0 ERROR=0 SKIP=0 TOTAL=12
07:13:51  Error sending message, disabling tracking
Expected Behavior
dbt v1.05 shows PASS/SUCCESS is green and FAIL in red.
07:24:28  Running with dbt=1.0.5
07:24:29  Unable to do partial parsing because of a dbt version mismatch. Saved manifest version: 1.1.0. Current version: 1.0.5.
07:24:38  Found 280 models, 593 tests, 1 snapshot, 0 analyses, 401 macros, 2 operations, 5 seed files, 388 sources, 0 exposures, 0 metrics
07:24:38
07:24:41  Concurrency: 4 threads (target='dev')
07:24:41
07:24:41  1 of 12 START test not_null_dim_booking_booking_id.............................. [RUN]
07:24:41  2 of 12 START test not_null_dim_booking_booking_ref............................. [RUN]
07:24:41  3 of 12 START test not_null_dim_booking_booking_status_code..................... [RUN]
07:24:41  4 of 12 START test not_null_dim_booking_brand_code.............................. [RUN]
07:24:42  1 of 12 PASS not_null_dim_booking_booking_id.................................... [PASS in 0.95s]
07:24:42  5 of 12 START test not_null_dim_booking_cruise_code............................. [RUN]
07:24:42  4 of 12 PASS not_null_dim_booking_brand_code.................................... [PASS in 1.06s]
07:24:42  6 of 12 START test not_null_dim_booking_holiday_end_date........................ [RUN]
07:24:42  3 of 12 PASS not_null_dim_booking_booking_status_code........................... [PASS in 1.10s]
07:24:42  7 of 12 START test not_null_dim_booking_holiday_start_date...................... [RUN]
07:24:42  2 of 12 PASS not_null_dim_booking_booking_ref................................... [PASS in 1.15s]
07:24:42  8 of 12 START test not_null_dim_booking_is_commercial_booking................... [RUN]
07:24:43  6 of 12 PASS not_null_dim_booking_holiday_end_date.............................. [PASS in 0.85s]
07:24:43  9 of 12 START test not_null_dim_booking_logical_cruise_buskey................... [RUN]
07:24:43  5 of 12 PASS not_null_dim_booking_cruise_code................................... [PASS in 1.18s]
07:24:43  10 of 12 START test not_null_dim_booking_ship_code.............................. [RUN]
07:24:43  7 of 12 PASS not_null_dim_booking_holiday_start_date............................ [PASS in 1.05s]
07:24:43  11 of 12 START test unique_dim_booking_booking_id............................... [RUN]
07:24:43  8 of 12 PASS not_null_dim_booking_is_commercial_booking......................... [PASS in 1.00s]
07:24:43  12 of 12 START test unique_dim_booking_booking_ref.............................. [RUN]
07:24:44  11 of 12 PASS unique_dim_booking_booking_id..................................... [PASS in 0.80s]
07:24:44  9 of 12 PASS not_null_dim_booking_logical_cruise_buskey......................... [PASS in 1.13s]
07:24:44  10 of 12 PASS not_null_dim_booking_ship_code.................................... [PASS in 0.95s]
07:24:44  12 of 12 PASS unique_dim_booking_booking_ref.................................... [PASS in 1.13s]
07:24:44
07:24:44  Running 2 on-run-end hooks
07:24:44  1 of 2 START hook: cuk_project.on-run-end.0..................................... [RUN]
07:24:47  1 of 2 OK hook: cuk_project.on-run-end.0........................................ [SUCCESS 1 in 2.53s]
07:24:47  2 of 2 START hook: cuk_project.on-run-end.1..................................... [RUN]
07:24:47  2 of 2 OK hook: cuk_project.on-run-end.1........................................ [SUCCESS 1 in 0.10s]
07:24:47
07:24:47
07:24:47  Finished running 12 tests, 2 hooks in 9.13s.
07:24:47
07:24:47  Completed successfully
07:24:47
07:24:47  Done. PASS=12 WARN=0 ERROR=0 SKIP=0 TOTAL=12
07:24:53  Error sending message, disabling tracking
Steps To Reproduce
On Windows, install dbt v1.1.0.
Run a command such as dbt test in the console.
Inspect output.
Relevant log output
No response
Environment
- OS:Windows
- Python:3.8.2
- dbt:v1.1.0

What database are you using dbt with?
snowflake
Additional Context
No response

Possibly related to: https://github.com/dbt-labs/dbt-core/issues/4443

Hi @marksabincarnivaluk, thanks for the bug ticket.  Based on the output I'm seeing the correct color tags are there but they're being shown as raw text for some reason ([←[32m should be the correct windows color code for green).
Can you test your windows console by running this echo?
echo This is green

Hi Ian,
Thanks for looking into this. I get no colour with that echo.
(dbt-env) C:\work\dbt-cuk>echo �[32mThis is green�[0m
�[32mThis is green�[0m
@.***
And also in Python:

print("\033[31mThis is red\033[0m")
←[31mThis is red←[0m

Regards
Mark
@.***
Mark Sabin | Senior Data Services Developer, Carnival UK
t: +44 (0) 23 8065 6102 | m: 07557 082511 | e<EMAIL_ADDRESS>From: Ian Knox @.>
Sent: 29 April 2022 21:21
To: dbt-labs/dbt-core @.>
Cc: Mark Sabin @.>; Mention @.>
Subject: Re: [dbt-labs/dbt-core] [CT-582] stdout colouring broken on dbt-core on Windows (Issue #5191)
Hi @marksabincarnivalukhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmarksabincarnivaluk&data=05|01|Mark.Sabin%40carnivalukgroup.com|f03792c8d3f3488ee9ca08da2a1dd1e5|9e37b9e905de4906b089536f19689074|0|0|637868604830663073|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=ul61Ru%2FewwAAcmGihbgqdUEl0ICxcEVot9jiKejejAU%3D&reserved=0, thanks for the bug ticket. Based on the output I'm seeing the correct color tags are there but they're being shown as raw text for some reason ([←[32m should be the correct windows color code for green).
Can you test your windows console by running this echo?
echo �[32mThis is green�[0m
—
Reply to this email directly, view it on GitHubhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdbt-labs%2Fdbt-core%2Fissues%2F5191%23issuecomment-1113691904&data=05|01|Mark.Sabin%40carnivalukgroup.com|f03792c8d3f3488ee9ca08da2a1dd1e5|9e37b9e905de4906b089536f19689074|0|0|637868604830663073|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=pXCe%2Bcj%2FqX4YR6hv0ohlQk7GJd0u4EuiTBs61OV%2Bx0o%3D&reserved=0, or unsubscribehttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAO5Q7SNZ5AU4ITIBGK7IEW3VHRAC3ANCNFSM5UU7XB6Q&data=05|01|Mark.Sabin%40carnivalukgroup.com|f03792c8d3f3488ee9ca08da2a1dd1e5|9e37b9e905de4906b089536f19689074|0|0|637868604830663073|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=JcehbMxtKrt4qLvr5%2B4K8e1lM96emROo3KV1yQ6ZhW4%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>Click herehttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.mailcontrol.com%2Fsr%2FUyeF_xPuAKHGX2PQPOmvUl5UhyzwdtGxmrtru3CCv7OpkNPRVDAbDF4iIqY2q2TgaxVn-5nCk0xMob8Srs06FQ%3D%3D&data=05|01|Mark.Sabin%40carnivalukgroup.com|f03792c8d3f3488ee9ca08da2a1dd1e5|9e37b9e905de4906b089536f19689074|0|0|637868604830663073|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=GfgZQo3E3EBB71%2BO0G%2F5%2BEsRzYNoR2Fu72rTgWyeX3g%3D&reserved=0 to report this email as spam.
The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential and/or privileged
material.  Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by persons or
entities other than the intended recipient is prohibited. If you receive
this in error, please contact the sender and delete the material from
any computer.
Carnival plc, a company incorporated in England,
registered number: 4039524, registered office:
Carnival House , 100 Harbour Parade, Southampton, SO15 1ST
VAT Reg No: GB 761 4300 58

Hi,
I've found that these key sequences do result in colours at the command prompt:
echo Ctrl+[ [32m This is green Ctrl+[ [0m
or
echo alt 027 [32m This is green alt 027 [0m
Both Ctrl+[  and alt 027 produce the escape character.
Also in python, this works:
`import os
os.system("color") # Alternative - os.system("")
TCOLOR = "\033[31;3m"
ENDC = "\033[m"
print (TCOLOR + "This is red" + ENDC)`
I see you are using colorama.
The following code, based on dbt's logger.py, does give the colours as expected.
The PR https://github.com/dbt-labs/dbt-core/pull/4792 altered logger.py so it no longer calls
colorama.init(wrap=True)
Although colorama.init(wrap=False) is subsequently called, it seems that it must be called first with wrap=True to make it work on Windows.
`import colorama
from colorama import Fore, Back, Style
import sys
Remove the next 2 lines to break it
colorama_wrap = True
colorama.init(wrap=colorama_wrap)
if sys.platform == "win32" and not os.getenv("TERM"):
colorama_wrap = False
colorama_stdout = colorama.AnsiToWin32(sys.stdout).stream
colorama.init(wrap=False)
print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')`

I've been able to confirm this is a bug in 1.1.0 on a windows machine.

Wow, this is some weird code! Seems like a direct result of https://github.com/dbt-labs/dbt-core/pull/4792:

Unless this statement has a side-effect or is being used externally, it appears to be deadcode

Sounds like we're talking about just such a side-effect?


Fixed Perception Button to use Wisdom Modifier and not Dexterity Modi…

…fier
Perception button was using dexterity_mod instead of wisdom_mod for the roll.  Visually it was fine but when rolling it was wrong.

Greetings @Kognar
Thanks for attempting to fix this bug. :) Two pull request went in to fix this so I am going to close this one. The issue was fixed in request #4082 as well.
Thanks,
Cassie


KAFKA-10699: Add system test coverage for group coordinator migration

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Running without the fix in KAFKA-10284(https://github.com/apache/kafka/pull/9270), the FencedInstanceIdException will be thrown.

The failed test: org.apache.kafka.streams.integration.StreamTableJoinTopologyOptimizationIntegrationTest.shouldDoStreamTableJoinWithDifferentNumberOfPartitions[Optimization doesn't seem related, local run succeeded.


Compendium links are not respected in monster feature summaries

They work correctly when detailing the feature in the editor but render as plain text in the summary.

Fixed with #351


Feature request: Being able to determine if a request has matched a reverse proxy route in middleware

I have a middleware (outside of the reverse proxy world) that needs to do some stuff. I do not want to do this stuff if the current request is getting proxied. The only way I have found to reliably determine this is like this:
            app.Use(async (context, next) =>
            {
                // Is there a better way of determining if the current request is a reverse proxy endpoint?
                var isReverseProxyEndpoint = context.GetEndpoint()?.Metadata.OfType<RouteModel>().Any() == true;

                if (isReverseProxyEndpoint) { await next(); return; } // Skip

I feel slightly not at ease doing it this way. Not sure if it's correct or if things might break in upcoming versions.
Kind regards, Emil
Edit: This does not work for MapForwarder(...)

That's correct, though I can understand it's ugly. There's no expectation it will break in the future.
MapForwarder won't have any special markers because it's a regular routing endpoint that calls the IHttpForwarder directly. You'd have to check the endpoint.DisplayName.

Triage: we could in theory explore making this nicer, but it doesn't seem like a common use case (we have heard no other requests for it) so we'll backlog it for now. The improvement would be to add an extension method on HttpContext that does the lookup described above.
If you are interested in this feature, let us know on this issue.


New command: Get a Microsoft Teams chat conversation for the current user

Usage
m365 teams chat get [options]
Description
Get the metadata of a specific chat conversation
Options

Option
Description

-i, --chatId [chatId]
The Id of the Chat conversation. Specify either chatId or userEmails or chatName.

-e, --userEmails [userEmails]
One or more emailaddresses to get the chat message by members. Specify either chatId or userEmails or chatName.

-n, --chatName [chatName]
The name of the chat conversation.  Specify either chatId or userEmails or chatName.

Additional Info
We will have to use the Graph API end point - v1.0/chats/ as per this documentation.
New Azure AD Permissions
Just like #2893, #2896 and #2860 we'll need Graph permissions. In this case: Chat.ReadBasic, Chat.Read or Chat.ReadWrite. Currently the AAD App which is being used by CLI for Microsoft 365 (PnP Management Shell) does not have the permission setup. Once the PR is completed, the permission may have to applied to the AAD App.
I would think using a single permission level (Chat.Read) covers all these commands best.

Thank you for the spec @martinlingstuyl. Should we also expose the ability to get the default chat for a group or a meeting?

Something like this? 👆
You need at least one of the properties.

Wait, I updated the options list. We were confusing ourselves between chat groups and o365 groups 🤦♂
you can only get by topic. That would be the meeting name or the groupchat name (if added)

Is it required to specify either chatId or name? If so, let's clarify it in the spec and later in command's help

That is indeed the idea. Do you have an example of how you would document mutually exclusive arguments like this?

Take a look at https://github.com/pnp/cli-microsoft365/blob/main/docs/docs/cmd/aad/app/app-get.md for example and the appId, objectId and name options.

Ok, awesome, updated the spec!

What about updating the options here: check out the updated specs.

What about updating the options here: check out the updated specs.

Sorry @martinlingstuyl, what do you mean?

Not my most explanatory comment 😌
I meant: get chat by Id OR by name OR (this part is new) by userEmails.

The new options look good. I'd suggest removing the shorts -i and -n because they're ambiguous and could theoretically mean userId and userName as well which could theoretically be valid options for this command.
As for the option name, what do you think about using usersEmails, instead of userEmails to indicate that it's possible to enter emails for multiple users rather than multiple emails for one user?

I'll remove the shorts.
Regarding userEmails or usersEmails. I personally don't like the multiple plural usersEmails. If feels wrong to me. If it's up to me I'd stick with userEmails, certainly in the context of sending a chat. Let people read the documentation if they don't know for sure what is meant.

@pnp/cli-for-microsoft-365-maintainers any opinions on the naming?

I guess we need to get @garrytrinder in here for the official linguistics but I feel more for userEmails

The new options look good. I'd suggest removing the shorts -i and -n because they're ambiguous and could theoretically mean userId and userName as well which could theoretically be valid options for this command.
As for the option name, what do you think about using usersEmails, instead of userEmails to indicate that it's possible to enter emails for multiple users rather than multiple emails for one user?

I've updated the spec, removed two shorts. I'll remove them on #2916 as well, as that one is similar.

I guess we need to get @garrytrinder in here for the official linguistics but I feel more for userEmails

I would say that userEmails is a little ambiguous, as we are talking about a variable number of people taking part in a conversation, maybe participants or chatParticipants would be more appropriate?

Just participants? or would you need to add the expected type of string, like participantEmails or participantsEmails. (in which case the question remains the same. 😉)

I like it.

Great 👍🏻
@waldekmastykarz @appieschot if we all agree then I propose we update the spec so we are clear on the design.

I updated the specs. And I reintroduced the shorts @waldekmastykarz.

You can assign me for this command.
I'll add it after the chat send command has been merged, as I want to reuse some code as 'chat utility functions'.

If you add the same code in the same place, git should take care of when merging changes, but we can also wait until the PR you mentioned is merged. We appreciate your help! 👏


WIP: Keycloak custom REST interface

This is some work on the keycloak custom REST API.
It will contain functionality for implementing organization membership for a multi-tenancy model, as well as support for some custom emails that work along with the gradual registration funnel.

This is getting too big, merging into master as it's stable. more work to follow.


Improve readme example

I notice that in the example provided in the README (and elsewhere), there is there are two serializations done of the Test struct, once with types::Record, and once with a native rust struct that derives Serialize.  Both of those serializations use the same data (a: 27, b:"foo"),  however when I change the data in the second record to:
let test = Test {
    a: 999,
    b: "bar".to_owned(),
};

I get this output:
...
Ok(Test { a: 27, b: "foo" })
Ok(Test { a: 27, b: "foo" })
Because I'm new to Rust and Avro, I'm not sure that I'm not doing something wrong. Shouldn't I be getting:
...
Ok(Test { a: 27, b: "foo" })
Ok(Test { a: 999, b: "bar" })

Oh wow, thanks for opening the issue, I was able to reproduce it locally.
The issue seems to be that we re-use the initial state of the byte-array for every item have to read. That means the library is reading the first element over and over.
I'll open a PR with a fix, the library should be usable soon!

Now that's a quick response.  Thanks.  Let me know if there's any way I can help, I'm going to work on porting a project of mine to your library.  I'll let you know if I have any other trouble.

I've just released the 0.3.0 version of the crate, this should have fixed the problem.
Let me know if the new version works better 🙂
Thanks in advance for letting us know if you have any other trouble, and don't hesitate to open issues if other parts of the README/documentation are unclear.  Hope the porting of your project will go smoothly!


Added examples of lookaheads failing

I noticed that there where only examples of positive and negative lookaheads matching in this challenge so I added lines showing what would happen if qRegex was ran on quit and if quRegex was ran on noquit with comments explaining why.

[X] I have read freeCodeCamp's contribution guidelines.
[X] My pull request has a descriptive title (not a vague title like Update index.md)
[X] My pull request targets the master branch of freeCodeCamp.
[X] None of my changes are plagiarized from another source without proper attribution.
[X] My article does not contain shortened URLs or affiliate links.

You have created this PR on a branch on the FCC repo instead of fork of the repo.  Can you please close this PR and open a new PR on your fork?
Thank you.

LGTM!
The branch origin is of no import, as it's trivially deleted right after the merge.


(freecad) auto update appears broken

Checklist

[X] I have checked the moderation queue that no new version has been submitted (only visible when logged in), or the submitted package version has failed the automated checks.

Please navigate to the following link to view the moderation queue.

[X] I have verified that the new version is a stable release.
[X] I have looked to see if there are any Bug reports that prevents a new version being submitted and that no existing Outdated Reports have been created.
[X] I have verified the new version has a Windows binary (EXE or MSI installer, Zip or other archive, etc).

New Software Version
0.20
Download location
https://github.com/FreeCAD/FreeCAD/releases/download/0.20/FreeCAD-0.20.0-WIN-x64-installer-1.exe
Package Page
https://community.chocolatey.org/packages/freecad

auto update seems broken, it doesn't pickup the dev releases either:
https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds
possible due to some naming scheme change?

@adrianinsaval
Thanks for bringing this to our attention. I'll look more into this issue this week. Hopefully it is just a speed bump.

I'm still not seeing the new versions of the package in the chocolatey page, is this actually fixed? @RedBaron2
how often is the auto update supposed to run? I'd like to know so I know how long to wait in the future before assuming something broke

@adrianinsaval
According to the appveyor schedule for the chocolatey packages. The script is ran every 6 hours. The problem is due to a limitation of chocolatey not allowing the push for the package. I'm hoping that @AdmiringWorm, or @gep13 might know what is causing the fault. There have been changes to the description since the last update but the character count is well below 4,000.
Hopefully we all will know something soon.


Page shadows checkbox in toolbar page view options is not working

The page shadows checkbox currently has no effect on the actual shadow of the pages as of today. It's likely a last minute change to fix or clear some other function that broke it.

I think it needs to be fixed right here, adding a dependency to the useMemo for displayOptions.pageShadows to the renderPages function:
https://github.com/naturalcrit/homebrewery/blob/e28b4e8c204e36041991fea92fd350c30fa05efd/client/homebrew/brewRenderer/brewRenderer.jsx#L220


Nixos minimal ISO is missing 'wget'

Nixos minimal ISO is missing 'wget'.
In order to get the old configuration.nix I used wget "http://example.com" -dump > configuration.nix

@peti how about wget?
$  nix-env -iA nixos.wget

install log:
installing 'wget-1.20.3'
these paths will be fetched (0.62 MiB download, 3.08 MiB unpacked):
  /nix/store/i5pxv29r9b00kqpiin7c9znz3w2r7693-wget-1.20.3
copying path '/nix/store/i5pxv29r9b00kqpiin7c9znz3w2r7693-wget-1.20.3' from 'https://cache.nixos.org'...
building '/nix/store/98w0qqa6cyk5x34lrhz6rhx2nkhppvm9-user-environment.drv'...
created 3158 symlinks in user environment

Yes, thanks to the union mount you can run such commands on the installation ISO and thus get whatever tools you want (assuming your internet works).


Add Component Library Dependency

https://www.npmjs.com/package/@cu-advancement/component-library
I should clean up a couple of things in the GitLab project before adding this.

To properly add the fund search page, the component library, forms, and animation dependencies need to be installed.

This is blocked by some work needed in the component library repo: https://gitlab.com/cu-advancement/clean-slate/-/issues/50

I'm reducing the scope of this since it was combining many tasks in one. No need to add dependencies until the specific issue comes up.


Remove unused function createThin()

Th unexported function 'antlr.createThin' is never used but has a potential bug. Using nil constant at common_token_factory.go:52, it is passed as 1st parameter in call to function 'antlr.NewCommonToken' at common_token_factory.go:52, where it is dereferenced at token.go:140.

Will move to the parent repo.


Add spinner to create alarms

Add spinner to create alarms instead of wheel pickera and manual typing. Make like many native alarms do, 2 independent vertical whiils to scroll up and down to pick time

This is not planned.