Gradient Accumulation feature for Distribution Strategy

System information

TensorFlow version (you are using): 1.12
Are you willing to contribute it (Yes/No): Yes

Describe the feature and the current behavior/state.
Gradient Accumulation(GA) is a workaround to enable big batches on limited memory GPUs which has been supported in Caffe and PyTorch. Instead of back-propagating for every batch feed-forward; gradients across multiple batches are accumulated. After multiple feed forwards, the accumulated gradient is back-propagated through the network layer.  It boosts performance with a couple of percentages on our several workload (e.g., XLNet, Transformer) with Distribution Strategy. Unfortunately, I am not aware of any official documentation to use such feature in Tensorflow. tf.contrib.opt.AGNOptimizer has a similar GA implementation but is not common for general distribution job on DistributionStrategy. Besides it will introduces OOM for large embeddings(#31637).
Will this change the current api? How?
Yes. Just need to add one new parameter iter_size to current strategy API, which  for example:
 # For MirroredStrategy, gradient accumulation is supported using iter_size parameter.
 distribution = tf.distribute.MirroredStrategy(num_gpus=2, iter_size=4)

 # For MultiWorkerMirroredStrategy:
 tf.distribute.experimental.MultiWorkerMirroredStrategy(..., iter_size=4)

Who will benefit with this feature?
Anyone who use distribution strategy and want to enable big batches on limited memory GPUs
Any Other info.
None.
We already have a concise implementation of GA on DistributionStrategy and are willing to contribute. Thanks in advance for any feedback.

Thank Shiqing for proposing this feature.
GA is not a fresh idea, the original idea may originated from 2012 in Microsoft's speech training acceleration paper, and in pyTorch and Caffe there is already alike implementation. Such as in
https://gist.github.com/thomwolf/ac7a7da6b1888c2eeac8ac8b9b05d3d3
and
https://github.com/BVLC/caffe/blob/128797ebe100dd87f375d2d30b0f649914d0fcc3/src/caffe/solver.cpp#L230
https://github.com/BVLC/caffe/wiki/Solver-Prototxt#iter_size
This feature is quite useful since it brings two benefits:
1). Make it capable to train large models.  For example, if the original training could successfully train with batch size 1, then GA can boost the batch size to a much larger one. For lots of DL
model training, it is found that a decent batch size is better for model convergence than smaller batch size. So GA is useful for large model training.
2).Since large batch training techniques has been adopted for lots of scenarios, such as CV, NLP, speech and search&recommendation,  GA is an useful solution to increase computation-to-communication ration which in turn improves distributed scalability.  With GA, we can increase the iter_size to a extent with which the training statistical efficiency is acceptable(with tricks such as linear-learning rate rule or LARS, etc), thus greatly improve distributed training throughput.
We have already implemented GA on top of our internal version of TensorFlow and integrated it into CollectiveAllreduce and Mirrored strateg. Several users benefit from it with just one line of small code change. We think this feature may be useful for people outside of Alibaba so we raise this issue. If TF community like this idea, we can submit the PR very soon.
Thanks

@yuefengz

This is indeed a must have feature for recent sequence models. Could you clarify why you implemented this inside distribution strategies instead of as an optimizer wrapper?

@guillaumekln Actually our GA implementation is an independent functional module which is called conditionally by base optimizer class. We add interface especially for distribution strategies as many of our models run top of it for its convenience and nice scalability.

Interesting. Looking forward to see the code!

A simple wrapper can be made to let any tensorflow 1.0 optimizer support Gradient Accumulation: https://github.com/tensorpack/tensorpack/blob/6a0bba688f2bac1c8baf59eb0c61eb90234a5424/tensorpack/tfutils/optimizer.py#L141-L224
So how is this related to distribution strategies? What types of integration with distribution strategies are you looking for that provide more benefits than simply wrapping the optimizer?

@fanshiqing Thank for your suggestion. I think this is an important and interesting feature, too. However, it would be difficult for us to change the distribution strategy's constructors. Other options may include changing the optimizer, or doing something in your custom train loop.

@yuefengz Sorry for the delayed reply as I was on vocation. Add a new attribute to strategy's constructor is a direct approach. As what we want is just to pass a control-parameter like iter_size in some way, if the distribution strategy's constructors are difficult to change explicitly, what about add iter_size to tf.estimator.RunConfig, so that the original strategies' constructor will keep unchanged.

If you just want to pass a parameter to Optimizer, then you should only change Optimizer. Because:

Distribution strategy and Estimator do not even assume the existence of optimizer. They have their own scope of abstraction that are independent of what you do inside (which typically is an optimizer-based algorithm, but maybe not). Having an argument that's tied to specific types of common tasks is an abstraction leak (though I'm not saying that estimator does not have similar issues now).

If you want to add an option to dist-strategy or RunConfig just to let them pass something to the optimizer, why not pass them to the optimizer directly? What benefits do you get by taking a longer path to achieve the same thing? In fact I only saw a disadvantage, which is:

By adding such options to dist-strategy or RunConfig instead of to the optimizers directly, users who do now use dist-strategy or RunConfig (but still use optimizers) will not have access to this feature.

@ppwwyyxx Thx for your nice advice. Actually at our scenario we only want to add GA for distribution strategy from the very begging. While it could be another story if we want to add this to community. It seems that pass control parameter to Optimizer directly is more reasonable.
I will open a PR soon for more specific discussion.

Is there a practical way to do this in tf.keras 2.x?
From a user perspective, having a parameter (e.g. in .fit) like gradient_accumulate_batch_frequency=1 that updates gradients every N batches would be perfect. (1 as default to update every batch, as it is at the moment)

+1, how can we achieve gradient accumulation in tf.keras (with fit() method) ?

@ymodak @yuefengz Is there a timeline to add this gradient accumulation to tf.keras optimizers? Or will there be a guideline on how to do it in the custom training loop? My current approach is to create an accumulated gradients variable and have train step in each replica to add to this variable, but I also need a separate strategy.run to apply the gradients because that variable is under replica context.

@tomerk What do you want to do with the TF core at https://github.com/tensorflow/tensorflow/issues/32176

Hi There,
We are checking to see if you still need help on this, as you are using an older version of tensorflow which is officially considered end of life . We recommend that you upgrade to the latest 2.x version and let us know if the issue still persists in newer versions. Please open a new issue for any help you need against 2.x, and we will get you the right help.
This issue will be closed automatically 7 days from now. If you still need help with this issue, please provide us with more information.

Check https://github.com/tensorflow/addons/pull/2525


Implement Camera2 support as a MediaSource

This PR introduces two new MediaSources:

ExternalMediaSource: This provides the owner direct access to the Surface that will be used as the input into any configured filters, followed by the encoder. The reason for this is to allow non-file based sources of video.
Camera2MediaSource: This utilises the ExternalMediaSource and uses Android's Camera2 APIs to render from the camera to the input Surface. This is being combined with the previously landed AudioRecordMediaSource that is adding the audio stream. This demonstrates a Camera to File example.

Also, one thing to note is that the ExternalMediaSource does not support cropping. It expects the source aspect ratio to match that of the file/target aspect ratio. We could either keep this as a hard constraint, or we could introduce a CroppingFilter to handle this case.

@izzytwosheds - That's me pushed a change to move the MimeType. If you're happy with the current PR, maybe we could land and look at any tweaks in some follow up PRs?


Summary - Event Handlers

Link

https://netflix.github.io/conductor/events/

Introduction

Eventing in Conductor provides for loose coupling between workflows and support for producing and consuming events from external systems.
This includes:

Being able to produce an event (message) in an external system like SQS or internal to Conductor.

Event Task

Event Handler

Extending

Check It

RabbitMQ ?


Azure Monitor managed service for Prometheus

Could we get an option for turning on Managed Prometheus after the AKS cluster is created?
Are there any plans to add support for this soon?

Yes, definitely.  We're seeing demand for the feature.


Error with Fetch returning 204 No Content response

Hi!
Testing with fetch example
Just change for example: (reqres.in)
r, err := fetch.NewRequest(req.Context(), http.MethodDelete, "https://reqres.in/api/users/1", nil)

Get an error
panic: syscall/js: call of Value.Call on null
X [ERROR] A hanging Promise was canceled. This happens when the worker runtime is waiting for a Promise from JavaScript to resolve, but has detected that the Promise cannot possibly ever resolve because all code and events related to the Promise's I/O context have already finished.

[wrangler:inf] GET / 500 Internal Server Error (252ms)
X [ERROR] Uncaught (in response) Error: The script will never generate a response.

Also checked with the GitHub API

I'll try to fix this, thanks!

@Izdatyi This issue was probably fixed in #124, so I've released it as v0.26.3.
Please try this later.

Works as expected.
Thank you for the quick fix!


refactor: deleted unnecessary files

Motivation
deleted unnecessary files
Issues closed
#1

actually.. what happened here?! pull2? everythings empty? new repo?


[WS] Three types of account

Implement three types of account: Administrator, Manager, Customer

completed from previous issues


[Postgres] Support multiple hosts

Blocked by #174

It is possible to specify multiple hosts to connect to, so that they are tried in the given order.

postgresql://host1:123,host2:456/somedb

Hello, how could I help to make this happen? Also, if one of the hosts goes down in the middle of the runtime, would the connection pool automatically try the second one until the first becomes available again?

Hi any update on this? I tried also the syntax in https://www.postgresql.org/docs/current/libpq-connect.html but that results in a ParseIntError { kind: InvalidDigit })


I cant run .sh file

Hello i have done the things as it is which are said by you but i cant able to run the .sh files,please give your mail id or whatsapp or telegram so that i can contact you.

Sometimes you need to change permissions on .sh files.
In terminal execute: chmod 755 *.sh

ok could you please give me your mail address

please see the image,i am getting like this

if you have windows only write in git bash with dot: ./run.sh

