[GCI-2018] Improvements in README and code

The README.md file does not contain sufficient information on how to run the app. The documentation should be improved in order for newbies.

Block Allocation is not proper when New User is created. It gets a new ID but merging is not done. This can be fixed by goto and going to the ID Label.

On line 20, the margin given is 14. This can be changed upto 16 in order to get a better view.

Also at line 17 exportation of Module can be done of any specific object as it can cause multiple issues and then crashing of the application.

Also there should be an Pre-Loaded environment that can be used to run Python/Angular Bash GUI in Windows/Mac without getting issues.

@Yash-Garg please explain in detail what is not mentioned in README.md

@swatisingh45 My bad i didn't saw the Refer to Wiki line ! Wiki has everything stated properly.


extract execution of kwmc commands to its own function

Extracted the logic for running kwmc commands in the Daemon to be its own function. Should make it easier to implement #26 (if desired) and makes it possible to not have kwmc at the beginning of each line in the .kwmrc as RunCommand can just be called instead of doing a system call on kwmc

This is a great idea, however I wanted to tweak a little bit regarding naming so I went ahead and did this change as well as the required changes to KwmExecuteConfig.


Not returning json or xml

I am trying to test the editablegrid but nothing is returning from EditableGrid.php. After the foreach in the getPOJO function something is going wrong and loses all the variables. So I get an empty page.
I am using the demo table from the example. The php version is 5.6

The  EditableGrid.php uses "Iconv – Character Set Conversion" but "@"  silence any php errors at line 210.


Implement and document the way to migrate from GCM to FCM (Both uniqush-push and mobile apps)

[ ] change the URLs directly to https://fcm.googleapis.com/fcm/ , opt in by default (https://developers.google.com/cloud-messaging/android/android-migrate-fcm#update-server-endpoints)
[ ] Verify assumptions by creating a test GCM app with two builds - One with GCM, one with FCM, both in the same project
[ ] Prevent duplicate pushes within uniqush-push (may start being a larger issue when migrating): https://github.com/uniqush/uniqush-push/issues/145
[ ] Check if assumptions about GCM are true on other clients (e.g. FCM on APNS)
[ ] Research how other projects migrate from GCM to FCM (On the backend and mobile apps)

FCM may or may not require that a second API key be created, I don't know if that key would work for GCM
Consider documenting the upgrade process for uniqush subscriptions on the wiki if a maintainer successfully does so for GCM subscriptions.
Aside: GCM and FCM don't coexist on clients. I'm not sure if duplicate pushes from GCM/FCM tokens are going to be an issue

This is a serious issue. aliasing "gcm" to route to the "fcm" service can solve this issue once GCM is fully out of service.

It would be great if a migration tool can be created. Google says all GCM tokens will also be valid for FCM, so I think just changing the subscriptions internally to FCM is the only thing that's required in the migration.
Some interactive CLI command would be nice:

Loop through services that have a GCM PSP but don't have a FCM PSP yet
Ask whether you want to migrate this service
Ask for a new key for FCM service
Create a new FCM PSP with the given keys
Migrate all the old GCM PSP subscriptions to the FCM PSP

This is a valid solution 💪

On 19 Apr 2018, at 10:39, jerbob92<EMAIL_ADDRESS>wrote:
It would be great if a migration tool can be created. Google says all GCM tokens will also be valid for FCM, so I think just changing the subscriptions internally to FCM is the only thing that's required in the migration.
Some interactive CLI command would be nice:
Loop through services that have a GCM PSP but don't have a FCM PSP yet
Ask whether you want to migrate this service
Ask for a new key for FCM service
Create a new FCM PSP with the given keys
Migrate all the old GCM PSP subscriptions to the FCM PSP
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

http://uniqush.org/documentation/usage.html has been updated to mention FCM equivalents of GCM functionality. I'm changing this issue to track the migration to FCM as a whole (since this issue already has most of the discussion)
I'll need to set up a test app with GCM/FCM with emulators and real devices to verify that any implementation works as expected (No duplicates, no lost subscriptions, works even if FCM was created beforehand, etc)
Other thoughts:

It's probably possible to change the URLs directly to fcm.googleapis.com/fcm even before migrating (according to https://developers.google.com/cloud-messaging/android/android-migrate-fcm#update-server-endpoints) , but I would want to have one of the maintainers (or myself) verify that it works first.
https://github.com/uniqush/uniqush-push/issues/145 is useful for avoiding potential duplicate pushes (due to gcm and fcm reg ids being different), if clients provide the device id

2.6.0 was released with the associated packages, which change the GCM API URL to the FCM API URL.

@TysonAndre This is what we did, we turned our existing GCM app into an FCM app.
I think we created a new FCM PSP for people that were newly registered through FCM, old clients are still GCM tokens on FCM.
So in short:
New clients with FCM tokens receive push messages through the FCM PSP
Old clients with GCM tokens receive push messages through the GCM PSP (which is configured with the FCM API url)
I used the legacy API key while creating the FCM PSP.


Fix validate default arg and erroneous invocation in onBlur

validate's second argument was assigned undefined by default
when isRaw, which caused inputOptions.validate to be
invoked with undefined. The default was changed to be the same
value as validate's first argument.
inputProps.onBlur was erroneously invoking validate when
inputOption.validateOnBlur is false.
inputOptions.validateOnBlur is now checked before invoking
validate
These fixes surfaces a couple erroneous unit tests, which were
corrected as well.

Pull Request Test Coverage Report for Build 315

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.7%) to 99.34%

Totals

Change from base Build 312:
-0.7%

Covered Lines:
186

Relevant Lines:
186

💛  - Coveralls

Well, after trying to use these changes, it appears I only introduced a different bug. I'll need to investigate further to figure out the right solution.
If you see where I've gotten off track, I'd appreciate any pointers.

Alright, I made a couple changes that appear to clear up the issues I was seeing. Please review my changes closely. I didn't take a ton of time to get super familiar with the code base, so I may have misunderstood something and change things in an undesirable way.

Here's a CodeSandbox reproducing the issue: https://codesandbox.io/s/y7vy11761x

Rebased and pushed to bring up to date with master


Left to right scroller of installer doesn't work.

Bug report
Title
Left to right scroller of installer doesn't work.
Issue Description
Left to right scroller of installer doesn't work.
Preconditions
1. framework Version.- master

Steps to reproduce
1. step1- Installer framework through installer
2. step2- Check after all commands run successfully

Expected result
user should be able to scroll
Actual result

@jyoti-webkul @rahulshukla-webkul i will fix this issue tonight, with some other minor css issues that the web installer has.


[BUG]: Cannot use pipeline and gemini at the same time

🐛 Describe the bug
I previously attempted to submit a similar issue on #3383, but some of my imprecise expressions may cause unnecessary misunderstandings, which could increase the cost of understanding this issue. So here is a clearer version.
Hi~ We are trying to use ColoInitContext and GeminiDDP to make it possible to use both Gemini and pipeline parallel at the same time.But when different ranks tried to transmit the forward results, the code got stuck.The following is a simple reproduction based on the official example:
train.py
import os
import torch
from titans.model.vit.vit import _create_vit_model
from tqdm import tqdm
import colossalai
from colossalai.context import ParallelMode
from colossalai.core import global_context as gpc
from colossalai.logging import get_dist_logger
from colossalai.nn import CrossEntropyLoss
from colossalai.nn.lr_scheduler import CosineAnnealingWarmupLR
from colossalai.nn.optimizer.gemini_optimizer import GeminiAdamOptimizer
from colossalai.nn.parallel import GeminiDDP
from colossalai.pipeline.pipelinable import PipelinableContext
from colossalai.utils import is_using_pp, get_current_device
from colossalai.utils.model.colo_init_context import ColoInitContext
from colossalai.tensor import ProcessGroup
import torch.distributed as dist

class DummyDataloader():
    def __init__(self, length, batch_size):
        self.length = length
        self.batch_size = batch_size
    def generate(self):
        data = torch.rand(self.batch_size, 3, 224, 224)
        label = torch.randint(low=0, high=10, size=(self.batch_size,))
        return data, label
    def __iter__(self):
        self.step = 0
        return self
    def __next__(self):
        if self.step < self.length:
            self.step += 1
            return self.generate()
        else:
            raise StopIteration
    def __len__(self):
        return self.length

def main():
    # launch from torch
    parser = colossalai.get_default_parser()
    args = parser.parse_args()
    colossalai.launch_from_torch(config=args.config)

    # get logger
    logger = get_dist_logger()
    logger.info("initialized distributed environment", ranks=[0])
    if hasattr(gpc.config, 'LOG_PATH'):
        if gpc.get_global_rank() == 0:
            log_path = gpc.config.LOG_PATH
            if not os.path.exists(log_path):
                os.mkdir(log_path)
            logger.log_to_file(log_path)

    # create model
    model_kwargs = dict(img_size=gpc.config.IMG_SIZE,
                        patch_size=gpc.config.PATCH_SIZE,
                        hidden_size=gpc.config.HIDDEN_SIZE,
                        depth=gpc.config.DEPTH,
                        num_heads=gpc.config.NUM_HEADS,
                        mlp_ratio=gpc.config.MLP_RATIO,
                        num_classes=10,
                        init_method='jax',
                        checkpoint=gpc.config.CHECKPOINT)
    pipelinable = PipelinableContext()
    pg = ProcessGroup(ranks = [dist.get_rank()])
    with ColoInitContext(device=torch.device('cuda'), dtype=torch.half, default_pg=pg):
        with pipelinable:
            model = _create_vit_model(**model_kwargs)
    pipelinable.to_layer_list()
    pipelinable.policy = "uniform"
    model = pipelinable.partition(1, gpc.pipeline_parallel_size, gpc.get_local_rank(ParallelMode.PIPELINE))
    model = GeminiDDP(model, device=get_current_device(), placement_policy='cpu', pin_memory=True)

    # use synthetic dataset
    # we train for 10 steps and eval for 5 steps per epoch
    train_dataloader = DummyDataloader(length=10, batch_size=gpc.config.BATCH_SIZE)
    test_dataloader = DummyDataloader(length=5, batch_size=gpc.config.BATCH_SIZE)

    # create loss function
    criterion = CrossEntropyLoss(label_smoothing=0.1)

    # create optimizer
    optimizer = GeminiAdamOptimizer(model, lr=gpc.config.LEARNING_RATE)

    # initialize
    engine, train_dataloader, test_dataloader, _ = colossalai.initialize(model=model,
                                                                         optimizer=optimizer,
                                                                         criterion=criterion,
                                                                         train_dataloader=train_dataloader,
                                                                         test_dataloader=test_dataloader)

    data_iter = iter(train_dataloader)
    logger.info("Engine is built", ranks=[0])
    for epoch in range(gpc.config.NUM_EPOCHS):
        # training
        engine.zero_grad()
        _, _, loss =  engine.execute_schedule(data_iter, return_output_label=False)
        engine.step()
        if dist.get_rank() == logger_rank:
            logger.info(f"step: {step}, loss: {loss.item()}")

