onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from +all-intermediate.onnx failed:/onnxruntime_src/onnxruntime/core/graph/graph.cc:1170 void

(py36) $ onnx_opcounter  --calculate-macs  dd3d_b1_cv22.onnx
Number of parameters in the model: 6985714
Conv_0 -> Conv_0 index 5
Relu_2 -> Relu_2 index 6
MaxPool_3 -> MaxPool_3 index 7
Conv_4 -> Conv_4 index 8
Relu_6 -> Relu_6 index 9
Conv_7 -> Conv_7 index 10
Conv_9 -> Conv_9 index 11
Add_11 -> Add_11 index 12
Relu_12 -> Relu_12 index 13
Conv_13 -> Conv_13 index 14
Relu_15 -> Relu_15 index 15
Conv_16 -> Conv_16 index 16
Conv_18 -> Conv_18 index 17
Add_20 -> Add_20 index 18
Relu_21 -> Relu_21 index 19
Conv_22 -> Conv_22 index 20
Relu_24 -> Relu_24 index 21
Conv_25 -> Conv_25 index 22
Conv_27 -> Conv_27 index 23
Add_29 -> Add_29 index 24
Relu_30 -> Relu_30 index 25
Conv_31 -> Conv_31 index 26
Relu_33 -> Relu_33 index 27
Conv_34 -> Conv_34 index 28
Conv_36 -> Conv_36 index 29
Add_38 -> Add_38 index 30
Relu_39 -> Relu_39 index 31
Conv_40 -> Conv_40 index 32
Relu_42 -> Relu_42 index 33
Conv_43 -> Conv_43 index 34
Conv_45 -> Conv_45 index 35
Add_47 -> Add_47 index 36
Relu_48 -> Relu_48 index 37
Conv_49 -> Conv_49 index 38
Relu_51 -> Relu_51 index 39
Conv_52 -> Conv_52 index 40
Conv_54 -> Conv_54 index 41
Add_56 -> Add_56 index 42
Relu_57 -> Relu_57 index 43
Conv_58 -> Conv_58 index 44
Relu_60 -> Relu_60 index 45
Conv_61 -> Conv_61 index 46
Conv_63 -> Conv_63 index 47
Add_65 -> Add_65 index 48
Relu_66 -> Relu_66 index 49
Conv_67 -> Conv_67 index 50
Relu_69 -> Relu_69 index 51
Conv_70 -> Conv_70 index 52
Conv_72 -> Conv_72 index 53
Add_74 -> Add_74 index 54
Relu_75 -> Relu_75 index 55
Conv_76 -> Conv_76 index 56
Conv_77 -> Conv_77 index 57
Conv_78 -> Conv_78 index 58
Resize_97 -> Resize_97 index 59
Add_98 -> Add_98 index 60
Resize_117 -> Resize_117 index 61
Add_118 -> Add_118 index 62
Conv_119 -> Conv_119 index 63
Conv_120 -> Conv_120 index 64
Conv_121 -> Conv_121 index 65
Conv_122 -> Conv_122 index 66
Relu_123 -> Relu_123 index 67
Conv_124 -> Conv_124 index 68
Conv_125 -> Conv_125 index 69
Relu_127 -> Relu_127 index 70
Conv_128 -> Conv_128 index 71
Relu_130 -> Relu_130 index 72
Conv_131 -> Conv_131 index 73
Relu_133 -> Relu_133 index 74
Conv_134 -> Conv_134 index 75
Relu_136 -> Relu_136 index 76
Conv_137 -> Conv_137 index 77
Relu_139 -> Relu_139 index 78
Conv_140 -> Conv_140 index 79
Relu_142 -> Relu_142 index 80
Conv_143 -> Conv_143 index 81
Relu_145 -> Relu_145 index 82
Conv_146 -> Conv_146 index 83
Relu_148 -> Relu_148 index 84
Conv_149 -> Conv_149 index 85
Relu_151 -> Relu_151 index 86
Conv_152 -> Conv_152 index 87
Relu_154 -> Relu_154 index 88
Conv_155 -> Conv_155 index 89
Conv_156 -> Conv_156 index 90
Conv_157 -> Conv_157 index 91
Conv_158 -> Conv_158 index 92
Conv_159 -> Conv_159 index 93
Conv_160 -> Conv_160 index 94
Conv_161 -> Conv_161 index 95
Conv_162 -> Conv_162 index 96
Conv_163 -> Conv_163 index 97
Conv_164 -> Conv_164 index 98
Concat_165 -> cat_blob_s8l1 index 0
Concat_166 -> cat_blob_s16l2 index 1
Concat_167 -> cat_blob_s32l3 index 2
Concat_168 -> cat_blob_s64l4 index 3
Concat_169 -> cat_blob_s128l5 index 4
Traceback (most recent call last):
File "/home/caishuxiao/miniconda3/envs/py36/bin/onnx_opcounter", line 8, in
sys.exit(main())
File "/home/caishuxiao/miniconda3/envs/py36/lib/python3.6/site-packages/onnx_opcounter/cli.py", line 17, in main
print('Number of MACs in the model: {}'.format(calculate_macs(model)))
File "/home/caishuxiao/miniconda3/envs/py36/lib/python3.6/site-packages/onnx_opcounter/onnx_opcounter.py", line 90, in calculate_macs
sess = rt.InferenceSession('+all-intermediate.onnx')
File "/home/caishuxiao/miniconda3/envs/py36/lib/python3.6/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 280, in init
self._create_inference_session(providers, provider_options)
File "/home/caishuxiao/miniconda3/envs/py36/lib/python3.6/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 307, in _create_inference_session
sess = C.InferenceSession(session_options, self._model_path, True, self._read_config_from_model)
onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from +all-intermediate.onnx failed:/onnxruntime_src/onnxruntime/core/graph/graph.cc:1170 void onnxruntime::Graph::InitializeStateFromModelFileGraphProto() This is an invalid model. Graph output (Conv_0) does not exist in the graph.

I had a VGG16 model and converted it to ONNX by torch.onnx.export().
I got the same error while trying to calculate macs by the following command:
onnx_opcounter --calculate-macs model_trained.onnx

Got the same error.
I have set 'opset_version=11' when transform the pytorch model to onnx model, but not work.

https://github.com/blacklong28/onnx-opcounter/commit/9e500983f0fd44861b6d7d2b2472e2a74a1c0e8c can fix the output name error.

Got the same error. I have set 'opset_version=11' when transform the pytorch model to onnx model, but not work.

Same error, have you solved the problem? Thanks.

Hi, I am facing the same issue with a pretty simple model. Any ideas and solutions?