ok

getting error like this

what i should give here ??

could you please give me your mail address

getting like this

please give your mail or telegram please

only DC: https://discord.gg/uyEuzF96


gRPC ingress routing

Hey,
can you provide me an example of Istio ingress.yaml for grpc routing with Kubernetes ? I have tried but unable to make it work with Istio.
Thanks in advance.

@noisyox this is on the backburner, but I do want to get to it eventually.

@thesandlord I have finally made it work after numerous attempts. I hope it will help others as there is no complete solution provided in doc or else where.
Also, Istio101 has provided me a head start in configuring istio. Thanks a ton.
apiVersion: v1
kind: Service
metadata:
  name: frontend
  labels:
    app: frontend
spec:
  ports:
  - port: 50051
    targetPort: 50051
    name: grpc-port
  selector:
    app: frontend

---

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: frontend-grpc
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: frontend
        version: prod
    spec:
      containers:
      - name: frontend
        image: image
        imagePullPolicy: Always
        ports:
        - containerPort: 50051
          name: grpc-port
        env:
        - name: SERVICE_NAME
          value: "frontend-prod"
        - name: UPSTREAM_URI
          value: "https://jsonplaceholder.typicode.com/todos/1"
---

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: jsonplaceholder
spec:
  hosts:
  - jsonplaceholder.typicode.com
  ports:
  - number: 80
    name: http
    protocol: HTTP
  - number: 443
    name: https
    protocol: HTTPS

---

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: istio-gateway
spec:
  selector:
    istio: ingressgateway # use Istio default gateway implementation
  servers:
  - port:
      number: 9090
      name: http
      protocol: HTTP
    hosts:
    - "*"

---

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: frontend
spec:
  gateways:
  - istio-gateway
  hosts:
  - "*"
  http:
  - match:
    - uri:
        prefix: /
    route:
    - destination:
        port:
          number: 50051
        host: frontend


[$500] Threads - Pinned thread is unpinned when leaving the thread

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v1.4.15-5
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause-Internal Team
Slack conversation: @
Action Performed:

Go to any thread and join it if not joined yet.
Pin the thread.
Click three-dot menu > Leave.

Expected Result:
The pinned thread will remain pinned when leaving the thread.
Actual Result:
The pinned thread is unpinned when leaving the thread.
Since opening the thread itself does not qualify as "joining the thread", the pinned thread should remain pinned after leaving the thread as it will not affect the join status of the thread.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/3d8b899f-dee0-4b89-9984-ffed1c787c23

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~018bad758ad443c76b
Upwork Job ID:<PHONE_NUMBER>842296320
Last Price Increase: 2023-12-22

This is BE, we have no control over this on the FE side

Proposal
Please re-state the problem that we are trying to solve in this issue.
[$500] Threads - Pinned thread is unpinned when leaving the thread
What is the root cause of that problem?
We  reset all object after leaving rom.
What changes do you think we should make in order to solve the problem?
We should save keys that don't want to be reset. in this case isPinned
What alternative solutions did you explore? (Optional)

I don't think this is a bug. It makes sense to me that if you leave a thread it would no longer be pinned. @izarutskaya did these test steps come from a regression test? If so, let's update it.


Update variational resources, fix bugs in 3dvar_O30kmIE60km_ColdStart

Description
There have been many improvements in mpas-jedi recently that have reduced wall-time and memory usage. This PR adjusts memory and wall times for variational, with special attention on 30km.60km settings.
Also fix some bugs in the 3dvar_O30kmIE60km_ColdStart scenario so that forecasts are successful and it is comparable to other 30km.60km scenarios.
The job resource settings for eda_OIE60km_WarmStart are now identical to the defaults.  So the special settings in the scenario YAML are removed.
Issue closed
Closes #137
Tests completed

[ ] 3dvar_OIE120km_WarmStart
[ ] 3denvar_OIE120km_WarmStart
[ ] 3dvar_OIE120km_ColdStart
[ ] 3dvar_O30kmIE60km_ColdStart
[ ] 3denvar_O30kmIE60km_WarmStart
[ ] eda_OIE120km_WarmStart

I just realized I am using double precision code, so I need a little larger than your setting for memory. Now I can run my all-sky case successfully. Thanks @jjguerrette .

@junmeiban, if you feel it makes more sense to have different default nodes and PEPerNode settings, please let me know. What values are you using for your all-sky case(s)?

This PR is good to go. No need to add more settings. Once I can use single precision build, the memory can be reduced.
Here is my setting:
3dhybrid:
# double-precision bundle build
nodes: 6
PEPerNode: 32
memory: 70


Update GIR to the latest version and regenerate everything

See https://github.com/gtk-rs/gir/issues/480

@sdroege Thanks
@GuillaumeGomez  👍  for this

@sdroege Can you do gdk next? This way building can be checked by us locally.

I suppose the failure is normal?

Yeah, updating gdk. It's getting on my nerves that all these crates are in separate repositories instead of being in the same workspace.

Sorry, no time for finishing this now. Will have to check again tomorrow or maybe later if nobody else wants to take this before.

Yeah, updating gdk. It's getting on my nerves that all these crates are in separate repositories instead of being in the same workspace.

It was a heavy decision and I still don't regret it. It was getting way too difficult to handle.

Ok actually got to finish this. Not all the events had 1000 alternatives.

Thanks!


Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!

Hello
When I use AIT and ComfyUi (both on the latest branch), it gives me this error.
I start ComfyUi with this command: python3 main.py --listen --port 21128 --gpu-only and I'm on Ubuntu 22.04.
Please help! :)
Error occurred when executing KSampler:

Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu! (when checking argument for argument mat1 in method wrapper_CUDA_addmm)

File "/home/cybertimon/Repositories/ComfyUI/execution.py", line 152, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/home/cybertimon/Repositories/ComfyUI/execution.py", line 82, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/home/cybertimon/Repositories/ComfyUI/execution.py", line 75, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/home/cybertimon/Repositories/ComfyUI/nodes.py", line 1236, in sample
return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise)
File "/home/cybertimon/Repositories/ComfyUI/custom_nodes/AIT/AITemplate/AITemplate.py", line 176, in common_ksampler
samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image,
File "/home/cybertimon/Repositories/ComfyUI/custom_nodes/AIT/AITemplate/AITemplate.py", line 310, in sample
samples = sampler.sample(noise, positive_copy, negative_copy, cfg=cfg, latent_image=latent_image, start_step=start_step, last_step=last_step, force_full_denoise=force_full_denoise, denoise_mask=noise_mask, sigmas=sigmas, callback=callback, disable_pbar=disable_pbar, seed=seed)
File "/home/cybertimon/Repositories/ComfyUI/comfy/samplers.py", line 785, in sample
return sample(self.model, noise, positive, negative, cfg, self.device, sampler(), sigmas, self.model_options, latent_image=latent_image, denoise_mask=denoise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed)
File "/home/cybertimon/Repositories/ComfyUI/comfy/samplers.py", line 690, in sample
samples = sampler.sample(model_wrap, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)
File "/home/cybertimon/Repositories/ComfyUI/comfy/samplers.py", line 630, in sample
samples = getattr(k_diffusion_sampling, "sample_{}".format(sampler_name))(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **extra_options)
File "/home/cybertimon/.local/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/home/cybertimon/Repositories/ComfyUI/comfy/k_diffusion/sampling.py", line 137, in sample_euler
denoised = model(x, sigma_hat * s_in, **extra_args)
File "/home/cybertimon/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/home/cybertimon/Repositories/ComfyUI/comfy/samplers.py", line 323, in forward
out = self.inner_model(x, sigma, cond=cond, uncond=uncond, cond_scale=cond_scale, cond_concat=cond_concat, model_options=model_options, seed=seed)
File "/home/cybertimon/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/home/cybertimon/Repositories/ComfyUI/comfy/k_diffusion/external.py", line 125, in forward
eps = self.get_eps(input * c_in, self.sigma_to_t(sigma), **kwargs)
File "/home/cybertimon/Repositories/ComfyUI/comfy/k_diffusion/external.py", line 151, in get_eps
return self.inner_model.apply_model(*args, **kwargs)
File "/home/cybertimon/Repositories/ComfyUI/comfy/samplers.py", line 311, in apply_model
out = sampling_function(self.inner_model.apply_model, x, timestep, uncond, cond, cond_scale, cond_concat, model_options=model_options, seed=seed)
File "/home/cybertimon/Repositories/ComfyUI/comfy/samplers.py", line 289, in sampling_function
cond, uncond = calc_cond_uncond_batch(model_function, cond, uncond, x, timestep, max_total_area, cond_concat, model_options)
File "/home/cybertimon/Repositories/ComfyUI/comfy/samplers.py", line 265, in calc_cond_uncond_batch
output = model_function(input_x, timestep_, **c).chunk(batch_chunks)
File "/home/cybertimon/Repositories/ComfyUI/comfy/model_base.py", line 63, in apply_model
return self.diffusion_model(xc, t, context=context, y=c_adm, control=control, transformer_options=transformer_options).float()
File "/home/cybertimon/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/home/cybertimon/Repositories/ComfyUI/comfy/ldm/modules/diffusionmodules/openaimodel.py", line 622, in forward
emb = emb + self.label_emb(y)
File "/home/cybertimon/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/home/cybertimon/.local/lib/python3.10/site-packages/torch/nn/modules/container.py", line 217, in forward
input = module(input)
File "/home/cybertimon/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/home/cybertimon/.local/lib/python3.10/site-packages/torch/nn/modules/container.py", line 217, in forward
input = module(input)
File "/home/cybertimon/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/home/cybertimon/Repositories/ComfyUI/comfy/ops.py", line 18, in forward
return torch.nn.functional.linear(input, self.weight, self.bias)

