[feature request]When creating a container, specify the location of the container's read-write layer via the --home parameter.

Why you need it?

After providing the ability to specify the location of the container's read-write layer, you can use the server's multiple disks to improve IO capabilities, or the read-write layer is placed on the remote disk, and the container is migrated from one host to another. The read-write layer corresponding to the old container can be reused.
How it could be?

When calling the Prepare interface of the snapshot in containerd, the --home parameter is passed to the containerd in the form of labels, and then containerd replaces the default snapshotDir with the value in the --home parameter when creating the snapshot read/write layer.
Other related information

i think it's a good issue!


Adding example for the latest Image captioning model by Baidu

Hi,
I have been going through the latest the LSTM model for the text generation example from Andrej Kaparthy.  It's pretty cool and works pretty well.  Now, I am wondering if the LSTM model by Junhua Mao (http://arxiv.org/abs/1412.6632) can be supported easily.  The reason i am asking this is the duplication of an embedding layer before the RNN (figure2).  I guess one can use the RepeatVector, but I havent seen enough examples to be sure.  So some clarification will be helpful.
Thanks!  Keras rocks!

So, how would you implement it in Keras? I'd be happy to check out you code and give you feedback.
For the record, RepeatVector does not split the data flow into multiple outputs. The output of RepeatVector is still a single tensor (where the input vector gets repeated n times). However we are working on a Fork system that would allow for splitting a data flow into multiple outputs.

I wasnt saying I know how to do it, actually.  I was wondering if you
already thought about it.  I will try to play with it.  Without a fork, it
would be hard.  Let me know when the fork feature is complete.  Thanks!
On Mon, Jun 22, 2015 at 7:36 PM, François Chollet<EMAIL_ADDRESS>wrote:

So, how would you implement it in Keras? I'd be happy to check out you
code and give you feedback.
For the record, RepeatVector does not split the data flow into multiple
outputs. The output of RepeatVector is still a single tensor (where the
input vector gets repeated n times). However we are working on a Fork
system that would allow for splitting a data flow into multiple outputs.
—
Reply to this email directly or view it on GitHub
https://github.com/fchollet/keras/issues/265#issuecomment-114333114.

--
Thomas Zheng
858-740-4398

This is now possible thanks to the introduction of the Graph model: http://keras.io/models/#graph
Will you build it?

Thanks for the heads up.  I will definitely try to build it.  I hope it
will work.
On Sat, Jul 4, 2015 at 3:44 PM, François Chollet<EMAIL_ADDRESS>wrote:

This is now possible thanks to the introduction of the Graph model:
http://keras.io/models/#graph
Will you build it?
—
Reply to this email directly or view it on GitHub
https://github.com/fchollet/keras/issues/265#issuecomment-118560939.

--
Thomas Zheng
858-740-4398

Do you have any example ready where you show how to use the graph as a recurrent model for image captioning?
The part where I have difficulty understanding is: At training time you can use the ground truth word for the previous time-step as the next input but at test time you need to sample from the softmax at each time-step. So we would need to create LSTM() with length 1 and then keep on passing the parameters to next time-step? Or is there a better way to do this?


Machine mac-10 went dead from network monitoring website.

Machine mac-10 went dead from network monitoring website.

mac-10 is up and running fine, I can login remotely from my end.
flutter@flutter-devicelab-mac-10 ~ % uptime
15:15  up 1 min, 3 users, load averages: 5.08 2.35 0.94

Machine mac-10 is back online by rebooting machine.


Namespace from different environment showing up while setting up services

Rancher Version: master 5-24
Steps to Reproduce:

Setup a kubernetes environment fully
Add another namespace for that environment
Switch to that namespace
Create another kubernetes environment and switch to that environment

Results: Namespace for previous environment is showing up

Expected: Namespace should not show up.

Still an issue in v1.1.0-dev4.
Followed @tfiduccia's steps

Stop stealing bugs, not in a release yet :-)

Version - master 6/9
Not fixed

No longer applicable in 1.4.


Croniter version conflict

Hi
the croniter version keeps to be overritten by the standard components/utility_meter/manifest.json:  "requirements": ["croniter==1.0.6"]
So every boot the system keep to install first version than the one from pyscript
/usr/local/bin/python3 -m pip install --quiet croniter==1.0.6
/usr/local/bin/python3 -m pip install --quiet croniter==1.3.8
Is this version really needed? Does the utility_meter will upgrade the croniter requirements?
Thank you

As of 2024.4 croniter requirement by utility_meter got bumped up to 2.0.2 so version mismatch continues. From what I've observed right now croniter is reinstalled with alternate version after each HA restart.


Function with tuple[] as argument inside contract got error with TronWeb

I'm working on a Smart Contract, but I've encountered an issue.
In this pastebin there is the Minimal Contract that reproduce the error: UsersArray Contract
This contract is deployed on ShastaNet with this address: TQ1aYRBRyhjofitG9KmWUk2tavvhwqXfTE.
On the webpage I load the contract as below:
function testArray(){
    tronWeb.contract().at("TTmSSy3twJr5ttfcV6HUHMkse9edNzCZ9B")
    .then( contract => {
        contract.setUsers([
            ["0x0000000000000000000000000000000000000001",1234],
            ["0x0000000000000000000000000000000000000002",5678]
        ]).call()
        .then( res => {
            console.log(res);
        });
    });
}

but on request of contract() I got the error:
TypeError: Cannot read properties of null (reading 'map')
    at Qe.format (pageHook.js:20:138878)
    at Qe.format (pageHook.js:20:138728)
    at pageHook.js:20:147799
    at Array.map (<anonymous>)
    at st.format (pageHook.js:20:147789)
    at pageHook.js:20:153235
    at Array.forEach (<anonymous>)
    at new kt (pageHook.js:20:152959)
    at pageHook.js:12:199401
    at new e (pageHook.js:12:199585)

I'm using Chrome/98.0.4758.105, and the extension TronLink ver. 3.26.4
From the original Contract, if I remove the function proposed on UsersArray setUsers, the contract works correctly.

hi,
please try to pass the abi by yourself, as the abiv2 on the network is not correct.
try this code to get your contract instance, you can get the correct abi after you compile the contract.
const contractInstance = await tronWeb.contract(abi, 'TTmSSy3twJr5ttfcV6HUHMkse9edNzCZ9B')


Move logic in AggregateJobStatisticsCommand to a unique job

We do not want multiple of these processes running at the same time

Fixed with 8a0a0995370c47848d73c5a1c8709af3376037b2


[PREGEL] Improved explanation of Pregel SCC and tidification

Improved explanation of Pregel's SCC algorithm, trivial changes according to clang-tidy.

Random thought: maybe update the description of the algorithm with a worst-case runtime estimate?

Random thought: maybe update the description of the algorithm with a worst-case runtime estimate?

Did it. The worst case is O(n * m) or O((n+m)^2), the average case is somewhat subtle. I could get only O(m^2 / log(m)) as an upper bound both for the running time and number of gss. Also added possible improvements.


Customize requirements file name

Hi, and thanks for the module !
Is it possible to specify the name of the requirements file as an option, instead of it necessarily being requirements.txt ? The #no-deploy option is cool but does not enable this workflow for example : www.kennethreitz.org/essays/a-better-pip-workflow (where requirements.txt is generated).
Did I miss something ?
Cheers

I've released this in version 3.0.0-beta. It's a major version because the no deploy change is a breaking change and it's a beta because @UnitedIncome is nearing a public launch so I don't wanna pull a bunch of changes into our release.


Support setting a default system

I think there's a few use cases in ascending complexity to set a default system to search for spells in:

Set a server default (ie ?grimoire set vanilla
Set a user default (override server if exists)
Override on per-query

Needs some thinking on UX and how to keep this config/hierarchy.

It's a cool idea and I'd definitely like to support it. Managing the config is a bit awkward but I'll have a think about how I could do this.


readdirSync is not a function

error: /Users/craigcosmo/Desktop/electron skeleton/webpack.config.babel.js:49
var files = _globFs2.default.readdirSync('*.js');
^
TypeError: _globFs2.default.readdirSync is not a function
Reproduce
import fs from 'fs'
import glob from 'glob-fs'
let files = glob.readdirSync('*.js');

console.log(files)

Do you have an example of how to reproduce the bug with code that doesn't need to be transpiled?

Does the package work with es6?

I was referring to this:

error: /Users/craigcosmo/Desktop/electron skeleton/webpack.config.babel.js:49

How are webpack and babel related to this lib or the example? Or was that part irrelevant?

I wanted to get the folder structure (using your package) so I can use the structure in webpack modulesdirectories.
I was epexct something like this  ['app', 'app/image', 'app/image/icon', 'dist', 'app/component'] , also because that array is something webpack modulesdirectoris is expectingto receive.
I solved this. Like this http://stackoverflow.com/questions/39674832/nodejs-get-folder-structure-recursively-and-synchronously?noredirect=1#comment66650122_39674832

Oh ok, thanks for clarifying


updates to fee-payer script

update to the fee-payer script.

@FrankiePower Thank you for your contribution. Can you please add a comment "I have read the CLA Document and I hereby sign the CLA" for passing CLA check?

I have read the CLA Document and I hereby sign the CLA.

recheck

recheck

@FrankiePower Can you please try leaving out the period when signing CLA? That is, "I have read the CLA Document and I hereby sign the CLA" instead of "I have read the CLA Document and I hereby sign the CLA."

I have read the CLA Document and I hereby sign the CLA

recheck


feat: a * b ≤ c * d → min a b ≤ max c d

Match https://github.com/leanprover-community/mathlib/pull/17895

bors merge


[zh-cn] updated /access-authn-authz/service-accounts-admin.md

Resync with the en version and give some minor changes.
content/zh-cn/docs/reference/access-authn-authz/service-accounts-admin.md

Preview: https://deploy-preview-35247--kubernetes-io-main-staging.netlify.app/zh-cn/docs/reference/access-authn-authz/service-accounts-admin/

/lgtm
/approve


cmake: Move root CMakeLists.txt's comment-header to top

Cosmetic.
Inform user early on that ./CMakeLists.txt is not the top-level file.
Currently, the user is presented with a few paragraphs of CMake code before the documentation header.
Signed-off-by: Mark Ruvald Pedersen<EMAIL_ADDRESS>

Codecov Report

Merging #12184 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #12184   +/-   ##
=======================================
  Coverage   48.06%   48.06%
=======================================
  Files         284      284
  Lines       43384    43384
  Branches    10398    10398
=======================================
  Hits        20851    20851
  Misses      18390    18390
  Partials     4143     4143

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 95c7079...ff75192. Read the comment docs.

@carlescufi : This is ready to be merged


Implement GQA: Reduce Wallclock by 6%

Overview
This PR implements GQA, which reduces KV projection size and attention overhead. GQA decreases sample efficiency, requiring at most 8% more training steps, but improving per-step performance by 14%.
Performance (master vs this PR):

runtime: 447.86sec -> 422.81sec
Memory: 34,237MiB -> 30,111MiB
Active Parameters / Token: 123,573,558 -> 116,493,366
Total Parameters: 394,002,486 -> 271,024,182

Large total parameter reduction primarily due to value embeddings halving in size, secondarily due to half the linear layer weights for the KV projection.
Baseline run logs:

step:1480/1480 val_loss:3.2818 train_time:448200ms step_avg:304.90ms
step:1480/1480 val_loss:3.2768 train_time:447521ms step_avg:304.44ms

GQA logs

step:1600/1600 val_loss:3.2790 train_time:423069ms step_avg:266.08ms
step:1600/1600 val_loss:3.2799 train_time:422214ms step_avg:265.54ms
step:1600/1600 val_loss:3.2771 train_time:423154ms step_avg:266.13ms

Hardware Advice?
I cannot reproduce the baseline on any 8xH100 NVL machine I've tried. In the record holders logs, the step_avg is about 1/2 my runs step_avg, Therefore % performance gain is relative to my own runs. I'd appreciate if someone could point me to a machine I could rent which could be used to reproduce the recordholders log.

H100 NVL has lower power wall and lower TFLOPS.
You can use NVIDIA H100 SXM 80GB.

Compilation time is sooo long that I haven't reproduced it yet.
But it seems that the most of performance boost comes from smaller value embedding.

My 3 runs gives 3.2851, 3.2811, 3.2755 val loss at ~233.5s (baseline is ~235.5s after some tweaks)
below are diffs compared to master (along with the diffs that make it ~235.5s)
@@ -172,9 +172,11 @@ class CausalSelfAttention(nn.Module):
         super().__init__()
         assert dim % num_heads == 0
         self.num_heads = num_heads
+        self.num_kv_heads = 3
+        kv_dim = self.num_kv_heads * (dim // num_heads)
         self.c_q = CastedLinear(dim, dim)
-        self.c_k = CastedLinear(dim, dim)
-        self.c_v = CastedLinear(dim, dim)
+        self.c_k = CastedLinear(dim, kv_dim)
+        self.c_v = CastedLinear(dim, kv_dim)
         self.lambdas = nn.Parameter(torch.tensor([0.5, 0.5]))
         self.rotary = Rotary(dim // num_heads) # dim // num_heads = head_dim
         self.c_proj = CastedLinear(dim, dim)
@@ -184,12 +186,12 @@ class CausalSelfAttention(nn.Module):
         B, T = x.size(0), x.size(1) # batch size, sequence length
         assert B == 1, "Must use batch size = 1 for FlexAttention"
         q = self.c_q(x).view(B, T, self.num_heads, -1)
-        k = self.c_k(x).view(B, T, self.num_heads, -1)
-        v = self.c_v(x).view(B, T, self.num_heads, -1)
+        k = self.c_k(x).view(B, T, self.num_kv_heads, -1)
+        v = self.c_v(x).view(B, T, self.num_kv_heads, -1)
         v = self.lambdas[0] * v + self.lambdas[1] * vi.view_as(v) # @KoszarskyB & @Grad62304977
         q, k = norm(q), norm(k) # QK norm @Grad62304977
         q, k = self.rotary(q), self.rotary(k)
-        y = flex_attention(q.transpose(1, 2), k.transpose(1, 2), v.transpose(1, 2), block_mask=block_mask)
+        y = flex_attention(q.transpose(1, 2), k.transpose(1, 2), v.transpose(1, 2), block_mask=block_mask, enable_gqa=True)
         y = y.transpose(1, 2).contiguous().view_as(x) # re-assemble all head outputs side by side
         y = self.c_proj(y)
         return y
@@ -234,7 +236,7 @@ class GPTConfig:

 class GPT(nn.Module):

-    def __init__(self, config):
+    def __init__(self, config: GPTConfig):
         super().__init__()
         self.num_layers = config.num_layers

@@ -248,11 +250,14 @@ class GPT(nn.Module):
         self.blocks = nn.ModuleList([Block(config) for _ in range(config.num_layers)])
         # token value embeddings by @KoszarskyB - inspired by @Grad62304977's value residual learning
         # U-net structure on token value embeddings by @leloykun
-        self.value_embeds = nn.Embedding(config.vocab_size, config.model_dim*self.num_encoder_layers)
+        self.value_embeds = nn.ModuleList([
+            nn.Embedding(config.vocab_size, config.model_dim // 2)
+            for _ in range(self.num_encoder_layers)
+        ])
         self.lm_head = CastedLinear(config.model_dim, config.vocab_size)
         self.lm_head.weight.data.zero_() # @Grad62304977

-    def forward(self, inputs, targets, sliding_window_size):
+    def forward(self, inputs: torch.Tensor, targets: torch.Tensor, sliding_window_size: torch.Tensor):

         BLOCK_SIZE = 128
         assert inputs.ndim == 1
@@ -285,7 +290,7 @@ class GPT(nn.Module):
         x = self.embed(inputs[None]) # token embeddings of shape (b, t, model_dim)
         x = norm(x) # @Grad62304977
         x0 = x
-        vi = self.value_embeds(inputs[None]).chunk(self.num_encoder_layers, dim=-1)
+        vi = [emb(inputs[None]) for emb in self.value_embeds]

         # Store outputs for U-Net skip connections
         skip_connections = []
@@ -375,7 +380,7 @@ class Hyperparameters:
     # optimization hyperparams
     batch_size : int = 8 # batch size, in sequences, across all devices
     sequence_length : int = 64*1024 # sequence length, in tokens
-    num_iterations : int = 1480 # number of iterations to run
+    num_iterations : int = 1600 # number of iterations to run
     warmup_iters : int = 0
     cooldown_iters : int = 600 # number of iterations of linear warmup/cooldown for triangular or trapezoidal schedule
     weight_decay : float = 0
@@ -401,7 +406,7 @@ logfile = None
 if master_process:
     run_id = str(uuid.uuid4())
     logdir = 'logs/%s/' % run_id
-    os.makedirs(logdir, exist_ok=True)
+    # os.makedirs(logdir, exist_ok=True)
     logfile = 'logs/%s.txt' % run_id
     # create the log file
     with open(logfile, "w") as f:
@@ -450,11 +455,12 @@ if hasattr(config, "coordinate_descent_tuning"):
     config.coordinate_descent_tuning = True # suggested by @Chillee
 model = torch.compile(model)
 # here we wrap model into DDP container
-model = DDP(model, device_ids=[ddp_local_rank])
+model = DDP(model, device_ids=[ddp_local_rank], gradient_as_bucket_view=True)
 raw_model = model.module # always contains the "raw" unwrapped model

 # init the optimizer(s)
-optimizer1 = torch.optim.Adam([raw_model.embed.weight, raw_model.value_embeds.weight], lr=0.6, betas=(0.8, 0.95), fused=True)
+embed_params = [*raw_model.embed.parameters(), *raw_model.value_embeds.parameters()]
+optimizer1 = torch.optim.Adam(embed_params, lr=0.6, betas=(0.8, 0.95), fused=True)
 optimizer2 = torch.optim.Adam([raw_model.lm_head.weight], lr=0.008, betas=(0.8, 0.95), fused=True)
 params = list(raw_model.blocks.parameters())
 matrix_params = [p for p in params if p.ndim == 2]
@@ -529,7 +535,7 @@ for step in range(args.num_iterations + 1):
         training_time_ms += 1000 * (time.perf_counter() - t0)
         # save the state of the training process
         log = dict(step=step, code=code, model=raw_model.state_dict(), optimizers=[opt.state_dict() for opt in optimizers])
-        torch.save(log, 'logs/%s/state_step%06d.pt' % (run_id, step))
+        # torch.save(log, 'logs/%s/state_step%06d.pt' % (run_id, step))
         # start the clock again
         torch.cuda.synchronize()
         t0 = time.perf_counter()

Thanks so much for the hardware advice and cleanup!
Disappointing that the gain is marginal on SXM and your runs had much higher variance than mine. Will think about this for a bit.

Run additional 10 runs

btw I have tried shared value embedding across heads for mid-layers, without more training steps I can get ~3.285 loss but only ~6s faster.

val loss at ~233.5s (baseline is ~235.5s after some tweaks)

To clarify, you're only seeing a 2 second performance improvement with GQA enabled, all layers having 3 KV heads and 6 Q heads, all else the same?

Looks like disabling GQA (setting num_kv_heads=6) benefits performance more for some layers than others.

Code:

from train_gpt2 import train, Hyperparameters, GPTConfig, master_process
from dataclasses import replace
import torch, gc

args = Hyperparameters(sequence_length=32768, batch_size=16)  # 8x4090
default_gpt_config = GPTConfig(flex_kernel_consumer=True)

# trials for full KV on these pairs
layer_pairs = [(0, 11), (1, 10), (2, 9), (3, 8), (4, 7), (5, 6), "all GQA", "no GQA"] + [(0, 2, 9, 11), (0, 3, 8, 11)]

for layer_pair in layer_pairs:
    if isinstance(layer_pair, tuple):
        layer_overrides = {
            layer: {"num_kv_heads": 6}
            for layer in layer_pair
        }
        gpt_config = replace(default_gpt_config, layer_overrides=layer_overrides)
    elif layer_pair == "all GQA":
        gpt_config = default_gpt_config
    elif layer_pair == "no GQA":
        gpt_config = replace(default_gpt_config, num_kv_heads=6)
    print(gpt_config)
    result = train(gpt_config, args)
    if master_process:
        with open("gqa_log.txt", "a") as f:
            f.write(f"{layer_pair}: {result}\n")

    del result
    gc.collect()
    torch.cuda.empty_cache()

# torchrun --standalone --nproc_per_node=8 gqa_trials.py

Will run a similar test to see how num_intermediate should be set by layer.

I see a 2% reduction in runtime with the configuration below, but it complicates the model quite a bit and GQA has absurd compile times. I'll think about this some more.
+    layer_overrides: Dict[int, Dict] = field(default_factory=lambda: {
+        0: {"num_kv_heads": 6},
+        2: {"num_kv_heads": 6},
+        9: {"num_kv_heads": 6, "intermediate_dim": 4096},
+        11: {"num_kv_heads": 6, "intermediate_dim": 4096},
+        10: {"intermediate_dim": 4096},
+    })


Requests for New Features

This issue/ticket is to track ideas for downstream improvement of the suite:

[x] #3
[x] #4
[x] #7
[x] #6
[x] #8
[x] #11
[x] #9

Please feel free to add suggestions here or in a new Issues ticket or to make pull requests if you want to implement them yourselves!

[ ] Add codoff analysis


Add content length check when handling http requests

I was writing some code and got stuck with cryptic error and couldn't figure out where it came from:
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: Parse Error
    at Error (native)
    at Socket.socketOnData (_http_client.js:361:20)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:177:18)
    at Socket.Readable.push (_stream_readable.js:135:10)
    at TCP.onread (net.js:542:20)

in entire backtrace all the code is internal to nodejs and it's not obvious how to figure out what the problem was, I couldn't even go to any of these files to see that code.
At first I thought it was a bug in nodejs, since I was able to reproduce it in fairly simple scenario, after googling I saw others also had that same 'mysterious' trace.
When I tried to simplify my code I noticed that at some point the bug would disappear, and after digging for a couple of minutes I figured out what was the problem. I had a test http server started using http.createServer and there it generated random junk based on requested filename (for testing).
Here's simple code that reproduces it:
var http = require('http');
var data = Buffer.alloc(1024);
var server = http.createServer(function (req, res) {
    var rx = req.url.match(/\/(\d+)\.(\w+)/);
    res.writeHead(200, {'Content-Length': 1024, 'Content-Type': 'video/mp4'});
    var i = 0, w = function(){
        // ====> bug is here: (rx[1]), it has to be (+rx[1])
        res.write(data.slice(i, Math.min(1024, i+(rx[1]))-i));
        i += +rx[1];
        if (i < 1024)
            setTimeout(w, 10);
        else
        {
            res.end();
            next();
        }
    };
    w();
});
server.listen(8083);

http.get('http://localhost:8083/100.mp4', function(res){
    var len = 0;
    res.on('data', (chunk) => len += chunk.length);
});

Basically because of that bug my test server would end up wiring more that 1024 bytes in HTTP body, which makes receiver on the other end parse subsequent bytes as if it was new HTTP message.
It would be helpful in debug mode to track if req had Content-Length set and verify that code ends message when it's exactly that size body written, or message aborts without completing the body.
Is there such thing as debug build in nodejs by the way, something like NDEBUG in C/C++?
The other point: perhaps on receiver side it shouldn't have tried to parse past the end of the HTTP reply, since 'connection: close' (is that ok according to HTTP spec)?

This is intended behavior of this protocol. Bytes after content are parsed as a next request.


Aserto.CLI.v0.20.7

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

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

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

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

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Packages\Aserto.CLI__DefaultSource\aserto.exe returned exit code: 1
Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Links\aserto.exe returned exit code: 1

(Automated response - build 886.)

https://github.com/microsoft/winget-pkgs/issues/142854


add zap logger to controllers: pod, gwclass, gw, service

Note:

use zap logger vs wrapped version - zapr
change "v" flag to "debug" to enable debug log
use only 2 levels of logging info and debug
replace glog with zap in following controllers: pod, service, gwclass, gateway
partly address #126

Logs example:
2023-08-09T20:56:50.126-0700	INFO	setup	aws-application-networking-k8s/main.go:97	init config	{"VpcId": "vpc-02aeb505678b5aad7", "Region": "us-west-2", "AccoundId": "566883718281", "DefaultServiceNetwork": "", "UseLongTgName": false}
...
2023-08-09T20:56:51.519-0700	DEBUG	datastore	latticestore/latticestore.go:169	AddServiceNetwork name:[my-hotel], account[566883718281] arn[arn:aws:vpc-lattice:us-west-2:566883718281:servicenetwork/sn-05bd7ca29c9532dcf], id[sn-05bd7ca29c9532dcf]
2023-08-09T20:56:51.519-0700	DEBUG	cloud	aws/cloud.go:26	request	{"serviceName": "VpcLattice", "operation": "ListServiceNetworks", "params": "{\n\n}"}
2023-08-09T20:56:51.589-0700	DEBUG	cloud	aws/cloud.go:38	response	{"serviceName": "VpcLattice", "operation": "ListServiceNetworks"}
2023-08-09T20:56:51.589-0700	INFO	controller.gateway	controllers/gateway_controller.go:208	successfully deployed model	{"stack": "my-hotel:default"}
2023-08-09T20:56:51.620-0700	DEBUG	controller.gateway	controllers/gateway_controller.go:238	serviceNetworkStatus : {{my-hotel<PHONE_NUMBER>81} arn:aws:vpc-lattice:us-west-2:566883718281:servicenetwork/sn-05bd7ca29c9532dcf sn-05bd7ca29c9532dcf service network is created and associated} for my-hotel

Thank you for tackling this. As a precaution, do E2E tests continue to pass?

Thank you for tackling this. As a precaution, do E2E tests continue to pass?

I didnt run e2etests since only log statements are changed. But I ran a couple of manual testing steps.
make run
kubectl apply -f examples/my-hotel-gateway-tls.yaml

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

31 of 35 (88.57%)  changed or added relevant lines in 2 files are covered.
11 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.04%) to 40.97%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/config/controller_config.go
7
8
87.5%

pkg/latticestore/latticestore.go
24
27
88.89%

Files with Coverage Reduction
New Missed Lines
%

pkg/config/ec2_metadata.go
5
65.71%

pkg/config/controller_config.go
6
72.5%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
3439

Relevant Lines:
8394

💛  - Coveralls

addressed comments and ran full e2e suite
Ran 11 of 11 Specs in 4965.560 seconds
SUCCESS! -- 11 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestIntegration (4966.49s)


sklearn.cross_validation DeprecationWarning

Hi, I'm getting DeprecationWarning when executing:
from sklearn.cross_validation import train_test_split
/home/user/anaconda2/envs/py35/lib/python3.5/site-packages/sklearn/cross_validation.py:44: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.   "This module will be removed in 0.20.", DeprecationWarning)
Solution:
from sklearn.model_selection import train_test_split

Well, this is the 2015 tutorial with worked with the 2015 scikit-learn ;) There is many places that would need fixing to not raise deprecation warnings.