if __name__ == '__main__':
    main()

config.py
from colossalai.amp import AMP_TYPE

# hyperparameters
# BATCH_SIZE is as per GPU
# global batch size = BATCH_SIZE x data parallel size
BATCH_SIZE = 4
LEARNING_RATE = 3e-3
WEIGHT_DECAY = 0.3
NUM_EPOCHS = 2
WARMUP_EPOCHS = 1

# model config
IMG_SIZE = 224
PATCH_SIZE = 16
HIDDEN_SIZE = 16
DEPTH = 5
NUM_HEADS = 4
MLP_RATIO = 2
NUM_CLASSES = 10
CHECKPOINT = False
SEQ_LENGTH = (IMG_SIZE // PATCH_SIZE)**2 + 1    # add 1 for cls token

# parallel setting
TENSOR_PARALLEL_SIZE = 1
TENSOR_PARALLEL_MODE = '1d'

parallel = dict(
    pipeline=4,
    tensor=dict(mode=TENSOR_PARALLEL_MODE, size=TENSOR_PARALLEL_SIZE),
)

# fp16 = dict(mode=AMP_TYPE.NAIVE)
clip_grad_norm = 1.0

# pipeline config
NUM_MICRO_BATCHES = parallel['pipeline']

Script startup command
colossalai run --nproc_per_node 4 train.py --config config.py
The following is the corresponding log for the above code:
[03/31/23 13:04:17] INFO     colossalai - colossalai - INFO:
                             /workspace/code/ColossalAI/colossalai/context/paral
                             lel_context.py:521 set_device
[03/31/23 13:04:17] INFO     colossalai - colossalai - INFO:
                             /workspace/code/ColossalAI/colossalai/context/paral
                             lel_context.py:521 set_device
                    INFO     colossalai - colossalai - INFO: process rank 3 is
                             bound to device 3
[03/31/23 13:04:17] INFO     colossalai - colossalai - INFO:
                             /workspace/code/ColossalAI/colossalai/context/paral
                             lel_context.py:521 set_device
                    INFO     colossalai - colossalai - INFO: process rank 0 is
                             bound to device 0
                    INFO     colossalai - colossalai - INFO: process rank 2 is
                             bound to device 2
[03/31/23 13:04:17] INFO     colossalai - colossalai - INFO:
                             /workspace/code/ColossalAI/colossalai/context/paral
                             lel_context.py:521 set_device
                    INFO     colossalai - colossalai - INFO: process rank 1 is
                             bound to device 1
[03/31/23 13:04:19] INFO     colossalai - colossalai - INFO:
                             /workspace/code/ColossalAI/colossalai/context/paral
                             lel_context.py:557 set_seed
[03/31/23 13:04:19] INFO     colossalai - colossalai - INFO:
                             /workspace/code/ColossalAI/colossalai/context/paral
                             lel_context.py:557 set_seed
[03/31/23 13:04:19] INFO     colossalai - colossalai - INFO:
                             /workspace/code/ColossalAI/colossalai/context/paral
                             lel_context.py:557 set_seed
[03/31/23 13:04:19] INFO     colossalai - colossalai - INFO:
                             /workspace/code/ColossalAI/colossalai/context/paral
                             lel_context.py:557 set_seed
                    INFO     colossalai - colossalai - INFO: initialized seed on
                             rank 3, numpy: 1024, python random: 1024,
                             ParallelMode.DATA: 1024, ParallelMode.TENSOR:
                             4096,the default parallel seed is
                             ParallelMode.DATA.
                    INFO     colossalai - colossalai - INFO: initialized seed on
                             rank 0, numpy: 1024, python random: 1024,
                             ParallelMode.DATA: 1024, ParallelMode.TENSOR:
                             1024,the default parallel seed is
                             ParallelMode.DATA.
                    INFO     colossalai - colossalai - INFO: initialized seed on
                             rank 2, numpy: 1024, python random: 1024,
                             ParallelMode.DATA: 1024, ParallelMode.TENSOR:
                             3072,the default parallel seed is
                             ParallelMode.DATA.
                    INFO     colossalai - colossalai - INFO: initialized seed on
                             rank 1, numpy: 1024, python random: 1024,
                             ParallelMode.DATA: 1024, ParallelMode.TENSOR:
                             2048,the default parallel seed is
                             ParallelMode.DATA.
                    INFO     colossalai - colossalai - INFO:
                             /workspace/code/ColossalAI/colossalai/initialize.py
                             :116 launch
                    INFO     colossalai - colossalai - INFO: Distributed
                             environment is initialized, data parallel size: 1,
                             pipeline parallel size: 4, tensor parallel size: 1
                    INFO     colossalai - colossalai - INFO: train.py:53 main
                    INFO     colossalai - colossalai - INFO: initialized
                             distributed environment
[03/31/23 13:04:19] INFO     colossalai - ProcessGroup - INFO:
                             /workspace/code/ColossalAI/colossalai/tensor/proces
                             s_group.py:22 log_pg_init
                    INFO     colossalai - ProcessGroup - INFO: Pytorch
                             ProcessGroup Init:
                                     backend: nccl
                                     ranks: [0]
                    INFO     colossalai - ProcessGroup - INFO:
                             /workspace/code/ColossalAI/colossalai/tensor/proces
                             s_group.py:22 log_pg_init
                    INFO     colossalai - ProcessGroup - INFO: Pytorch
                             ProcessGroup Init:
                                     backend: nccl
                                     ranks: [1]
                    INFO     colossalai - ProcessGroup - INFO:
                             /workspace/code/ColossalAI/colossalai/tensor/proces
                             s_group.py:22 log_pg_init
                    INFO     colossalai - ProcessGroup - INFO: Pytorch
                             ProcessGroup Init:
                                     backend: nccl
                                     ranks: [2]
                    INFO     colossalai - ProcessGroup - INFO:
                             /workspace/code/ColossalAI/colossalai/tensor/proces
                             s_group.py:22 log_pg_init
                    INFO     colossalai - ProcessGroup - INFO: Pytorch
                             ProcessGroup Init:
                                     backend: nccl
                                     ranks: [3]
                    INFO     colossalai - ProcessGroup - INFO:
                             /workspace/code/ColossalAI/colossalai/tensor/proces
                             s_group.py:22 log_pg_init
                    INFO     colossalai - ProcessGroup - INFO: Pytorch
                             ProcessGroup Init:
                                     backend: nccl
                                     ranks: [0, 1, 2, 3]
searching chunk configuration is completed in 0.00 s.
used number: 0.02 MB, wasted number: 0.00 MB
total wasted percentage is 0.00%
False
False
False
[extension] Compiling or loading the JIT-built fused_optim kernel during runtime now
Detected CUDA files, patching ldflags
Emitting ninja build file /root/.cache/colossalai/torch_extensions/torch1.13_cu11.7/build.ninja...
Building extension module fused_optim...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
ninja: no work to do.
Loading extension module fused_optim...
Loading extension module fused_optim...
Loading extension module fused_optim...
Loading extension module fused_optim...
[extension] Time to compile or load fused_optim op: 0.4035046100616455 seconds
[03/31/23 13:04:21] INFO     colossalai - colossalai - INFO:
                             /workspace/code/ColossalAI/colossalai/initialize.py
                             :265 initialize
                    INFO     colossalai - colossalai - INFO:
                             ========== Your Config ========
                             {'BATCH_SIZE': 4,
                              'CHECKPOINT': False,
                              'DEPTH': 5,
                              'HIDDEN_SIZE': 16,
                              'IMG_SIZE': 224,
                              'LEARNING_RATE': 0.003,
                              'MLP_RATIO': 2,
                              'NUM_CHUNKS': 2,
                              'NUM_CLASSES': 10,
                              'NUM_EPOCHS': 2,
                              'NUM_HEADS': 4,
                              'NUM_MICRO_BATCHES': 4,
                              'PATCH_SIZE': 16,
                              'SEQ_LENGTH': 197,
                              'TENSOR_PARALLEL_MODE': '1d',
                              'TENSOR_PARALLEL_SIZE': 1,
                              'WARMUP_EPOCHS': 1,
                              'WEIGHT_DECAY': 0.3,
                              'clip_grad_norm': 1.0,
                              'parallel': {'pipeline': 4, 'tensor': {'mode':
                             '1d', 'size': 1}}}
                             ================================

                    INFO     colossalai - colossalai - INFO:
                             /workspace/code/ColossalAI/colossalai/initialize.py
                             :277 initialize
                    INFO     colossalai - colossalai - INFO: cuDNN benchmark =
                             False, deterministic = False
                    WARNING  colossalai - colossalai - WARNING:
                             /workspace/code/ColossalAI/colossalai/initialize.py
                             :442 initialize
                    WARNING  colossalai - colossalai - WARNING: No PyTorch DDP
                             or gradient handler is set up, please make sure you
                             do not need to all-reduce the gradients after a
                             training step.
                    INFO     colossalai - colossalai - INFO: train.py:102 main
                    INFO     colossalai - colossalai - INFO: Engine is built

By tracing the code, we found that processes are stuck here.
How should I solve this issue? Does Colossal AI have better debugging tools?

Some of our guesses about this issue
We found a similar discussion in PyTorch.
Furthermore, we use top and find the CPU usage of two processes was very high, but the GPU memory usage is not high:
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
35597 root      20   0   26.6g   2.3g 679720 R 101.3   0.5   1:53.95 python3.8
35598 root      20   0   25.3g   1.6g 565736 R 101.0   0.3   1:52.47 python3.8

Is it possible that some async communication was carried out  by Gemini and Pipeline which resulted in a deadlock?
Environment
docker image based on nvidia/cuda:11.7.1-devel-ubuntu20.04.Installing PyTorch and ColossalAI in this image will give you an environment similar to ours.
The container startup command we use is:
sudo docker run -itd --ipc=host --network=host --gpus all --hostname colossalai --name colossalai --cap-add=SYS_PTRACE ${image_name} /bin/bash
CUDA 11.7.1
torch 1.13.1
colossalai 0.2.8

Hi @liuzeming-yuxi
Thanks for your feedback. Currently, Gemini is not compatible with pipeline parallellism. The reason is that Gemini is not compatible with gradient accumulation which is necessary in pipeline parallelism. You can try ZeRO-1 and ZeRO2 with pipeline parallelism.


debug instance using wrong auth callback

Fixed. The debug instance was a clone of the production instance and therefore I was using the Oauth id and secret from production (z2k.plus) rather than debug (debug.debuggery.com)


[OPPRO-295] Bump protobuf to 3.16.3

What changes were proposed in this pull request?
Signed-off-by: Yuan Zhou<EMAIL_ADDRESS>How was this patch tested?
pass jenkins

prefer to remove all protobuf files in 'jvm/src/main/resources/protoc-include-3.13.0/google/protobuf', if can't, please upgrade to the version '3.16.3'.


How to add item "Second" to page-scroll?

Dear @crakjie,
Is there any way the theme supports to do the following:
Add a new element Second after Services that upon click scrolls down to the respective section?
Thankfully,
-Robert

Dear @crakjie,
Might you be able to give me a quick hint?
Thankfully,
-Robert

I think you could have a tab by post if you want.
Just iterate on post and fetch there title when building the head of the page.

Thanks for your really helpful guidance!
I started experimenting with the following code in header.html:
{{ range .Data.Pages }}

    {{ .Title }}

{{ end }}

Seems to go into the right direction. :smile:
-Robert

It's look good but be careful if your title contain spaces.
if you first title is "My title" and the second "My links"
you will have #My twice.
There is advanced way to make link with gohugo. But I don't remember how.

Thanks for the caveat! I will see how far I get. :-)
-Robert