If you want, you can try my branch: https://github.com/asagi4/AIT/tree/hacks
The fixes in it aren't ready for publication, but it restores compatibility with at least my installation of ComfyUI. It's very WIP though.
I have some local patches in comfyUI too that deal with tensor type issues, so that version of AIT might not be enough.

My local cond hacks in ComfyUI:
From 11945a92a422182a14ae68aca02f5fd9c1523e16 Mon Sep 17 00:00:00 2001
From: asagi4<EMAIL_ADDRESS>Date: Sat, 30 Sep 2023 21:52:55 +0300
Subject: [PATCH] Fix cond device weirdness

---
 comfy/model_base.py |  7 ++++---
 comfy/samplers.py   | 10 +++++-----
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/comfy/model_base.py b/comfy/model_base.py
index ed2dc83..1b29963 100644
--- a/comfy/model_base.py
+++ b/comfy/model_base.py
@@ -55,11 +55,12 @@ class BaseModel(torch.nn.Module):
             xc = x
         context = c_crossattn
         dtype = self.get_dtype()
-        xc = xc.to(dtype)
         t = t.to(dtype)
-        context = context.to(dtype)
+        xc = xc.to(t)
+        context = context.to(t)
         if c_adm is not None:
-            c_adm = c_adm.to(dtype)
+            c_adm = c_adm.to(t)
+        print("dev", dtype, xc.device, t.device, context.device, c_adm, control)
         return self.diffusion_model(xc, t, context=context, y=c_adm, control=control, transformer_options=transformer_options).float()

     def get_dtype(self):