cleanup v3 docs

What type of PR is this:
/kind documentation
What does this PR do / why we need it:
Removes all obsolete parts from v3 documentation.
PR acceptance criteria:

[ ] Unit test

[ ] Integration test

[x] Documentation

How to test changes / Special notes to the reviewer:

/lgtm


Fixed maxRam returning wrong info. The code i used returns accurate r…

You can try it and i have tested it many times and it does returns correct max ram that was allowed to your bot's container/server
Type

[x] Bug Fix
[ ] Functions: $maxRam
[ ] Callbacks: <Callback Name>
[ ] Handlers: <Handler Type>
[ ] Others: ______

Dependencies (Third Party Modules) needed: <Name | Github Link> (Maximum: 20MB~ size)
Want a credit? Discord tag or other social media link: BEAST#0001
Referenced Issue: #NaN (Answer for an issue, if any)
Description
Pull Request Description Here

But basically many uses pterodactyl based host so i guess make a new function for only pterodactyl based host


Link on :focus is invisible on dark mode

When a link is in focus it becomes black, which in dark mode makes it invisible.

This is how it looks for me when in focus:

It ain't pretty but just to be sure that this is what you are referring to.

Yup that is it


Login failed for user '' after PublishAsAzureSqlDatabase

After deployment via 'azd up' the connection from my container apps to the Azure SQL database failed.
The SQL Server and the database are defined as follows in AppHost:
var travelLoungeMsSql =
    builder
        .ExecutionContext.IsPublishMode ?
    builder
        .AddSqlServer("travellounge-mssql")
        .PublishAsAzureSqlDatabase() :
    builder
        .AddSqlServer("travellounge-mssql", password: msSqlPassword)
        .WithBindMount("../../.containers/mssql", "/var/opt/mssql/data");

var travelLoungeMsSqlCatalog = travelLoungeMsSql
    .AddDatabase("travellounge-mssql-catalog", "TravelLounge_Catalog");

Access to the database in the container app:
            app.AddSqlServerDbContext<ApplicationDbContext>("travellounge-mssql-catalog", configureDbContextOptions: options =>
            {
                options.UseSqlServer(sqlOptions =>
                {
                    sqlOptions.MigrationsAssembly(typeof(ApplicationDbContext).GetTypeInfo().Assembly.GetName().Name);
                });
                options.EnableSensitiveDataLogging();
            });

The managed identity is assigned as Entra admin to the SQL server but I have no idea what is missing and why the connection fails.
Packages used:

"Aspire.Hosting.Azure" Version="8.0.1"

"Aspire.Hosting.Azure.Sql" Version="8.0.1"

"Aspire.Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.1"

I dug a little deeper and was able to solve this problem manually by adjusting the connection string:

the connection string was missing the user id for the managed identity ("User Id=[client-id-of-user-assigned-managed-identity]") so the login failed.

the database name was not transferred correctly. My database name contains an underscore (see above "TravelLounge_Catalog"), but this was omitted during deployment ("TravelLoungeCatalog") so the database was not found.

Both points still need to be fixed as part of a bug fix.

Hrm. interesting this does indeed seem like a bug.
@vhvb1989 this smells like an azd issue to me. Thoughts?

@mitchdenny , I used the SqlServerEndToEnd.AppHost project from the app host and added a db name with lowercase, like:
var builder = DistributedApplication.CreateBuilder(args);

var db1 = builder.AddSqlServer("sql1").PublishAsAzureSqlDatabase().AddDatabase("db1", "db_1");

I deployed the project to Azure and got this connection string

I can see the Authentication="Active Directory Default";Database=db_1 referring to the db name correctly.  So, I wonder if this might be an issue on how the application service (the client) is parsing the connection string?
@4eversoft can you tell where are you looking at the connection string from?  (azure portal+containerApp secrets? , debugging the client?, running locally?)

I looked at the connection string in the App Secrets and changed it there.
The database name from AppHost was transferred correctly to the connection string but the problem is that the SQL Server database was given a different name during provisioning and therefore no longer matches the connection string.
In my case, the database should be called TravelLounge_Catalog, but after deployment it is called TravelLoungeCatalog and therefore the container app cannot find it.

Thank you @4eversoft , that helps.
@mitchdenny , there is a bug in the Aspire code that generates the bicep module for the database,  it is written as:
resource sqlDatabase_7z4od6fRC 'Microsoft.Sql/servers/databases@2020-11-01-preview' = {
  parent: sqlServer_0cdK4Fear
  name: 'TravelLoungeCatalog'
  location: location
  properties: {
  }
}