Please provide an AppImage for Linux

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when I can't run an app on Linux.
Describe the solution you'd like
Please provide an AppImage for y2mp3 on GitHub Releases.
https://github.com/moshfeu/y2mp3/blob/9535b13c144de9e369cebaf6410088deca473351/package.json#L76
Describe alternatives you've considered
Compile myself. Cumbersome.
Additional context
Providing an AppImage would have, among others, these advantages:

Applications packaged as an AppImage can run on many distributions (including Ubuntu, Fedora, openSUSE, CentOS, elementaryOS, Linux Mint, and others)
One app = one file = super simple for users: just download one AppImage file, make it executable, and run
No unpacking or installation necessary
No root needed
No system libraries changed
Works out of the box, no installation of runtimes needed
Optional desktop integration with appimaged
Optional binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
Can optionally GPG2-sign your AppImages (inside the file)
Works on Live ISOs
Can use the same AppImages when dual-booting multiple distributions
Can be listed in the AppImageHub central directory of available AppImages
Can double as a self-extracting compressed archive with the --appimage-extract parameter
No repositories needed. Suitable/optimized for air-gapped (offline) machines

Here is an overview of projects that are already distributing upstream-provided, official AppImages.
If you have questions, AppImage developers are on #AppImage on irc.freenode.net.

Thanks for your suggestion. I have no experience with Linux but I will do my best to support this too.
Feel free to PR 🙏

Done (from v1.0.2). Thanks!


Added responses from validate API

Signed-off-by: keithhc2<EMAIL_ADDRESS>Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Also should we add labels for "upcoming release" and "v1.3" so it doesn't get pushed before.

@amitgalitz: Are we good to merge this in?


Fetch Testing Images

Ok, this was pretty straightforward once I got reacquainted with Redux. However, the main question here is, where do we want the call made to Redux to fetch the next subject in a queue.
I also removed all references to Liberating the Liberator, aside from a url in one place as we are still not positive of that address.

PR Review

This PR attempts achieves the following features & changes:

The 'Liberating the Liberator' text has been updated to 'Anti-Slavery Manuscripts' across all known pages/components/labels. (NOTE: only the repo name has not yet been changed.)
The Subject Redux Duck is now hooked up to project 3012 on staging
The Subject Viewer component now properly pulls Subject images from a queue, (i.e. from the Panoptes staging API) instead of using a static placeholder image.

So far, this LGTM.
Only one comment for the future:

We'll eventually need to move the project information (e.g. workflow ID) to a proper dynamic config file.

Status
Approved, merging.


Error importing users with old ID

Hello,
I'm trying to import users keeping their old ID, but it doesn't seem to work. I picked the "append data" option on the main page. The import history looks green, but in the details it says it can't find the user with the given ID.

It also updated my admin user with the id 1 and I was lucky that I was able to request a password reset :)
The reason I want to keep the old ID is because I need to match it with other imported tables.

It seems it can't be done via the Craft API. I'd suggest if people import users in the "append" mode, then disable the ID option as a target attribute.

Ok, too bad. Thanks for trying.


Request titles containing slashes unsearchable

Bot tells me the search does not return a result when I query targets with slashes in the body. Have not started to fix this, logging it here so I don't forget.
I expect to be able to default to a slash-less prompt, but a successful search is apparently unsuccessful for the examples I've tried (Except for Face/Off lol)
Entering command again with previous result of same query displayed above

For some reason going slashless works for this title, bot not others (specifically V/H/S. but also titles in this very helpful thread)

This also happens with titles that contain an apostrophe '

Yup, just encountered this with a colon. The issue is utils.clj
(defn http-request [method url key & [params]]
  (let [chan (a/promise-chan)
        put (fn [v]
              (trace "HTTP Response " v)
              (a/put! chan v))]
    (trace "Performing HTTP request" method url params)
    (hc/request
     (deep-merge
      {:method method
       :url url
       :as :json-string-keys
       :coerce :always
       :async? true
       :headers {"X-API-Key" key}}
      params)
     put
     put)
    chan))

Query:
"http://<IP_ADDRESS>:5055/api/v1/search?query=Freeway: Crack in the System",

Response:
"Parameter 'query' must be url encoded. Its value may not contain reserved characters."}]}


[NCL-8342] Update GH workflow dependencies

actions/setup-node@v3 is updated in separated PR https://github.com/project-ncl/pnc-api-types-ts/pull/16


Changed default prezto repository

https://github.com/sorin-ionescu/prezto/commits/master
hasn't been maintained since 2016.
I propose zsh-users prezto to be default one since it seems maintained and up to date:
https://github.com/zsh-users/prezto/commits/master

The origin repo was reactivated, but there are still debates over which repo should be maintained. So it is better to modified the address after they decide.

Oops, it's mistake operation

Thank you for your contribution!

Shouldn't this be the other way around ? The repo sasys it is shutdown ?
https://github.com/prezto-inactive-community-fork/prezto


use workspace, not project and install pods before building

ok, but the build badge links to the wrong domain


Delete unnecessary files.

Some clean up.  The scale functions don't seem to ever be used and I'm just making their settings switchable in the main class (which is used).  Might be taken out later.

Closing for now, but it's good to be aware that the things currently living in the scale_test  dir are unused and so should be handled in the near future.


Allow theme to control characer spacing

Allow the theme to control the character spacing where ever the font can be customized.

The trick here is to declare the character spacing when the font is set and when a new page is created. However, this cannot be fully solved until block shading is added after the content is written. The reason is that if a page has already been created (by the block shading routine), then the callback is not executed and the character spacing never gets set. As a result, any block that crosses the boundary of the page loses its character spacing setting.

Nice in theory, but I can't see how useful it is. Tabling for now.


Manual scraped images support

We edit a single game to change/add a custom boxart image but we can't access the images that Daijishou downloads upon scraping because they are stored in /data/user/0 which is annoying.
Either one of the following two approaches would help a lot to enable users to use their own scraped images for whole rom sets that they already scraped on a PC with Skraper or anything like that, given the filename of the image matches the rom name:

Place the scraped images in the user accessable internal memory in /emulated/0/Android/... instead of placing it in the root directory /data/user/0 so we can see how they are named and can copy in our own images whenever needed
Keep the Daijishou images where they currently are but give us the option to define an own directory per system where we could place our images in and whenever an image is found in our own directory, it will be used while the one scraped by Daijishou (if it exists) will only work as a fallback.