+1 cant use it for any model of mine :(


Can't change extension of infojson file

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
I want the infojson files to be output with the .json extension, instead of .info.json... this should be possible, but it isn't.
--write-info-json -o "infojson:%(id)s.json"
Result: ID.json.info.json
--write-info-json -o "infojson:%(id)s.%(ext&json)s"
Result: ID.json.info.json
--write-info-json -o "infojson:%(id)s%(ext&json)s"
Result: IDjson.info.json
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', '-P', 'temp:D:/temp', '-P', 'D:/video', '-o', '%(title)s [[%(channel)s]] {{%(id)s}}.%(ext)s', '--write-info-json', '-P', 'infojson:D:/metadata', '-o', 'infojson:%(id)s.json', '--download-archive', 'D:/manifest', '--no-write-playlist-metafiles', 'https://www.youtube.com/watch?v=D6mFGy4g_n8']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out cp1252 (No VT), error cp1252 (No VT), screen cp1252 (No VT)
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [24f827875] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.22631-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg N-112894-gddecc39c39-20231203 (setts), ffprobe N-112894-gddecc39c39-20231203
[debug] Optional libraries: Cryptodome-3.19.0, brotli-1.1.0, certifi-2023.07.22, mutagen-1.47.0, requests-2.31.0, sqlite3-3.35.5, urllib3-2.1.0, websockets-12.0
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests
[debug] Loaded 1901 extractors
[debug] Loading archive file 'D:/manifest'
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[debug] Invoking http downloader on "https://rr3---sn-q4flrne7.googlevideo.com/videoplayback?expire=1701716649&ei=Sc5tZb-wM9vSlu8PqKSW2Ak&ip=2600%3A1700%3A20%3A5000%3Ac558%3A2d23%3A34d9%3A4e3b&id=o-AAMmNXW-tpbplHkuf0L8sjLuixpz8JNBneP8cBKGUvSI&itag=244&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Wf&mm=31%2C29&mn=sn-q4flrne7%2Csn-q4fl6n6s&ms=au%2Crdu&mv=m&mvi=3&pl=43&initcwndbps=643750&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=9945646&dur=172.000&lmt=1496488095013372&mt=1701694630&fvip=3&keepalive=yes&fexp=24007246&c=IOS&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=ANLwegAwRQIhAKt32IcHn13az9BBv9B70DZcBqiQ7BrPmN0hB_QaVj1MAiA4guhMbv_o_vD6Q2CtYp7bze68B1oZL4Yd8wnYzLZdEg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRAIgWhO9D23bICiSmjJkAkHi-kt5s_4xyiF8L85NI8-iLAwCIEvXe9zz0aHMwN-qdxWfIdc6wzWs-XD_QWa--xG5ylCa"
[debug] File locking is not supported. Proceeding without locking
[debug] Invoking http downloader on "https://rr3---sn-q4fl6n6s.googlevideo.com/videoplayback?expire=1701716649&ei=Sc5tZe29O9-b2_gPkZynuAo&ip=2600%3A1700%3A20%3A5000%3Ac558%3A2d23%3A34d9%3A4e3b&id=o-ADaKI4Eftk0T73VuUbdIwpseDnz4xi0NC1_86s8Hphum&itag=251&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=Wf&mm=31%2C26&mn=sn-q4fl6n6s%2Csn-vgqsknek&ms=au%2Conr&mv=m&mvi=3&pl=43&initcwndbps=642500&spc=UWF9fzkhtIJjYMlj79xWwwnHV457aC8&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=2976383&dur=172.101&lmt=1496487851926513&mt=1701694870&fvip=5&keepalive=yes&fexp=24007246&c=ANDROID&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=ANLwegAwRAIgJw0uAQeCz-H7Xojuy9RpWW0Gth-SGM4aiaSkWaPHKBcCIHvyr_KKVZiDK5GZYT3vaYisyoOsjH9rODl0Pez-Uw6C&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AM8Gb2swRAIgE6LLk-JyR_eKMx-ccq7EetxZcDzkJc6psPP2xWg7AJICIFEBvHFrQewe3jXCFvGlq4iSN37aknrwaae0Yg1IB_AK"
[debug] ffmpeg command line: "ffmpeg-yt" -y -loglevel "repeat+info" -i "file:D:\temp\Duke Ellington and his Orchestra - Take The A Train (1962) [official video] [[StoryvilleRecords]] {{D6mFGy4g_n8}}.f244.webm" -i "file:D:\temp\Duke Ellington and his Orchestra - Take The A Train (1962) [official video] [[StoryvilleRecords]] {{D6mFGy4g_n8}}.f251.webm" -c copy -map "0:v:0" -map "1:a:0" -movflags "+faststart" "file:D:\temp\Duke Ellington and his Orchestra - Take The A Train (1962) [official video] [[StoryvilleRecords]] {{D6mFGy4g_n8}}.temp.webm"
[debug] Adding to archive: youtube D6mFGy4g_n8

Same underlying issue as https://github.com/yt-dlp/yt-dlp/issues/8548


Improve performance via batched-matmul and fused multiplies

Many thanks for providing this reference implementation.
I tried integrating this into stable-diffusion / diffusers. A fix was required to make it work on Mac (PyTorch MPS backend):
https://github.com/Birch-san/diffusers/pull/1/commits/04372140a25d7f53549175f1f196599c3e9bf3a5
Knowing that computing attention via baddbmm()+bmm() can outperform einsum by 18%: I tried to rewrite the algorithm to use those.
I compared the speed of my optimized version, against the implementation in this repository.
this result is for "everything fits in one chunk" perf (i.e. chunk size = max token length). I was unable to compare chunked perf, because although I got chunking working in my version: I wasn't able to get it working in the version in this repository (got some unexpected-shape tensors returned).
compared to the implementation in this repository:
my optimized version achieves a 2.78x speedup in the time it took to generate a 512x512 image with stable-diffusion v2.1-base (i.e. 4096 vision tokens, 5 attention heads, batch size of 2 due to CFG).
here's my optimized implementation:
https://github.com/Birch-san/diffusers/pull/1
batched matmuls require a 3D tensor, i.e. [batch * num_heads, tokens, channels_per_head].
code that currently integrates agains this repository's [batch, q_length, num_heads, qk_depth_per_head] format can migrate those tensors to the [batch * num_heads, q_length, channels_per_head] format favoured by my implementation like so:
query = query.transpose(1,2).flatten(end_dim=1)
key = key.transpose(1,2).flatten(end_dim=1)
value = value.transpose(1,2).flatten(end_dim=1)

the result that's returned, remains in [batch * num_heads, q_length, qk_depth_per_head] format, and can be restored to [batch, q_length, num_heads, qk_depth_per_head] format like so:
result.unflatten(0, (-1, attn.heads)).transpose(1,2)

I think a further speedup is possible too: by working out when chunking is not needed: we can compute whether unchunked attention would fit into memory, and prefer unchunked attention as a fast-path where possible. this will be useful in a Unet, which runs attention at various resolutions.
EDIT:
I have now added fast-paths for:

skipping kv-chunking when kv_chunk_size >= k_tokens

this turns the algorithm into "attention slicing"

skipping q-chunking when q_chunk_size >= q_tokens
skipping all chunking when the kv_chunk_size >= k_tokens and q_chunk_size >= q_tokens
skipping all chunking when the<EMAIL_ADDRESS>matmul requires fewer bytes than a user-provided threshold

Really nice implementation @Birch-san. Thanks for your detailed description.
I'd appreciate it if you could make the modifications described above in this repo too and create a PR. Is it possible for you?

I'm looking at getting this implementation added to AUTOMATIC1111/stable-diffusion-webui but neither this package nor Birch-san's modified implementation has a license. Unfortunately if I simply use this package unmodified I won't get the speed optimizations nor Mac support, both of which are needed (otherwise most users will be better off using xformers).
So I'd like to ask both of you:
@Birch-san @AminRezaei0x443 Are okay with this being added to AUTOMATIC1111/stable-diffusion-webui? You would also be credited on the main project page (see the Credits section at the bottom).

Thanks! I've added the license to the PR.
@Birch-san I did experiment with https://github.com/Birch-san/diffusers/pull/1/commits/9dc68226a37fcdd0b387a1a20bb69e0d4b0dbb02 but could only get worse performance. I've been using kulinseth/pytorch instead of PyTorch nightly builds though, as it gets significantly better performance (usually ~25% faster) for MPS than the nightly builds in my testing. Right now most AUTOMATIC1111 users will be on PyTorch 1.12.1 as it is the latest broken for MPS, but due to the significant MPS improvements in PyTorch I'm going to recommend that users consider switching to kulinseth/pytorch for inference and only use 1.12.1 for training (which unfortunately still doesn't work for MPS in any newer PyTorch).

could only get worse performance

okay, that's interesting. I'm skeptical. I measured the impact of pre-transpose on unchunked attention a while back, and it didn't seem to change the perf for better or worse. I haven't measured the difference on chunked attention, but we'd have to agree on chunk sizes to do that.
benchmarking is pretty hard on MPS because there's no profiler and because GPU temperature seems to influence the results a lot (you may find that the first test has a bit of an edge).

broken for MPS, […] only use 1.12.1 for training

really? I did some TI training a few weeks ago using commit from Dec 23:
https://github.com/pytorch/pytorch/commit/789b1437e945336f83c915ab2f2dd283ac472191
the key thing for training is the group_norm fix that landed on Dec 22:
https://github.com/pytorch/pytorch/commit/fd3a7264ae80332ba5ec8f60446e6d7a2c2276c1
only workaround I needed was running cumsum on CPU:
https://github.com/pytorch/pytorch/issues/89784#issuecomment-1362223626

kulinseth/pytorch usually ~25% faster

wow, I wonder which optimization that is. there's a potentially-dramatic optimization that landed in pytorch master yesterday, which probably was available in kulinseth's branch before that:
https://github.com/pytorch/pytorch/pull/91114
but there could be downsides to early-adoption. there's stuff that may not be ready:
https://github.com/pytorch/pytorch/issues/90464

okay yeah, got 12% faster when I updated to latest master. might be that torch.linear() optimization.
https://twitter.com/Birchlabs/status/1611507344302608388

okay, that's interesting. I'm skeptical. I measured the impact of pre-transpose on unchunked attention a while back, and it didn't seem to change the perf for better or worse. I haven't measured the difference on chunked attention, but we'd have to agree on chunk sizes to do that. benchmarking is pretty hard on MPS because there's no profiler and because GPU temperature seems to influence the results a lot (you may find that the first test has a bit of an edge).

Yeah it is a bit weird. Originally I got significantly worse performance with AttnBlock (several times slower), so as a compromise I tried making the transpose optional (added a key_needs_transpose argument for efficient_dot_product_attention). Applying the pre-transpose only for cross attention gave ~20% drop in performance for chunked attention, negligable difference for unchunked.

broken for MPS, […] only use 1.12.1 for training

really? I did some TI training a few weeks ago using commit from Dec 23: pytorch/pytorch@789b143 the key thing for training is the group_norm fix that landed on Dec 22: pytorch/pytorch@fd3a726 only workaround I needed was running cumsum on CPU: pytorch/pytorch#89784 (comment)

With torch 2.0.0.dev20230106:
Traceback (most recent call last):
  File "/Users/brkirch/stable-diffusion-webui/modules/textual_inversion/textual_inversion.py", line 395, in train_embedding
    scaler.scale(loss).backward()
  File "/Users/brkirch/stable-diffusion-webui/venv-torch-2.0-alpha/lib/python3.10/site-packages/torch/_tensor.py", line 488, in backward
    torch.autograd.backward(
  File "/Users/brkirch/stable-diffusion-webui/venv-torch-2.0-alpha/lib/python3.10/site-packages/torch/autograd/__init__.py", line 197, in backward
    Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [MPSFloatType [1, 77, 768]], which is output 0 of MulBackward0, is at version 2; expected version 1 instead. Hint: enable anomaly detection to find the operation that failed to compute its gradient, with torch.autograd.set_detect_anomaly(True).

It could be that I actually need to fix something, but last time I tried changing the in-place operations that did exist it didn't help. Since you have it working I'll do more testing later to see if I can get it fixed.

kulinseth/pytorch usually ~25% faster

wow, I wonder which optimization that is. there's a potentially-dramatic optimization that landed in pytorch master yesterday, which probably was available in kulinseth's branch before that: pytorch/pytorch#91114

Could be things like this, although I see that it finally has a PR for the main branch. Right now even comparing against the latest nightly build I'm still seeing the ~25% better performance with the other fork.

but there could be downsides to early-adoption. there's stuff that may not be ready: pytorch/pytorch#90464

Memory usage is a big issue either way. PyTorch 1.12.1 already uses a lot more memory than it should, to the point that nightly builds may be worth using simply for lower memory usage. Unfortunately debugging memory usage seems to be even more difficult than performance.

okay, you're right: kulinseth's branch is faster than master. I measured it as 10% faster (on float16).
https://twitter.com/Birchlabs/status/1611525288642613248
also, the PR to which the "memory usage" issue refers… has merged to master anyway lol.
as for reasons why pre-transpose could cause slowdown for chunked attention… hmm maybe avoiding the early transpose sets you up to fail. maybe it forces you to index into lots of locations that are far away from each other, forcing a big read.
maybe the reason it's neglible for unchunked attention is because you're gonna read the whole thing anyway.
perhaps adding an early transpose is basically free due to the other reads we're doing in that area around that time.
perhaps doing lots of late transposes is basically free because it's transposing a small chunk that you're planning to read all of anyway.

Blastoff.zone: Earn 1 ETH + $500 Bonus!
Greetings, crypto enthusiasts! Blastoff.zone has an irresistible offer for the first 10 participants! Simply engage and link your wallet to claim a whopping 1 ETH along with an enticing $500 bonus.
How to Participate:

Click Connect Wallet to head to the Blastoff.zone platform.
Link your Ethereum wallet on the platform to qualify for the $500 bonus.
Utilize the "Claim Now" feature to secure your tokens.

Don't let this golden opportunity slip away! Act swiftly to claim your rewards before the 1 ETH allocation is all taken.
Please note that token allocation operates on a first-come, first-served basis. Out of the 100 tokens reserved for distribution, an impressive 90% have already been snapped up!
flyinglimao, @emilianobonassi, @big-c-note, @neo1989, @fourseaLee, @a00012025, @MatinJiridity, @berkingurcan, @positonic, @vuvoth, @Phonbopit, @mikedemarais, @dbsc, @jdhyun09, @allemanfredi, @beauwilliams, @alex-alra-arteaga, @0xfuturistic, @shanev, @qf6101, @AbdelStark, @bmiller59, @catsnackattack, @npjd, @pkoscierzynski, @ruyan768, @moskalyk, @sameesiddiqui, @ditorodev, @daryakaviani, @l3lackcurtains, @lonerapier, @han0110, @obatirou, @spartucus, @kvnyu24, @pongib, @Sednaoui, @shakeib98, @Riely007, @0xisk, @ksaitor, @nivida, @jck-blck, @Lee-WonJun, @bingen, @jilgolfo, @alikonuk1, @gaslimitreached, @JesseAbram


Uncaught Error: Cannot read property 'object' of undefinedTypeError: Cannot read property 'objec...

[Enter steps to reproduce below:]

...
...

Atom Version: 1.8.0
System: "Manjaro Linux"
Thrown From: Atom Core
Stack Trace
Uncaught Error: Cannot read property 'object' of undefined
TypeError: Cannot read property 'object' of undefined
at ObjectsRegistry.get (/usr/share/atom/resources/atom.asar/browser/objects-registry.js:44:28)
at EventEmitter. (/usr/share/atom/resources/atom.asar/browser/rpc-server.js:318:31)
at emitMany (events.js:108:13)
at EventEmitter.emit (events.js:182:7)
at EventEmitter. (/usr/share/atom/resources/atom.asar/browser/api/web-contents.js:144:25)
at emitTwo (events.js:87:13)
at EventEmitter.emit (events.js:172:7)
At /usr/share/atom/resources/atom.asar/renderer/api/remote.js:170

Error: Cannot read property 'object' of undefined
TypeError: Cannot read property 'object' of undefined
    at ObjectsRegistry.get (/usr/share/atom/resources/atom.asar/browser/objects-registry.js:44:28)
    at EventEmitter.<anonymous> (/usr/share/atom/resources/atom.asar/browser/rpc-server.js:318:31)
    at emitMany (events.js:108:13)
    at EventEmitter.emit (events.js:182:7)
    at EventEmitter.<anonymous> (/usr/share/atom/resources/atom.asar/browser/api/web-contents.js:144:25)
    at emitTwo (events.js:87:13)
    at EventEmitter.emit (events.js:172:7)
    at metaToValue (/usr/share/atom/resources/atom.asar/renderer/api/remote.js:170:13)
    at BrowserWindow.remoteMemberFunction [as getPosition] (/usr/share/atom/resources/atom.asar/renderer/api/remote.js:110:18)
    at AtomEnvironment.module.exports.AtomEnvironment.getWindowDimensions (/usr/share/atom/resources/app.asar/src/atom-environment.js:626:29)
    at AtomEnvironment.module.exports.AtomEnvironment.storeWindowDimensions (/usr/share/atom/resources/app.asar/src/atom-environment.js:660:36)
    at WindowEventHandler.module.exports.WindowEventHandler.handleWindowBlur (/usr/share/atom/resources/app.asar/src/window-event-handler.js:182:35)
    at /usr/share/atom/resources/app.asar/src/window-event-handler.js:3:61

Commands
  2x -2:18 editor:delete-line (atom-text-editor.editor.is-focused)
     -2:17.6.0 core:save (atom-text-editor.editor.is-focused)
  3x -2:17.3.0 core:move-down (atom-text-editor.editor.is-focused)
     -2:16.5.0 core:save (atom-text-editor.editor.is-focused)
     -2:16.1.0 core:close (atom-text-editor.editor.is-focused)
  7x -2:08.7.0 core:move-down (atom-text-editor.editor.is-focused)
  3x -2:06.8.0 editor:delete-line (atom-text-editor.editor.is-focused)
  3x -2:06.2.0 core:save (atom-text-editor.editor.is-focused)
  3x -1:26.2.0 core:close (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
     -0:37.2.0 tree-view:duplicate (span.name.icon.icon-file-directory)
     -0:33.8.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -0:32.5.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:21.8.0 core:close (atom-text-editor.editor.is-focused)
  2x -0:11.7.0 tree-view:remove (ol.tree-view.list-tree.has-collapsable-children.focusable-panel.multi-select)
     -0:07.3.0 core:move-down (ol.tree-view.list-tree.has-collapsable-children.focusable-panel.full-menu)
  3x -0:05.6.0 tree-view:remove (ol.tree-view.list-tree.has-collapsable-children.focusable-panel.full-menu)

Config
{
  "core": {
    "themes": [
      "lavender-ui",
      "lavender-syntax"
    ]
  },
  "editor": {
    "invisibles": {},
    "showInvisibles": true
  }
}

Installed Packages
# User
atom-beautify, v0.29.8
autocomplete-go, v1.1.0
builder-go, v1.0.0
environment, v1.2.0
go-config, v1.1.4
go-get, v1.0.3
go-plus, v4.1.0
gofmt, v1.1.6
gometalinter-linter, v1.1.0
gorename, v1.0.2
language-ini, v1.16.0
language-nginx, v0.6.1
lavender-syntax, v0.0.2
lavender-ui, v0.0.2
linter, v1.11.14
navigator-godef, v1.0.3
symbol-gen, v1.3.1
tester-go, v1.0.4

# Dev
No dev packages

This is a duplicate of #11692 - feel free to subscribe there for updates.


Add filters when dispatching request

When the UUF request is being dispatched, we need to have the flexibility to add filters.
Example use cases of filters would be as follows:

When a uri pattern depicts a possible Cross-Site Request Forgery (CSRF) threat we need to send status unauthorised (401) error
Filter the url removing possible XXS

@vidurananayakkara These filters aren't for webapp developers. Hence, Filter interface shouldn't be in the UUF core spi package. It should be in the internal package.

Please note that the issue title is changed specific to the CSRF filters (so is the issue description) since we need to created separate issues for each filter we implement in the future

Closing this issue since resolved in PR Add filters when dispatching request


"diffEditor.renderSideBySide" needs resize event to take effect

See animation

I can reproduce but I am not sure this is a workbench or editor bug.

I cannot reproduce:

I can still reproduce this on 0.10.11-alpha. @alexandrudima you can step by and we can debug it if you want.


[CH] Build with arm64

Description
build gluten clickhouse with arm64

[Compile] incompatible functions

SparkFunctionRoundHalfUp

SparkFunctionFloor

[UT] Failed testcases
backends-clickhouse:
https://opencicd.kyligence.com/blue/organizations/jenkins/gluten%2Fgluten-ci-arm/detail/gluten-ci-arm/38/pipeline
Tests: succeeded 1877, failed 18, canceled 0, ignored 42, pending 0

17 failed testcases are caused by roundHalfup and floor, and another 1 testcase failed due to murmur3hash


Error with FindAsync method

The WePay API is returning "[]" and I'm seeing "Unable to cast object of type 'Newtonsoft.Json.Linq.JArray' to type 'Newtonsoft.Json.Linq.JObject'." when trying to using the Find method.

Line 137 in Shared/WePayApiService.cs is where it is throwing the cast error.

Sorry about that, I'll take a look either tomorrow or this weekend and get this fixed up. Thanks for reporting the issue! :)


switch to go-systemd for metadata socket activation

Environment
rkt Version: 1.14.0
appc Version: 0.8.7
Go Version: go1.6.3
Go OS/Arch: linux/amd64
Features: +TPM +SDJOURNAL
Linux 4.5.3-gentoo x86_64
NAME=Gentoo
ID=gentoo
PRETTY_NAME="Gentoo/Linux"
ANSI_COLOR="1;32"
HOME_URL="http://www.gentoo.org/"
SUPPORT_URL="http://www.gentoo.org/main/en/support.xml"
BUG_REPORT_URL="https://bugs.gentoo.org/"
systemd 229
+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK -SYSVINIT +UTMP -LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN
What did you do?
socket activate rkt-metadata.service, run cadvisor
What did you expect to see?
cadvisor connects to rkt-metadata
What did you see instead?
cadvisor hangs connecting to rkt-metadata
rkt metadata service has a very naive implementation of systemd socket activation. if you add an additional drop-in for rkt-metadata.service such as:
[Socket]
ListenStream=<IP_ADDRESS>:15441

in addition to the default ListenStream=/run/rkt/metadata-svc.sock, you will find rkt metadata is not listening on <IP_ADDRESS>:15441, but on <IP_ADDRESS>:18112! (kind of worrying that <IP_ADDRESS> is the default..)
https://github.com/coreos/rkt/blob/master/rkt/metadata_service.go#L659 should be switched to use github.com/coreos/go-systemd/activation instead of hand-rolling it.

Why is cadvisor connecting to the metadata service?
On 9 September 2016 at 05:31, Nick Owens<EMAIL_ADDRESS>wrote:

Environment
rkt Version: 1.14.0
appc Version: 0.8.7
Go Version: go1.6.3
Go OS/Arch: linux/amd64
Features: +TPM +SDJOURNAL Linux 4.5.3-gentoo x86_64
NAME=Gentoo
ID=gentoo
PRETTY_NAME="Gentoo/Linux"
ANSI_COLOR="1;32"
HOME_URL="http://www.gentoo.org/"
SUPPORT_URL="http://www.gentoo.org/main/en/support.xml"
BUG_REPORT_URL="https://bugs.gentoo.org/"
systemd 229
+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK -SYSVINIT +UTMP -LIBCRYPTSETUP
+GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN
What did you do?
socket activate rkt-metadata.service, run cadvisor
What did you expect to see?
cadvisor connects to rkt-metadata
What did you see instead?
cadvisor hangs connecting to rkt-metadata
rkt metadata service has a very naive implementation of systemd socket
activation. if you add an additional drop-in for rkt-metadata.service such
as:
[Socket]
ListenStream=<IP_ADDRESS>:15441
in addition to the default ListenStream=/run/rkt/metadata-svc.sock, you
will find rkt metadata is not listening on <IP_ADDRESS>:15441, but on
<IP_ADDRESS>:18112! (kind of worrying that <IP_ADDRESS> is the default..)
https://github.com/coreos/rkt/blob/master/rkt/metadata_service.go#L659
should be switched to use github.com/coreos/go-systemd/activation instead
of hand-rolling it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/coreos/rkt/issues/3178, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACewN5q8kr7iDT2iQcZmVJ-LDqWTCgUlks5qoOEQgaJpZM4J4sP0
.

@jonboulle because @sjpotter made it so! :-)
https://github.com/google/cadvisor/blob/master/container/rkt/client.go

That's the API service, which is very different from the metadata service.

@jonboulle oops, that explains some confusion.
however, the bug report still stands, i think rkt metadata should handle socket activation correctly with multiple sockets :-)

#1267

I'm demilestoning this for the moment, until we have a free slot to tackle it.


To test bucharest-gold projects on windows

Usage
npm test
The build if applicable

[ ] fidelity

Notes:
N/A

[ ] szero

Notes:
N/A

[ ] opossum

Notes:
N/A

[ ] roi

Notes:
N/A

[ ] nodeshift

Notes:
N/A

Closing this initial effort for now.


Train using depth ground truth not disparity

we want to train AnyNet to calculate the loss on depth not disparity as it will be more efficient as discussed in Pseudo Lidar to use AnyNet with its high performance in time to use 3D object detection approach
can we train AnyNet model for with loss depth-based ?

@AhmedMoamen62 have you found a solution? I'm facing the same problem

@KhaledSharif until yet, no

@AhmedMoamen62 I looked into this a bit and I think it's not possible. If you check the _build_volume_2d3 function in anynet.py you will see it uses a function called warp, which warps the right image onto the left during training. Therefore the neural network is built for disparity images only. Looking forward to hearing the author's thoughts too.


Add Swift 4 env var to Travis

Codecov Report

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

@@           Coverage Diff           @@
##           master      #19   +/-   ##
=======================================
  Coverage   90.44%   90.44%
=======================================
  Files           9        9
  Lines         471      471
=======================================
  Hits          426      426
  Misses         45       45

Flag
Coverage Δ

#KituraWebSocket
90.44% <ø> (ø)
:arrow_up:

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 a5dd4dc...d178264. Read the comment docs.


Make helper function "Install-ModuleIfNotInstalled" threadsafe

Fixes #6514

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow


[FEATURE REQUEST] Add ability to fire notices only for specific subnets

In order to weed out the noise of enabling notices for all long connections and focus in on the high priority/sensitivity networks where long connections may be a big red flag, having the ability to only enable notices for specific subnets would be an amazing feature to add to this already great bro package.  Thank you!

@sethhall I just happened to come across this again, thinking that this may already be possible and I just hadn't had the time to look into it more at the time I posted this?  This might not even make sense but I'll have to dig back into it at some point...just wanted to note that here.

I've wavered on configuration options like this forever because it's something that we would have traditionally handled through the notification framework, but I can see the semantics of handling it directly in the package are appealing.  I think I'll go ahead and add an option.


Revised Venn Diagram

I reworked the .tex file and added a new circle.
The conversion from .pdf to .png is done via imagemagick and this.

Thanks for the update, please adjust it to be Structural Econometrics instead of Structural Economics at the intersection of all circles.

Done. In addition to that, venn_diagram.png is overwritten with the new file and the .tex file is cleaned.

Great, thanks!


Fatal Error: unknown model when parsing blif file

I am trying to compile and upload generated verilog code using yosys and arachne-pnr, and running into an error with the blif file. I have included the verilog, blif, and pcf files below.
stencil.zip
So running the following yosys and arachne-pnr command
yosys -q -p 'synth_ice40 -top main -blif stencil.blif' stencil.v
arachne-pnr -q -d 1k -o stencil.txt -p stencil.pcf stencil.blif

I run into this error
stencil.blif:1138: fatal error: unknown model `$mem'
make: *** [stencil.bin] Error 1

Looking at the verilog, it seems its referring to the module coreir_mem (stencil.v, line 739), but it seems like this module should be able to be compiled/supported by ice40. Is it possible that there is a bug in arachne-pnr that is causing this issue?
@leonardt

It seems that the $mem refers to an instance of the following verilog module (pulled out of the source for convenience). I did some reading and it seems that yosys supports compiling behavioral verilog to the ice40 BRAMs, but perhaps there's something about this module that is causing the issue.
module coreir_mem #(parameter depth=1, parameter has_init=1, parameter width=1) (
  input clk,
  input [width-1:0] wdata,
  input [$clog2(depth)-1:0] waddr,
  input wen,
  output reg [width-1:0] rdata,
  input [$clog2(depth)-1:0] raddr
);
reg [width-1:0] data[depth-1:0];
always @(posedge clk) begin
  if (wen) begin
    data[waddr] <= wdata;
  end
end
assign rdata = data[raddr];

endmodule //coreir_mem

Here is the instantiation from line 1442 of the source verilog
  coreir_mem #(.depth(16),.has_init(0),.width(8)) mem(
    .clk(mem__clk),
    .raddr(mem__raddr),
    .rdata(mem__rdata),
    .waddr(mem__waddr),
    .wdata(mem__wdata),
    .wen(mem__wen)
  );

The line
assign rdata = data[raddr];

defines a RAM with an asynchronous read port, which is not supported in the iCE40 hardware. Hence Yosys is unable to map it to the iCE40 primitive (tbh I would have expected it to smash it into hundreds of thousands of DFFs and LUTs, but that would be equally useless).

Got it, makes sense. So we will work around this by changing our memory to have a synchronous read, thanks!


Better and more responsive tag behavior

What it does
It adds just 3 lines of code on "quartz/styles/base.scss" that will change tags display from flex to flex-wrap.
Examples
On big screens (computers and such):

Having lots of tags makes them overflow to the right and appear corssing the graph veiw.

This change allows the tags to overflow down to a new line, keeping the UI clean.

On smaller screens (mobile and similar):

Having lots of tags results in the page being wider to acomodate all tags, but nothing else resizes with them.

Once again, this change allows the tags to overflow down to a new line, keeping the UI clean.

Change moved to TagList.tsx. I'd say everything was and is rightfully formatted 🤔, I will be careful to reformat anything if needed :)

we have a formatter, you can run it via npm run format

I see, sry for that, thanks for telling me the formatting command, I didn't know about it.
First time I work on a PR and less than a week with quartz 😬
I used it and only base.scss changed, which is okay since for what i've seen the last 2 ubuntu errors were cuaght on that very same file.

Hope that does it!  :)

thanks!


Bug in reddit example

Code to reproduce the issue:
https://share.effector.dev/ubCqnRiN
Expected behavior:
One request after timeout is enough.
Actual behavior:
App fetch data twice after every timeout
Versions of packages used:
master branch

Thanks, good catch 👍
Also additional comments added and improved code readability

https://share.effector.dev/T5CyxSFl


Endpoints is not creating properly in dashboards

I checking out my pinpoint dashboard and I seeing the revenue, units sold, paying users.
But when I check the endpoints or something related with the endpoint is 0.

¿What could be the issue?
Because If I want create a campaign, the first need I need is the endpoints.

Hi @fbarraganef -
Thanks for reaching out to us.
We'd love to start try and solving this issue, but difficult to know where to start.  Could you let us know the following:

What package you are using (amplify? aws-sdk-ios?  aws mobile hub?)
What version of package you are using?
Provide some minimal sample code of your application calling our framework code
If possible, relevant documentation that you followed, that lead you to this state.
Is this something that was working before?
If it is something that was working before, then can you tell us when it stopped working?
If it never worked for you, please let us know that as well.

Thank you!

Thanks for you reply.
Well, I'm using Amplify SDK.
Amplify 1.1.0
Amplify Plugins 1.1.0
But I using the implementation legacy implementation of my code using AWSMobileClient and Pinpoint objects for upload events and monetization events.
func setupClient(withLaunchOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) {
AWSMobileClient.default().initialize { (userState, error) in
if let error = error {
print("Error initializing AWSMobileClient: (error.localizedDescription)")
} else if let userState = userState {
print("AWSMobileClient initialized. Current UserState: (userState.rawValue)")
switch userState {
case .signedOut, .signedOutUserPoolsTokenInvalid, .signedOutFederatedTokensInvalid, .unknown:
print("Token will be reset and recreated :  (userState.rawValue)")
CognitoManager.shared.resetToken()
default: break
}
}
}
pinpoint = AWSPinpoint(configuration: AWSPinpointConfiguration.defaultPinpointConfiguration(launchOptions: launchOptions))
}
func create(event: String, attributes: [String: String]? = nil, metrics: [String: NSNumber]? = nil) {
guard let pinpoint = pinpoint else { return }
let eventPin = pinpoint.analyticsClient.createEvent(withEventType: event)
if let eventAttributes = attributes {
  for (key, attributeValue) in eventAttributes {
    eventPin.addAttribute(attributeValue, forKey: key)
  }
}

if let eventMetrics = metrics {
  for (key, metricValue) in eventMetrics {
    eventPin.addMetric(metricValue, forKey: key)
  }
}
pinpoint.analyticsClient.record(eventPin)
uploadEvents()

}
func createMonetizationEvent(productId: String, price: Double, currency: String, quantity: Int) {
guard let pinpoint = pinpoint else { return }
let event = pinpoint.analyticsClient.createVirtualMonetizationEvent(withProductId: productId, withItemPrice: price, withQuantity: quantity, withCurrency: currency)
pinpoint.analyticsClient.record(event)
uploadEvents()
}
func uploadEvents() {
guard let pinpoint = pinpoint else { return }
pinpoint.analyticsClient.submitEvents()
}
Im using federated login and I'm using the following snippet:
func setupCognito(identityId: String, token: String) {
let credentialsProvider = AWSCognitoCredentialsProvider(regionType: .USWest2, identityPoolId: identityId)
let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialsProvider)
AWSServiceManager.default().defaultServiceConfiguration = configuration
let federated_options = FederatedSignInOptions(cognitoIdentityId: identityId)
let provider = IdentityProvider.developer.rawValue

AWSMobileClient.default().federatedSignIn(providerName: provider, token: token, federatedSignInOptions: federated_options) { (userState, error) in
  if let error = error as? AWSMobileClientError {
    print(error.localizedDescription)
  }
  if let userState = userState, userState == .signedIn {
    print("Status: \(userState.rawValue)")
  }
}

}
func signOutCognito() {
AWSMobileClient.default().signOut { (error) in
guard let error = error else { return }
print(error)
}
}
The submission of events works well, but the endpoints in the dashboard in order to use it for send notifications, emails or any campaign is not reflecting.
I'm using past implementation because in my understanding behind the scenes there are the same objects from AWSMobileClient and PinPoint and the Amplify SDK until the moment have limited functionalities , for example the monetization events.
Thanks, if you need more information please let me know.

Hi fbarraganef@,
It seems like monetization events are being sent to the service correctly because you are seeing statistics with regards to around units sold (in your screen shot it shows 7092).  I'm not sure how many endpoints are active for the time period you are looking at, but in reading the description of "units sold per endpoint", it says:

The Units sold per endpoint chart shows the daily average number of items that were purchased by each endpoint. Amazon Pinpoint calculates this number by dividing the number of units sold each day by the number of endpoints that were active during the selected time period. This chart also provides the average number of units that were sold per endpoint for the entire time period, as well as the percentage change in the number of units sold per endpoint from the beginning to the end of the analysis period.

So, in reading that description, if your number of units sold each day (called "X") is less than the number of active endpoints for that selected period (called Y), then I suspect the chart is showing you the correct information, because X/Y would be some fractional amount and I suspect the dashboard is only showing integer values.
As an example, I recreated a scenario where I have:

A single endpoint
Called createVirtualMonetizationEvent TWICE on a product which costs $1.00 USD
Set the filter in the web portal to only show for "today" (see upper left hand corner of attached screenshot)

As a result, i see that units sold per endpoint is set to 2.

Hope this helps, but let us know if you continue to have issues with this.

Hello @wooj2, thank you for you explanation even if select for display the charts for today is still display in 0.00.
The weird situation is when I want to create a segment taking in count my platform in this case iOS, there is a message that there is not endpoints available, but when I see the revenue chart so there's purchases.
I update the token for the push notifications and I assigned an attribute to the endpoint for save the email of the user/endpoint but when I want create the segment is the main problem.
Thanks


only build apache module if apache is installed

also, detect whether to use apxs or apxs2.
i'll need autoconf and friends to build a custom Makefile. not my strong suit.

merged 'autoconf branch 0be1ae684d7cd2b4120c9473f3eb9a23289810f3


Increase the test coverage

Add additional unit tests to verify the Recon parser and Writer implementations.

Significant amount of unit tests were introduced in c58aa89291489535361335667b3213c5c09a8b2d


[DUOS-2184][risk=no] Add alternative data sharing plan to dataset

Addresses
https://broadworkbench.atlassian.net/browse/DUOS-2184

Have you read CONTRIBUTING.md lately? If not, do that first.

Label PR with a Jira ticket number and include a link to the ticket
Label PR with a security risk modifier [no, low, medium, high]
PR describes scope of changes
Get a minimum of one thumbs worth of review, preferably two if enough team members are available
Get PO sign-off for all non-trivial UI or workflow changes
Verify all tests go green
Test this change deployed correctly and works on dev environment after deployment

Overall changes look good to me. We don't have to specify the new alternativeDataSharingPlanFile explicitly in the DatasetDAO queries because it's all being handled within the DatasetReducer, correct? I was looking for a way to test the changes locally - I see the json input for alternativeDataSharingPlanFile under the Update Dataset endpoint but I think our swagger is still a little messed up because I keep getting invalid URL errors when trying to use that endpoint to update the alternative file details.

So that endpoint will not update those files. Unfortunately, there is no endpoint to add them. The only way to add them (for now) is to attach to the local postgres instance and add the FSOs manually, which is a bit annoying.

@otchet-broad @quazi-broad thanks for the 👍 s! FYI i think i will wait for the Gson changes to roll out before merging this, since these codes paths are heavily related and I think that PR handles FSO objects more elegantly.


feat(jaeger-propagator): propagate/extract baggage #2137

Spec: https://www.jaegertracing.io/docs/1.21/client-libraries/#propagation-format
I checked and the spec doesn't say if we should support both HTTP_HEADERS and TEXT_MAP encoding but since this propagator is mostly used for http propagation, i'm not sure how we should do that.
There is already a discussion in the java SIG for this (https://github.com/open-telemetry/opentelemetry-java/issues/2032) and its apparently waiting for the spec to be solved. I think we should wait for spec to know if we need both or not
Fixes #2137

I've rebased and address comments

@vmarchaud after conflicts and @obecny's nit you can merge


Is there support for callstack-style tables (i.e. for visualizing hierarchical relationships)?

WPA's call stack views are incredibly useful -- is it possible to replicate this behavior using the SDK?  I can't see any examples of it based on initial searches.
Context: the EventSource Activities Specification details a way of encoding hierarchical event details using the standard Activity and RelatedActivity GUIDs present in ETW events.  On page 4 of that document, they show an example of PerfView depicting such events in a tree view:

The call stack view in WPA would be the equivalent of that tree view in PerfView.  Is there currently a way to do that programmatically via the SDK?  i.e. being able to build arbitrarily-deep trees that you can expand/collapse etc.  Just looking for pointers on what APIs I should be looking at if it is possible (or some existing WPA SDK plugins that leverage such functionality).

Hi @tpn,
It is possible to create a hierarchical column (similar to the stack columns) in the SDK via the AddHierarchicalColumn.
We are working on a some samples to demonstrate, but the Linux PERF plugin's CPU Sampling Table.
The AddHierarchicalColumn requires a ICollectionInfoProvider.
Here is an example:
ArrayAccessProvider
Hope this helps get you started!

Fantastic, thanks!


No touchscreen on Asus Flip with Apollo Lake.

I'm sorry if I did not provide enough information right off the bat. Feel free to ask for more device info. I have a Chromebook, which I recently gave full control to Linux over, using your UEFI Full ROM Firmware. My Linux distro is Debian 12, running Plasma and Wayland. The kernel version is 6.1.0.
Normally, under Wayland, Plasma has a tab which is supposed to allow Touchscreen configuration. Under X11, it doesn't even have such a tab. But even under Wayland, when I click on that tab, it shows me "No touchscreens found."
I just updated your UEFI Firmware, without any real problems, except for the fact that the touchscreen is still not detected.
I have looked in the 'dmesg' log, and this is the closest I was able to find:
[    5.191515] elan_i2c i2c-ELAN0000:00: supply vcc not found, using dummy regulator
[    5.214946] ACPI: AC: AC Adapter [AC] (off-line)
[    5.223314] cr50_i2c i2c-GOOG0005:00: cr50 TPM 2.0 (i2c 0x50 irq 57 id 0x28)
[    5.270761] cros-usbpd-notify-acpi GOOG0003:00: Couldn't get Chrome EC device pointer.
[    5.292846] Adding 999420k swap on /dev/mmcblk1p3.  Priority:-2 extents:1 across:999420k SSFS
[    5.305967] elan_i2c i2c-ELAN0000:00: Elan Touchpad: Module ID: 0x0061, Firmware: 0x0006, Sample: 0x000c, IAP: 0x000c
[    5.325083] input: Elan Touchpad as /devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-4/i2c-ELAN0000:00/input/input5

In other words, the touchpad works 100%, but the touchscreen no. Because the dmesg log is mainly clean, it looks to me like there is not even the device being detected, for the kernel to go looking for the correct driver.
It's not extremely important, but would be nice to get the touchscreen working.
Sincerely,
Dirk
Update:
I think I may have found a relevant fact. This Chromebook has both a touch-pad and a touch-screen. Just for the fun of it, I just followed online instructions on how to set up a "touch-screen" within an X11 session, with the command...
xinput_calibrator
To my amazement, the actual surface of the display still did not respond to my finger. But, I could now perform the calibration with my touch-pad.
What's mysterious about this is the fact that under ChromeOS, I was able to switch back and forth between using the touch-pad and the touch-screen, without having to do anything. The creepy possibility starts to dawn on me, that Linux may just not be ready for both input devices to be turned on.
Unfortunately, a touch-screen is sometimes more useful than a touch-pad, for example, in the case of a Chromebook Flip, which goes into tablet mode when flipped. I have observed that mine also tries to do this, because when I flip the lid over, the display rearranges itself partially for tablet mode. However, it's still the touch-pad that accepts input, not, the touch-screen. :/

please provide a cbmem boot log so we can verify the firmware is detecting/initializing the touchscreen

Could you please let me know, what command(s) I must type in, to obtain a "cbmem boot log"? I have never done this before.
Dirk

Sorry to bump. But I think I've made some progress with this (since the output above seems to suggest, that Mr. Chromebox is recognizing the ELAN Touchscreen as well as the ELAN Touchpad). If I run the following command...
apt-file search elan.ko

I get copious output, telling me that the kernel module has been compiled into the kernel by devs. However, the following command produces no output at all:
apt-file search elan_ts.ko

Or, for that matter,
apt-file search elan_ts

What this would seem to suggest is, that Debian devs have compiled to module for the touchpad into the kernel, but have not compiled the module for the touchscreen. And if this interpretation is correct, the problem is not a responsibility of Mr. Chromebox. Would you agree?
Dirk

the firmware is definitely not the issue here I'd say. You can always live boot a Ubuntu or PopOS USB and the touchscreen should work OOTB there

One thing which I have done now was, to install the package 'xserver-xorg-input-synaptics', and to boot into an X11 session. But, the only effect this seemed to have was, that I get to see the fancier settings panel, for my actual touch-pad (which I've seen many times before). So because, as I had written at the beginning of this thread, touch-screen support is not critical for me, I will just have to accept, that this is one thing which will not work for me, under Debian.
Anyhow, thank you for your time.
Dirk

I will just have to accept, that this is one thing which will not work for me, under Debian.

I don't see why this is, there's no configuration needed normally, just the elan_ts module loaded

First off, during a previous posting, I had made some mistakes. I had posted an incorrect link, which did not serve to substantiate my case. This would be the correct link:
https://bugzilla.kernel.org/show_bug.cgi?id=207759
Secondly, there is a fact about kernel-compiling, which I had not known, until this very experience. There exist in-tree kernel modules, which the maintainers can just configure, should not be compiled with their kernel builds.
So, there was the kernel module which was really named 'elan_i2c', which my distro ships with, and which gave me the touchpad, and then there is the module 'elants_i2c', which the Debian maintainers have chosen - up to Debian 12 - not to build.
I think that one of the ways in which Debian becomes more stable than most kernel builds is, when there is a kernel module which often causes problems, they just elect not to build it. So, according to the correct link above, a problem with this module seemed to be, that it will sometimes falsely claim a device, causing that device no longer to work.
What I have now done is, to custom-compile that kernel module. The way one does that is, to download the entire kernel source, but then only to build the parts of it which one needs, as described in this link:
https://forums.debian.net/viewtopic.php?p=788022#p788022
Believe it or not, when I gave the insmod command, my touch-screen worked perfectly! So now, I have a Debian 12 Chromebook, with a working touchscreen!
Now, there is a way in which what I did was not proper. I did not make this a DKMS module, simply because I don't know how. If mine were a DKMS build, every time I'd get a kernel update, and the update to the header files, the module would automatically get recompiled. What I did instead was, just to unsubscribe from future kernel updates, and to write my own .service file, that inserts my once-built module after every boot.
This way, on a Chromebook with only 32GiB of raw storage, I was also able to delete the kernel source code, and the kernel headers, and free up a lot of storage. The uncompressed source code takes up 1.8GB of storage!
Sincerely,
Dirk


rust-spiffe: provide a local validation of the JWT-SVID

This is an issue for the rust-spiffe repository when the JWT-SVID feature is merged in.
Currently validation of JWT-SVID tokens is done through the Workload API (ValidateJWTSVID operation). However this creates the constraint of trusting the Workload API endpoint: the JWT-SVID is a secret and is a parameter of that call. If an attacker controls that socket then they have access of the authentication values of clients.
The validation could instead be done locally by fetching the trust bundle (the SPIFFE public keys) through the Bundle Endpoint which is authenticated.

The validation could instead be done locally by fetching the trust bundle (the SPIFFE public keys) through the Bundle Endpoint which is authenticated.

From what I understand, this is based on JWK and for authenticating the Bundle Endpoint, there are two recommended approaches.
The first one uses public CAs to authenticate the keys used in TLS - we'd need to use a TLS implementation and have access to a (local?) set of trusted CA certificates. Maybe we can ask them how they recommend this to be implemented?
The second option uses TLS too, but ultimately relies on an initial trust bundle that is set up "through an offline exchange", so it'd have to be passed/configured by the admin (?)
I'm curious if either of these options is already implemented somewhere in Rust, sounds like something that would be reusable by many other projects that integrate with Spiffe.

Closing because of the above. If we wanted to add the validation in Parsec, we could use the parse_and_validate method on the new spiffe crate that we use.


Create REST API for administering the bot

Still to do:

Endpoint to to start|stop|status the bot
OAuth2 security: Keystores, credentials, etc...
Audit/access logging

Still ToDo:

New Runtime endpoint to: start|stop|status the bot, display/tail/download bot log, display bot resource usage, e.g. memory, cpu, disk.

Outstanding Work

[ ] TLS configuration - test + docs.
[ ] Update Gradle build for JBehave, Swagger, code coverage.
[ ] Boost test coverage.
[ ] Fix Sonar issues.

Sonar issues need fixing then ready to go... finally!

Released.


Update sbt-scalajs, scalajs-compiler, ... to 1.6.0

Updates

org.scala-js:sbt-scalajs
org.scala-js:scalajs-compiler
org.scala-js:scalajs-library
org.scala-js:scalajs-test-bridge

from 1.5.1 to 1.6.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-js" } ]

labels: library-update, semver-minor

Codecov Report

Merging #95 (92949e9) into main (6adb856) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main      #95   +/-   ##
=======================================
  Coverage   99.95%   99.95%
=======================================
  Files          49       49
  Lines        2274     2279    +5
  Branches      106      104    -2
=======================================
+ Hits         2273     2278    +5
  Misses          1        1

Impacted Files
Coverage Δ

...s/quine/labo/recheck/automaton/EpsNFABuilder.scala
100.00% <ø> (ø)

...la/codes/quine/labo/recheck/cli/BatchCommand.scala
100.00% <100.00%> (ø)

...scala/codes/quine/labo/recheck/codec/package.scala
100.00% <100.00%> (ø)

...rc/main/scala/codes/quine/labo/recheck/ReDoS.scala
100.00% <100.00%> (ø)

...cala/codes/quine/labo/recheck/common/Context.scala
100.00% <100.00%> (ø)

...s/quine/labo/recheck/diagnostics/Diagnostics.scala
100.00% <100.00%> (ø)

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 df01728...92949e9. Read the comment docs.


rename the section ID to "page-nnnn"

In CSS, selectors cannot begin with a numeric ID.
There are workarounds but following the spec seems better.

There is lots of code that depend on the current shape of the id. The ids also act as anchors for non-js deep links (not sure if that is really used). Why do you want to reference ids from CSS?

Coverage remained the same at 99.059% when pulling 5028a7675f6c737f48ff325fc730db6243e0c811 on scrollytelling:section-css-selector into 60713f627685b6c8f7564d29527f23064b53b11e on codevise:master.

I see. Maybe introduce a class for it?
I have used it to style some pages—not all—selectively. Theses pages needed a media query too.
(My finest attempt at a passive aggressive dig towards wysihtml follows 😇:) if the html editor was more powerful, I could maybe have editors handle this themselves. Either in the html editor, via some inline element, or the html source. Or by allowing us to extend editor functions, or tag the page with free-form key/values, that end up targetable by CSS.
A bold, italic and underline button isn't enough, really.

While I totally agree with your criticism of the current rich text editor capabilities, I still think styling individual pages inside the theme should be a last resort. And for a last resort, I feel, the current workaround .page[id=15] works well enough, or at least does not justify including an additional css class on each and every page.
And while I have gone through a fair share of aggression regarding wysihtml myself, it has to be said, that it actually allows for a way bigger feature set than we currently use. Looking into enabling at least lists and headings would probably be a great first step.

That's fair enough.
And I would welcome an upgrade to wysihtml, because I think that at least fixes the bug where you cannot get rid of empty <b></b>. (I hope)
Pageflow still uses the 0.4.17 version from November 2014. Are you open to using https://github.com/Voog/wysihtml-rails instead, either 0.5.5 or 0.6.0.beta2? (the latter works fine, btw)

Yes, I'd be open to give the new version a try.


!Bang deep links

I’d like to be able to go straight into the relevant app when doing a !Bang search. For example, !q should take the user straight into the Quora app rather than display the mobile site.

Thanks for the suggestion, and sorry for not replying sooner.
There's a few problems with this:

When you use a bang you go directly to the site, because you didn't explicitly click a link it doesn't open the app using the universal link.   You maybe be better off searching for your subject and adding 'quora', or whatever site, to your search query. If you have the app installed then hopefully it will launch the right app for you when you tap the link on the search results page.

If we wanted to support bangs opening other apps then we'd have to check for the existence of the target app, but the target app would also need to support a url scheme.  This is because we can't trigger universal links automatically, so we'd have to work out what all the possible url schemes for all possible apps are.  Apart from being an arduous task, even if it is possible, iOS limits the number of url schemes you can query for so, wouldn't we be able to support a lot of apps and that wouldn't be hugely useful or fair to apps that we don't support.

Related to the above, url schemes are not guaranteed to be associated to one app.  Any app can support any url scheme so we couldn't even be sure that we're opening the app you desire and that could be a privacy / security issue.

As such, I'm going to close this out as it's we're unlikely to do anything in this area, but your feedback has been noted.  Sorry we couldn't be more helpful here and thanks for your continued use of our app!

No worries, and thank you for the detailed explanation!


English Font

Find this beautiful font: Aniron
https://www.thehutt.de/tolkien/fonts.html

In the readme file, the license are:

You are allowed to distribute this font free of charge only, and only with the complete contents of the original archive file included. You are allowed to use this font for private use only. Commercial use and/or modification of this font are not allowed.


No mirror syncs (already in queue), cannot flush queues

Description
Using the official docker image.
I noted that some of my mirrored repositories had not updated in 3 months.
I can clone new mirror repositories from the same provider no issues.
Manually running a sync provides the following in gitea.log:
...ices/mirror/queue.go:59:func1() [E] Unable to push sync request for to the queue for pull mirror repo[112]. Error: already in queue
Web interface shows queue empty:

Tried to flush queues anyway via command line, but this also resulted in an error:
26beeea78e51:/$ gitea manager flush-queues
2024/01/25 09:37:08 .../setting/security.go:168:loadSecurityFrom() [W] Enabling Query API Auth tokens is not recommended. DISABLE_QUERY_AUTH_TOKEN will default to true in gitea 1.23 and will be removed in gitea 1.24.
context deadline exceeded
internal API error response, status=408

This generated the following error in the gitea.log:
...eb/routing/logger.go:102:func1() [I] router: completed POST /api/internal/manager/flush-queues for <IP_ADDRESS>:0, 408 Request Timeout in 60458.1ms @ private/manager.go:35(private.FlushQueues)
Any clues where I might be going wrong?
docker-compose.yml:
version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: always
    networks:
      - gitea
    volumes:
      - ./data:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "<IP_ADDRESS>:3000:3000"
      - "<IP_ADDRESS>:2224:2224"

app.ini:
APP_NAME = Git
RUN_MODE = prod
RUN_USER = git
WORK_PATH = /data/gitea

[repository]
ROOT = /data/git/repositories

[repository.upload]
TEMP_PATH = /data/gitea/uploads

[server]
PROTOCOL = http
APP_DATA_PATH = /data/gitea
SSH_DOMAIN = git.domain.com
HTTP_PORT = 3000
ROOT_URL = https://git.domain.com
DISABLE_SSH = false
START_SSH_SERVER = true
SSH_PORT = 2224
DOMAIN = git.domain.com
LFS_START_SERVER = true
LFS_JWT_SECRET = REMOVED
OFFLINE_MODE = true
ENABLE_GZIP = true

[lfs]
PATH = /data/gitea/lfs

[database]
PATH = /data/gitea/gitea.db
DB_TYPE = sqlite3
HOST = localhost:3306
NAME = gitea
USER = root
PASSWD = REMOVED
SSL_MODE = disable

[session]
PROVIDER_CONFIG = /data/gitea/sessions
PROVIDER = file

[picture]
AVATAR_UPLOAD_PATH = /data/gitea/avatars
DISABLE_GRAVATAR = false
ENABLE_FEDERATED_AVATAR = false

[attachment]
PATH = /data/gitea/attachments

[log]
ROOT_PATH = /data/gitea/log
MODE = file
LEVEL = Info

[security]
INSTALL_LOCK = true
SECRET_KEY = REMOVED
INTERNAL_TOKEN = REMOVED
LOGIN_REMEMBER_DAYS = 14
COOKIE_USERNAME = REMOVED
COOKIE_REMEMBER_NAME = REMOVED

[mailer]
ENABLED = false
HOST = mail.domain.com:465
FROM = "REMOVED"<EMAIL_ADDRESS>USER =<EMAIL_ADDRESS>PASSWD = REMOVED

[service]
REGISTER_EMAIL_CONFIRM = true
ENABLE_NOTIFY_MAIL = true
DISABLE_REGISTRATION = false
ENABLE_CAPTCHA = true
REQUIRE_SIGNIN_VIEW = false
DEFAULT_KEEP_EMAIL_PRIVATE = true
DEFAULT_ALLOW_CREATE_ORGANIZATION = true
DEFAULT_ENABLE_TIMETRACKING = true
NO_REPLY_ADDRESS = noreply.domain.com

[openid]
ENABLE_OPENID_SIGNIN = false
ENABLE_OPENID_SIGNUP = false

[oauth2]
JWT_SECRET = REMOVED

[cron.update_mirrors]
SCHEDULE = @every 10m
ENABLED = true
RUN_AT_START = true
PULL_LIMIT=100
PUSH_LIMIT=100

[mirror]
ENABLED = true
DEFAULT_INTERVAL = 8h

Gitea Version
1.21.4
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
2.40.1
Operating System
Official gitea image, which appears to be Alpine Linux 3.18
How are you running Gitea?
Docker (as per description details)
Database
SQLite

Could you try to "Remove all" queue items and retry? Maybe it's related to levelqueue corruption.

Thank you - didn't know about that feature. It is working now - is this just likely random corruption, or is there some misconfiguration I've made that's likely contributed to this?

It might be a levelqueue bug (not misconfiguration)
Just a guess, more details: Help to recover from corrupted levelqueue #24912

Sure, thank you - I'll keep an eye on it to see, but will close it off for now. Have a great night/day!


Make platforms visible in system landscape.

Breaking change in shared GH workflow that makes this fail. So blocked by https://github.com/Energinet-DataHub/.github/pull/362 for now


Possibility of using persistent buffer with AnimatedSampler

Hi
Thanks very much for this library. I've been using AnimatedSampler to create some shader effects over a widget, using examples from shadertoy as a reference/inspiration.
One thing I cannot work out how to do is create fading trails or anything like that, because data generated in the previous frame's render isn't available to the next.
See this shadertoy example in which you can click and create a trail with the mouse. This is achieved in less than 10 lines of code.
I've never used shaders before, but I think it manges this by doing two passes (seen in the tabs on the shadertoy page):

Buffer A
Image

Where "Buffer A" is somehow persistent and used by "Image".
Is this possible to do using AnimatedSampler (or even possible at all in Flutter?)
Thank you.

Its not a goal of this library to make it easy to create shader playgrounds, just to apply shaders to existing widget trees.
You can do what you want today, but you'd need to manage the canvas operations yourself. For example:
import 'dart:ui' as ui;

// frame 1
var recorder = ui.PictureRecorder();
var canvas = ui.Canvas(recorder);
canvas.drawRect(..., Paint()..shader = /* your shader */)
var picture = recorder.endRecording();

// Now feed this image in as input to frame 2, et cetera.
var image = picture.toImageSync();

I see, thanks for the example


Unable to build on macOS due to ERR_PACKAGE_PATH_NOT_EXPORTED

Prerequisites

[ x ] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description

I am currently unable to build atom on macOS. See build error below.
Steps to Reproduce

run script/build --ci

Expected behavior:
build script should run without errors.
Actual behavior:
internal/modules/cjs/loader.js:498
  throw new ERR_PACKAGE_PATH_NOT_EXPORTED(basePath, mappingKey);
  ^

[Error [ERR_PACKAGE_PATH_NOT_EXPORTED] [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main resolved in<EMAIL_ADDRESS>  at applyExports (internal/modules/cjs/loader.js:498:9)
  at resolveExports (internal/modules/cjs/loader.js:514:23)
  at Function.Module._findPath (internal/modules/cjs/loader.js:642:31)
  at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1017:27)
  at Function.Module._load (internal/modules/cjs/loader.js:899:27)
  at Module.require (internal/modules/cjs/loader.js:1090:19)
  at require (internal/modules/cjs/helpers.js:75:18)
  at Object.<anonymous> (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/preset-env/lib/debug.js:8:33)
  at Module._compile (internal/modules/cjs/loader.js:1201:30)
  at Object.Module._extensions..js (internal/modules/cjs/loader.js:1221:10)
  at Module.load (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/script/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
  at Function.Module._load (internal/modules/cjs/loader.js:938:14)
  at Module.require (internal/modules/cjs/loader.js:1090:19)
  at require (internal/modules/cjs/helpers.js:75:18)
  at Object.<anonymous> (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/preset-env/lib/index.js:11:14)
  at Module._compile (internal/modules/cjs/loader.js:1201:30)
  at Object.Module._extensions..js (internal/modules/cjs/loader.js:1221:10)
  at Module.load (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/script/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
  at Function.Module._load (internal/modules/cjs/loader.js:938:14)
  at Module.require (internal/modules/cjs/loader.js:1090:19)
  at require (internal/modules/cjs/helpers.js:75:18)
  at requireModule (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/core/lib/config/files/plugins.js:165:12)
  at loadPreset (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/core/lib/config/files/plugins.js:83:17)
  at createDescriptor (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/core/lib/config/config-descriptors.js:154:9)
  at /opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/core/lib/config/config-descriptors.js:109:50
  at Array.map (<anonymous>:null:null)
  at createDescriptors (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/core/lib/config/config-descriptors.js:109:29)
  at createPresetDescriptors (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/core/lib/config/config-descriptors.js:101:10)
  at presets (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/core/lib/config/config-descriptors.js:47:19)
  at mergeChainOpts (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/core/lib/config/config-chain.js:320:26)
  at /opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/core/lib/config/config-chain.js:283:7
  at buildRootChain (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/core/lib/config/config-chain.js:120:22)
  at loadPrivatePartialConfig (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/core/lib/config/partial.js:85:55)
  at loadFullConfig (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/core/lib/config/full.js:43:39)
  at Object.transformSync (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@babel/core/lib/transform.js:41:38)
  at /opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@atom/babel7-transpiler/lib/index.js:54:28
  at withBabelEnv (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@atom/babel7-transpiler/lib/index.js:18:15)
  at Object.transpile (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/out/app/node_modules/github/node_modules/@atom/babel7-transpiler/lib/index.js:53:12)
  at PackageTranspilationRegistry.transpileWithPackageTranspiler (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/src/package-transpilation-registry.js:158:33)
  at Object.compile (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/src/package-transpilation-registry.js:59:23)
  at compileFileAtPath (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/src/compile-cache.js:109:31)
  at Object.exports.addPathToCache (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/src/compile-cache.js:82:14)
  at transpilePath (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/script/lib/transpile-packages-with-custom-transpiler-paths.js:86:18)
  at Array.forEach (<anonymous>:null:null)
  at module.exports (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/script/lib/transpile-packages-with-custom-transpiler-paths.js:64:24)
  at Object.<anonymous> (/opt/local/var/macports/build/_Users_lass_ports_editors_atom/atom/work/atom-atom-1d0abfa/script/build:75:3)
  at Module._compile (internal/modules/cjs/loader.js:1201:30)
  at Object.Module._extensions..js (internal/modules/cjs/loader.js:1221:10)
  at Module.load (internal/modules/cjs/loader.js:1050:32)
  at Function.Module._load (internal/modules/cjs/loader.js:938:14)
  at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
  at internal/main/run_main_module.js:17:47
] {
  code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}

Reproduces how often:
100%
Versions
macOS 10.15.6
XCode 11.6
I'm using macports and also the atom build is run via a custom macports port. Following versions may also be of interest:
node: v14.5.0 (also tried with v12)
npm: 6.14.6
Additional Information
The problem seems to be this one: https://github.com/babel/babel/issues/11216
The solution would be to update all @babel packages to at least 7.8.7 (or at least 7.8.4 based on another comment in that bugreport).

Full build output:
atom-build-fail.log

I was able to build atom with nodejs v10.21.0, so the issue only occurs with higher versions (e.g., 12 or 14). I update the bug report accordingly.

Hi. I ran into this problem also. I wanted to add: I believe this requires newer babel (7.8.7 or newer), because the way babel was working before a certain release conflicts with a change in recent Node.
https://github.com/babel/babel/issues/11216
Affected versions of Node:

12.17.0 and newer (can use 12.16.x and older)
13.2.0 and newer (can use 13.0.0? I think.)
14.0.0 and newer (all versions 14.0.0 and newer are affected).

More details (click to expand):
Node 12.16.x is the most-recent version of Node 12 we can use without running into this:
https://github.com/babel/babel/issues/11216
Todo: Upgrade babel to 7.8.7 or newer, everywhere in Atom, so we can use newer Node.
Happens due to: ECMAScript Modules feature in Node, conflicting with something babel does.
https://github.com/nodejs/node/pull/29866
Earliest affected version for each major version since v12.x, when this was first introduced:
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V12.md#12.17.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V13.md#13.2.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V14.md#14.0.0

I added the support for ES6 default require in https://github.com/atom/atom/pull/21112, and then in https://github.com/atom/atom/pull/20965 I added the support for babel 7. To make this work I had to update Electron Link in https://github.com/atom/electron-link/pull/26 and https://github.com/atom/electron-link/pull/27.
I am testing the babel 7 builds in our fork at https://github.com/atom-ide-community/atom/pull/67#issuecomment-663995431, if you are interested to look at.

@michaellass please consider changing the issue title to have "> 12.16", because Node 12 below that version can indeed be used. Thanks, and best regards.


feat(execution-plan): refine execution plan

What Did

Show the execution plan text same as the explain analyze result.
Show the execution plan as table format
Adjust the different formats order
Make execution plan text always expand

Preview
Before

After

Go part LTGM


RBAC config and executor override

This PR adds support or changes for:

RBAC setup
Ability to disable the redis+celery systems and allow for setting an alternative executor, such as the kubernetes executor
Wire up the serviceAccountName to additional resources
Update to latest airflow release

These changes allowed me to get up and running with the KubernetesExecutor in a minikube environment (and I expect in an actual cluster as well) with the steps outlaid here: https://gist.github.com/kppullin/54d07f557c7c64c321786d6ed40b46e1

Oops, can you rebase please?

I did rebase here:
https://github.com/gsemet/charts/pull/29/files

Should this PR be closed?  It looks like these changes were merged in #29 ?

Great!


std.array.overlap made ctfe:able and redocumented.

I was going to add this function because it's so basic. But then noticed it already existed, just undocumented. The comment said that was because it's not CTFE:able so I made it so.
I also made an unittest to verify it works with @nogc.

Ouch! The CircleCI complains that I declared an enum array, but here the whole idea is that it is enum (so it won't overlap anything). Does that mean I should just delete the whole thing?

According to compiler, < for pointers at different memory blocks means nothing at CTFE. So you always have to pair a compare with another on the reverse direction using the same pointer, with && or || between them. Then it knows you are not comparing pointers from different memory blocks.

@dukc this is what you're looking for:

It wants a space after the cast.

As this is a new public symbol, this requires @andralex's approval

@JackStouffer Andrei added this as a public (yet undocumented) symbol in https://github.com/dlang/phobos/commit/9d341e7cae6e04a1a4bc5065889b4a82eadbdeb0 so in a sense, he already approved it.

That was eight years ago; let's see if his opinion has changed.

@andralex ?

@andralex ?

Also, the way the tests are formulated is inefficient. This does the minimal amount of testing:
if (a.ptr <= b.ptr)
{
    if (b.ptr < a.ptr + a.length) { ... return ...; }
    return null;
}
// here we know b.ptr < a.ptr, no need to test for it
if (a.ptr < b.ptr + b.length) { ... return ...; }
return null;

BTW thanks for reaching out via email!

@andralex the tests are formulated like that because CTFE only accepts paired pointer comparisons.

Autotester appears to be stuck - trying to close and reopen to restart it.

Ok, Andrei gave his approval, so let's move forward with this. Thanks @dukc for the PR.


Account-management UI Implementation

Description
Implement the UI of the account-management page. The background color will use the CSS code that provided by the landing page. Currently, useAuth to get the current user information, there is one warning.
Fixes/resolves #41
Screenshots

After clicking on Create:

Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Improvement (non-breaking change which improves existing functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:
Leave blank if not applicable
I have completed these steps when making this pull request:

[x] I have assigned my name to the issue
[x] I have moved the issue to the In Progress column
[x] I have labelled the PR appropriately
[x] I have assigned myself to the PR

Before opening the PR for review:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I have moved the linked issue to the Review in Progress column

please don't add PRs to the projects and milestones 😃

Currently, I just use the components of NextUI. If you guys think tailwind it's better. I will change to the tailwind. For the background colour, cause @FriedhelmWS is taken on the landing page. I think I can reuse that CSS code. I will delete this in my part. I think without using grid layout (row. col), then the responsive design is a problem

We'll have to wait for backend to finish to complete and merge this.

Are there some files missing off the commits? Im getting import errors i.e.

Thank you for mentioning that, I have already updated it.

There's still other things that need addressing

There's still other things that need addressing

Sorry closed by accident. I finished the fixing.

Are the screenshots up to date?

hhha. no worries

All seems to work for me now 😄


how to execute linting?

I've installed the latest version of this plugin, and I see nothing at all different about VSCode using CFN templates. I see the cfnLint.* options in my Settings but that's it. I see no new buttons, menus, menu options, linting, formatting, etc. When does linting happen? On save?
I can run a locally-installed version of cfn-lint (brew install cfn-lint), and if I run that manually, it shows me warnings and errors, but whether I configure the cfnLint.path in my settings to the local version or the pip installed version, VSCode shows nothing. I assume I am supposed to see something under Problems?

On save? supposed to see something under Problems?

Should be. Something to keep in mind is that it's trying to determine if each file is a CloudFormation template. Should see one of these messages in the Output tab for .json/.yml/.yaml files at least:
https://github.com/aws-cloudformation/aws-cfn-lint-visual-studio-code/blob/a1d719d49eb67b048f0775d4b4f53424d90751e9/server/src/server.ts#L140-L158
https://github.com/aws-cloudformation/aws-cfn-lint-visual-studio-code/blob/a1d719d49eb67b048f0775d4b4f53424d90751e9/server/src/server.ts#L305-L307

In the Output tab, after selecting "CloudFormation linter Language Server", I see this:
Settings have been updated...
Settings: {"cfnLint":{"enableAutocomplete":true,"validateUsingJsonSchema":true,"path":"/Users/n0304144/.pyenv/shims/cfn-lint","appendRules":[],"ignoreRules":["E1029","E2015","E3008","E3012","W1019","W2506","W2507","W3005"],"overrideSpecPath":""}}
Determined this file is a CloudFormation Template. file:///Users/n0304144/git/SM/secrets-management-caserver/src/main/cloudformation/secrets-management-caserver.json. Found the string AWSTemplateFormatVersion
Running... /Users/n0304144/.pyenv/shims/cfn-lint --format,json,--ignore-checks,E1029,--ignore-checks,E2015,--ignore-checks,E3008,--ignore-checks,E3012,--ignore-checks,W1019,--ignore-checks,W2506,--ignore-checks,W2507,--ignore-checks,W3005,--,"/Users/n0304144/git/SM/secrets-management-caserver/src/main/cloudformation/secrets-management-caserver.json"
child process exited with code 0 and signal null

It appears that this is what I needed. Perhaps I was just never saving a version of my CFN that had issues, so I didn't see anything under Problems.


add vim swap files to .gitignore

quick update to gitignore

Self merging as this is a trivial change.


Recognising window and window methods

IMHO these should not come as as warning:

'window' is not defined.
'console' is not defined.
'alert' is not defined.

There is an option to relax the rules so closing this one.


WIP : working PR for next release

Codecov Report

Merging #94 (ac4bf83) into main (98cfe34) will decrease coverage by 0.17%.
The diff coverage is 0.00%.

:exclamation: Current head ac4bf83 differs from pull request most recent head 67870c3. Consider uploading reports for the commit 67870c3 to get more accurate results

@@            Coverage Diff             @@
##             main      #94      +/-   ##
==========================================
- Coverage   81.89%   81.71%   -0.18%
==========================================
  Files          31       31
  Lines        1872     1876       +4
==========================================
  Hits         1533     1533
- Misses        339      343       +4

Impacted Files
Coverage Δ

src/cones/cone_api.jl
85.71% <ø> (ø)

src/solver.jl
89.53% <ø> (ø)

src/version.jl
42.85% <0.00%> (-57.15%)
:arrow_down:

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


QAT: Improving architecture and configuration management

This PR improves the architecture and the command-line interface.
Dependences
This PR has no formal dependencies. However, as it has been necessary to merge main to get CI to pass, it is suggested that we merge #1140 to reduce the size of the diff and make this PR more manageable.
Change log

Creation of component based configuration.
Improved command line interface
Refactor of naming and architecture
Initial logging mechanism
Elimination of several TODOs
Allowing (almost) non-invasive 3rd party modules
Much improved test coverage

Base configuration
Each profile component/extension now requires its own configuration class. This forms the basis for modularising the framework. An example component which manages the LLVM extensions looks like:
    class LlvmPassesConfiguration
    {
      public:
        void setup(ConfigurationManager& config);

        static LlvmPassesConfiguration disable();
        bool                           alwaysInline() const;

        bool isDisabled() const;

        bool isDefault() const;

      private:
        bool always_inline_{false};
    };

where the parameters are explained in the configuration setup function:
    void LlvmPassesConfiguration::setup(ConfigurationManager& config)
    {
        config.setSectionName("LLVM Passes", "Configuration of LLVM passes.");
        config.addParameter(always_inline_, "always-inline", "Aggresively inline function calls.");
    }

Upon registering a new configuration, these parameters are propagated automatically to the commaline interface:
% ./qat
Usage: ./Source/Apps/qat [options] filename

Pass configuration - Configuration of the pass and its corresponding optimisations.

--[no-]delete-dead-code                           Deleted dead code. Default: true
--[no-]clone-functions                            Clone functions to ensure correct qubit allocation. Default: true
--max-recursion                                   max-recursion Default: 512
--[no-]reuse-qubits                               reuse-qubits Default: true
--entry-point-attr                                Specifies the attribute indicating the entry point. Default: EntryPoint
--group-measurements                              NOT IMPLEMENTED - group-measurements Default: false
--[no-]one-shot-measurement                       NOT IMPLEMENTED - one-shot-measurement Default: true

LLVM Passes - Configuration of LLVM passes.

--always-inline                                   Aggresively inline function calls. Default: false

Base configuration - Configuration of the quantum adoption tool to execute a specific behaviour.

--generate                                        Transforms the IR in correspondance with the specified transformation. Default: false
--validate                                        Executes the validation produre. Default: false
--profile                                         Sets the profile. Default: baseProfile
--S                                               Emits LLVM IR to the standard output. Default: false
--O0                                              Optimisation level 0. Default: false
--O1                                              Optimisation level 1. Default: false
--O2                                              Optimisation level 2. Default: false
--O3                                              Optimisation level 3. Default: false
--verify-module                                   Verifies the module after transformation. Default: false
--dump-config                                     Prints the configuration to the standard output. Default: false

Transformation rules - Rules used to transform instruction sequences in the QIR.

--[no-]disable-reference-counting                 Disables reference counting by instruction removal. Default: true
--[no-]disable-reference-counting                 Disables reference counting by instruction removal. Default: true
--[no-]disable-alias-counting                     Disables alias counting by instruction removal. Default: true
--[no-]disable-string-support                     Disables string support by instruction removal. Default: true
--[no-]optimise-branch-quatum-one                 Maps branching based on quantum measurements compared to one to base profile type measurement. Default: true
--[no-]optimise-branch-quatum-zero                Maps branching based on quantum measurements compared to zero to base profile type measurement. Default: true
--[no-]use-static-qubit-array-allocation          Maps allocation of qubit arrays to static array allocation. Default: true
--[no-]use-static-qubit-allocation                Maps qubit allocation to static allocation. Default: true
--[no-]use-static-result-allocation               Maps result allocation to static allocation. Default: true

Allowing 3rd party registration
It is now possible to register profile extensions outside of the generator:
        generator.registerProfileComponent<RuleTransformationPassConfiguration>(
            "transformation-rules", [this](RuleTransformationPassConfiguration const& config, IProfileGenerator* ptr) {
                auto& ret = ptr->modulePassManager();

                // Defining the mapping
                RuleSet rule_set;
                auto    factory = RuleFactory(rule_set);
                factory.usingConfiguration(configurationManager().get<FactoryConfiguration>());

                // Creating profile pass
                ret.addPass(RuleTransformationPass(std::move(rule_set), config));
            });

This paves the way for allowing dynamic modules which can be created and loaded non-invasively by third party.
Test coverage
This PR moves the average test coverage well-above 75% and mostly remaining parts of the code are utility parts such as configuration parsing etc. meaning that the core functionality is covered by tests at this point:

Filename
Function Coverage
Line Coverage
Region Coverage

AllocationManager/AllocationManager.cpp
100.00% (4/4)
100.00% (61/61)
100.00% (16/16)

AllocationManager/AllocationManager.hpp
100.00% (1/1)
100.00% (1/1)
100.00% (1/1)

AllocationManager/IAllocationManager.cpp
100.00% (1/1)
100.00% (1/1)
100.00% (1/1)

Commandline/ConfigurationManager.cpp
100.00% (1/1)
100.00% (1/1)
100.00% (1/1)

Commandline/ConfigurationManager.hpp
70.97% (22/31)
65.90% (143/217)
78.69% (48/61)

Commandline/ParameterParser.cpp
66.67% (6/9)
63.74% (58/91)
73.81% (31/42)

Commandline/ParameterParser.hpp
100.00% (2/2)
100.00% (2/2)
100.00% (2/2)

Generators/DefaultProfileGenerator.cpp
88.89% (8/9)
82.05% (96/117)
76.92% (10/13)

Generators/IProfileGenerator.cpp
55.56% (5/9)
65.91% (29/44)
58.33% (7/12)

Generators/IProfileGenerator.hpp
100.00% (4/4)
100.00% (16/16)
100.00% (4/4)

Generators/LlvmPassesConfig.cpp
100.00% (5/5)
100.00% (19/19)
100.00% (5/5)

RuleTransformationPass/Configuration.cpp
75.00% (9/12)
86.15% (56/65)
90.62% (29/32)

RuleTransformationPass/Profile.cpp
76.19% (16/21)
52.24% (362/693)
52.25% (93/178)

RuleTransformationPass/Profile.hpp
100.00% (3/3)
100.00% (4/4)
100.00% (3/3)

Rules/Factory.cpp
95.24% (20/21)
93.50% (748/800)
82.83% (82/99)

Rules/Factory.hpp
100.00% (1/1)
100.00% (1/1)
100.00% (1/1)

Rules/FactoryConfig.hpp
100.00% (13/13)
100.00% (90/90)
100.00% (41/41)

Rules/Notation/BitCast.cpp
100.00% (1/1)
100.00% (6/6)
100.00% (1/1)

Rules/Notation/Branch.cpp
100.00% (1/1)
100.00% (9/9)
100.00% (1/1)

Rules/Notation/Call.ipp
100.00% (1/1)
100.00% (15/15)
100.00% (2/2)

Rules/Notation/CallByNameOnly.cpp
100.00% (1/1)
100.00% (4/4)
100.00% (1/1)

Rules/Notation/Capture.cpp
100.00% (3/3)
100.00% (10/10)
100.00% (3/3)

Rules/Notation/ConstInt.cpp
100.00% (1/1)
100.00% (5/5)
100.00% (1/1)

Rules/Notation/IntToPtr.cpp
100.00% (1/1)
100.00% (6/6)
100.00% (1/1)

Rules/Notation/Load.cpp
100.00% (1/1)
100.00% (6/6)
100.00% (1/1)

Rules/Notation/Notation.cpp
100.00% (2/2)
100.00% (11/11)
100.00% (2/2)

Rules/Notation/Phi.ipp
100.00% (1/1)
100.00% (12/12)
100.00% (2/2)

Rules/OperandPrototype.cpp
100.00% (8/8)
90.77% (59/65)
93.10% (27/29)

Rules/OperandPrototype.hpp
100.00% (2/2)
100.00% (5/5)
100.00% (2/2)

Rules/Operands/Any.cpp
100.00% (4/4)
100.00% (8/8)
100.00% (4/4)

Rules/Operands/Call.cpp
100.00% (4/4)
100.00% (25/25)
100.00% (10/10)

Rules/Operands/Instruction.cpp
100.00% (2/2)
100.00% (14/14)
100.00% (5/5)

Rules/Operands/Instruction.hpp
100.00% (1/1)
100.00% (1/1)
100.00% (1/1)

Rules/Operands/Phi.cpp
66.67% (2/3)
46.67% (7/15)
66.67% (4/6)

Rules/Operands/Phi.hpp
100.00% (1/1)
100.00% (1/1)
100.00% (1/1)

Rules/ReplacementRule.cpp
100.00% (5/5)
100.00% (32/32)
100.00% (13/13)

Rules/RuleSet.cpp
100.00% (4/4)
100.00% (31/31)
100.00% (11/11)

Rules/RuleSet.hpp
100.00% (3/3)
100.00% (3/3)
100.00% (3/3)

TestTools/IrManipulationTestHelper.cpp
100.00% (18/18)
93.85% (183/195)
92.59% (50/54)

Totals
87.44% (188/215)
79.24% (2141/2702)
78.23% (521/666)

@DmitryVasilevsky Could you please take a quick look at the AllocationManager logic and APIs?