Would that be an issue for CDK in the implementation for Aspire.Hosting.Azure.Sql package? @JoshLove-msft @tg-msft


Change Minimum Limit Nanopool with this miner

As the title says, what's the password if you want to change the Minimum payout in nanopool, if you only filled in the pool, wallet address and worker name.

Btw, it's going a lot better with my workers now, I'm making a much more reasonable amount and most of the workers are online. I think that I'm soon gonna write something like an evaluation, to give some spreading tips that work really well with this miner.

Ok that's great. To change the minimum payout you'll have to add a password after the worker name, did you use 'Remote Configuration' for the current miners or not?

I did not use that

All workers need to use the same password to change the minimum payout so it's quite hard when you already have a lot of workers.

Alright. But I will just have to go with 0.2 ETH...

Yeah, it's not too bad unless you're in a hurry, you won't lose anything from having on the pool until you reach 0.2 ETH.

Yeah, that's true.
Thanks for all the help!

lol i hope u release the spreading methods <3

@Smurfboi007 hey, what's your discord?

Yeah, I'm just gonna monitor it for maybe 5-20 days to be able to give a better guide for it... But it looks very promising so far. (Keep in mind it's a pretty standard spreading method, but I have almost made a formula that works very good with this miner...)

@Smurfboi007 do you have a discord? i don't need the method, just want a partner to work with

@Smurfboi007 are u spreading on youtube?

As the title says, what's the password if you want to change the Minimum payout in nanopool, if you only filled in the pool, wallet address and worker name.

If you have a HD wallet you can create a new receive adress or just make a new wallet
implement in the file in addition to a email/passphrase as your password for nanopool
you then have all new rigs on the different nanopool walltet and can at least change the payout for the newer ones

the mine used is in .net? because I can't find to mine in .NET, I'm also looking for a RunPe with arguments

The injector and Watchdog are in C# but the actual miner is in C++. The RunPE is done here https://github.com/UnamSanctam/SilentETHMiner/blob/774de45bf1d655d741563d5dc0ac00e1b9a0de10/SilentETHMiner/Resources/Program.cs#L213
And is done with Mandark.

thank for reply , Mandark no work for me ;( (CGMINER)
it's when the next update ?, basic I have to create my own miner but yours is really well ^^

I'm currently working on a new unified miner where you can have several miners in one and a ton of new features but this miner still works perfectly fine.


Update to 0.12.7

Removes the extra character-logistics-slots-5 technology.
Increases cost for 6-10 to match vanilla's increased cost for 5.
Updates the README.md to match.

I've checked the research cost of vanilla and am not convinced that it's good enough to agree to it... why jump from 150 of each of the four packs to get LS4 to 500 of each to get LS5 ? sounds very expensive. I'm going to rant about it in the forums !
mean while I'm not changing the mod unless you think it will not work ( I think the mod's settings will override the vanilla ones, right ?)

I think the mod's settings will override the vanilla ones, right ?

They do. No big deal for me, either way.

Ok, First, I checked and I right about the mod overriding the vanilla settings and that's great. Second, I reserve the right to modify the resources needed if I see fit, but I will credit you for the work you did


TypeError: Cannot read property 'translations' of undefined

Only getting warning when sending wrong language code .
TranslatorFactory.createTranslator()
.translate(MainLanguages[currentKey], langCode)
.then(translated => {})

Possible Unhandled Promise Rejection (id: 0):
TypeError: Cannot read property 'translations' of undefined

@#1danialkalbasi can you please help on this, I am facing same issue.

facing same issue

I was also facing the same issue. Try replacing the Google API key for translation provided in the example project with your own Google API key with the Google Translate API enabled.

I solved that issue.


Plugin System

Description
The plugin system is nice and so much powerful.
But to get a plugin working it needs to be compiled and Hyprland needs to be compiled with it also.
Now that's what make it a bit cumbersome.
Like isn't there any possibility to make it independent of Hyprland compilation?
plug and play like system.

Hyprland doesn't need to be compiled with the plugin. You can compile hyprland and then compile your plugins whenever you want, and load them whenever you want via hyprctl plugin load/unload.
Nothing can change here.


Error: The method 'WebUri' isn't defined for the class '_WebViewChapaState'.

../../../../AppData/Local/Pub/Cache/hosted/pub.dev/chapa_unofficial-0.0.5/lib/src/chapa_webview.dart:26:17: Error: The method 'WebUri' isn't defined for the class '_WebViewChapaState'.

'_WebViewChapaState' is from 'package:chapa_unofficial/src/chapa_webview.dart' ('../../../../AppData/Local/Pub/Cache/hosted/pub.dev/chapa_unofficial-0.0.5/lib/src/chapa_webview.dart').
Try correcting the name to the name of an existing method, or defining a method named 'WebUri'.
final url = WebUri(widget.chapaCheckoutUrl);
^^^^^^
../../../../AppData/Local/Pub/Cache/hosted/pub.dev/chapa_unofficial-0.0.5/lib/src/chapa_webview.dart:26:17: Error: The method 'WebUri' isn't defined for the class '_WebViewChapaState'.
'_WebViewChapaState' is from 'package:chapa_unofficial/src/chapa_webview.dart' ('../../../../AppData/Local/Pub/Cache/hosted/pub.dev/chapa_unofficial-0.0.5/lib/src/chapa_webview.dart').
Try correcting the name to the name of an existing method, or defining a method named 'WebUri'.
final url = WebUri(widget.chapaCheckoutUrl);
^^^^^^

Could you please let me know which version of Flutter you are using?


URGENT - 1.0.3+1 breaks updating documents

If I have more than the initial page size of documents, documents after that page size won't update in realtime. They update in Firestore and if you leave the page and come back, the UI updates. After downgrading back to 1.0.3, realtime changes update as expected

I am experiencing the same problem


PHPStan assumes that model's relation is nullable

Larastan Version: 0.6.10
--level used: max

Description
PHPStan assumes that a model's relation is nullable but it's not.

Cannot access property $email_verified_at on App\Models\User|null.

Code example:
class PostController extends Controller
{
    public function show(Post $post): JsonResponse
    {
        $user = $post->user;

        abort_if((bool) $user->email_verified_at, 422, "User isn't verified"); // <-- the issue occurs here

        // ...
    }
}

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

// _ide_helper_models.php
namespace App\Models{
/**
 * App\Models\Post
 * ...
 * @property int $user_id
 * ...
 * @property-read \App\Models\User $user
 * ...
 * @mixin \Eloquent
 */
	class IdeHelperPost extends \Eloquent {}
}

It happens in many places in the app. Any idea why it happens? How to fix it?

Hi,
BelongsTo relationship does not guarantee that there will be a related model. If the foreign key is null there is no relation.
You can override this in Post model by putting @property-read \App\Models\User $user

@canvural Thanks for the comment. The foreign key column is not nullable, it should always have a relation. As you can see, laravel-ide-helper marked this property as User and not User|null. I mean, the override you suggested me, is already implemented, and still PHPStan assumes the relation might be null.
Any idea why it assumes that?

How is my suggested fix is already implemented? Did you add it on top of the Post model?

@canvural I found the cause for the issue. I'm using laravel-ide-helper feature: --write-mixin (instead of --write) https://github.com/barryvdh/laravel-ide-helper#automatic-phpdocs-for-models
This doesn't work as expected.
/**
 * @mixin IdeHelperPost
 */
class Post extends Model
{
    // ...
}}

// _ide_helper_models.php
namespace App\Models{
/**
 * App\Models\Post
 * ...
 * @property int $user_id
 * ...
 * @property-read \App\Models\User $user
 * ...
 * @mixin \Eloquent
 */
    class IdeHelperPost extends \Eloquent {}
}

This works:
/**
 * App\Models\Post
 * ...
 * @property int $user_id
 * ...
 * @property-read \App\Models\User $user
 * ...
 * @mixin \Eloquent
 */
class Post extends Model
{
    // ...
}}

I prefer these phpDocs to remain in the _ide_helper_models.php. Any idea why Larastan doesn't read the IdeHelperPost mixin correctly?

Try putting _ide_helper_models.php to the scanFiles array in your PHPStan config

Amazing! Thanks


Move Assets dir under .github

Why
Moving the assets used in the README under the .github dir.
Changes
README
Tasks

[x] Add relevant tests, if needed
[x] Add documentation, if needed
[x] Update README, if needed
[x] Ensure that all the examples (as well as the demo) work properly

We need also to generate the updated docs, that are including the readme that is now changed.


Account Creation

Only have email and password included for account creation.
Ref the sprint doc for reference about the workflow:
https://docs.google.com/document/d/1T9SyUpl273e6UIen7ZR5ln4d4HsrtLdRBEy9dJf1RQc/edit

/cib account creation

Branch 4-account-creation created!


Fix react-router v4

react-router uses react-broadcast to handle context updates. We do too,
except I inlined the implementation to avoid multiple wrapper
components. That would totally be fine, except I also slightly adapted
the implementation – and that broke anything else using react-broadcast,
including react-router v4.
This PR fixes that by instead attaching our theme to this.context
directly, not to this.context.broadcasts. This avoids overlap and fixes
the bug. (manually verified)
Closes #75

👍 LGTM

:+1:

👍🏻

Awesome, thanks for testing everyone! Publishing a new version now!


Switch to from aws-sdk to aws-lite

aws-lite promises decent speed improvements with regard to cold start time and responsiveness. There are some subtle differences in API with regard to how a client is constructed and how DynamoDB and the API gateway are accessed.
Local development is working, but we need to test if it works on a real environment as well, and of course do some speed comparisons.
The production bundles for the lambdas are now between 129kB and 143kB, which I hope is probably fine. There is a lot of white-space left in the files.

Looking at how plugins are managed in aws-lite, this will likely not work. Still, something interesting to try.


RT-1.27: Static route to BGP redistribution

Request for New Test Code Implementation Instructions

Static routes selected for redistribution base on combination of: prefix-set, set-tag
MED set to value of metric of static route (metric propagation)
AS-Path set to contain one AS with value provided in configuration
Local-Preference to a value provided in configuration
Community list set to defined community set
BGP protocol next-hop set to value provided in configuration
Redstribute static-route with "DROP" as the next-hop

Implement code for RT-1.27

implemented at https://github.com/openconfig/featureprofiles/pull/2900


upgrade version

the server version and the agent version need to be upgraded to versions 9.2.0 and 8.13.0, respectively.

Sorry. We don't have ppl maintaing this repo anymore.

Sorry. May I ask why you chose not to support these two message queues?

If someone felt interested, it could be done.

OK, thank you


Improvements for var-spacing in ansible-lint

The rule was formerly known as jinja[spacing].