diff --git a/comfy/samplers.py b/comfy/samplers.py
index 3936ff9..9bb0b51 100644
--- a/comfy/samplers.py
+++ b/comfy/samplers.py
@@ -67,7 +67,7 @@ def sampling_function(model_function, x, timestep, uncond, cond, cond_scale, con
                         mult[:,:,:,area[1] - 1 - t:area[1] - t] *= ((1.0/rr) * (t + 1))

             conditionning = {}
-            conditionning['c_crossattn'] = cond[0]
+            conditionning['c_crossattn'] = cond[0].to(x_in)
             if cond_concat_in is not None and len(cond_concat_in) > 0:
                 cropped = []
                 for x in cond_concat_in:
@@ -261,11 +261,11 @@ def sampling_function(model_function, x, timestep, uncond, cond, cond_scale, con

                 for o in range(batch_chunks):
                     if cond_or_uncond[o] == COND:
-                        out_cond[:,:,area[o][2]:area[o][0] + area[o][2],area[o][3]:area[o][1] + area[o][3]] += output[o] * mult[o]
-                        out_count[:,:,area[o][2]:area[o][0] + area[o][2],area[o][3]:area[o][1] + area[o][3]] += mult[o]
+                        out_cond[:,:,area[o][2]:area[o][0] + area[o][2],area[o][3]:area[o][1] + area[o][3]] += output[o].to(out_cond) * mult[o].to(out_cond)
+                        out_count[:,:,area[o][2]:area[o][0] + area[o][2],area[o][3]:area[o][1] + area[o][3]] += mult[o].to(out_cond)
                     else:
-                        out_uncond[:,:,area[o][2]:area[o][0] + area[o][2],area[o][3]:area[o][1] + area[o][3]] += output[o] * mult[o]
-                        out_uncond_count[:,:,area[o][2]:area[o][0] + area[o][2],area[o][3]:area[o][1] + area[o][3]] += mult[o]
+                        out_uncond[:,:,area[o][2]:area[o][0] + area[o][2],area[o][3]:area[o][1] + area[o][3]] += output[o].to(out_uncond) * mult[o].to(out_uncond)
+                        out_uncond_count[:,:,area[o][2]:area[o][0] + area[o][2],area[o][3]:area[o][1] + area[o][3]] += mult[o].to(out_uncond)
                 del mult

             out_cond /= out_count
--
2.39.3

It's just brute-forcing the tensors to the correct device though; the correct fix is to find the origin on the wrong tensor type.

Thank you very much. Will try it tomorrow!

@asagi4 Thank you very much for your fix. Everything works including controlnet!! :)

@asagi4 I caught this kind of late. Thanks for putting this together. You can open the PR early if you like for some more visibility and if you need any help with anything or roll back some recent changes so the merge is more graceful let me know.

@FizzleDorf I'll make a PR once I have time to put some thought into it. There's probably more refactoring and cleanup that can be done with the recent updates to ComfyUI, and I'd rather not leave too much useless code lying around.

Looking at https://github.com/gameltb/AIT/ it seems it should be possible to refactor AIT to get rid of the sampler override and a large bunch of the other code in the repository and simplify things greatly, but that fork seems to completely remove downloading precompiled modules.
Rebasing AIT on top of that work and adding in the module downloading is what I'd like to see happen; it seems like it would remove a lot of confusing code that's really difficult to keep compatible with base ComfyUI.

I don't know if I'll have the motivation to do that though; Refactoring Python code is painful.

Yeah it would be cool if you would do that - if you have time and motivation of course. It's quite sad to see how little attention AiT gets.


[Bug Report]: Custom Items 'No Translation Found Label'

The Long Dark Version
v2.24
Mod Version
v1.1.2
Other Mods Installed

CraftingRevisions v2.2.2
DeveloperConsole v1.5.1
DisableBreathEffect v1.4
GearSpawner v2.3.2
LocalizationUtilities v2.0.0
ModComponent v6.2.1
ModSettings v2.0.0
SkipIntroRedux v3.1.1
UnityExplorer v4.9.4
Universal Tweaks v1.1.0-DeveloperBuild

Describe the Issue
When picking up a custom item within the Inspect Menu, where the rarity is supposed to be No Translation Found comes up. I assume this is because the item doesn't have an assigned rarity at all, so no matter the language this will come up regardless.
Steps to Reproduce

Add any custom .modcomponent items.
Pick it up.
In the inspect menu, the No Translation Found label should be there.

Log Output
Latest.log
Screenshots

This issue was revolved in the latest update v1.1.3.


[vault-secrets-webhook] K8s Secret Inline Mutation annotation sometimes is not respected by the webhook

Describe the bug:
Vault Secrets webhook is sometimes not respecting k8s annotation for vault-env
annotation provided for the Secret object to have inline mutated:
http://vault.vault.svc.cluster.local:8200
Error thrown:
time="2023-05-31T18:22:28Z" level=error msg="failed to request new Vault token" app=vault-secrets-webhook err="Put \"https://vault:8200/v1/auth/kubernetes/login\": http: server gave HTTP response to HTTPS client"
time="2023-05-31T18:22:33Z" level=error msg="failed to request new Vault token" app=vault-secrets-webhook err="Put \"https://vault:8200/v1/auth/kubernetes/login\": http: server gave HTTP response to HTTPS client"
time="2023-05-31T18:22:33Z" level=error msg="Admission review request failed" app=vault-secrets-webhook dry-run=false error="failed to create vault client: timeout [10s] during waiting for Vault token" kind=v1/Secret name=keycloak-postgresql ns=iam op=update path=/secrets request-id=06d88778-eaa5-4731-aeb9-879a30b8abc6 webhook-id=vault-secrets-secret webhook-kind=mutating wh-version=v1beta1
ti

Expected behaviour:
Inline mutation should put the value of the Secret in the k8s Secret Object
Steps to reproduce the bug:
Continuously trigger the keycloak configurator job or any kind of secret creation via helm chart webhook then randomly would not respect the annotations vault-addr and default to the original https://vault:8200
Additional Information:
Vault is running with tls_disabled: true
Vault server is responding with HTTP
We are exposing vault via Ambassador external DNS
Environment details:

Kubernetes version: v1.23.17-eks-a59e1f0
Cloud-provider/provisioner: EKS
bank-vaults version (e.g. 0.4.17): Official Hashicorp Vault v1.13.0, vault-secrets-webhook - v1.19.0
Install method (e.g. helm or static manifests): Helm
Logs from the misbehaving component (and any other relevant logs): Relevant block is in the first lines
Resource definition (possibly in YAML format) that caused the issue, without sensitive data:
Can be provided if necessary, for the time being, do not have clearance to do so

/kind bug

Additional note:
Hashicopr Vault official helm chart deploys a couple of Vault services.
Service 1: vault with port open on 8200 and nodePort/LB ready to bind to it
Service 2: vault-internal bound to port 8200 no external port, usually this service from Hashicorp Vault documentation is used when Vault is being configured to run in HA mode.
Individual check on the Ambassador debug admin console, indicates an error when annotation is added to Service 1 that it can be routed to Service 2, disabling Service 2 is optional, but HA mode will not work if it is disabled.
Tested out with removing Service 2 did not cause the problem to be resolved, which eliminates the possibility of being a wrong service routing on the Kubernetes/Ambassador part.


[BugFix] fix iceberg partition prune with duplicated partition

Fixes #issue
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

[FE Incremental Coverage Report]
:disappointed: fail : 3 / 4 (75.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/connector/iceberg/IcebergMetadata.java
3
4
75.00%
[320]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)


feat: verification for Polkadot address

Thank you for your contribution to the Koda - Generative Art Marketplace.
👇 __ Let's make a quick check before the contribution.
PR Type

[x] Bugfix
[x] Feature

Needs QA check

@kodadot/qa-guild please review

Context

[x] Related to https://github.com/kodadot/private-workers/issues/180
[x] Requires deployment https://github.com/kodadot/private-workers/pull/182
[x] Closes https://github.com/kodadot/nft-gallery/issues/10471

[ Currently, only support Polkadot address ]
Add verified process before the below action: create profile / edit profile / follow / unfollow
It would ask for signing a message on the wallet extension before action. The verified message would be saved on localstorage forever unless you disconnect wallet / switch account.
Did your issue had any of the "$" label on it?

[x] My DOT address: Payout

Screenshot 📸

[ ] My fix has changed something on UI; a screenshot is best to understand changes for others.

nice, thank you!

cc @Jarsen136

@Jarsen136 missing image / video

video added

Updated: disable profile / follow on base network

This is imo a misleading


0.2.10

@bonustrack already pushed a tag with 0.2.10 https://github.com/snapshot-labs/snapshot.js/tree/v0.2.10 and can't raise a PR with tag branch 🥲 so we use this temp branch until PR is merged


Yarp As Reverse Proxy Not Correctly Serving JS Files For Blazor App

I am trying to run Yarp as a standalone reverse proxy at address: http://localhost:5109 with the intention of fronting two applications, a Blazor app and a Web API behind path based routing.  The blazor app runs at a custom base path /blazor hosted on its own port under  kestrel 5165.
I am trying to route requests to http://localhost:5109/ui/blazortest to http://localhost:5165/blazor.  When running Chrome debug tools, I can see that page is partially loaded but its trying to treat the blazor.web.js file as html (see attached screenshot). The Content-Type is incorrect which is why I believe the site fails to load.

If I connect to the UI directly at http://localhost:5165/blazor I can see the site is served correctly.
I am currently running both yarp and the bazor app in .Net 9.0.0-rc.1.24452.1 but .Net 8 has the same behaviour.
Github repos can be found here:-
Yarp - https://github.com/roblangston/YarpTest
Bazor App - https://github.com/roblangston/BlazorTest
Yarp configuration below:-
"ReverseProxy": {   "Routes": {     "static-route": {       "ClusterId": "contact-cluster",       "Match": {         "Path": "/ui/blazortest/{**catch-all}"       },       "Transforms": [         {           "PathPattern": "/blazor/{**catchall}"         }       ]     },     "static-route2": {       "ClusterId": "contact-cluster",       "Match": {         "Path": "/blazor/{**catch-all}"       },       "Transforms": [         {           "PathPattern": "/blazor/{**catchall}"         }       ]     }   },   "Clusters": {     "contact-cluster": {       "Destinations": {         "destination1": {           "Address": "http://localhost:5165"         }       }     }   } }

You have a typo in your transform configuration.
You're capturing {**catch-all}, but modifying the path to {**catchall} (missing dash).
If you look at the logs, you should see that all requests are being proxies to just http://localhost:5165/blazor.

Closing as this is not actionable by us at the momemnt. Feel free to reopen if/when you have more info/questions.


Histogram functions  are not found.

 let image = vips.Image.newFromBuffer(arrayBuff);
      image = image.hist_norm()

image.hist_norm() results in error is not a function.

Never mind.  My mistake I needed to use javascript function image.histNorm()


io_uring_prep_setsockopt

Hello,
It would be useful to be able to call setsockopt asynchronously because TCP_QUICKACK has to be set repeatedly during the life of a connection (what the heck!)

This brings up a deeper question - I've been wondering, would it be worth while (or even possible) to have a "permanent quickack" setting in the kernel?
the need to set quickack constantly in situations where it is configured seems so heavy handed

It would not be hard to add getsockopt/setsockopt support now, since we have the fops->uring_cmd() passthrough available. It's just used for nvme passthrough right now, but plumbing it up for sockets would be trivial. There are a few basic examples at the top of this branch:
https://git.kernel.dk/cgit/linux-block/log/?h=io_uring-fops.v7
I'll take a look at this when I get back from break.

This brings up a deeper question - I've been wondering, would it be worth while (or even possible) to have a "permanent quickack" setting in the kernel?

Yes, absolutely. If we had that, it would still be useful to be able to do all our connection setup via io_uring though.

This brings up a deeper question - I've been wondering, would it be worth while (or even possible) to have a "permanent quickack" setting in the kernel?

Yes, absolutely. If we had that, it would still be useful to be able to do all our connection setup via io_uring though.

Another usecase for io_uring_prep_setsockopt is IP[V6]_PKTINFO option allows setting interface and address through which messages will be sent. This option is extremely useful for high performance udp servers that listen on wildcard address(dns server is example).

Been available for a while.


Ratin on new review defaults to 0

Suspect the jQuery to select radio dial for review edit is interfering

I may have accidentally removed a class or id, when doing the styling, that grabs that value.


Can we optimize releases for PSS (less releases)

replaced with https://github.com/giantswarm/roadmap/issues/2716


Problem with synchonization with QField

Hello,
I have issue with synchronization with project. When I try sync project on android side it show.
"Downloading error. Packining job finished unsuccessfully:..."
On QFieldCloud side I see this error
db-1                           | 2024-02-02 07:55:57.304 EET [32] LOG:  statement: BEGIN
db-1                           | 2024-02-02 07:55:57.304 EET [32] LOG:  statement: UPDATE "core_job" SET "docker_finished_at" = '2024-02-02T05:55:57.302785+00:00'::timestamptz WHERE "core_job"."id" = '07f0ef2b-629a-4925-aad6-e96482546c6a'::uuid
db-1                           | 2024-02-02 07:55:57.306 EET [32] LOG:  statement: COMMIT
competent_chatelet exited with code 0
worker_wrapper-1               | {"request_id":"none","ts":"2024-02-02T05:55:57.355471","level":"INFO","name":"worker_wrapper.wrapper","message":"Finished execution with code 0, logs:\n::<<<::9f243971-866a-4270-a0ff-0c6c01fa3f04 Start QGIS Application\n05:55:55.294 root      INFO     Starting QGIS app version 33402 (exported)...\n05:55:56.288 root      INFO     QGIS app started!\n::>>>::9f243971-866a-4270-a0ff-0c6c01fa3f04 2\n::<<<::0241a189-acad-4411-baa3-94a36b464d0b Download Project Directory\n05:55:56.288 root      INFO     Preparing a temporary directory for project files\u2026\n05:55:56.621 root      INFO     Downloading project files\u2026\n05:55:56.786 /usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py INFO     GET http://app:8000/api/v1/files/bcd9dbdf-0307-4a0e-9992-b4109e96fb85/BASTesamosirplanuojamos.gpkg/ got HTTP 500\n::>>>::0241a189-acad-4411-baa3-94a36b464d0b 1\n05:55:56.791 QGSSTDERR WARNING  QFSFileEngine::open: No file name specified\n05:55:56.792 root      INFO     Stopping QGIS app\u2026\n","filename":"wrapper.py","lineno":375,"thread":140389151479616,"source":"worker_wrapper"}
db-1                           | 2024-02-02 07:55:57.358 EET [32] LOG:  statement: BEGIN
db-1                           | 2024-02-02 07:55:57.358 EET [32] LOG:  statement: UPDATE "core_job" SET "output" = '::<<<::9f243971-866a-4270-a0ff-0c6c01fa3f04 Start QGIS Application
db-1                           |        05:55:55.294 root      INFO     Starting QGIS app version 33402 (exported)...
db-1                           |        05:55:56.288 root      INFO     QGIS app started!
db-1                           |        ::>>>::9f243971-866a-4270-a0ff-0c6c01fa3f04 2
db-1                           |        ::<<<::0241a189-acad-4411-baa3-94a36b464d0b Download Project Directory
db-1                           |        05:55:56.288 root      INFO     Preparing a temporary directory for project files…
db-1                           |        05:55:56.621 root      INFO     Downloading project files…
db-1                           |        05:55:56.786 /usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py INFO     GET http://app:8000/api/v1/files/bcd9dbdf-0307-4a0e-9992-b4109e96fb85/BASTesamosirplanuojamos.gpkg/ got HTTP 500
db-1                           |        ::>>>::0241a189-acad-4411-baa3-94a36b464d0b 1
db-1                           |        05:55:56.791 QGSSTDERR WARNING  QFSFileEngine::open: No file name specified
db-1                           |        05:55:56.792 root      INFO     Stopping QGIS app…
db-1                           |        ', "feedback" = '{"error": "Requested \"http://app:8000/api/v1/files/bcd9dbdf-0307-4a0e-9992-b4109e96fb85/BASTesamosirplanuojamos.gpkg/\" and got \"500 Internal Server Error\":\n{\n  \"code\": \"unknown_error\",\n  \"message\": \"QFieldcloud Unknown Error\"\n}", "error_class": "QfcRequestException", "error_stack": ["  File \"/usr/src/app/qfc_worker/utils.py\", line 556, in run_workflow\n    return_values = step.method(**arguments)\n", "  File \"/usr/src/app/qfc_worker/utils.py\", line 232, in download_project\n    client.download_files(\n", "  File \"/usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py\", line 565, in download_files\n    raise err\n", "  File \"/usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py\", line 545, in download_files\n    self.download_file(\n", "  File \"/usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py\", line 616, in download_file\n    resp = self._request(\"GET\", url, stream=True)\n", "  File \"/usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py\", line 811, in _request\n    raise QfcRequestException(response) from err\n"], "error_type": "API_INTERNAL_SERVER_ERROR", "feedback_version": "2.0", "outputs": {"start_qgis_app": {}}, "steps": [{"id": "start_qgis_app", "name": "Start QGIS Application", "returns": {}, "stage": 2}, {"id": "download_project_directory", "name": "Download Project Directory", "returns": {}, "stage": 1}, {"id": "qgis_layers_data", "name": "QGIS Layers Data", "returns": {}, "stage": 0}, {"id": "package_project", "name": "Package Project", "returns": {}, "stage": 0}, {"id": "qfield_layer_data", "name": "Packaged Layers Data", "returns": {}, "stage": 0}, {"id": "stop_qgis_app", "name": "Stop QGIS Application", "returns": {}, "stage": 0}, {"id": "upload_packaged_project", "name": "Upload Packaged Project", "returns": {}, "stage": 0}], "workflow_id": "package_project", "workflow_name": "Package Project", "workflow_version": "2.0", "error_origin": "container", "container_exit_code": 0}' WHERE "core_job"."id" = '07f0ef2b-629a-4925-aad6-e96482546c6a'::uuid

d

Do you have your own on-premise installation, or you see this on app.qfield.cloud? If on app.qfield.cloud, can you point me to your project?

Check the logs of the app container, it returns error 500 when you trigger your job.

When trigger job any 500 error not appear on app section. Forgot to mention when select online layer issue it become that you can't upload new changes on Qfieldcloud.

Please provide a step by step way to reproduce your error and a sample project.
I am still sure you experience an error 500 on your app container, it is in the logs your have pasted in the first message:
> db-1                           |        ', "feedback" = '{"error": "Requested \"http://app:8000/api/v1/files/bcd9dbdf-0307-4a0e-9992-b4109e96fb85/BASTesamosirplanuojamos.gpkg/\" and got \"500 Internal Server Error\":\n{\n  \"code\": \"unknown_error\",\n  \"message\": \"QFieldcloud Unknown Error\"\n}", "error_class": "QfcRequestException", "error_stack": ["  File \"/usr/src/app/qfc_worker/utils.py\", line 556, in run_workflow\n    return_values = step.method(**arguments)\n", "  File \"/usr/src/app/qfc_worker/utils.py\", line 232, in download_project\n    client.download_files(\n", "  File \"/usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py\", line 565, in download_files\n    raise err\n", "  File \"/usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py\", line 545, in download_files\n    self.download_file(\n", "  File \"/usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py\", line 616, in download_file\n    resp = self._request(\"GET\", url, stream=True)\n", "  File \"/usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py\", line 811, in _request\n    raise QfcRequestException(response) from err\n"], "error_type": "API_INTERNAL_SERVER_ERROR", "feedback_version": "2.0", "outputs": {"start_qgis_app": {}}, "steps": [{"id": "start_qgis_app", "name": "Start QGIS Application", "returns": {}, "stage": 2}, {"id": "download_project_directory", "name": "Download Project Directory", "returns": {}, "stage": 1}, {"id": "qgis_layers_data", "name": "QGIS Layers Data", "returns": {}, "stage": 0}, {"id": "package_project", "name": "Package Project", "returns": {}, "stage": 0}, {"id": "qfield_layer_data", "name": "Packaged Layers Data", "returns": {}, "stage": 0}, {"id": "stop_qgis_app", "name": "Stop QGIS Application", "returns": {}, "stage": 0}, {"id": "upload_packaged_project", "name": "Upload Packaged Project", "returns": {}, "stage": 0}], "workflow_id": "package_project", "workflow_name": "Package Project", "workflow_version": "2.0", "error_origin": "container", "container_exit_code": 0}' WHERE "core_job"."id" = '07f0ef2b-629a-4925-aad6-e96482546c6a'::uuid

It seems there is a problem with the 0.20.40 and 0.20.41 releases. I created a self-hosted setup using DEBUG=0 and ENVIRONMENT=production, using this yml file
However, each time I push a project via QfieldSync, it fails. Here is an example:
`Container id:
9c01c65d7ca0e1f2229ff8a3a37c49c74f2fa1e0bdc9eae5ec4b81b355226306
Project:
test (c8945976-42c3-4a1a-b153-7bfdc0cdf10e) owner: admin
Status:
Failed
Error type:
API_INTERNAL_SERVER_ERROR
Type:
Process QGIS Project File
Created at:
Feb. 8, 2024, 11:22 a.m.
Updated at:
Feb. 8, 2024, 11:22 a.m.
Started at:
Feb. 8, 2024, 11:22 a.m.
Finished at:
Docker started at:
Feb. 8, 2024, 11:22 a.m.
Docker finished at:
Feb. 8, 2024, 11:22 a.m.
Output pre:
::<<<::c67a8df3-9fc0-4f09-a301-728de6d60e72 Start QGIS Application
10:22:21.328 root      INFO     Starting QGIS app version 33402 (exported)...
10:22:22.796 root      INFO     QGIS app started!
::>>>::c67a8df3-9fc0-4f09-a301-728de6d60e72 2
::<<<::c1738075-d2b2-4233-b9ad-e5ec514df78f Download Project Directory
10:22:22.811 root      INFO     Preparing a temporary directory for project files…
10:22:23.088 root      INFO     Downloading project files…
10:22:23.235 /usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py INFO     GET http://app:8000/api/v1/files/c8945976-42c3-4a1a-b153-7bfdc0cdf10e/test.qgz/ got HTTP 500
::>>>::c1738075-d2b2-4233-b9ad-e5ec514df78f 1
10:22:23.240 QGSSTDERR WARNING  QFSFileEngine::open: No file name specified
10:22:23.241 root      INFO     Stopping QGIS app…
Feedback pre:
{
"container_exit_code": 0,
"error": "Requested "http://app:8000/api/v1/files/c8945976-42c3-4a1a-b153-7bfdc0cdf10e/test.qgz/\" and got "500 Internal Server Error":\n{\n  "code": "unknown_error",\n  "message": "QFieldcloud Unknown Error"\n}",
"error_class": "QfcRequestException",
"error_origin": "container",
"error_stack": [
"  File "/usr/src/app/qfc_worker/utils.py", line 556, in run_workflow\n    return_values = step.method(**arguments)\n",
"  File "/usr/src/app/qfc_worker/utils.py", line 232, in download_project\n    client.download_files(\n",
"  File "/usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py", line 565, in download_files\n    raise err\n",
"  File "/usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py", line 545, in download_files\n    self.download_file(\n",
"  File "/usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py", line 616, in download_file\n    resp = self._request("GET", url, stream=True)\n",
"  File "/usr/local/lib/python3.10/dist-packages/qfieldcloud_sdk/sdk.py", line 811, in _request\n    raise QfcRequestException(response) from err\n"
],
"error_type": "API_INTERNAL_SERVER_ERROR",
"feedback_version": "2.0",
"outputs": {
"start_qgis_app": {}
},
"steps": [
{
"id": "start_qgis_app",
"name": "Start QGIS Application",
"returns": {},
"stage": 2
},
{
"id": "download_project_directory",
"name": "Download Project Directory",
"returns": {},
"stage": 1
},
{
"id": "project_validity_check",
"name": "Project Validity Check",
"returns": {},
"stage": 0
},
{
"id": "opening_check",
"name": "Opening Check",
"returns": {},
"stage": 0
},
{
"id": "project_details",
"name": "Project Details",
"returns": {},
"stage": 0
},
{
"id": "generate_thumbnail_image",
"name": "Generate Thumbnail Image",
"returns": {},
"stage": 0
},
{
"id": "stop_qgis_app",
"name": "Stop QGIS Application",
"returns": {},
"stage": 0
}
],
"workflow_id": "process_projectfile",
"workflow_name": "Process Projectfile",
"workflow_version": "2.0"
}`

May I kindly ask for your app logs? You experience error 500 in the app container?

May I kindly ask for your app logs? You experience error 500 in the app container.

@suricactus

I meant the docker compose service called app. Closing this issue as we are not able to support you without relevant information.

I meant the docker compose service called app. Closing this issue as we are not able to support you without relevant information.

Oh, you could have been more specific. Here you go
app_log.txt

The error says it:

Expected to either run behind nginx proxy, debug mode or within a test suite.

This is configurable via QFIELDCLOUD_WORKER_QFIELDCLOUD_URL https://github.com/opengisch/qfieldcloud/blob/master/.env.example#L96-L97 .

I have the same problem.
I do not understand what the QFIELDCLOUD_WORKER_QFIELDCLOUD_URL configuration directive has to do with this problem.
Can you please elaborate a little, @suricactus ?
Thank you in advance.
Cris

It is a technical requirement for QFieldCloud API to run behind an nginx proxy.
QFIELDCLOUD_WORKER_QFIELDCLOUD_URL sets the URL that qfieldcloud-sdk uses to connect to QFieldCloud API from within the qgis container.

It is a technical requirement for QFieldCloud API to run behind an nginx proxy.

Ok, but I still don't get it.
The nginx configuration is already provided in one of the docker images.
Should I add another nginx instance to act as a proxy?
And if so, why it is not explained in the "Deployment" section of the Readme?

It is a technical requirement for QFieldCloud API to run behind an nginx proxy.

Ok, but I still don't get it. The nginx configuration is already provided in one of the docker images.
Yes, this is the one that you need to use.
Should I add another nginx instance to act as a proxy?
No, it's enough the one that is included in the docker-compose file. If your server runs on chris70.com, make sure that QFIELDCLOUD_WORKER_QFIELDCLOUD_URL=https://chris70.com/api/v1 OR QFIELDCLOUD_WORKER_QFIELDCLOUD_URL=http://app:8000/api/v1/. The latter is what I use on my local dev machine.

And if so, why it is not explained in the "Deployment" section of the Readme?
It might be outdated, I haven't checked it for a while. If you are willing to contribute with improvement in the provided deployment documentation, you are more than welcome on board.

Thank you @suricactus !!
Now it is very clear what I have to do.
I will surely contribute as soon as I test it on my own server!!

Hi @suricactus! Just to let you (and anybody watching this) know: it turned out that I had already made the correct configuration right from the start, but since my server is a VM behind an HAProxy reverse proxy, I had to also made some changes in the HAProxy configuration to make it work correctly.
So there is really nothing that needs to be added to the project's documentation, as this is a very specific use case.
Thank you for your help!


SecurityScorecard Cybersecurity Ratings Solution initial submission

Required items, please complete
Change(s):

Added SecurityScorecard Cybersecurity Ratings Solution for certification.

Reason for Change(s):

New product

Version Updated:

Initial version

Testing Completed:

Yes

Checked that the validations are passing and have addressed any issues that are present:

Yes

Hi @jayeshprajapaticrest,
We are reviewing your changes. Meanwhile can you please share the sample data to test workbook.
Thanks

Hi @jayeshprajapaticrest, We are reviewing your changes. Meanwhile can you please share the sample data to test workbook. Thanks

@v-mchatla
We have added sample data to the respected folder.

Hi @jayeshprajapaticrest,
Below are the review points, need your help in fixing few of them.

We are good with the logo, create UI and Data connector files.
Main Template is failing with following validation error. Can you please check if you can fix it.

Workbook Testing is still pending - Need your help in removing the _s/_g from the column names so that it will get ingested properly in our workspace.
Need your confirmation on the Solution ID. Generally, we will follow the solution ID format as publisher ID. Offer ID. seems in your case offer ID has 3 different names separated by ','. Is it acceptable?
Let me know if you need any help over here.
Thanks

Hi @jayeshprajapaticrest, Below are the review points, need your help in fixing few of them.

We are good with the logo, create UI and Data connector files.
Main Template is failing with following validation error. Can you please check if you can fix it.

Workbook Testing is still pending - Need your help in removing the _s/_g from the column names so that it will get ingested properly in our workspace.
Need your confirmation on the Solution ID. Generally, we will follow the solution ID format as publisher ID. Offer ID. seems in your case offer ID has 3 different names separated by ','. Is it acceptable?
Let me know if you need any help over here.
Thanks

@v-mchatla
We have fixed the problem no 3 and 4.
Regarding point 2 firstly the error that you mentioned is not generated in our environment and still we tried to find out solution but we are unable to find it.
So if possible can you help us out?

Hi @jayeshprajapaticrest,
Thanks for the details. There was some issue in dumping the latest data to the log Analytics. Somehow, I managed to test with old sample data shared and it's working fine.
I'm still working on the main template validation issue; will keep you posted once done.
Thanks

Hi @jayeshprajapaticrest, Thanks for the details. There was some issue in dumping the latest data to the log Analytics. Somehow, I managed to test with old sample data shared and it's working fine. I'm still working on the main template validation issue; will keep you posted once done. Thanks

@v-mchatla Understood. Thanks for the Update. Let me know if other changes required.

Hi @jayeshprajapaticrest,
I will be checking with my internal team as I didn't get any clue on where its failing. I will update you once the investigation is completed.
Thanks

Hi @jayeshprajapaticrest, I will be checking with my internal team as I didn't get any clue on where its failing. I will update you once the Analysis is completed. Thanks

@v-mchatla Thanks for the update. Request to please take on priority and try to merge it as fast as you can.
Thanks!

Hi @jayeshprajapaticrest,
Sure, I will keep you posted on the same.
Thanks

@v-mchatla : Could you please check and provide an update. Thanks!

@v-mchatla @v-spadarthi
Is there any update?

Hi @jayeshprajapaticrest,
Sorry for the delay. Because of some other priority items, I didn't get a chance to continue on this PR. Today I will definitely spare sometime to identify the issue and provide you the update.
Thanks

Hi @jayeshprajapaticrest, Sorry for the delay. Because of some other priority items, I didn't get a chance to continue on this PR. Today I will definitely spare sometime to identify the issue and provide you the update. Thanks

OK Understood.

Hi @jayeshprajapaticrest,
I have added workbook metadata and raised a PR for the same. Can you please take latest from master once the PR is merged and recreate the package, so that all the fields in the main template should be properly filled with data. I hope this will fix the maintemplate validation issue. Let me know if you need any help over there
Thanks

Hi @jayeshprajapaticrest, I have added workbook metadata and raised a PR for the same. Can you please take latest from master once the PR is merged and recreate the package, so that all the fields in the main template should be properly filled with data. I hope this will fix the maintemplate validation issue. Let me know if you need any help over there Thanks

@v-mchatla
Sure, Waiting for merging of this workbook changes PR. Once the has been merged then will take update and then recreate package and commit it in the same current PR and will update you.
Thanks

Hi @jayeshprajapaticrest,
Thanks for completing the requested changes. I will test main template If there were no errors I will proceed merging this PR.
Thanks

@v-mchatla
PR for workbook metadata is merged. So I will take update and create solution with the updates changes.
Will inform you here once I done with that.

Hi @jayeshprajapaticrest,
Sure, let me know once you are done with the changes.
Thanks

Hi @jayeshprajapaticrest, Sure, let me know once you are done with the changes. Thanks

@v-mchatla
Changes are done and committed to this PR.

Hi @jayeshprajapaticrest,
With the workbook metadata update the below description populated correctly. But the maintemplate validation error is still there.

To fix that you need to remove the workbook description from the data file and recreate the package using the updated input file. I have tested the same from my end, this fix worked.
Kindly remove the workbook description and recreate the package.

Thanks

Hi @jayeshprajapaticrest, With the workbook metadata update the below description populated correctly. But the maintemplate validation error is still there.  To fix that you need to remove the workbook description from the data file and recreate the package using the updated input file. I have tested the same from my end, this fix worked. Kindly remove the workbook description and recreate the package.
Thanks

@v-mchatla
I have removed workbook description, recreated the solution and committed.
Thanks.

Hi @jayeshprajapaticrest,
Thanks for making the changes. I will review and provide update.
Thanks

@v-mchatla Thanks for your support.


src/preload.sh: Move to registry2

This makes the preloader use the registry v2 to fix
the supervisor downloading preloaded applications again
on first boot.
Connects-To: #45, #48
Change-Type: major

@jhermsmeier and @pcarranzav I was testing this branch today, and it seems that the App is still restarted when the device finally connects to the internet. This is what I did:

preload an .dev image (rpi3 one with no wifi credentials)
boot device with serial cable attached, but not hooked up to ethernet yet.
check that the user container is running correctly
plug in ethernet cable, and see the user container gets restarted as soon as the device is registered and connected to the dashboard.

I noticed the restart as well – @pcarranzav any idea what could be causing this? Is there something else the supervisor checks?

Hmm, very weird - what is the apps.json that you get? Does the supervisor also go through a "Downloading" stage or only kill and restart? @shaunmulligan @jhermsmeier

Ugh, I think it might be that the RESIN_DEVICE_NAME_AT_INIT variable doesn't really work as expected, and actually causes a restart when the name "changes" (i.e. when we connect to the API and actually get a value for the device name). I'll have to fix on the supervisor side.
(Though please still post an apps.json if you can, so that I can check it just in case)

@pcarranzav only kill & restart – the downloading part is resolved by this (actually by #48 already).
I found this in supervisor: https://github.com/resin-io/resin-supervisor/blob/master/src/application.coffee#L262-L267 – could we be missing the containerId?
This is the apps.json this branch spits out:
[{
  "appId": 211030,
  "name": "RPi3",
  "commit": "d4c62f0a3098db5a3fba66b631d3f32036617888",
  "imageRepo": "rpi3/d4c62f0a3098db5a3fba66b631d3f32036617888",
  "imageId": "registry2.resin.io/rpi3/d4c62f0a3098db5a3fba66b631d3f32036617888",
  "env": {},
  "config": {
    "RESIN_SUPERVISOR_DELTA": "1"
  }
}]

Nope, containerId isn't part of the comparison.
And the RESIN_DEVICE_NAME_AT_INIT theory I had doesn't seem to be either.
I'm trying to think what it could be but I'm a bit lost, I'll have to reproduce to see what may be wrong.
Do you happen to have supervisor logs of a device that hit this?

@pcarranzav I'll spin up my RPi here again tomorrow with a freshly preloaded test image, and give you access so you can check it out, if you fancy?


How to run aribtary bench commands?

How do I run arbitary bench commands using the kubernetes method:
ie.
bench get-app --branch master tailpos-sync https://github.com/bailabs/tailpos-sync.git
bench --site jeeves install-app tailpos_sync

Custom apps can't be installed on the fly, they already need to be in python environment
https://github.com/frappe/helm/issues/50#issuecomment-663346353

bench --site jeeves install-app tailpos_sync

for installing existing apps from the image on to a site you can use frappe bench helper commands
https://github.com/frappe/frappe_docker/blob/develop/docs/site-operations.md#frappe-internal-commands-using-bench-helper

Bench doesn't seem to be available on the image, how do I get it?

Bench won't be available in production images.


Fix link to Content Creation guide

The link as it stands is broken. This might be the correct fix?

this has been fixed


Styling the AGM MarkerLabel

Is there a way to achieve a label like the attached img?

Thanks in advance.

+1

@artipixel for this reason we have the "reaction" feature on Github. +1 comments helps no one

you can add your own image to your marker like this :
<agm-marker [latitude]="lat" [longitude]="lng" [iconUrl]="'./assets/app/media/img/icons/marker.png'">

@iamnels1 setting iconUrl doesn't help in cases when you need to use a label.
Ideally the label should also accept css classes for advanced styling.
In the graphic label example that the author of this issue shows, it's the simplest label. But when we use labels instead of plain markers, that's because with plain markers you can't achieve what you need, like for example: (see attached images). The one that looks good is the non-Angular version, plain old site with some JS using Google Maps API directly and we use a 3rd party plugin (MarkerWithLabel). That makes it possible to set an anchor point for the label (so the tip of the pointer falls on the coords) and also add css classes to the label, so we can do padding and other css rules on the label. Actually, we even added the background itself via the css property background-image on the label custom class, that's not an icon url.
Also, you would need to specify an anchor point (based on the size of the label and the arrow/triangle position in the label image) so the pointer you see actually falls in the right spot, since tip of the arrow/triangle needs to point at the coords (and that pointer might not necessarily be bottom/center, you can go "crazy" with label designs)
In an Angular app, with @agm using only iconUrl, it's not possible to make it look like that, since we can't set css properties like padding for example, on that label, and it looks like: (see second screenshot, that doesn't have the text aligned properly)
Properly aligned text in label (easily possible since we can set css classes on the label, using MarkerWIthLabel 3rd party plugin - non-Angular app):

Angular app with @agm, simply using iconUrl. This is the best result I could achieve:

Text can't be properly aligned: right aligned, X pixels from the right (padding-right), Y pixels from the top (padding-top) in order to match this design. It just aligns centred based on the image size it seems. Without the possibility to set a css class on the label (or, at least css properties - but making the label accept css properties as config would only be harder to handle when you need the label to look different across different screen sizes, it's better to accept css classes) there is no way to achieve the needed result.


Added documentation on PnP PowerShell

Added documentation on how to use PnP PowerShell to achieve the same. Also added a screenshot of what you can expect to see if you remove a site collection scoped App Catalog again.
Category

[X] Content fix
[ ] New article

Related issues:
N/A
What's in this Pull Request?
Added documentation on how to use PnP PowerShell to achieve the same. Also added a screenshot of what you can expect to see if you remove a site collection scoped App Catalog again.

thx @KoenZomers, really really old, but good to get merged.


Adding 'Skip' button to notification (like in iTunes)

Creates 'Skip' button on notifications.

Nice idea! As this uses SPI, please guard it so it doesn't crash if the SPI is removed, and link to any (reverse-engineered) documentation that may help to explain what you're doing.
Thanks.

I can definitely add some comments to better explain what's going on, but I'm not sure what you mean by SPI.  All of the stuff used is in the Foundation libraries, documented here.
Next commit will contain comments, but for reference:
NSUserNotification Center Reversed Engineered Docs

Okay, I see now what you were talking about.  It should be good to go now.

Although, now I'm thinking that it shouldn't matter... since that delegate won't be called if the NSUserNotificationCenter doesn't exist.  Thoughts?

Okay, so I tested it with OS X notifications on/off, as well as with Growler notifications on/off.  The app delegate only gets called when the OS X notifications are on (because the actions are only created in that case).
I also added additional actions if the 'Alert' style notifications are enabled which allow you to thumb up/down (or remove thumb up) from the notification.
Finally, I moved the album art over to the left side of the notification (just like is done in iTunes).  Let me know if you want me to create a new pull request, or merge all of these changes into a single commit.

It's fine if this stuff is all in one pull request. Also if this is too much to ask I'm happy to fix it up myself. :-)

No worries, it looks like you've done enough for this project!  I'm happy to help if I can.  Just pushed a try/catch block.  Is that what you were looking for?

Also, I'm just now seeing your other comments.  I'll make those changes as well.

Okay, that should do it.  Made all of the requested changes.  Let me know if you need anything else changed!

Looks good.  Catching exception for the key-value coding failures works fine — actually probably a better idea than using -respondsToSelector:.
Thanks again!


Find the Sum of Last N nodes of the Linked List - POTD

Find the Sum of Last N nodes of the Linked List
Link
Difficulty: Easy
Given a single linked list, calculate the sum of the last n nodes.
Note: It is guaranteed that n <= number of nodes.
Examples:
Input: Linked List: 5->9->6->3->4->10, n = 3

Output: 17
Explanation: The sum of the last three nodes in the linked list is 3 + 4 + 10 = 17.
Input: Linked List: 1->2, n = 2

Output: 3
Explanation: The sum of the last two nodes in the linked list is 2 + 1 = 3.

Constraints:

1 <= number of nodes, n <= 105
1 <= node->data <= 103

Solved
class Solution:
    def sumOfLastN_Nodes(self, head, n):
        total_nodes = 0
        current = head

        while current:
            total_nodes += 1
            current = current.next

        current = head
        for i in range(total_nodes - n):
            current = current.next

        sum_last_n = 0
        while current:
            sum_last_n += current.data
            current = current.next
        return sum_last_n


Fixed test resources for fixing test cases

Minor fix to reflect updated DDL statements

Minor change, self approving.


[1.10.2] [Bug] Unable to use spawn egg on existing adult owls to create baby owls

I just thought I'd report this as a bug more than a feature request as this feature is usually followed by most spawn eggs when there is a 'baby' equivalent of the mob. However in the latest 1.10.2 build of Ender Zoo on the date of reporting this, this does not work.

I added this to the 1.11.2 version, but I am not sure if 1.10.2 got it as well


Make lifecycle config path configurable

kpack currently hardcodes the name of the lifecycle image configmap. This commit makes this cconfigurable using a flag/env var and defaults it to the current value of "lifecycle-image" in the release config.
Signed-off-by: Sambhav Kothari<EMAIL_ADDRESS>Fixes #687

Codecov Report

Merging #689 (6bfa4fe) into main (0004c39) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #689   +/-   ##
=======================================
  Coverage   66.93%   66.93%
=======================================
  Files          89       89
  Lines        3638     3638
=======================================
  Hits         2435     2435
  Misses        853      853
  Partials      350      350

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 0004c39...6bfa4fe. Read the comment docs.


Fixed NPE in AllDocsResponse.getIdsAndRevs

What
Fixed NPE in AllDocsResponse.getIdsAndRevs.
How
Added check for a null for row.getValue() before adding id/rev to result map.
Updated CHANGES.md.
Testing
Added test com.cloudant.tests.ViewsTest#getIdsAndRevsForTwoNonExistentKeysWithAllDocs
Issues
Fixes #297

Thanks! To what release it will be included? Amy ETA when available via maven central?

We just released 2.6.2 so it will be a little while before a 2.6.3. You can track the milestone which will get some other issues added to it and closed when it is complete for the next release.
If you want you could try the fix from a nightly snapshot build using the snapshot repo at https://oss.sonatype.org/content/repositories/snapshots though this merge has not built there yet.

Is there a way to be informed automatically, once a new release is available?

@pavelmarek77 something like https://github.com/cloudant/java-cloudant/releases.atom ?

If you watch the repository you will get github notifications for the releases (by email and/or a github notification depending on your preferences).


withConfigurations takes a Trace parameter

Description
To implement the Byron proxy, I use withConfigurations in order to get the configuration data. Previously, I was forced to use the WithLogger instance for IO, which is an aberration. With this change, I can give whatever Trace IO Text I want, for instance noTrace. Most importantly: it frees me up to use the iohk-monitoring-framework by way of a Trace which uses that.
Linked issue

Type of change

[ ] 🐞 Bug fix (non-breaking change which fixes an issue)
[ ] 🛠 New feature (non-breaking change which adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
[ ] 🔨 New or improved tests for existing code
[ ] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

[ ] I have read the style guide document, and my code follows the code style of this project.
[ ] If my code deals with exceptions, it follows the guidelines.
[ ] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub.

Testing checklist

[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

QA Steps

Screenshots (if available)

How to merge
Send the message bors r+ to merge this PR. For more information, see
docs/how-to/bors.md.

I'll remove my scornful FIXME comments on request, but I think they're nice signposts.

bors r+


Insert Bezmialem University

@gozdeAL First stage of verification passed, official domain is bu.edu as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@gozdeAL Thank you for the request. Regrettably, it's unclear for me.
Bezmialem University is not the same as Boston University, I see no point in updating the file for the latter with the info for the former.
Please apply for free educational license with an official document which proves that you are a student. You can do it using "OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students.
I have to close the request without merging.
Thank you for your understanding!


Fix entrypoint

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (fdb67d0) to head (bf1ba2b).
Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main        #4   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines          209       209
  Branches        19        19
=========================================
  Hits           209       209

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


PSUseOutputTypeCorrectly generates false warning for PSObjects with custom ETS type names

I have many functions that generate PSObjects. Whenever I create a PSObject, I add a type name to it.  This is done either by invoking .PSTypeNames.Add(...), .PSTypeNames.Insert(...), or if I'm creating the object using<EMAIL_ADDRESS>then I just apply a PSTypeName value to the hashtable with the custom name for the object I am creating.
In scenarios like these, PSUseOutputTypeCorrectly identifies that I'm returning a PSObject and then complains because my OutputType is a string, set to the actual PSTypeName of the object that is returned.  I'm following the best practice, but PSScriptAnalyzer is incorrectly assuming I'm doing the wrong thing.  The PSUseOutputTypeCorrectly rule should not generate a warning on functions that return PSObjects when the OutputType is set to a string (the ETS type name for those PSObjects).

I just found another scenario where this occurs.  I have a command that returns an array of PSObjects.  This warning indicates that my command returns an object of type System.Object[], but that type is not declared in the OutputType attribute.  My OutputType properly identifies the ETS type name here as well, as a single quoted string.  Please make sure this is addressed for collections as well.

Hi Kirk. Thanks for identifying the bugs. Do you mind sharing a snippet of the code for this bug?

Sure thing.  Here you go:
function Test-EtsOutputTypeSingular {
    [CmdletBinding()]
    [OutputType('MyCustom.OutputType')]
    param()
    [pscustomobject]@{
        PSTypeName = 'MyCustom.OutputType'
        Prop1 = 'SomeValue'
        Prop2 = 'OtherValue'
    }
}

function Test-EtsOutputTypeCollection {
    [CmdletBinding()]
    [OutputType('MyCustom.OutputType')]
    param()
    @(
        [pscustomobject]@{
            PSTypeName = 'MyCustom.OutputType'
            Prop1 = 'SomeValue'
            Prop2 = 'OtherValue'
        }
        [pscustomobject]@{
            PSTypeName = 'MyCustom.OutputType'
            Prop1 = 'AnotherValue'
            Prop2 = 'LastValue'
        }
    )
}

Drop that into a file, save it, and run Invoke-ScriptAnalyzer against it and you'll see the false positives.  This rule needs to allow for custom ETS type names in the OutputType attribute, which are defined as string since they are not actually instances of System.Type.

So does this case only apply to PSCustomObject with the property PSTypeName?

Yes, it seems so.  Here are two more cases where it is working as expected and not generating false positives (whether intentional or not):
function Test-EtsOutputTypeSelected {
    [CmdletBinding()]
    [OutputType('MyCustom.OutputType')]
    param()
    $s = Get-Service wuauserv | Select-Object -Property Name,DisplayName,Status
    $s.PSObject.TypeNames.Insert(0,'MyCustom.OutputType')
    $s
}

function Test-EtsOutputTypeNew {
    [CmdletBinding()]
    [OutputType('MyCustom.OutputType')]
    param()
    $o = New-Object -TypeName System.Management.Automation.PSObject -Property @{
        OneFish = 'Two fish'
        RedFish = 'Blue fish'
    }
    $o.PSObject.TypeNames.Clear()
    $o.PSObject.TypeNames.Add('MyCustom.OutputType')
    $o
}

Based on those results, it seems this is specific to when PSTypeName is used to define the custom type name.

In these cases, it doesn't generate warning because the VariableAnalysis was not able to detect the type of the value returned.

How about this one?
function Test-EtsOutputTypeNew2 {
    [CmdletBinding()]
    [OutputType('MyCustom.OutputType')]
    param()
    New-Object -TypeName System.Management.Automation.PSObject -Property @{
        TypeName = 'MyCustom.OutputType'
        OneFish = 'Two fish'
        RedFish = 'Blue fish'
    }
}

So I just checked and it doesn't get the type in this case because for some reason, System.Type.GetType("System.Management.Automation.PSObject") returns null (really weird).

Closed with https://github.com/PowerShell/PSScriptAnalyzer/pull/243


Editor folding broken by indentation.

So basically if you have an html element that contains another elements indented before the parent. when you try and fold it it just breaks. This behavior isn't normal for example using Webstorm or Visual Studio, the collapse should fold the whole element.

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>

Simply paste this code into a new html file then try and collaps the parent div element.

Thanks for taking the time to contribute!
This looks like a duplicate of https://github.com/atom/atom/issues/11838 so you can subscribe there for updates if you'd like.
Additionally, for future issues it would be super helpful for us if you can fill out the issue template.

Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


Add wallet.all_balances endpoint

Issue/Task Number: #477
Closes #477
Overview
This PR implements wallet.all_balances to allow querying paginated balances.
Implementation Details
I'm so confuse with many files which I have to update, so I think I should do something that help the reviewer.
Here is the roughly drawing to track where does the logic go through. It is not so accurate, but I hope it helps  🙏

A picture is worth a thousand words. So mostly is something like..

A baton is tokens which passing all the wayy

Usage
call /wallet.all_balances
Request
{
  "sort_by": "id",
  "sort_dir": "desc",
  "per_page": 1,
  "start_after": "tok_KNC_01d4m3wf46crk0v2y7arpyzskz",
  "start_by": "id",
  "address": "opxc251377416372"
}

Response
{
  "version": "1",
  "success": true,
  "data": {
    "pagination": {
      "start_by": "id",
      "start_after": "tok_KNC_01d4m3wf46crk0v2y7arpyzskz",
      "per_page": 1,
      "is_last_page": false,
      "count": 1
    },
    "object": "list",
    "data": [
      {
        "token": {
          "updated_at": "2019-02-26T05:19:21.325039Z",
          "symbol": "ETH",
          "subunit_to_unit":<PHONE_NUMBER>000000000,
          "object": "token",
          "name": "Ether",
          "metadata": {},
          "id": "tok_ETH_01d4m3wf7cn56wg939bmzkdp60",
          "encrypted_metadata": {},
          "enabled": true,
          "created_at": "2019-02-26T05:19:21.325039Z"
        },
        "object": "balance",
        "amount": 8e+21
      }
    ]
  }
}

Impact
Deploy as usual.

I know this is not ready, but the endpoint should be/wallet.get_balances to follow our conventions.

Ideally this also should reflect and be merged after #730.

[ ] Wait for #730 to be merged
[ ] Update this PR's permission checking to #730's way.


CWOD-V20 Character sheet problems...

It looks like Unicode characters placed directly in the CSS document aren't working anymore (I seem to have had some success in replacing them with escaped code sequences, but am not confident I know how Github works/those CSS files work well enough to post).  Suffice it to say, the sheet is really broken. Looks nothing like the preview on any browsers I use.

@sonoftheright I'm not seeing this behavior. It might be an issue local to you, or be a specific browser/OS issue.

@sonoftheright  I agree with @SteveKoontz  I use Google Chrome
Please check if it is settings in your browser or try a different browser and let us know. If all good pelase close the issue.


Convert self.assert* method calls to plain asserts

I used unittest2pytest to make the conversion.

nice, now get rid of the classes?
Am 5. September 2016 19:16:56 MESZ, schrieb Bruno Oliveira<EMAIL_ADDRESS>
I used unittest2pytest
to make the conversion.
You can view, comment on, or merge this pull request online at:
https://github.com/nicolaiarocci/cerberus/pull/259
-- Commit Summary --

Convert self.assert* method calls to plain asserts
Fix flake8 errors

-- File Changes --
M cerberus/tests/init.py (21)
M cerberus/tests/tests.py (412)
-- Patch Links --
https://github.com/nicolaiarocci/cerberus/pull/259.patch
https://github.com/nicolaiarocci/cerberus/pull/259.diff

While I agree that the classes can be removed, I'm afraid I won't have time to do this change myself so I think that can be done in a separate PR. :grin:

Merged after rebase. Thanks!

:+1:


[DiagnosticVerifier] More accurate wording when printing diagnostics from external sources

https://github.com/apple/swift/pull/30028 marked these diags as "produced by Clang", but they can also often be notes attached to diagnostics in the verified file which point out declarations elsewhere. Change the message intro to read, "diagnostic produced elsewhere:" to avoid confusion in those cases.

@swift-ci please smoke test

cc @martinboehme , @gribozavr

@swift-ci smoke test

Sorry, completely missed this when you originally sent it.
The wording "diagnostic produced elsewhere" seems strangely vague, but I also can't think of a good alternative -- and this is definitely better than just assuming the diagnostic came from Clang.


Automatic error report

Tried to open and watch a big dictionary variable in variable explorer
  lambda eid=id(editor): self.editor_accepted(eid))
  File "/home/estathop/anaconda2/envs/tensorflow/lib/python2.7/site-packages/spyder/widgets/variableexplorer/collectionseditor.py", line 563, in editor_accepted
    data = self._editors[editor_id]
KeyError:<PHONE_NUMBER>89592

Sorry but your description is not enough. Please give a reproducible way to generate this error so we can fix it in our side.

I just pressed automatic error report, I don't know what you are asking

That we need from you a way to reproduce this problem. Just filling the error report without further information is not enough for us.

Closing because of lack of response.


Fix Nix publishing

This is attempt numero due to fix Nix package publishing to dagger/nix.
https://github.com/dagger/dagger/pull/6063 added Nix to the GitHub Actions workflow, but GoReleaser actually runs in Dagger using a GoReleaser Pro image.
This PR removes Nix from the GHA workflow and adds Nix to the GoReleaser image.
(Reminder: we only need nix-prefetch-url for GoReleaser to work, but it's not bundled with their image and installing Nix from the Alpine package repo seems to be the easiest way to get nix-prefetch-url)

@gerhard checks passed, merging now :tada:

Uh oh.
This fails on main: https://github.com/dagger/dagger/actions/runs/7288062871/job/19859939157. The step here wasn't run in this PR, so wasn't caught before. It would be nice if we could dry-run the publish job in PRs to avoid this.
It looks like nix is only available on alpine:edge: https://pkgs.alpinelinux.org/packages?name=nix&branch=edge&repo=&arch=&maintainer=, which go releaser doesn't use.
Currently looking at alternative installation methods for nix.


Bug Selecting Other Date

Hello,
If there is a MaterialCalendarView that has the setting setAllowClickDaysOutsideCurrentMonth(true) set, and the calendar shows December, if you click a date in January it goes back to November. I have coded up a fix but I do not have push permission to make a PR. Here is my updated MaterialCalendarView.onDateClicked(DayView dayView) code:
/**
 * Call by {@link CalendarPagerView} to indicate that a day was clicked and we should handle it
 *
 * @param dayView
 */
protected void onDateClicked(DayView dayView) {
    CalendarDay currentDate = getCurrentDate();
    CalendarDay selectedDate = dayView.getDate();
    final int currentMonth = currentDate.getMonth();
    final int selectedMonth = selectedDate.getMonth();

    if (calendarMode == CalendarMode.MONTHS) {
        if (currentMonth == selectedMonth) {
            onDateClicked(dayView.getDate(), !dayView.isChecked());
        } else if (allowClickDaysOutsideCurrentMonth) {
            if (currentDate.isAfter(selectedDate)) {
                goToPrevious();
            } else if (currentDate.isBefore(selectedDate)) {
                goToNext();
            }

            onDateClicked(dayView.getDate(), !dayView.isChecked());
        }
    } else {
        onDateClicked(dayView.getDate(), !dayView.isChecked());
    }
}

It would be great if you could pull this in to fix this issue we are running into.
Thanks,
Brian

Hello,
I figured out how to create a Pull Request so look here now:
https://github.com/prolificinteractive/material-calendarview/pull/409
Cheers,
Brian

Nice catch, I will be reviewing that as soon as I can. Thank you for your help!

Fixed in v1.4.2


pull request for e2e test at 11/22/2016 05:56:08

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add bump2version support

bump2version is a library with which we can easily update all references to the current version.

[x]  Generate setup.cfg file
[x] Update CONTRIBUTING guide

Version mentions:

transposonmapper/version.py
CITATION.cff

Done. The solution is currently part of the create_workflows branch.


Skeleton for drops

It was enabled from what i remember no?

when you go from landing to drop, for a sec there is no skeleton nor cards

👋