This is especially important for homebrew games (like from itchio) and rom hacks (which is the main reason I'm complaining about this).

You can already replace entire platform of images as long as the image name is the same as the rom

Daijishou > Highlight Platform > 🖊 > Import Preview Media > Select folder with images


[Suggestion] About CraftTweaker integration

Could it be possible to change string to ItemStack? as it would add support for metadata/blockstate.
As of now, I don't think it's possible to specify meta/state to differentiate block, like multiple BoP grass type and such.
Or maybe just add a variable to Soil function for metadata. if that's simpler.

I'm not sure where you want to use an ItemStack instead of a String. I'm also not sure what part does not support metadata.
CraftTweaker can not be used to add new Soils, you are supposed to do that using json files.
Please elaborate a bit.

Ah, that's the part I missed lol, I tried to add soil directly with CT using block name lol.
Could it be eventually possible though to add soil with CT using ItemStack?
JSON is fine and all, but CT is very simple, specially for those who use it regularly.

Maybe one question: can there be more than one definition in a JSON file? Or must I make 1 file per block/meta?

Yes, you can. See greenSlime.json.


React Error : TypeError: fs.existsSync is not a function

Hi, when import your package on React project, i receive this error

Hey @rlembo06, thanks for opening an issue! This library requires access to the filesystem which wouldn't normally be available in the browser like this. The specific error is likely due to the fs shim not being able to cover all aspects of fs (since its running in browser).
Maybe you could describe what you are trying to do?

I have the same issue. I am trying to embed git info in a React module.
const someModule = () => {
   ...
      <h5>{gitInfo()}</h5>
   ...
    const gitInfo = () => {
      const info = getRepoInfo();
      return `${info.tag}-${info.abbreviatedSha}-${info.authorDate}`;
    };
}

export default someModule;


Add quotes around ansible_ssh_private_key_file format

Proposed simple fix for #783

@vegai Simple solution, you rock 🎸


Introduce DefensiveMin and DefensiveMax

Add traits to run min/max operations defensively. In some cases we use min/max but do not expect the else case to trigger. These traits would help with finding if these cases actually ever trigger.

Was discussing it with Ank4n: can you add a defensive_min() and defensive_max as well? I think there are a LOT of use cases where we do these operations defensively.

Originally posted by @kianenigma in https://github.com/paritytech/substrate/issues/12515#issuecomment-1283925928
trait DefensiveMin:

fn defensive_min by using <=
fn defensive_strict_min by using <

trait DefensiveMax:

fn defensive_max by using >=
fn defensive_strict_max by using >

I want to pick this up @ggwpez
Can you give me an example of how this can be used like this example here

Example being something like:
assert_eq!(10, 10_u32.defensive_min(11_u32)); // works
assert_eq!(10, 11_u32.defensive_min(10_u32)); // panics in tests

That is at-least how I imaging it. Should be possible in Rust hopefully.


Initialize passport when only adminAuth.tokens is set

Fixes #3341
If adminAuth only contained tokens then we were not initialising Passport properly.
This fixes that and also adds some trace level logging if the token-auth fails for any reason.

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes

Checklist

[ ] I have read the contribution guidelines
[ ] For non-bugfix PRs, I have discussed this change on the forum/slack team.
[ ] I have run grunt to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

Coverage decreased (-0.01%) to 67.354% when pulling ea20342d766fc2846153861542055974d19fd92c on adminAuth-logging into f8c47f59bce1db26d297751b459e03a38881cfca on master.


Possibility to check by known functions signatures

And besides of checking predefined std functions it would be even greater if we could specify own functions signatures inline.

Do you mean checking types of passed arguments? I would like to avoid having to slowly add parts of type inference to existing luacheck codebase. If there will be type inference it will be implemented in a standalone library. I looked at some type systems for Lua and all seem to be focused on soundness, which is fine but IMO for a linter immediate lack of false positives, without any annotations, is very important. So this has to wait until someone makes a type inference library like that, maybe even me :smile:
If you mean something simpler like checking that number of passed arguments is not higher than expected then it could be added.

Well, I mean rather first.
But second is good too)


[opencv4:x64-windows] build failure

Host Environment

OS: Windows
Compiler: Visual Studio 2019 Professional

To Reproduce
Steps to reproduce the behavior:
./vcpkg install opencv[cuda] --triplet=x64-windows
Failure logs
--- Building x64-windows-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:142 (message):
    Command failed: C:/source/vcpkg/downloads/tools/cmake-3.18.4-windows/cmake-3.18.4-win32-x86/bin/cmake.exe --build . --config Debug --target install -- -v -j13
    Working Directory: C:/source/vcpkg/buildtrees/opencv4/x64-windows-dbg
    See logs for more information:
      C:\source\vcpkg\buildtrees\opencv4\install-x64-windows-dbg-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_build_cmake.cmake:93 (vcpkg_execute_build_process)
  scripts/cmake/vcpkg_install_cmake.cmake:24 (vcpkg_build_cmake)
  ports/opencv4/portfile.cmake:369 (vcpkg_install_cmake)
  scripts/ports.cmake:136 (include)

Error: Building package opencv4:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: opencv4:x64-windows
  Vcpkg version: 2020.11.12-nohash

Additional context
A colleague was getting this same error and reported that after an unknown number of trials with the sme command, it compiled.
install-x64-windows-dbg-out.log

Duplicate to #13077


Custom options on subscription creation