@ppuschmann Thanks for responding to my comments. I'm really busy this week with a project that has a deadline before the Easter holidays, but I'll re-review your changes as soon as I can.


Fix test image reference

Fixes up the test target used in GH Actions
Related to #1

What these changes do:

Fix the reference image so CI tests successfully build
Change the workflows so only tests are ran on PRs
Make it so pushes to master only publish to latest
Make it so published releases publish docs to dockerhub and the release tag

Looks like I don't have write permissions to the repo - I suspect that you're the only one that does. I think you can set it so all members of the organization do


select and detail image icons not displaying on some browse menus

select and detail image icons not displaying on some browse menus.

Missing getGlobalColumnTag function for some of the menu browses during multi-lingual refactor


BUILD.gn: Only build tests in Chromium.

The prior GoogleTest integration was incomplete and produced errors
when building with 'gn check' enabled. Fix this by scoping the test
integration to Chromium.
Fixes Issue #2382
@dj2 PTAL

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Jamie Madill seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@null77 you need to sign the CLA before we can merge this commit.

@null77 you need to sign the CLA before we can merge this commit.

Thanks. I didn't have the right email on the github commit. Fixed.


Add support for Tableau

Which issue does this PR close?
Closes #428.
Rationale for this change
Explained in the issue.
What changes are included in this PR?
Added two FlightSQL handlers necessary for Tableau (and most likely others).
Are there any user-facing changes?
More analytics tools should work.

@andygrove I don't know who other than you is tracking FlightSQL support to review this.


CountMinSketch overflow check causes a lot of allocations

It starts from String.valueOf(item) here https://github.com/addthis/stream-lib/blob/586814173573254d13a81fdb6f60b3207605c747/src/main/java/com/clearspring/analytics/stream/frequency/CountMinSketch.java#L205 String concatenation here https://github.com/addthis/stream-lib/blob/586814173573254d13a81fdb6f60b3207605c747/src/main/java/com/clearspring/analytics/stream/frequency/CountMinSketch.java#L189 and here https://github.com/addthis/stream-lib/blob/586814173573254d13a81fdb6f60b3207605c747/src/main/java/com/clearspring/analytics/stream/frequency/CountMinSketch.java#L289
Could be related to #140

I'm not sure.  Stream-lib's CountMinSketch has fallen behind what @tdunning has in his repo.  Hopefully we can work on pulling in a more recent version.  Otherwise we may need to deprecate this class.

I don't think I have a CMS implementation.
I have t-digest and FloatHistogram. Just had a release last week and some big stuff coming soon beyond that.

Sorry @tdunning.  My memory seems to be failing me...  Great news on new releases of T-digest and FloatHistogram.
@alexandrnikitin I'll look into this and #140 as soon as I can.

@abramsm Thank you. I'm ready to help with it. Basically I would just remove the overflow check. I can also introduce microbenchmarks to prevent regression. I just need an answer for #140 whether there's something I miss or not? I see it only as an optimization for fast comparison.


Update README about drop and creating a new quicklist from the result of fzf

Feature description
Two things are not clear to me from the README. Can you clarify these?

drop | use drop to open the item, and close quickfix window | O

What is drop? Is it supposed to delete the item from the quickfix list? I don't see a difference in behavior between o and O.
If I filter the list using fzf (using zf), how can I create a new list from only the filtered items?

PS: Wonderful plugin! I discovered this from https://www.youtube.com/watch?v=W4aLqTV4qkc&t=771s
Describe the solution you'd like
Please update the README with these details - may be in FAQ. Others might have the same question.
Additional context
No response

If I filter the list using fzf (using zf), how can I create a new list from only the filtered items?

I figured out how to do this when fzf has multiple search results - I just have to press Tab to move to the search results, use <C-n> or <C-p> to navigate around the list, use Tab to toggle selection of the current item and hit Enter to create a new list with the selection. Neat!
I was initially playing around with a search that returns only one result. The above approach was is working in this case. This behavior is reasonable when there is only one search result, but is not consistent. When I reopen the quickfix list with :copen, I see all the items again.

What is drop? Is it supposed to delete the item from the quickfix list? I don't see a difference in behavior between o and O.

You can find the answer from : drop.

I was initially playing around with a search that returns only one result. The above approach was is working in this case. This behavior is reasonable when there is only one search result, but is not consistent. When I reopen the quickfix list with :copen, I see all the items again.

fzf can't record selected item when doing handler. If you want to keep only selected item, please type ctrl-q to sign it back to the qf list, and then type zn to create new qf list.

Thanks for these pointers!

You can find the answer from : drop.

I read https://neovim.io/doc/user/windows.html#_the-argument-list-and-multiple-windows on :drop

:dr :drop
:dr[op] [++opt] [+cmd] {file} ..
Edit the first {file} in a window.
If the file is already open in a window change to that window.
If the file is not open in a window edit the file in the current window. If the current buffer can't be abandoned, the window is split first.
Windows that are not in the argument list or are not full width will be closed if possible. The argument-list is set, like with the :next command. The purpose of this command is that it can be used from a program that wants Vim to edit another file, e.g., a debugger. When using the :tab modifier each argument is opened in a tab page. The last window is used if it's empty. Also see ++opt and +cmd.

If I use O on a file that is not currently open, it is not reusing the current buffer (the current buffer is clean and not dirty). It is always opening in a new buffer. I still don't understand the difference between o and O. Either I am misunderstanding the behavior or something in my config is interfering with this behavior.

fzf can't record toggled items but returns the select indexes directly when doing the handler. If you want to keep only the toggled item, please type ctrl-q to sign it back to the qf list, and then type zn to create a new qf list.

This works 👍

Open two buffers a and b, switch to b buffer and then run :drop path_of_a.

The purpose of :drop is to prevent opening the same file in multiple buffers and windows, ensuring that if the file is already loaded, you simply switch to it, rather than loading it again.

Something in my configuration is already preventing opening of duplicate buffers so I am not able to see the benefit of O over o. The behavior is the same for me.
Thanks for patiently explaining about :drop. Today I learnt yet another new command!


Regenerate admin client

#1723 modified the admin service's API.
This PR:

Wires up Orval to the new location of the admin proto file
Regenerates the client
Adopts the new client in our web-admin app

Part of #1780.

LGTM. I wonder if we should put it in web-common/src/admin-client for symmetry with the runtime-client (although this will only be used in web-admin, so you could argue it's not "common")?

Since we're going to have admin-specific components in web-admin/components, I'd lean toward keeping the client in web-admin next to those components. But the symmetry in web-common would be nice. Could go either way. I'll keep as is for now.


Version 4.1.1 is not compatible with netstandard2.1

When I try to install the 4.1.1 version in to a netstandard2.1 project the nuget packages says:

Severity	Code	Description	Project	File	Line	Suppression State Error	NU1202	Package Microsoft.AspNetCore.Mvc.Versioning 4.1.1 is not compatible with netstandard2.1 (.NETStandard,Version=v2.1). Package Microsoft.AspNetCore.Mvc.Versioning 4.1.1 supports: netcoreapp3.1 (.NETCoreApp,Version=v3.1)

I know that this version remove the compatibility of asp.net core 2.x but it should be availiable in the netstandard2.1 since this target framework is made to work only with netcoreapp3.0+

Not quite. ASP.NET Core 3.0/3.1 itself only targets netcoreapp3.0 and netcoreapp3.1 respectively. Since API versioning directly depends on ASP.NET Core, it has to follow the same TFMs. While it's true that a .NET Core 3.0+ application can reference .NET Standard 2.0/2.1, ASP.NET Core 3.0+ provides no such TFM. In fact, they don't even ship the individual packages anymore. Now there is only a framework reference.
I've spent many years using .NET Standard and multi-targeting with various methods. I'm not arbitrarily removing its support. ASP.NET Core simply no longer supports it if you are directly extending the framework.
There is a long discussion in #591 that articulates as much of these details as possible. I'm happy to be proven wrong and make it work, but thus far no one has been able to verify my assertions are incorrect.
I hope that helps

@commonsensesoftware  you have right I have a miss conception here. Sorry for the issue and thanks for the clarification, I have not notice that ASP.NET Core 3.x was transform in a framework reference.
As a side note, I not see any troubles using the framework reference I know that when we create libraries to extend the framework not need the entire sets of packages, at the end the library will be used in a application that use the entire framework, the only side effect I see is the payload for load all the reference but I suppose that the asp.net core team take that in account. Well I know that this is not the space for discus that.
Again thanks for you clarification and congratulations for this excellent tools.

No problem. 591 discusses that in detail. Essentially, although you reference the entire framework, the linker only binds the references that you actually use. My understanding is that the ASP.NET found that more people were having issues with not knowing which packages to reference or facing significant bloat from duplicate packages deployed on a single machine, so they decided to move to a singular framework reference. This is conceptually similar to a meta package reference. It seems like that makes it harder to service bug fixes, but what I do I know? Maybe they feel it's stable enough that it's not a huge deal.
Long story short, .NET Core will become just .NET (5.0) by next year and will be the path forward. .NET Standard was always a bridge and it's unclear if it will still be needed or supported going forward. There's no plans to stop supporting it, but it may no longer be necessary. As it stands, if you support .NET Standard 2.0 (likely the most common), you can only go back to .NET 4.6.1 anyway. All of the new features and innovation will happen on what is currently .NET Core, primarily because everything is broken up. Many compiler tricks have been used or features deferred because they required changes to the CLR, which could not be shipped without a whole iteration of the full .NET Framework. Now will be able to do this things side-by-side in a comparatively lightweight manner. ;)


What kinds of coordinate using by habitat?

I am quiet confused about the coordinate using by habitat.
What kinds of coordinate using by habitat?
Dose the x,y,z of agent is the foward,up,left direction?
It is the same about the navmesh and every scene?
Please can you offer me a detail illustration of all the coordinates?
otherwise it hard for me to understand the transformation.

all the above directions I mean positive.

@rpartsey

For future reference: https://github.com/facebookresearch/habitat-sim/pull/1498


Message serializations

ref https://github.com/queue-interop/queue-interop/issues/27

I've been thinking a lot about this issue and I dont see how this could be solved without introducing serializer interface for a message body.
@Sevavietl what do you think?

@makasim I do not know if it worth to be so strict on message body itself. Maybe we can loosen it a bit like it is done in this PR, but control it with the serializer in context, for example. Like it is done in rdkafka enqueue implementation. Do you see any caveats in such approach?
I will look deeply into the JMS, maybe find there some direction. It is hard to get the answer from the top of my head. Let's come back to this later.

Maybe we can loosen it a bit like it is done in this PR, but control it with the serializer in context, for example. Like it is done in rdkafka enqueue implementation. Do you see any caveats in such approach?

Than a serializer is bound to transport, and if you switch from one to another the code will break.

Than a serializer is bound to transport, and if you switch from one to another the code will break.

I'd say it's user's responsibility to select and attach correct serializer. If one want to shoot himself in the foot by using different serialization method for producing and consuming, then it's his fault for doing so.

@makasim, @Steveb-p, I am also against making serializer bound to specific transport. It is better to resolve it from configurations: di container is a must-have nowadays.

In my opinion, since this is an interface only, there should be nothing about how Producer handles Messages. How serializer is attached (or if it event relies on it) should be outside the scope of queue-interop.
Just the fact that a Message object is passed should be sufficient.
Attaching Serializer to anything should be an implementation detail.
As I see it:
Context::createMessage should accept anything as $body argument.
Producer::send should accept any Message. How it handles serialization or if it needs one is up to implementation. It could as well be that Message is an instance of JsonSerializable or implement __sleep/__wakeup and be passed to built-in PHP serializer, we do not really care.
The same as above applies to Consumer. It's programmers responsibility to unserialize.
What's the purpose of the trait that is added in PR?


Make SVG board images work again

This works by reorienting server input/output around strictly newline-delimited messages.

remove (string 4) (EOF) from server-send messages
erase buffer before accepting input (also allows removing a temp variable)
watch for newline (eq ?\n (char-before (point-max))) instead of first change in buffer-size
compress PGN messages onto single line by escaping newlines
unescape newlines after receipt in the Python server
convert the server to use readline() rather than read(), since messages must be a full line
break from the server loop if an EOF is received (but we no longer send EOF)
ignore empty lines sent to the server (might easily happen if two trailing newlines were added on the elisp end)

I added #37 to correct the issues I was having with rendering svg. It seems to do something funny with selection (I get highlights of the image glyph when in other window).


HSEARCH-2933 Upgrade to a version of the MariaDB driver not affected by CONJ-541

https://hibernate.atlassian.net//browse/HSEARCH-2933
Proof the JSR-352 tests now work on MariaDB: http://ci.hibernate.org/job/hibernate-search-yoann/187/ (still a dead link because the build is pending at the moment).

nice! Thanks

oops, the CI build is actually failing. Looks unrelated though, checking..


Add didSet/willSet recursion change to the changelog

In #15280 we changed the behaviour of setting a property within its own didSet or willSet observer, such that we only perform direct accesses on self in Swift 5 mode.
This commit adds this to the changelog and, in addition, does some gardening for the SR links.

Please mention that this only happens in Swift 5 mode. (Being in the Swift 5 section isn't enough to imply that.)

@swift-ci Please smoke test and merge

@jrose-apple Looks like that didn't trigger the bot for some reason; could you please try again?

@swift-ci Please smoke test and merge

@jrose-apple This and #15280 causes strange results in Swift 4.2. You fell in infinite loop in a lot of strange cases.
I have already posted in stackoverflow regarding this problem.
It would be great if you elaborate exactly what should be correct behavior regarding setting value of a property within its own setter.

@afshinpir This change is unrelated to the behaviour that you're experiencing in your Stack Overflow question – you'd also get the same behaviour in Swift 4.1.
Whether or not a property is accessed directly (without triggering observers) is determined statically by the context in which the access is performed, rather than being determined dynamically by whether or not it's taking place during a call to a given function.
The current behaviour (up until Swift 5 mode) is to always perform a direct access when accessing a property within its own didSet/willSet observer. The change introduced in the linked patch restricts this behaviour to only apply when it's a property access that is taking place on self, and this new behaviour will take effect in Swift 5 mode.
However in either case, a property access done within an instance method will not be done directly, which is the behaviour you're observing.

a property access done within an instance method will not be done directly
@hamishknight  But when we are setting property within its own didSet, I think it should not trigger even if we are using an instance method. Assume there is a lot of codes in didSet and we want to organize them into few methods. If there is a decision not to trigger didSet when we set property inside it, I think it should be similar in all cases, either with setting it inside didSet itself, or by calling another function. And as a suggestion, maybe it is better that trigger didSet or not depend on type data. For example, does not trigger for reference types and trigger it for value types.


Super pixels / unsupervised clustering

Are there any implementation already that would help solve the following problem.
Given a sample set of images (fixed size n x n pixels) would it be possible to run a unsupervised clustering to find similar super pixels / clusters.
And then run it against two images to assign clusters to each pixel, and compare two images against eachother by looking at which pixels that changed cluster.
How complicated would it be to set such flow up with chainercv for a noob like me ?

Maybe you can work with feature maps of typical CNNs to cluster segments of pixels.
Something like this.  https://arxiv.org/pdf/1606.03558.pdf
VGG16 can be used for this purpose.
model = VGG16()
 # By default, __call__ returns a probability score (after Softmax).
model.pick = 'conv5_3'
conv5_3 = model(imgs)

My images have 10+ bands of different sensors, so i would assume that I need to build a custom model and not use a pretrained one. Most of them is based on RGB bands of random images i guess.
Would like to use sentinel 2 satellite images as examples. They consist of 13 bands. 4 at 10m, 6 at 20m and 3 at 60m.
Do you have any recommendation for a starting point => samples / tutorials that would help me getting started for this.
I assume that I would need to solve the following things:

[ ] Learn how to create a sample set / data container layout.
I am thinking 256x256 at 10m, 128x128 at 20m and 42x42 for the 60m bands. A sample is then  365740 uint8 values. Is this to big?
[ ] Learn how to train feature maps
The featuremaps will the be cluster representations and I should select N feature maps. Do I just select 100 ? 1000 and if the number is to high there will just be feature maps that are similar?
Since we want to learn feature maps, i just need to generate enough random samles from data until feature maps converge?
[ ] Learn what layers needs to be put after the feature maps to create clusters.

This also would form as a good basis of creating a classification if there was learning labels but that is next on my topic.


CSRF: fix the CSRF_HEADER_NAME variable

CSRF_HEADER_NAME should not be HTTP_X_CSRFTOKEN but instead X-CSRFToken

closing, this was fixed by @lnielsen here https://github.com/inveniosoftware/invenio-rest/commit/3e2a4d03270f19e494457f14d8a7626210115708


Where is the example file?

Currency name:
Symbol:
Website:
Theme color:
Logo (SVG):

What example file?

In Add support for svg symbol/use feature issue, there is a comment
"This is already there. See the example file in the project root.
edit: oh, but when I looked at it some of the svgs had issues with the way they were displayed. They need viewBoxes defined in order to correctly work as an external xlink like that, but not all of them had one."
But I can't find any example file.
I want to use the icons via css class and change the size with font-size, is it possible?

We cleaned up the repo a bit and split the example website out to a separate repo. Is this what you're looking for?
https://github.com/atomiclabs/cryptocurrency-icons-website

Thanks but this link stil not helping me.


rake db:create leads to "database is not existing"

If you try to create a db with tidus in place, you will get following error:
rake aborted! FATAL:  Database „<database-name>“ is not existing /usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:651:ininitialize'
/usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in new' /usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:651:inconnect'
/usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:242:in initialize' /usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:44:innew'
/usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:44:in postgresql_connection' /usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:438:innew_connection'
/usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:448:in checkout_new_connection' /usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:422:inacquire_connection'
/usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:349:in block in checkout' /usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:348:incheckout'
/usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:263:in block in connection' /usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:262:inconnection'
/usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:567:in retrieve_connection' /usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_handling.rb:113:inretrieve_connection'
/usr/local/rvm/gems/ruby-2.1.1/gems/activerecord-4.2.1/lib/active_record/connection_handling.rb:87:in connection' /usr/local/rvm/gems/ruby-2.1.1/gems/tidus-1.0.5/lib/tidus/strategies/base_selector.rb:6:inanonymize'
/usr/local/rvm/gems/ruby-2.1.1/gems/tidus-1.0.5/lib/tidus/anonymization.rb:68:in block in anonymizes' /usr/local/rvm/gems/ruby-2.1.1/gems/tidus-1.0.5/lib/tidus/anonymization.rb:55:ineach'
/usr/local/rvm/gems/ruby-2.1.1/gems/tidus-1.0.5/lib/tidus/anonymization.rb:55:in anonymizes' /var/www/---/models/---.rb:23:inclass:Address'
/var/www/---/models/---.rb:2:in <module:M1>' /var/www/---/models/---.rb:1:in<top (required)>'
/usr/local/rvm/gems/ruby-2.1.1/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in require' /usr/local/rvm/gems/ruby-2.1.1/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:inblock in require'
/usr/local/rvm/gems/ruby-2.1.1/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in load_dependency' /usr/local/rvm/gems/ruby-2.1.1/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:inrequire'
/var/www/---/Rakefile:11:in block in <top (required)>' /var/www/---/Rakefile:11:ineach'
/var/www/---/Rakefile:11:in <top (required)>' /usr/local/rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:ineval'
/usr/local/rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in <main>'

The issue appears to be caused by hooking the anonymizes methods into the model
Tidus automatically tried to determine the database adapter
Currently it requires an active connection for that. This obviously fails because the database to which the connection should be established does not exist
See https://github.com/Barzahlen/tidus/blob/master/lib/tidus/strategies/base_selector.rb#L6

I think it is save to say that this issue can be cleaned up?

Yeah, I do not think we will address it here + we made some other changes in the meantime


[Bug] ACL can't work with netmask smaller than /24

Is this a support request?

[X] This is not a support request

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
I've been working with headscale ACL for taiscale clients.
My current ACL file
{
  "groups": {
    "group:sre": ["sre1", "sre2"],
    "group:dev": ["dev1", "dev2"]
  },
  "tagOwners": {
    "tag:exitnode": ["group:sre"],
  },
  "acls": [
    { "action": "accept", "src": ["autogroup:members"], "dst": ["autogroup:self:*"] },
    { "action": "accept", "src": ["*"], "dst": ["tag:exitnode:*"] },
    { "action": "accept", "src": ["group:sre"], "dst": ["*:*"] },
    { "action": "accept", "src": ["group:dev"], "dst": ["<IP_ADDRESS>/25:8006"] },
    { "action": "accept", "src": ["group:dev"], "dst": ["<IP_ADDRESS>/24:80,443"] }
  ]
}

With this configuration, from 1 of my dev nodes, I test connection through an exit node :

I can connect to <IP_ADDRESS> tcp/80 (match with 5th rule)
but I can't connect to <IP_ADDRESS> tcp/8006 (match with 4th rule)
In the log of tailscale on dev nodes:

open-conn-track: flow TCP <IP_ADDRESS>:43166 > <IP_ADDRESS>:8006 rejected due to acl

If I change 4th rule to <IP_ADDRESS>/24:8006 or <IP_ADDRESS>/16:8006 instead of <IP_ADDRESS>/25:8006, then the connection can be opened.
I tested with /32, /30 also didn't work, but /24, /16 are work
I also tried to replace <IP_ADDRESS>/25 with host definition, but also didn't work
Expected Behavior
I can connect <IP_ADDRESS>:8006 with one of these acl:
    { "action": "accept", "src": ["group:dev"], "dst": ["<IP_ADDRESS>/32:8006"] },
or
    { "action": "accept", "src": ["group:dev"], "dst": ["<IP_ADDRESS>/25:8006"] },
or
    { "action": "accept", "src": ["group:dev"], "dst": ["<IP_ADDRESS>/24:8006"] },

Steps To Reproduce
Create ACL at headscale and test at tailscale
Environment
- OS: ubuntu 22.04
- Headscale version: v0.23.0-alpha9
- Tailscale version: 1.66.1

Runtime environment

[X] Headscale is behind a (reverse) proxy
[ ] Headscale runs in a container

Anything else?
No response

I want to dump current acl at tailscale client but I can't find any solutions to do that.

I tested with headscale version v0.22.3 and didn't see this problem, ACL can work as expected with /32 or /25 or /24
So I guess this is the new bug of v0.23.0-alpha9

This should be fixed in alpha10, see #1817.

@duongmn89 can you test if it is fixed as mentioned?

Thanks, I will test alpha10 today

@kradalby @winterheart this problem does not exist in alpha10, thanks

Great!


🐛 [Firebase Dynamic Links] getInitialLink and onLink doesn't receive any link while application is terminated (iOS)

Bug report
Hi. I am trying to implement dynamic links using Firebase. But it does not work (it opens the application but does not catch the initial link or onLink listener). I have checked before reported solutions (in this repository) but it is not working for my case. I keep in mind that it is working on the Android side correctly.
Flutter version: 3.3.4
Xcode: 14.0.1
Tested iOS version: iOS 16+
Flutter Dynamic Links Version: 5.0.3
Firebase Core Version: 2.1.1
I want to mention some points:
I have added Associated Domains in Xcode

Configured Url Types

Turned on Associated Domains in developer.apple.com

Provided Apple Store ID (but it is not correct apps id it is other app, is used just for test) and Team ID

Steps to reproduce
Steps to reproduce the behavior:

Dynamic link receiver code in main.dart

 final initialLinkNotifier = ValueNotifier<String?>(null);

void main() async {
  runZonedGuarded<Future<void>>(
    () async {
      WidgetsFlutterBinding.ensureInitialized();
      /// other logics

      FirebaseDynamicLinks.instance.onLink.listen(
      (PendingDynamicLinkData? dynamicLink) async {
        final deepLink = dynamicLink?.link;
        if (deepLink != null) {
          initialLinkNotifier.value = 'listener: ${deepLink.toString()}';
        }
      },
    );

    final initalLink = await FirebaseDynamicLinks.instance.getInitialLink();
    if (initalLink != null) {
      initialLinkNotifier.value = 'initial: ${initalLink.link.toString()}';
    }
    },
    (error, stack) => FirebaseCrashlytics.instance.recordError(
      error,
      stack,
      fatal: true,
    ),
  );
}

Note: Notifier just used to show dynamic link in the ui (working or not)

'...'
See error or incorrect behavior

Expected behavior
I can't test it in Simulator because it gives the following error:

But in real device (iOS 16, IPhone 11) it is working while application is running in foreground, but when app is terminated, it opens application but not catching dynamic link neither getInitialLink nor onLink listener.
Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.4, on macOS 12.6 21G115 darwin-arm, locale
    en-AZ)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] Android Studio (version 2021.3)
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.72.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.18.2
Flutter SDK 3.3.4
azerconnect_inside 1.0.0+9