Recently I needed to support Connect's application fee system in Cashier in order to properly support a large feature we were working on for 1 of our products. Part of this involved applying an application_fee_precent to the create() method (we needed flat fees, but for whatever reason Stripe doesn't support applying flat application fees on a subscription, so we had to work out the percentage required to hit the correct fee).
Part of this change meant extending the create method in SubscriptionBuilder.php to support this. Rather than simply adding the application_fee_percent to the buildPayload() method I opted to extend its flexibility by accepting an option array of data from the user via a third argument in create() and merged it with the existing array there (allowing keys set in the builder to override anything sent in by the call.
protected function buildPayload(array $subscriptionPayload = [])
{
    return array_filter(array_merge($subscriptionPayload, [
        'plan' => $this->plan,
        'quantity' => $this->quantity,
        'coupon' => $this->coupon,
        'trial_end' => $this->getTrialEndForPayload(),
        'tax_percent' => $this->getTaxPercentageForPayload(),
    ]));
}

This is a small enough change, however helps increase the flexibility of creating subscriptions with things that aren't directly supported by Cashier (like Connect)

The PR for Stripe Connect functionality was rejected so closing this because atm we have no plans of supporting it.


Create ECR as part of the module

It'd be great to create an Elastic Container Repository as part of this module.

Check this: https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html


chore: add npm badges

e.g. https://monosnap.com/file/CgwdmnTsC3E7OQkIpAF9skois4fsK5

Works for me, thanks!


Build fails with RN 0.71.14

Description
i'm getting a build error on ios, when trying to run 0.71.14
this is upgrading from 0.71.12

React Native Version
0.71.14
Output of npx react-native info
System:
    OS: macOS 13.5.2
    CPU: (10) arm64 Apple M1
    Memory: 77.28 MB / 64.00 GB
    Shell: 3.6.1 - /opt/homebrew/bin/fish
  Binaries:
    Node: 18.16.0 - ~/Library/Caches/fnm_multishells/7390_1697116804547/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 9.5.1 - ~/Library/Caches/fnm_multishells/7390_1697116804547/bin/npm
    Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
  Managers:
    CocoaPods: 1.11.3 - /Users/<redacted>/.rbenv/shims/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 22.2, iOS 16.2, macOS 13.1, tvOS 16.1, watchOS 9.1
    Android SDK:
      API Levels: 28, 29, 30, 31, 33
      Build Tools: 29.0.2, 30.0.3, 31.0.0, 33.0.0
      System Images: android-30 | Google APIs ARM 64 v8a, android-31 | Google APIs ARM 64 v8a, android-33 | Google APIs ARM 64 v8a
      Android NDK: Not Found
  IDEs:
    Android Studio: 2021.3 AI-213.7172.25.2113.9014738
    Xcode: 14.2/14C18 - /usr/bin/xcodebuild
  Languages:
    Java: 13.0.14 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 18.2.0 => 18.2.0
    react-native: 0.71.14 => 0.71.14
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps to reproduce
rm -rf ios/Pods
cd ios
bundle exec pod install

it required

bundle update activesupport
pod update hermes-engine --no-repo-update

then
xcode > product > clean build folder
finally
xcode > product > build
Snack, screenshot, or link to a repository

with a fresh install of RN 0.71.14, it works, but what about upgrades ?
this is a patch release, shouldn't involve installing RN from scratch

it was an issue with my setup


Vic2HoI4 update

I'm giving here an update to the datafiles of the converter, as well as some suggestions. I don't know how to pull request, guys, I'm sorry.
Update: https://www.mediafire.com/?qs9gvgc99146d90
Changelog:

More country mapped, to have special party and name flavors. Such countries are the ones in Darkest Hour, the HoI4 leftovers, the HRE and the Roman Empire

Great Power and Uncivilized NSs now have icons (#249)

Recontrolled tech mappings. Vic2 techs for 1919 mapped to 1936 ones, and 1936 ones to circa 1938 ones. This is to get all vanilla HoI4 starting techs (#197)

Restored election events, adding as well a new one (#280)

Updated some flags of the 1.4 update (ALG, BIH, BUR, KGZ, LKA, MAR, MDA, SVN, TJK, TKM, TUN, UZB, KUK)

Blanked out DoD NF trees

Added company mappings to vanilla factories

Added some data-files to implement: post-colonial cores (#250), faction mappings (#243, possibly #226/#250), unitsound mappings (#290)

Added missing flags (copyright thing doesn't work on public domain/historical stuff)
SIDENOTE: Dxx flags have not been added since there is no PD image to base on

Ported over new flags from EU4Vic2 converter

Finally added HPM province mappings, correct and with correct VPs (#94)

Corrected Vanilla province mappings (#94)

Corrected the starting bookmark description
*Now there is a [ideology]_GATHERING_STORM_DESC for a possible generated bookmark
*The generic descriptions has been updated

Fixed interface errors (#303)

SIDENOTE: about the name mappings, only some countries have industry names, even lesser have female names and only majors have callsigns. This is how Vanilla handles it, and how I handled it here.

I'm pinning @kratostatic here now, hoping he'll merge these new files.

No need to pull kratostatic from his work on the EU42Vic2 converter. I can take care of this.

I think the new national focus files from Death Or Dishonor are supposed to be empty, so that they don't get their special trees which don't make sense in the context of a converted game.

Yeah, maybe it's better. But triggerless as they are now, they still can't
appear.

Wouldn't they appear if there was a Romania in the converted world? I honestly don't know.
But in any case they caused entries in HOI's debug log, because they contain country tags of countries which don't exist in the converted world.
In any case I appreciate your work and I think I can learn a lot about modding HoI from you. I started with understanding focus tree files and am working my way around from there. ;-)

I'm not sure what happened. It seems like the update has been forgotten here or am I wrong? I can get the reluctance on vanilla province mappings, but all other things are correct, I can swear, and there's no broken copyright.

Not forgotten, just choose a more gradual process to pull it all in, plus not having much time, plus trying to work out all the nuances of my current feature before I focus on this. :-)

I've merged in the changed country mappings. I'll push it in a little while. In the meanwhile, I've added a strikethrough on the first post so I can keep track of what's unmerged.

Because a new thread would be confusing, these files have to be added to the upgrade as well. In case of overwrite with my previous archive, overwrite.
The new features added by this second upgrade are:

FAQs updated
Country mappings revised to make mods' Libya be Libya
Special cosmetic tags to fix Nazi Germany, Soviet Union and PRC colors
Restored localisation for the new ideologies' events
Restored province name upgrader event

00_HOI4.zip
About the province renaming event, I can understand you'd prefer it split into different events and based upon culture, religion or something else. The main problem is, there is no sure tag owning that, no there is "culture" at all in HoI4. Better modernize them and be sure that Edo and Christiania get their names Tokyo and Oslo, because it is highly improbable they'd not have got these new names.

Alright, I've added flags in, for the most part. There were a number where they were the exact same as the Vic2 flags and I couldn't find a common source with a quick google. Can you provide the sources for these ones so we can be absolutely sure we aren't copying from Vic2 without permission?
CHE_monarchy
CHI_republic
DEN_monarchy
DEN_fascist
DOM_monarchy
DOM_communist
ECU_communist
ECU_fascist
ECU_monarchy
ELS_communist
ELS_monarchy
ENG_communist
ENG_fascist
ETH_communist
ETH_fascist
FRA_communist
FRA_fascist
GER_communist
GXI_communist
GXI_fascist
GXI_republic
HAI_communist
HAI_fascist
HEK_fascist
HND_communist
HND_fascist
HON_communist
HON_fascist
HON_monarchy
HON_republic
ICL_communist
IRE_communist
IRE_fascist
IRE_monarchy
IRQ_communist
IRQ_monarchy
ITA_communist
JAN_republic
JAP_communist
JAP_fascist
KAL_monarchy
LAT_communist
LAT_fascist
LIB_communist
LIB_fascist
LIB_monarchy
LIT_communist
LIT_fascist
LUX_communist
LUX_fascist
LUX_republic
MAN_republic
MEW_monarchy
MGL_fascist
MGL_monarchy
NAS_monarchy
NEP_communist
NEP_fascist
NEP_republic
NIC_communist
NIC_fascist
NIC_monarchy
NZL_communist
NZL_fascist
OMA_monarchy
ORA_republic
ORI_monarchy
PER_communist
PER_fascist
PHI_communist
PHI_fascist
PHI_monarchy
PNM_communist
PNM_fascist
PNM_monarchy
POL_communist
POL_fascist
POR_communist
POR_fascist
REB _fascist
REB _republic
REB
ROM_communist
ROM_fascist
ROM_monarchy
RUS_fascist
SAF_fascist
SCH_monarchy
SIA_communist
SIA_fascist
SIA_republic
SPA_communist
SWI_communist
SWI_fascist
SWI_monarchy
SXI_communist
SXI_fascist
SXI_republic
TIB_communist
TIB_fascist
TPG_republic
TRE_fascist
TRE_monarchy
TUN_monarchy
UCA_communist
UCA_fascist
UCA_monarchy
URU_communist
URU_fascist
URU_monarchy
USA_communist
USA_fascist
USA_monarchy
VEN_fascist
VNZ_communist
VNZ_republic
WIA_monarchy
WLL_communist
WLL_fascist
WUR_monarchy
WUR_republic
XBI_communist
XBI_fascist
YEM_communist
YNN_communist
YNN_fascist
YNN_republic
YUG_fascist

Besides Cherokee (monarchy-straightly copied from EU4), Hesse-Kassel (fascist), Jan Mayen (all, but seriously), Orissa (monarchy-straightly copied from EU4), Trieste (monarchy and fascist), UPCA (fascist and communist), Wallonia (communist and fascist) and the ones below, they are the same in both Vic2 and HoI4. If you want them checked as well, ask me. These below are the ones that are only in Vic2 and Real Life:

Kalat monarchy: https://commons.wikimedia.org/wiki/File:QalatFlag.svg
Mewar monarchy: https://commons.wikimedia.org/wiki/File:Mewar.svg
Nassau monarchy: https://en.wikipedia.org/wiki/Duchy_of_Nassau
Orange Free State republic: https://en.wikipedia.org/wiki/Orange_Free_State
Schleswig monarchy: https://en.wikipedia.org/wiki/Duchy_of_Schleswig
Taiping republic: https://en.wikipedia.org/wiki/Empire_of_China_(1915–16)
Tunisia monarchy: https://en.wikipedia.org/wiki/File:Tunisian_flag_till_1831.svg
UPCA monarchy: https://en.wikipedia.org/wiki/File:Flag_of_Guatemala_(1851-1858).svg
Venice fascist (bordure removed): https://en.wikipedia.org/wiki/Venice
Wiang Chhan monarchy: https://en.wikipedia.org/wiki/Kingdom_of_Vientiane
Württemberg monarchy: http://www.crwflags.com/fotw/flags/de-wu817.html (last one)
Württemberg republic: https://en.wikipedia.org/wiki/Kingdom_of_Württemberg

I hope you don't plan to remove the ones that are present in both games, however. In my opinion, it makes no sense to create variants only because you are playing a modded game rather than vanilla.
If you wish me to create new flags for the ones that are unsourced, tell me which ones, I'll try to come up with a design.

Doh! I forgot to check if they matched the HoI4 ones, which is a perfectly acceptable case for what we're doing. I'll go back through next time I have a chance and add all those. And thanks for providing sources for the others!

I'll re-draw the ones with no other source than Vic2 later (Jan Mayen aside), to avoid copyright issues.

I found a source for Trieste fascist and monarchy: http://www.crwflags.com/fotw/flags/it-tries.html (See Historical section).
Here the other flags that were found only in Vic2, redrawn with unique designs:
0.zip

Alright! That leaves these flags (while the Trieste emblem is on that source, there's enough going in the flags that I'd feel more comfortable if they're redrawn):
MAN_republic.tga
ORI_monarchy.tga
REB _fascist.tga
REB _republic.tga
REB.tga
RUS_fascist.tga
TPG_republic.tga
TRE_fascist.tga
TRE_monarchy.tga
UCA_monarchy.tga
WIA_monarchy.tga

I already fixed you Orissa (ORI). Also, I provided you the source of
Taiping (TPG), UPCA (UCA) and Vientiane (WIA), just look up in previous
messages. About Rebels, not like there is a different flag. Russia
(fascism) is the same as HoI Soviet (fascist).
I'll look up Manchu Republic and see better about Trieste if I can come up
with a good design.

I finally wrapped up merging in your province mappings. Thank you for them, you were right that they were much better than the originals. If you'd like to make updates or corrections to my merging and meddling, this file is what you should work from: https://github.com/Idhrendur/paradoxGameConverters/blob/Vic2ToHoI4/Vic2ToHoI4/Data_Files/province_mappings.txt
With that done, the only files left here are for new features, and referenced in their own issues, so I'm going to close this out.


NIFI-7621 & NIFI-7614 Updated terminology throughout codebase and doc…

Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
Changes legacy terminology around keys, clustering, and integrations where new terms and transition for users are available.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

[x] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[x] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[x] Have you written or updated unit tests to verify your changes?
[ ] Have you verified that the full build is successful on JDK 8?
[x] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[x] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

+1 Please self merge.  Not just why the osx build stopped but given the others went fine I suspect we're ok.

Forgot the closing keyword. This PR was successfully merged in commit 0fa8776f4d2305b9cd5d46525e45dc73678dac52.


Modified code to import only what we need from lodash

Cleaner and should help with tree shaking.

@mindreeper2420 - can you approve this?


[c++] ClientAsyncReaderWriter (async_stream.h @ 496) placement operator delete does not match placement operator new

Please answer these questions before submitting your issue.
Should this be an issue in the gRPC issue tracker?
yes
What version of gRPC and what language are you using?
C++, v1.8.x
What operating system (Linux, Windows, …) and version?
Windows
What runtime / compiler are you using (e.g. python version or version of gcc)
VS 2015, ninja build / CMake
What did you do?
A similar issue to the one reported and fixed for unary call at: https://github.com/grpc/grpc/issues/11301
also exists for streaming call in async_stream.h.
What did you expect to see?
no warnings
What did you see instead?
the fix is simply to add:
static void operator delete(void*, void*) { assert(0); }
at line 499.
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
Anything else we should know about your project / environment?

Looks like we need the same fix as here: https://github.com/grpc/grpc/pull/13713/files


Add onnote for triggering events when a note is pressed

This would be useful for multiple reasons. But the most hydra-related one would be being able to change the sketch on the press of a note. On a live setting, this makes it possible for a VJ to set different "scenes" and change between them. On a production setting, this would make it super easy to sequence sketches from a DAW in order to, for example, code a music video for a song.
This PR hasn't been tested! Will test tomorrow.

Syntax
I've coded it so that .onnote(noteName, event) can be accessed via a input or channel. When used from input, the channel is simply '*'
Example
device = midi.input(0)

device.onnote('c1', () => {
    osc().out()
})

This looks great, thanks for the PR! Will also test it on monday. If have only one question: would you mind renaming onnote to onNote? This is just a personal preference.

of course ! that was actually my first idea too but idk why I just had the feeling you might prefer it all lowercase lol

all done! tested on windows using FL Studio and loopMidi and fixed some stuff. should be ready to go

awesome, thanks! I'll have a look at it tomorrow or on monday and merge it

Found some time this evening to merge :) New version can be loaded with @latest or @0.1.0<EMAIL_ADDRESS>

would you like me to share this on the discord server? i feel many people haven't realized this is already a regular script extension instead of the old chrome extension. (i realized just a couple days ago personally)

ah yes please share it!


Clarification of Non-Determinism for Serial Steps in Models

MLPerf generally prohibits introduction of non-determinism to achieve speedups. There is grey area here, though. For example, I generally believe that MLPerf allows for non-determinism when it comes from threading and interleaving (or resulting from different batch sizes) as scaling up models or where such non-determinism is already inherent from shuffling.
I want to clarify that it is my understanding such non-determinism is explicitly not allowed (at least for v0.5) to introduce lazy/eventual consistency where the reference implementation uses strong consistency. For example, using stale / eventually consistent gradients (or models) is prohibited unless the reference implementation does the same.

What about other sources of non-determinism e.g.  silent data corruption of hardware state, stochastic rounding.  Will these be permitted?  Silent data corruption due to high energy particles is challenging to eliminate from all hardware structures.  I suppose stochastic rounding is permitted as long as it can be deterministically reproduced?  How are the sources of non-determinism expected to be validated?
The example of eventual consistent gradients being not permitted would then imply mechanisms like deep gradient compression are not permitted?  Isn't it possible for eventually consistent gradients to be deterministic?

SWG Recommendation:

We understand that these systems involve a certain level of non-determinism. In general, follow the reference implementation. Latitude is provided for more efficient shuffles and other such implementation level decisions. Use of stale gradients or introducing eventual consistency is not allowed unless otherwise noted.
Additional clarification for half precision loss scaling (dropping updates) will be proposed at the next submitters meeting.

It seems like prohibiting stale gradients or eventual consistency will penalize several vendors (particularly those that have limited storage).  For example, Graphcore has been fairly clear that they believe recomputing gradients from snapshots is a valid option to reduce the memory footprint.

Allow me to clarify one thing: this recommendation refer to the "Closed" division of mlperf (as opposed to the open division).
If there are considerations here you think may have been missed, please don't hesitate to reach out. It's not our intention to penalize any vendor; please bring this up this issue on the MLPerf mailing list (https://groups.google.com/forum/#!forum/mlperf) to continue discussion on this topic.

SWG:
We will reach out for more comments and re-evaluate this to provide more clarify and incorporate more input. Please reach out if you'd like to be a part of this process.

Victor -
I would like to be part of the process.
Gary Lauterbach
gary<EMAIL_ADDRESS>CTO and Co-Founder
Cerebras Systems
On Aug 2, 2018, at 11:41 AM, Victor Bittorf <notifications<EMAIL_ADDRESS>wrote:
SWG:
We will reach out for more comments and re-evaluate this to provide more clarify and incorporate more input. Please reach out if you'd like to be a part of this process.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/mlperf/policies/issues/36#issuecomment-410027660, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ATCb4qBK3jXPEzFXVRUlCVGB898Aojuwks5uM0fOgaJpZM4VTbQ0.

Victor, the distinction between closed and open is more important than you may realize.
In the initial discussion of MLPerf, the open division was characterized as being good for research, for speculative techniques and experiments that are outside of common practices.  The closed division was characterized as being good for 'apples to apples' comparisons for real hardware and systems.
Prohibiting certain techniques (e.g., batch size = 1, eventual consistency), is an implicit statement by MLPerf that those techniques are experiment and not commercially relevant.  That's a problem for any company interested in such techniques, because it's MLPerf saying they are merely experimental.

Hi all,
Philosophically, closed implementations should be mathematically equivalent subject to basic computing limits (e.g. fp ordering). We've allowed some small deviations that come at a cost (e.g. fp normalization is clearly defined and adds work). This is a more challenging issue because:
(1) it essentially allows use of a different optimizer
(2) in some cases, it may be a performance optimization on larger architectures
So it's both a fairly big deviation, and one that may sometimes come with a performance gain rather than a cost.
We should strive to admit a range of architectures to closed, but still need to draw the line somewhere and say "this is a different class of thing." Some questions that might help consider this change:
(1) What principles should we use to make such calls that don't admit everything?
(2) In this particular case, what data could we use to make a decision? E.g. for what memory sizes is this effectively required? What work has been done on performance impacts?
(3) What approaches might we use to limit delta and/or impose cost if we decided to admit it?
Best,
Peter

Reconsider as part of both ends of batch size scaling.

SWG:
Action Item to Gary (@ad6fp): what would be a conservative small batch size threshold to allow this? Do you have data to show this is necessary below that batch size?

SWG:
Something along these lines may be required to support small batch sizes. We are working on enable to both large and small batch sizes. Our understanding is that this is not needed for this submission cycle. This can be revisited during a future submission cycle.


Allow for valid cross client authentication requests

Here's a pull request to allow for valid authenticate requests, using an authorization code obtained through the cross client authorization scheme, as described here https://developers.google.com/identity/protocols/CrossClientAuth
As the documentation sais, the request body should not include the request_uri argument.

I signed the cla.

:+1:

Reasonable approach, thanks!


TLS negotiation failed when using HttpClientBuilder

Hi,
I am using Http Client to fetch data from a server. The code was working fine but suddenly it stopped working and now it throws this error.
Amp\Socket\TlsException: TLS negotiation failed:
stream_socket_enable_crypto(): SSL operation failed with code 1.
OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
You can find complete details in the file attached below.
error.txt
Here is the code I am using.
$client = HttpClientBuilder::buildDefault();
$request = new Request($url);
$request->setTransferTimeout($this->httpClientTimeoutSeconds * 1000);
$request->setInactivityTimeout($this->httpClientTimeoutSeconds * 1000);
try {
$promise = $client->request($request);
$response = wait($promise);
$content = wait($response->getBody()->buffer());

} catch (Throwable $e) {
throw new Exception("(－‸ლ) Request for URL: " . $url . " failed. " . $e->getMessage());
}
I think it will work if I disable SSL peer verification but I am unable to find the code/example for that.
Any help would be appriciated.
Thanks

If someone can let me know please how can I modify the above code to pass the peer verification for development purposes only that would be very helpful.

For those still looking for a solution: the following example did the job for me, I was suffering from the same issue on my local dev server, and building the client instance like this worked out fine for me.  I'm no expert on this library so don't ask me questions that I wouldn't know the answer to.
I'm using amphp/http-client version 4.6
Let's include these classes first (if you haven't already)
use Amp\Http\Client\Connection\DefaultConnectionFactory;
use Amp\Http\Client\Connection\UnlimitedConnectionPool;
use Amp\Socket\ClientTlsContext;
use Amp\Socket\ConnectContext;

And in your function where you create your client instance, create it like this:
$TLS = (new ClientTlsContext(''))
    ->withoutPeerVerification() // I believe this one acts like the SSL_VERIFYPEER option of curl
    ->withSecurityLevel(0); // And this one disables SSL verification completely

$context = (new ConnectContext)
    ->withTlsContext($TLS);

$client = (new HttpClientBuilder)
    ->usingPool(new UnlimitedConnectionPool(new DefaultConnectionFactory(null, $context)))
    ->build();
// while digging thru the code I saw the HttpClientBuilder was using the UnlimitedConnectionPool with DefaultConnectionFactory so that's why I've used them in my code, if your pool config is different then adjust it accordingly

$request = new Request('{YOUR REQUEST}');

If someone can let me know please how can I modify the above code to pass the peer verification for development purposes only that would be very helpful.

Same issue  https://github.com/amphp/http-client/issues/174


Add Octavia to RPC-O

Do NOT include any confidential information, this issue will be created on a public repo
This section is completed by the issue reporter
On which version(s) do you encounter this issue?
Please provide the output to 'git describe --all' for  all deployments where you have confirmed it occurs.
What type of issue is this? Please tick the appropriate box.

[ ] bug - existing functionality that does not work for you as documented
[x] feature - new functionality that you would like to see added

What is the expected behavior?
Octavia is installed for Magnum
What is actually happening?
What were you attempting to do when you encountered this error (give as much detail as possible)?
How can we reproduce this issue?
How can we verify your issue is addressed?
If you are using or know of a workaround please describe the necessary steps?
What is your evaluation on the importance of this issue, and why?

This section is completed during the issue resolution process. If you are reporting an issue, please do not modify the section below.
Which branches are impacted by this issue?
Remove branches that are not impacted.
For each pull request, update the branch line to reference it.

[ ] master
[ ] newton-14.0
[ ] mitaka-13.1
[ ] liberty-12.2

Upgrade impact. Consider the impact on moving between major, minor and patch releases.

[ ] This change does not impact upgrades
[ ] This change addresses a potential upgrade impact
[ ] The upgrade impact is being tracked by another issue.

The issue tracking the upgrade impact is:
Testing impact

[ ] An issue/pull-request has been create or exists to track the testing gap, and is referenced below
[ ] This change includes additional testing
[ ] This change is tested by the existing setup

Additional testing links:
Release note

[ ] This change includes a release note.
[ ] This change does not require a release note.

Doc Impact
Does your change require documentation?

[ ] Yes, and I submitted an issue to Docs issues
[ ] Yes, and I contributed a documentation patch to docs-rpc
[ ] No documentation required for this change

Additional documentation links (please add links if you have ticked yes):

@chrishultin Octavia just now made it into Pike in OpenStack-Ansible, so it might be a while before it makes it into RPCO.
Let me know if you have any questions.

Hi, @chrishultin. Let us know what we could do to help out with this.


StandardComposer separate from bb.js

As a Developer
I would like to use Standard Composer API from higher level
so that I can prove/verify.
can be input to noir-turbo-plonk npm module CI + tests
Context: At the moment StandardComposer is used in Rust implementation
While separately StandardExampleProver and StandardExampleVerifier are used by currently distribute NPM Packages.
This causes some occasional problems while updating code, where the two might execute logic differently.
We should isolate this code to it's own package and ideally make it common between rust and js packages.
Acceptance Criteria:

Package is independent of barretenberg.js
Allows for common code path between cli and npm
Both path's are tested with integration tests
Code can be used both in browser as well as in CLI (Nargo)

Closing as acvm-backend-barretenberg will be retired.


feat(InputActionProperty): add functionality based around InputActions

The InputActionProperty of the Unity Input System allows for listening to Input System Action events directly based off an input system action reference or from a direct binding.
This is cleaner and easier to understand than the CallbackContext with Unity Events so it has been used to create some new prefabs in the samples directory.
The new InputActionPropertyVelocityTracker will track velocity of an input system action which can be based off OpenXR device data, meaning the velocity reported should be compatible with the specific device rather than trying to use estimations.
The new InputActionPropertyTransformer can also be used in place of the CallbackContextTransformer to provide a direct reference to an Input Action (or direct binding) which can be used to pick up action input directly within the component rather than having to go through the PlayerInput script and pass the context via a Unity Event to the CallbackContextTransformer.
The InputActions_GenericXR.inputactions mapping has also been updated to include pose data for the HMD, controllers and pointer, which includes position, rotation and velocity information.
This has all formalised in the creation of two new prefabs:

UnityInputSystem.Poses.GenericXR.prefab - contains tracked poses for the new pose data.
UnityInputSystem.InputActionMappings.GenericXR.prefab - contains all of the input buttons, axis data, etc for the generic controllers using the new InputActionPropertyTransformer, which makes it easier to see how to customise the system.

This has also meant the UnityInputSystem.Mappings.GenericXR.prefab has been renamed to
UnityInputSystem.CallbackContextMappings.GenericXR.prefab and this should not technically be considered as deprecated as it may still be useful or even the preferred usage, but by default the new InputActionMappings.GenericXR.prefab should be used.

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

npm package (@latest dist-tag)
v2.1.0
GitHub release

Your semantic-release bot :package::rocket:


Check Autotracker on windows

Users have reported that Autotracker does not work properly on Windows. Example was given with phrase outlook
We have to double check if it is somehow connected to the fact that autotracker uses data collected by timeline. So maybe it is dependent on timeline. If timeline is disabled the data is not collected and autocomplete may not work.

It works just fine for me in the latest beta (and with timeline disabled). If there are specific programs that do not work, that has to be investigated individually (and fixing it may be impossible/very difficult).


chore: ignore some test paths for fossa

Those requirement files should not be scanned by FOSSA.

Codecov Report

Merging #721 (a12c354) into main (2f33ef9) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main     #721   +/-   ##
=======================================
  Coverage   64.09%   64.09%
=======================================
  Files          44       44
  Lines        2337     2337
=======================================
  Hits         1498     1498
  Misses        839      839

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:tada: This PR is included in version 5.25.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Support stdin input

Change required_positional to optional_positional and add function for eval-uating the bash.
Fixes #1.

@Abdillah I pulled this and rebased it on top of the api-generator, then made it work for multi-line stdin like ssh-agent.  Which is why I'm closing here not merging.  But your change is in, and thank you!
Interested in your experience with this.  Please raise any issues you find!

Awesome!
You're welcome.
bash-env should be very handy for this use case.


feat: Add attributes to customize the output

Partially solves #107

Would be nice with an example of how to add the package as a private dependency, so it doesn't get brought along to other packages

Ignore should be able to be applied to single endpoints as well


Use static methods where appropriate

Description
Use static methods where appropriate
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[x] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library

Checklist before requesting a review

[x] I have performed a self-review of my code.
[x] PR has passed all pre-merge test jobs.
[ ] If it is a core feature, I have added thorough tests.

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (bd4265b) 96.09% compared to head (1fa021a) 70.89%.
 Consider uploading reports for the commit d42c624 to get more accurate results

Additional details and impacted files

@@             Coverage Diff             @@
##             main     #441       +/-   ##
===========================================
- Coverage   96.09%   70.89%   -25.21%
===========================================
  Files          32       32
  Lines        1075     1089       +14
===========================================
- Hits         1033      772      -261
- Misses         42      317      +275

Files
Coverage Δ

ols/app/models/config.py
67.88% <50.00%> (-29.83%)
:arrow_down:

... and 13 files with indirect coverage changes

I see you don't like the classes there. :)
Could you just remove the class and have the methods as plain test functions instead?

I see you don't like the classes there. :)
Could you just remove the class and have the methods as plain test functions instead?

Well both are correct. But ATM when there are no shared state, it does not make much sense to use instance methods, because static methods are ok/sufficient/more optional.

/lgtm

/approve

@tisnik i'm pretty sure i've seen people creating PRs going the other way (wrapping test functions into test classes) too, so let's make sure we're not fighting each other on these patterns.

So should we update contributing guide?

So should we update contributing guide?

i don't know if it will help :)  for now i'll settle for having raised awareness.  sorry, wish i could point to the other PR i am thinking of.


Fix bug were SlowDown retries could result in BadDigest failures for small files

When doing _put_file with small files, a retryable error like SlowDown could ultimately result in BadDigest failures.
The botocore code would read the entire file passed into put_object. The error_wrapper would then retry with the same file object but nothing would seek back to the start again.
This is now fixed by not using a file object but, similar to the multi-part upload, read the content into bytes first. These bytes can be retried without seeking. This resolves the problem.

Related: https://github.com/fsspec/gcsfs/pull/540

(I included he linked PR/issue, because aiohttp specifically complains about large bytes objects in payloads. Maybe aiobotocore deals with this internally, since apparently the file was not getting closed between retries)

I don't immediately see what the failure has to do with this PR
s3fs/tests/test_s3fs.py::test_xattr

Me neither, sorry. If I understand the test correctly, it doesn't seem to call into any of the changed code?


Added new feature to filter by file extentions

This new feature can filter files.
$ statik -src=./public -only-include=*.html,*.js,*.css

This issue is related to https://github.com/rakyll/statik/issues/42 I would suggest that we first discuss the feature and then we jump into the implementation.

Nice job. I left a couple of comments.

I am happy with this. What do you think @rakyll?

What about something sorter like -filter?

What about something sorter like -filter?

@rakyll would you describe the API for it?

Sorry maybe I was nitpicking on the flag name. What about something shorter like:
-include=*.html,*.js,*.css

@schivei I left one comment. We are almost there, thanks for the great work!

I added the execution of the “include” option directly to the part where the files are searched, so if “include” is not passed, it must have the default expression for any “.” file. Otherwise, if it is empty, it will not include any files and will compromise the default functionality of statik.

I think we are good to go. Let's wait until tomorrow morning (in case any though comes to our minds or someone else raise a concern) and then I will merge.

Thanks @schivei!


allow setting both max and target concurrency in cog.yaml

we need users to be able to set target metric. after discussion in #1668, this seems like the simplest approach for now and could be reconsidered later.

I'm going to just merge this for now and we can revisit it later


Monitor streams to catch errors

This closes #317.
Since this change has a big impact on how we handle streams, I made 2 PRs with different solutions to this problem, the other one being #327. I will keep discussion on what solution to choose to this PR, specifics for that solution can still be in the corresponding PR.
For context: both the core implementation (stream.pipeline) and libraries that I found (pump) related to this take as input a list of streams, and a callback function to call when there is an error. So the assumption is always made you have an error callback ready at the moment you create a stream. This completely breaks with our architectural design so I don't see how we would ever be able to use those.
The solution proposed here introduces a monitor that needs to be created every time a function does something async while it has a stream as input. This way, if Node starts buffering the stream during the async event, we still catch the error in the monitor. The monitor will then throw the error once it is released. This would only be necessary if the async event does not take the stream as input, if it does it would be the responsibility of that function to monitor. A warning will also be logged if the monitor does not get released (soon) after an "end" event fires.
The other solution is fully described in #327, but the idea there is that if an error listener is attached to a stream, it still receives the error even if the error was triggered before the listener was attached. So there the responsibility is shifted to the stream creators.
The reason I made the second implementation was because the monitor didn't feel completely right with me. Not that the other solution is perfect, but there it did help that it was a bit clearer when exactly it needed to be added. Both could also exist of course but that might be a bit much.
Some notes I made while implementing the monitor:

I'm not a 100% sure that I covered all cases where this could be needed. It's not always clear if it's needed.
We would have to keep this into account when an interface changes to make a sync function async.
A situation where it is easy to miss is a function interface that takes e.g. a Representation as input, but the specific implementation of it is defined as func(input: { metadata: RepresentationMetadata }) since it doesn't use the rest of the data. Potentially a monitor still needs to be added there if this function is async.
The monitor release might not be called if an error gets thrown by something else before the monitor was released.

#317 suggested logging a warning if multiple monitors were attached to a single stream, but I didn't see a safe way to do this. It would also not cover all cases since when we pipe there might be a monitor attached to the left stream of the pipe and a monitor to the right stream of the pipe, which we would not be able to warn about.

Whereas this solution is more bookkeeping, especially if we'll need the try/finally (which we can cover with a helper function). But I think it's the solution that makes bugs most easy to pinpoint, whereas in #327, forgetting to wrap one stream somewhere can lead to a Heisenbug. At least here, the failure will always be in the same component that forgot to monitor its streams.

For completeness/history sake: forgetting to monitor will not make pinpointing this much easier since there will be a stream throwing an uncaught async error causing the server to crash, which is the same behaviour we will have as when we forget to wrap the stream in the other solution.

Closing this as we went for the other solution.


Allow Time Machine backups of volume data

Is your feature request related to a problem? Please describe.
I have just accidentally destroyed the development database on a project I was working on. I tried to restore the data with Time Machine, but the OrbStack volume is automatically inserted into Time Machine's "Exclude from Backups" list and cannot be manually removed with the - button.
Describe the solution you'd like
I would like OrbStack's settings to have an option for whether the volume data should be excluded from Time Machine backups, or for there to be some Time Machine-like way (but preferably faster than Time Machine!) of recovering data lost in volumes.
Describe alternatives you've considered
Not accidentally destroying the development database, I guess.
If I'd been using a local Postgres rather than Docker, I would have the data back by now. Not being able to recover from accidents makes Dockerless development a lot more tempting.
Additional context

Volumes are not stored in ~/OrbStack; that's just a mount to access them. The actual data is stored at ~/.orbstack/data which is backed up by Time Machine by default on APFS backup drives.

Thanks — although that would mean restoring all OrbStack data at the same time rather than just the volume I wanted, it's still better than the nothing I thought I had 🙂


RxJava

Hello,
I am keen to try this as a replacement for our postgres driver with com.impossible for pg_notify support. RxJava is said to be supported, but I do not see anywhere Rx methods or a wrapper Rx library like RxJava for Vert.x. What am I missing?
Thank you.

the methods are generated by the generation process so you cannot see them in the source code, you can find them in the javadoc : http://www.julienviet.com/reactive-pg-client/apidocs/index.html?com/julienviet/pgclient/PgCursor.html

so I think it should at least be in javadoc


feat: metric observer & pool wait timing

This PR implements observer-based Pool metric instrumentation, and captures the time taken to acquire a connection permit from the connection pool.
A follow-on from https://github.com/launchbadge/sqlx/pull/1860.

feat: metric observer & pool wait timing (b7e797e6)
This commit adds the public PoolMetricsObserver trait for end users to
optionally implement, in order to receive metric / event data from the
underlying connection Pool.

PoolMetricsObserver currently exposes a single metric: the duration of time
spent waiting for a permit from the connection pool semaphore. This allows
users to quantify the saturation of the connection pool
(USE-style metrics) and identify when the workload exceeds the available pool
capacity.

A default no-op method implementation is provided so end-users can choose
which metrics they care about, and not have to implement the full set of
methods.

I think this is good for another pass :+1:


Fix path variable

Fixes gh-3

Codecov Report

Merging #8 into master will increase coverage by 0.01%.
The diff coverage is 64.28%.

@@             Coverage Diff              @@
##             master       #8      +/-   ##
============================================
+ Coverage     75.88%   75.89%   +0.01%
- Complexity      281      283       +2
============================================
  Files            36       36
  Lines          1219     1228       +9
  Branches        183      183
============================================
+ Hits            925      932       +7
- Misses          214      216       +2
  Partials         80       80

Impacted Files
Coverage Δ
Complexity Δ

...amework/cloud/openfeign/FeignClientProperties.java
57.97% <0%> (-3.57%)
7 <0> (ø)

...ork/cloud/openfeign/FeignClientsConfiguration.java
100% <100%> (ø)
9 <1> (ø)
:arrow_down:

...ork/cloud/openfeign/support/SpringMvcContract.java
87.83% <100%> (+0.51%)
46 <3> (+2)
:arrow_up:

...feign/ribbon/CachingSpringLoadBalancerFactory.java
100% <0%> (ø)
4% <0%> (ø)
:arrow_down:

...bbon/HttpClientFeignLoadBalancedConfiguration.java
96.77% <0%> (+6.45%)
2% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

any news ?

Closing do to lack of feedback


Replace sequence by iterable

Fix #58 by replacing Sequence by Iterable.
I had the same bug a few hours ago.  @DomInvivo
Checklist:

[x] Add tests to cover the fixed bug(s) or the new introduced feature(s) (if appropriate).
[ ] Update the API documentation is a new function is added or an existing one is deleted.
[x] Added a news entry.

copy news/TEMPLATE.rst to news/my-feature-or-branch.rst) and edit it.

Please check this issue too, the batching doesn't work as expected. #60

@DomInvivo , implementing native joblib instead seems to work
%%timeit
a =  dm.utils.parallelized(fun, range(10000), batch_size=2, progress=True)
5.24 s ± 290 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

%%timeit
a =  dm.utils.parallelized(fun, range(10000), batch_size=100, progress=True)
 1.54 s ± 15 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

%%timeit
a =  dm.utils.parallelized(fun, range(10000), batch_size="auto", progress=True)
1.68 s ± 70.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

fix #60

I am not sure how I missed the batch_size arg in joblib. Thanks for the report and the fix guys.
My original motivation is that for intensive function and very large input list (>100k), "auto" does not work well and you need to find yourself the appropriate batch size.

Should I get rid of codevoc manu? Or do you find it useful?

We should keep it. Although it's a bit annoying when it decrease coverage because you deleted an unused line.
It happens for example If you have 5 lines, and 4 covered ==> 80%, delete one covered and it's 3/4 which is only 75%.


Make input-append work with select boxes too

Select boxes do not work correctly with input-append. This fixes that issue.

Problem is Webkit select lists do not respect border-radius. For now, we won't support it as we can't guarantee it will look and behave as expected.

Really? These are from chrome stable:

Seems to work just fine...


Add quick demo for accelerate PVC with Fluid

Ⅰ. Describe what this PR does
Add quick demo for accelerate PVC with Fluid
Ⅱ. Does this pull request fix one issue?

NONE
Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews
For reviewers, you can see my head repository for a quick review

Demo 3 可以默认是打开的状态


ensured top level JWT module is used

The call to JWT.decode fails if you are using omniauth-jwt due to namespace conflicts.
Tobias

@tobscher sorry this languished so long. Somehow I just now saw it.


Implement setup command

The setup command will be the first step for users after installing and running ktpack for the first time.  The process will scan the users environment, determine the location and usability of various required components, and install any required software that is missing.

Scan environment
A. Find system JDK installs and IDEA installs (~/.jdks)
B. Find existing Konan/Kotlin Native installs
C. Configure defaults so JDK and Kotlin versions are consistent for the environment (unless set by the project)
Install missing components
A. Install at least the Kotlin version used by the specific version of ktpack
B. If missing, install a version of JDK11+ (preferably 17, but allow user selection)
C. Download ktpack-manifest.jar for the specific version of ktpack

On first run:

Prompt user to continue with setup (if they enter any other commands, act as if it was the setup command)
When no config file exists, scan the environment and index available components
When components are missing, prompt for installation and then install.
If setup is completed or cancelled, notify the user and terminate the command (do not automatically attempt any non-setup commands that occur before setup)

Fixed by https://github.com/DrewCarlson/ktpack/commit/6415bad2b67f0a5ea6dcd138925c8fa4c6b630b2


Considerations for the model rate limits, concurrency options etc.

Just a thought on what if there's an option to configure or set up the rate limits, concurrency and other applicable options as part of the LLM calls? I believe, it's going to be helpful and a must feature to have. Sorry, if was already considered as part of your plan.

Thanks for the suggestion! This is a good idea, but we need to think about how to do this generally across ModelParsers. Currently any models that are invoked via inference API (e.g. openAI) will be affected by that API's rate limits, throttling, etc. Setting concurrency options is something we have thought about, and have an initial attempt at that with the run_batch API: https://github.com/lastmile-ai/aiconfig/blob/main/python/src/aiconfig/Config.py#L279
Going to keep this issue as we think about improving the SDK. cc @Ankush-lastmile


[info]CogVideoX-Fun has update to V1.1 and Pose version

https://github.com/aigc-apps/CogVideoX-Fun
FYI

I had it already implemented: https://github.com/kijai/ComfyUI-CogVideoXWrapper/commit/55325f97a7682522f7685cfaedd2a0990c0ec246


After Redis failover, the number of connection to the new slave is 1 instead of 34

I just realized issued #1845 had been closed. This issue is related to #1845 fix.
I have verified that previous master node was added back as a slave node after failover with release 3.10.1. Thanks for the fix. But the number of connections to the salve is only 1 instead of 34. Is this expected? I tested a couple of times and got the same result. Following screen shot shows two tests. I started the app, Redisson established connections to both 003 and 004. Then I did failover from 003 to 004. After failover was done, there was only one connection to 003. Then I restarted the app to make sure Redisson re-established connections to both 003 and 004. I did failover from 004 to 003. After failover was done, again there was only one connection to 004. ( You can run netstat -nt | sort +5 | fgrep .6379 | grep -n ^   from app box to see the connections)

I have verified the fix. Thanks.


Need to update CSV, cluster generation, and CephCluster Spec when rook releases the next image.

Enable fencing controller via env var and CephCluster Spec

https://github.com/rook/rook/pull/3715

Disable CephNFS controller via env var.

https://github.com/rook/rook/pull/3794

We update versions for each release and update CSV whenever required.
I believe that is the expectation of this issue.


Not working with react-native-web

Demo: https://www.loom.com/share/11f40ee1bda84aa886c5f92699e55eec

Hi @eliarc , this library will work only for android and ios. It wont work on web, reason being it depends on onTextLayout and onLayout callback props from Text component.

@fawaz-ahmed got it, thanks for the reply 🙏


go mod tidy

Changes proposed in this pull request:

go mod tidy
add go mod tidy check to make deps
rename check-coverage.sh
add breaking-change tag info to pr template

Checklist:

[x] Made corresponding changes to the documentation

@anz-bank/sysl-developers

Maybe in addition to enforcing go mod tidy in the Makefile, you should add a reminder somewhere if possible. Waiting for CI tests can be annoying.

It doesn't spend more time to run go mod tidy, compared to previous PR checks.


[copypp] update to 0.2.0

Library name
copypp
New version number
0.2.0
Other information that may be useful (release notes, etc...)
support copy between json string and struct.

Fixe by PR https://github.com/microsoft/vcpkg/pull/35536.  Thanks for PR. :)


Remove username/password login features when skills.authorization.oAuthOnly=true

when skills.authorization.oAuthOnly=true, then login form and account creation pages should not be included, and initial root creation needs to be changed to support oauth, also change backed to no longer support username/password authentication or create account endpoints

PR: #995

:+1:


ci: add CODECOV_TOKEN field to upload coverage

Describe the changes in this pull request using active verbs such as Add, Remove, Replace ...
Closes #<issue_ID>

Added CODECOV_TOKEN to repo


error: Undefined name 'Observable'. (undefined_identifier at [movies_flutter] lib/widgets/search/search_page.dart:44)

how to solve the problem? thank you!


✔ question 1&2 passing

that'll do Aloysious, that'll do

             🚧 What we do this time? 🚧
----------------------------------------------------------
[x] wrote a function named `addOne` that takes an
array of numbers, and returns a new array of the numbers,
incremented by 1.
[x] used `forEach` to loop over the input array and work
with each value.
[x] pushed the new value into a local array.
[x] returned the local array;
[x] wrote a function named `addExclamation` that took
an array of strings, and returns a new array of the same
strings with an "!" added to the end.
[x] used `forEach` to loop over the input array.
[x] modied each string, and added the updated value
into a local array.
[x] returned the local array;
💻 Github
💼 Linkedin


[WIP] remove RequireSingleCluster in chiron test

Please provide a description for what this PR is for.
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[x] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[x] Does not have any changes that may affect Istio users.

@jtrbs: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
f808b0429533e239c7abd1acfc4223c8c9e40e4a
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-security-multicluster-tests_istio

/cherrypick release-1.8

@jtrbs: new pull request created: #28979

In response to this:

/cherrypick release-1.8

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Mobile - [Earning] Handle the case of switch tab on menu

Describe the task

[x] Case 1: Handle the case of switch tab on menu

Expect: When in the details screen in the Earnings tab, switching to another tab and reopening will display the earning positions screen

[ ] Case 2: Flash screen when re-open Crowdloans tab

https://github.com/Koniverse/SubWallet-Mobile/assets/117999489/afe659d5-91a0-42d1-ada0-456ca82a8206

@ThaoNguyen998 pls, move case 2 to another issue. The issue need more time to be figured out

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-311-1446-merge-2024-02-03T11-02-43.ipa
Device test: IP 11
Validation passed in case:

Earning option
{Token} Earning option
Earning position detail