dependencies:
- app_theme 0.0.1 [flutter responsive_builder]
- cached_network_image 3.2.2 [flutter flutter_cache_manager octo_image cached_network_image_platform_interface cached_network_image_web]
- cupertino_icons 1.0.5
- dio 4.0.6 [http_parser path]
- dots_indicator 2.1.0 [flutter]
- dotted_border 2.0.0+3 [flutter path_drawing]
- equatable 2.0.5 [collection meta]
- expandable 5.0.1 [flutter]
- expandable_page_view 1.0.17 [flutter]
- file_picker 5.2.2 [flutter flutter_web_plugins flutter_plugin_android_lifecycle plugin_platform_interface ffi path win32]
- firebase_core 2.1.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 3.0.3 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_dynamic_links 5.0.3 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_remote_config 3.0.3 [firebase_core firebase_core_platform_interface firebase_remote_config_platform_interface firebase_remote_config_web flutter]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- flutter_html 2.2.1 [html csslib flutter_layout_grid video_player chewie webview_flutter chewie_audio flutter_svg flutter_math_fork collection numerus flutter]
- flutter_layout_grid 2.0.1 [flutter collection meta quiver]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]
- flutter_riverpod 2.0.2 [collection flutter meta riverpod state_notifier]
- flutter_secure_storage 6.0.0 [flutter flutter_secure_storage_linux flutter_secure_storage_macos flutter_secure_storage_platform_interface flutter_secure_storage_web flutter_secure_storage_windows meta]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- form_validator 1.0.3
- go_router 5.1.1 [collection flutter flutter_web_plugins logging meta]
- infinite_scroll_pagination 3.2.0 [flutter sliver_tools]
- intl 0.17.0 [clock path]
- loading_animation_widget 1.2.0+3 [flutter]
- local_auth 2.1.2 [flutter intl local_auth_android local_auth_ios local_auth_platform_interface local_auth_windows]
- meta 1.8.0
- package_info_plus 1.4.3+1 [flutter package_info_plus_platform_interface package_info_plus_linux package_info_plus_macos package_info_plus_windows package_info_plus_web]
- pretty_dio_logger 1.2.0-beta-1 [dio]
- responsive_builder 0.4.3 [flutter]
- rxdart 0.27.5
- share_plus 4.5.3 [cross_file meta mime flutter share_plus_platform_interface share_plus_linux share_plus_macos share_plus_windows share_plus_web]
- shared_preferences 2.0.15 [flutter shared_preferences_android shared_preferences_ios shared_preferences_linux shared_preferences_macos shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- shimmer 2.0.0 [flutter]
- url_launcher 6.1.6 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- video_player 2.4.7 [flutter html video_player_android video_player_avfoundation video_player_platform_interface video_player_web]

dev dependencies:
- build_runner 2.3.2 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_launcher_icons 0.10.0 [args checked_yaml cli_util image json_annotation path yaml]
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- mockito 5.3.2 [analyzer build code_builder collection dart_style matcher meta path source_gen test_api]

dependency overrides:
- flutter_layout_grid 2.0.1 [flutter collection meta quiver]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]

transitive dependencies:
- _fe_analyzer_shared 50.0.0 [meta]
- _flutterfire_internals 1.0.6 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 5.2.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- archive 3.3.2 [crypto path]
- args 2.3.1
- async 2.9.0 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- build 2.3.1 [analyzer async convert crypto glob logging meta path]
- build_config 1.1.1 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.1.0 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.1.0 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.7 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.4.2 [built_collection collection fixnum meta]
- cached_network_image_platform_interface 2.0.0 [flutter flutter_cache_manager]
- cached_network_image_web 1.0.2 [flutter flutter_cache_manager cached_network_image_platform_interface]
- characters 1.2.1
- checked_yaml 2.0.1 [json_annotation source_span yaml]
- chewie 1.3.5 [cupertino_icons flutter provider video_player wakelock]
- chewie_audio 1.3.0 [cupertino_icons flutter video_player]
- cli_util 0.3.5 [meta path]
- clock 1.1.1
- cloud_firestore_platform_interface 5.8.3 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.0.3 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.3.0 [built_collection built_value collection matcher meta]
- collection 1.16.0
- convert 3.1.1 [typed_data]
- cross_file 0.3.3+2 [js meta]
- crypto 3.0.2 [typed_data]
- csslib 0.17.2 [source_span]
- dart_style 2.2.4 [analyzer args path pub_semver source_span]
- fake_async 1.3.1 [clock collection]
- ffi 2.0.1
- file 6.1.4 [meta path]
- firebase_core_platform_interface 4.5.2 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.0.1 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.3.4 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.3+19 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_remote_config_platform_interface 1.1.23 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_remote_config_web 1.1.12 [firebase_core firebase_core_web firebase_remote_config_platform_interface flutter flutter_web_plugins js]
- fixnum 1.0.1
- flutter_blurhash 0.7.0 [flutter]
- flutter_cache_manager 3.3.0 [clock collection file flutter http path path_provider pedantic rxdart sqflite uuid]
- flutter_math_fork 0.6.3+1 [flutter flutter_svg provider meta collection tuple]
- flutter_plugin_android_lifecycle 2.0.7 [flutter]
- flutter_secure_storage_linux 1.1.1 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_macos 1.1.1 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_platform_interface 1.0.0 [flutter plugin_platform_interface]
- flutter_secure_storage_web 1.0.2 [flutter flutter_web_plugins flutter_secure_storage_platform_interface js]
- flutter_secure_storage_windows 1.1.2 [flutter flutter_secure_storage_platform_interface]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 3.1.0 [async path]
- glob 2.1.0 [async collection file path string_scanner]
- graphs 2.2.0 [collection]
- html 0.15.1 [csslib source_span]
- http 0.13.5 [async http_parser meta path]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- image 3.2.2 [archive meta xml]
- io 1.0.3 [meta path string_scanner]
- js 0.6.4
- json_annotation 4.7.0 [meta]
- lints 2.0.1
- local_auth_android 1.0.14 [flutter flutter_plugin_android_lifecycle intl local_auth_platform_interface]
- local_auth_ios 1.0.10 [flutter intl local_auth_platform_interface]
- local_auth_platform_interface 1.0.5 [flutter intl plugin_platform_interface]
- local_auth_windows 1.0.4 [flutter local_auth_platform_interface]
- logging 1.1.0
- matcher 0.12.12 [stack_trace]
- material_color_utilities 0.1.5
- mime 1.0.2
- nested 1.0.0 [flutter]
- numerus 1.1.1
- octo_image 1.0.2 [flutter flutter_blurhash]
- package_config 2.1.0 [path]
- package_info_plus_linux 1.0.5 [package_info_plus_platform_interface flutter path]
- package_info_plus_macos 1.3.0 [flutter]
- package_info_plus_platform_interface 1.0.2 [flutter meta plugin_platform_interface]
- package_info_plus_web 1.0.6 [flutter flutter_web_plugins http meta package_info_plus_platform_interface]
- package_info_plus_windows 2.1.0 [package_info_plus_platform_interface ffi flutter win32]
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider 2.0.11 [flutter path_provider_android path_provider_ios path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- path_provider_android 2.0.20 [flutter path_provider_platform_interface]
- path_provider_ios 2.0.11 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.7 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.6 [flutter path_provider_platform_interface]
- path_provider_platform_interface 2.0.5 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.3 [ffi flutter path path_provider_platform_interface win32]
- pedantic 1.11.1
- petitparser 5.1.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.3 [meta]
- pool 1.5.1 [async stack_trace]
- process 4.2.4 [file path platform]
- provider 6.0.4 [collection flutter nested]
- pub_semver 2.1.2 [collection meta]
- pubspec_parse 1.2.1 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.1.0 [matcher]
- riverpod 2.0.2 [collection meta stack_trace state_notifier]
- share_plus_linux 3.0.1 [cross_file share_plus_platform_interface file flutter meta url_launcher]
- share_plus_macos 3.0.1 [share_plus_platform_interface flutter]
- share_plus_platform_interface 3.2.0 [cross_file flutter meta mime plugin_platform_interface path_provider uuid]
- share_plus_web 3.1.0 [cross_file share_plus_platform_interface url_launcher flutter flutter_web_plugins meta mime]
- share_plus_windows 3.0.1 [share_plus_platform_interface flutter meta url_launcher]
- shared_preferences_android 2.0.14 [flutter shared_preferences_platform_interface]
- shared_preferences_ios 2.1.1 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.1.1 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_macos 2.0.4 [flutter shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.1.0 [flutter plugin_platform_interface]
- shared_preferences_web 2.0.4 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.1.1 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.4.0 [async collection http_parser path stack_trace stream_channel]
- shelf_web_socket 1.0.2 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- sliver_tools 0.2.8 [flutter]
- source_gen 1.2.6 [analyzer async build dart_style glob meta path source_span yaml]
- source_span 1.9.0 [collection path term_glyph]
- sqflite 2.2.0+2 [flutter sqflite_common path]
- sqflite_common 2.4.0+2 [synchronized path meta]
- stack_trace 1.10.0 [path]
- state_notifier 0.7.2+1 [meta]
- stream_channel 2.1.0 [async]
- stream_transform 2.0.1
- string_scanner 1.1.1 [source_span]
- synchronized 3.0.0+3
- term_glyph 1.2.1
- test_api 0.4.12 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- timing 1.0.0 [json_annotation]
- tuple 2.0.1
- typed_data 1.3.1 [collection]
- url_launcher_android 6.0.21 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.0.17 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.0.1 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.0.1 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.1.1 [flutter plugin_platform_interface]
- url_launcher_web 2.0.13 [flutter flutter_web_plugins url_launcher_platform_interface]
- url_launcher_windows 3.0.1 [flutter url_launcher_platform_interface]
- uuid 3.0.6 [crypto]
- vector_math 2.1.2
- video_player_android 2.3.9 [flutter video_player_platform_interface]
- video_player_avfoundation 2.3.7 [flutter video_player_platform_interface]
- video_player_platform_interface 5.1.4 [flutter plugin_platform_interface]
- video_player_web 2.0.12 [flutter flutter_web_plugins video_player_platform_interface]
- wakelock 0.6.2 [flutter meta wakelock_macos wakelock_platform_interface wakelock_web wakelock_windows]
- wakelock_macos 0.4.0 [flutter flutter_web_plugins wakelock_platform_interface]
- wakelock_platform_interface 0.3.0 [flutter meta]
- wakelock_web 0.4.0 [flutter flutter_web_plugins js wakelock_platform_interface]
- wakelock_windows 0.2.1 [flutter wakelock_platform_interface win32]
- watcher 1.0.2 [async path]
- web_socket_channel 2.2.0 [async crypto stream_channel]
- webview_flutter 2.8.0 [flutter webview_flutter_android webview_flutter_platform_interface webview_flutter_wkwebview]
- webview_flutter_android 2.10.4 [flutter webview_flutter_platform_interface]
- webview_flutter_platform_interface 1.9.5 [flutter meta plugin_platform_interface]
- webview_flutter_wkwebview 2.9.5 [flutter path webview_flutter_platform_interface]
- win32 3.0.1 [ffi]
- xdg_directories 0.2.0+2 [meta path process]
- xml 6.1.0 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

Future<void> handleDynamicLinks() async {
    /// launches on initial run
    final data = await FirebaseDynamicLinks.instance.getInitialLink();
    await _handleDeepLink(data);

    // listens for app-alive links taps
    FirebaseDynamicLinks.instance.onLink(onSuccess: (_data) async {
      _handleDeepLink(_data);
    });
  }

  Future<void> _handleDeepLink(
      PendingDynamicLinkData? data) async {
    final deepLink = data?.link;
    print(deepLink);
      }

I am not sure but maybe this can fix your issue

@iamnijat it is not helped.

Thanks for the detailed report @thisisyusub
Can you take a look at this issue and underlying comments and see if they help in your case ?

Thanks for the detailed report @thisisyusub
Can you take a look at this issue and underlying comments and see if they help in your case ?

Yeap sure, I will check out and give info.

@darshankawar, I have checked the comments. And one thing is interesting for me. I have created the project and initialized the app with flutterfire cli. I have GoogleService-Info.plist file in ios/Runner folder. So my question is that my API key mentioned in firebase_options.dart file is not registered in Google Cloud Service (So my project is not also registered). Should I register it? But I can't register my API key in the cloud because it is automatically generated.

I have checked the solutions.
Firstly, I have added the following lines to Info.plist:

According to another comment, I have checked my API key in Google Cloud Console (before it was unrestricted):

I have checked the app again with a new link created in Firebase Dynamic Link Dashboard with real ios device again and it is not working.

I will check this solution for now too.

@darshankawar btw, I have tested [app links](app_links: ^3.3.0) and it is working, it catches the initial link so the problem is coming from the Firebase side. I have checked all things again.

Thanks for providing these updates. Have you already configured Firebase using flutterfire configure CLI tool ? If so, can you update FlutterFire CLI by running dart pub global activate flutterfire_cli which adds the GoogleService-Info.plist to your Runner.
Also, per your findings, please run in release mode on physical device to confirm the behavior.

@darshankawar, I have configured it with flutterfire cli version 0.2.6. It added GoogleSerice-Info.plist to my ios/Runner folder. I have built release ipa and downloaded it to TestFlight and tested with real device. If we are using app links package it is working. I have checked mentioned issues.

@darshankawar I have checked your mentioned solutions.

Thanks for your patience. I am keeping this issue open and labeling for further insights on expected behavior.
/cc @russellwheatley

Hello. I have the exact same issue as @thisisyusub.
My app is correctly capturing the links on Android for both cases, the app is in background or terminated.
But for iOS when the app comes from the terminated state it does not capture the link.
I'm using both the getInitialLink() method and the onLink stream, to capture the Dynamic Links.

@darshankawar btw, I have tested app links and it is working, it catches the initial link so the problem is coming from the Firebase side. I have checked all things again.

Similarly to @thisisyusub the Universal Links work without issues on iOS. And I have also tried the same solutions as @thisisyusub comments in this thread with no success.
I have created a very simple project from scratch to test but with no success either.
As @russellwheatley suggests, I have tested this on real devices, ranging from iPhone XR to iPhone 12 without success.

Important
The example app for this plugin only receives links on Android. Xcode has signing requirements that must be configured with an iOS app developer team id. Check the firebase_dynamic_links/README.md for more details.

I have to say that the Firebase Dynamic Links example is not fully set up for iOS as it is mentioned in its README. So I don't know how @russellwheatley has tested this example on iOS devices.

Hello again. @russellwheatley I have checked your link. When I am debugging , It shows like this, but I have configured my app with ID az.azerconnect.inside. What is the problem here? Why is dynamic link created with com.test.app id?

@thisisyusub this happens to me. I believe this happens if you register an app to your Firebase project and then delete it after.
In my case, I accidentally added the QA version of my app to my Production Firebase Project and since then, the dynamic links debugger always shows the warning that my QA version is missing. Even if I add it and delete it again from the registered apps

@thisisyusub this happens to me. I believe this happens if you register an app to your Firebase project and then delete it after.
In my case, I accidentally added the QA version of my app to my Production Firebase Project and since then, the dynamic links debugger always shows the warning that my QA version is missing. Even if I add it and delete it again from the registered apps

@migalv,  I have not done something like this. I have configured the app this one time.

Hello. @russellwheatley @darshankawar
Thank you so much for maintaining this good Flutterfire SDK.
I am also experiencing an issue where getInitialLink does not work in iOS Terminated state.
I've been troubleshooting man-day for more than 10 days.
I share the conclusion that I have obtained so far.

The example works works very accurately with flutter run -d iPhone

However, the example is difficult to reproduce starting from flutter create.

The example is objc-based. This may not be a big deal, but there is a difference anyway.

What I checked is as below.

App ID / Key Validation in Firebase Console

Validate API permissions in Google Cloud Console

flutterfire configure again and again via flutterfire CLI

info.plist validation

Runner.entitlements Validation

GoogleService-Info.plist Validation

I've tried my best to verify, but the only difference I can find in the end is swift and objc.
What I want to request is below.

Please check if there is a way to reproduce steps for the example.

I already tried but not going well, https://github.com/Holder-inc/firebase-dynamic-links-examples

Please check if there is a way to reproduce the example with swift.

PS.
I haven't tried to solve it yet by introducing app_links or uni_links packages.
The only solution left is to introduce this packages.
Thanks!
Happy New Year!

Interesting findings @KKimj, I wonder if it is because users have configured a Swift iOS app 🤔.
@migalv or @thisisyusub, can either of you create a repo with a reproduction of this issue? I'm happy to configure it using FF credentials so I can test on my local machine.
Out of curiosity; do either of you have a Swift iOS app setup?


TrailingCommaInMultiline - Add match support

closes https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/6370

Coverage decreased (-0.008%) to 93.113% when pulling df5c358c85ea43647b74ae51977e14f90efbfac6 on SpacePossum:master_TrailingCommaInMultiline_add_match into aa805a8a4d8384c71a1367fceb57a081a4d969e4 on FriendsOfPHP:master.

Oh no, what happened?

it will be done by another author :+1:

I believe the PR here is already providing great value, would you mind to re-open, pls?

I believe the PR here is already providing great value, would you mind to re-open @SpacePossum , pls?