FSI fails to find references from loaded libraries

If a library loaded into FSI session has it's own references - it fails at any attempt to call them.
Demo project with various actions I've taken trying to isolate the issue:
https://github.com/KillyMXI/FsiOddityDemo
Repro steps
(This is an essence of it, demo project with more details above)

Add a library project to solution (let's say library A)

Add another project to solution (let's say library B)

Make library B referencing to library A (either by project reference or dll reference)

Make a function in B that will call some function from A

Make an fsx script file, reference B.dll from it, call the function in B from the previous step.

Expected behavior
Since all references of library B are copied over to the same folder as B.dll - there should be no issues to find them.
The function call from the script should produce the expected output, as if it were called from compiled code.
Actual behavior
FSI fails at the call from B to A - having issues to locate the library A.
PS > dotnet fsi .\script.fsx
System.IO.FileNotFoundException: Could not load file or assembly 'A, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
File name: 'A, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'
   at B.Worker.doWork(Int32 x)
   at <StartupCode$FSI_0002>.$FSI_0002.main@()

Stopped due to error

Known workarounds
#load all the code files from all libraries into script manually.
This is not a feasible way in case of bigger projects with many files. This will require manual tracking of code structure changes.
Related information

Windows 10 Pro 1809
.NET Core SDK 2.2.202 (x64)
F# Interactive version 10.4.0 for F# 4.6
vscode 1.33.1 with ionide-fsharp and DCE extensions is used to manage the solution, but that seems irrelevant to the issue.

Just checked on linux in release mode with the following changes, it works to me. Could you check the the library loading with the sysinternals procmon tool [1] ?
The B/bin/Release/netcoreapp2.2 have the following contant:
A.dll  A.pdb  B.deps.json  B.dll  B.pdb

diff --git a/B.DllTests/B.DllTests.fsproj b/B.DllTests/B.DllTests.fsproj
index 324f7bd..3103dcb 100644
--- a/B.DllTests/B.DllTests.fsproj
+++ b/B.DllTests/B.DllTests.fsproj
@@ -15,7 +15,7 @@
     </ItemGroup>
     <ItemGroup>
         <Reference Include="B">
-            <HintPath>..\B\bin\Debug\netcoreapp2.2\B.dll</HintPath>
+            <HintPath>../B/bin/Release/netcoreapp2.2/B.dll</HintPath>
         </Reference>
     </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/C/C.fsproj b/C/C.fsproj
index f76d368..5993b8b 100644
--- a/C/C.fsproj
+++ b/C/C.fsproj
@@ -7,7 +7,7 @@
   </ItemGroup>
   <ItemGroup>
     <Reference Include="A">
-      <HintPath>..\A\bin\Debug\netcoreapp2.2\A.dll</HintPath>
+      <HintPath>../A/bin/Release/netcoreapp2.2/A.dll</HintPath>
     </Reference>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/script.fsx b/script.fsx
index fdc8a15..3b7308e 100644
--- a/script.fsx
+++ b/script.fsx
@@ -1,4 +1,4 @@
-#I "B\\bin\\Debug\\netcoreapp2.2";;
+#I "B/bin/Release/netcoreapp2.2";;
 #r "B.dll";;

 B.Worker.doWork 5

dotnet /usr/share/dotnet/sdk/2.2.203/FSharp/fsi.exe script.fsx
5 ^2 *2 = 50

/usr/local/stow/netcore3.0/dotnet /usr/local/stow/netcore3.0/sdk/3.0.100-preview4-011223/FSharp/fsi.exe script.fsx
5 ^2 *2 = 50

[1] https://docs.microsoft.com/en-us/sysinternals/downloads/procmon

@KillyMXI Have you also tried this with the latest .NET Core 3.0 preview? Some changes in this area have gone in an addressed a lot of problems with finding assemblies, but they aren't in the latest release quality .NET Core.

@zpodlovics some good points there
I updated back slashes to forward slashes. It doesn't affect the issue but it makes it easier to cross-check on different platforms.
Another change you did is that you have built a Release build.
I checked it myself and turns out it works in the Release build when the reference to A is made by project.
I updated my repo.
script.release.fsx (B->A project) is working, while script3.release.fsx (C->A dll) is not.
I'm not really concerned about script3 so this is a sensible workaround for core 2.2.
(Can't see how to make release builds with commands available in vscode - probably have to open another issue in DCE repo...)
As for procmon, I don't know what to look for there. I couldn't capture any mention of A.dll even on working example, I can only see B.dll opened.
@cartermp I had no intent to get it before release, but oh well.
I got the preview4 now.
> dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.0.100-preview4-011223
 Commit:    118dd862c8
...

Looks like just installing it was enough. Libraries are loaded fine now, even if they were built for 2.2 target.

I guess nothing left to be done about this issue.
Probably too much for a backport and fix for 2.2.

We plan to ship .NET Core 3.0 in the second half of 2019. We will announce the ship date at the Build 2019 conference.

Got +1 reason to impatience.

2.2 will be updated in a future release as will 2.1.

What kind of updates will be made to 2.2?
From @cartermp 's words I got it might've been some involving changes in 3.0.
I only know that PowerShell team not backporting anything but security fixes probably. So I have to wait until they ship PowerShell 7 to Windows to get the patch I care about...

@KillyMXI Since Core 2.2 is considered Current, it will get any and all F# compiler and FSI improvements until it is no longer Current. Eventually, .NET Core 3.0 will be the Current release, at which point any further issues will be met with, "use .NET Core 3.0".

@KillyMXI, obviously nothing I say represents a commitment.  But for now, dotnet cli 2.1, 2.2 and 3.0 will ship the same version of the F# compiler.
There may be changes in language and feature support dependent upon capabilities of the runtime hosting it.  For example, fsi on coreclr 3.0, supports pinvoke.  On 2.1 and 2.2 that does not work.
The fix for this is showing up in previews of 2.1.X and 2.2.X
c:\kevinransom\FsiOddityDemo>dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.1.700-preview-009618
 Commit:    4c068328cc

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.18362
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.700-preview-009618\

Host (useful for support):
  Version: 3.0.0-preview4-27610-12
  Commit:  d5a76cb8c0

.NET Core SDKs installed:
  2.1.504 [C:\Program Files\dotnet\sdk]
  2.1.505 [C:\Program Files\dotnet\sdk]
  2.1.600 [C:\Program Files\dotnet\sdk]
  2.1.601 [C:\Program Files\dotnet\sdk]
  2.1.602 [C:\Program Files\dotnet\sdk]
  2.1.700-preview-009597 [C:\Program Files\dotnet\sdk]
  2.1.700-preview-009601 [C:\Program Files\dotnet\sdk]
  2.1.700-preview-009618 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-preview4-19210-17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-preview3-27512-04 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-preview4-27610-12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.0-preview4-27611-18 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

c:\kevinransom\FsiOddityDemo>dotnet fsi .\script.fsx
5 ^2 *2 = 50
c:\kevinransom\FsiOddityDemo>

@KevinRansom  oh, cool!
Makes sense to keep this issue open until it gets released then.

@KillyMXI,
you can download previews from here: https://github.com/dotnet/core-sdk to verify the behavior.

Thank you, I was wondering where to find the previews for 2.2.x.
> dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.2.204-preview-010112
 Commit:    52308a9ad4
...

-- the issue is still present (no surprises if that's the security fixes branch)
> dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.2.300-preview-010067
 Commit:    803425478a
...

-- all works, the fix seems to be in place.
So, waiting for 2.2.300 release.

@KillyMXI There are no previews for this. @KevinRansom is referring to .NET Core 3.0 preview.

I followed the link he provided, founds the following note:

Note: Be aware that the following installers are the latest bits. ...

And the links:

It says "preview" in the badges and in version info. That's what we were referring to. I would rather call it "nightly" though.

Closing this as the official released-and-supported fix is to be in .NET Core 3.0, which is later this year. The latest preview of .NET Core 3.0 has the updated FSI that fixes this.

.NET Core SDK 2.2.300 did come out and it includes the fix for this issue.
Now the issue is fully resolved with the fix available in a public version.
Thanks @KevinRansom for useful answers.
PS > dotnet fsi .\script.fsx
5 ^2 *2 = 50
PS > dotnet fsi .\script3.fsx
5 *2 = 10
PS > dotnet fsi .\script3.release.fsx
5 *2 = 10
PS > dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.2.300
 Commit:    73efd5bd87

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17763
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.2.300\

Host (useful for support):
  Version: 2.2.5
  Commit:  0a3c9209c0
...


Force python version for dstat and other tools

Hey,
i enabled dstat-0.7.2 and start my experiments. But there was no output of dstat.
I found out that dstat-0.7.2 printed an error which is piped to /dev/null on the ssh cli invocation.
The error was a python syntax error which appears between python2.y and python3.x scripts.
/../dstat-0.7.2/dstat", line 119
    except getopt.error, exc:

Probably it would be a good idea for the peelframework to force specific python versions or print the dstat error messages. Just a suggestion :)

I guess the workaround would be to call dstat indirectly
/usr/bin/python2 /usr/bin/dstat

instead of
/usr/bin/dstat

Yes as a workaround it would work, but not every python environment has to be in /usr/bin/ :)
probably it would be enough if you but the error pipe into the log and not to /dev/null
thx for helping :)


scrollBehavior  -  Syntax Error: Unexpected token

"nuxt": "^0.10.7"
nuxt.config.js:
router: {
    scrollBehavior: function (to, from, savedPosition) {
      return { x: 0, y: 0 }
    }
  },

gives me:
ERROR  Failed to compile with 1 errors                                                 18:07:50

 error  in ./.nuxt/router.js

Syntax Error: Unexpected token, expected ( (23:32)

  21 |
  22 |
> 23 | const scrollBehavior = function function(to, from, savedPosition) {
     |                                 ^
  24 |       return { x: 0, y: 0 };
  25 |     }
  26 |

Thanks for help,

seems like can't reproduce issue on glitch ( with nuxt.js 0.10.7 )
https://glitch.com/edit/#!/whimsical-badge
can you provide more detail ? or reproduce on glitch ?

@ausir0726 Thanks for your help.
I am using nuxt as middleware (express starter.) When starting the dev the error appear:
c:\dev\client>npm run dev

><EMAIL_ADDRESS>dev c:\dev\client
> nodemon --exec babel-node -w server.js -w nuxt.config.js -w api/ server.js

[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: server.js nuxt.config.js api/**/*
[nodemon] starting `babel-node server.js`
Server listening on <IP_ADDRESS>:3003
Build completed in 4.603s

 ERROR  Failed to compile with 1 errors                                                 11:10:36
 error  in ./.nuxt/router.js

Syntax Error: Unexpected token, expected ( (23:32)

  21 |
  22 |
> 23 | const scrollBehavior = function function(to, from, savedPosition) {
     |                                 ^
  24 |       return { x: 0, y: 0 };
  25 |     }

 @ ./.nuxt/index.js 7:0-33
 @ ./.nuxt/client.js
 @ multi webpack-hot-middleware/client?reload=true ./.nuxt/client.js

So the problem IMHO is how nuxt generate the router.js.
Here is fragment of generated router.js:
const scrollBehavior = function function(to, from, savedPosition) {
      return { x: 0, y: 0 };
    }

Thanks in advance,

 router: {         scrollBehavior(to, from, savedPositon) {             if (to.hash) {                 return {                     selector: to.hash                 }             } else if (to.path === from.path) {                 return null             } else if (savedPositon) {                 return savedPositon             } else {                 return {                     x: 0,                     y: 0                 }             }         }     },

@zhouyu1993 the same error
> 23 | const scrollBehavior = function function(to, from, savedPositon) {
      |                                 ^
  24 |       if (to.hash) {
  25 |         return {

Here is 0.10.7 template for custom scrollBehaviour functions:
<% if (router.scrollBehavior) { %>
const scrollBehavior = <%= serialize(router.scrollBehavior).replace('scrollBehavior(', 'function(') %>
<% } else { %>

Testing against various types of function seems this bug happens only when a function is provided and works with arrow and object members. (https://runkit.com/pi0/591db24aff32a300123e931a)

@pi0 in the meantime could I do anything about it or I just need to wait for the bug fix?
And one more thing. Do you know why the scrolling to the anchor is not working?
here is live example, please click on the 'blog' link.

Currently you can use object syntax it should work as you are currently using :)
router: {
    scrollBehavior (to, from, savedPosition) {
      return { x: 0, y: 0 }
    }
  },

About anchors it seems they should be possible with this commit on vue-router. Maybe we can use such syntax:
<nuxt-link :to="{path:'/blog', hash:'#middle'}">Blog</nuxt-link>

@pi0 I tried object syntax already and it is not working. I think this is because babel translate it to normal function anyway.

What about arrow function? () => { }

The same

@pi0 Unfortunetly scroll to anchor is not working too.
This is becouse vue-router is looking for the el before the new page is rendered.
The problem in in the handleScroll function
  router.app.$nextTick(function () {
    var position = getScrollPosition();
    var shouldScroll = behavior(to, from, isPop ? position : null);
    if (!shouldScroll) {
      return
    }
    var isObject = typeof shouldScroll === 'object';
    if (isObject && typeof shouldScroll.selector === 'string') {
      var el = document.querySelector(shouldScroll.selector);    // <<<---------- THIS IS NULL

What's your node version @awronski ?

@Atinux
node v7.10.0
what is interesting build is working:
nuxt build && babel server.js --out-file server.prod.js.
but dev is not :(
nodemon --exec babel-node -w server.js -w nuxt.config.js -w api/ server.js

I have the same problem using the nuxt/express template.

@Atinux @pi0 any update on getting scrollBehavior working? i'm trying to use it in a current project

Also having this on the express template.
Tried it on v6.10.3 and v8.1.4

@dan-gamble @awronski @azorvk There is a solution as below:
scrollBehavior: function _scrollBehavior (to, from, savedPosition) {
And it's a general bug when define function property for nuxt.config.js object such as transition.beforeEnter, the function name _scrollBehavior  should be whichever except the same name of the object key scrollBehavior.


Rebuild on top of newest wasi plugin

There was a new release of the VS Code WASI runtime in April 2024.  Not sure if there was anything new in the SDK, but we ought to pull it in a newer npm module and see if there's anything to take advantage of

doesn't look like there was a new SDK<EMAIL_ADDRESS>still the latest


[regression] embeddings working on 0.2.55 but not on 0.2.56

Prerequisites
Please answer the following questions for yourself before submitting an issue.

[ ] I am running the latest code. Development is very rapid so there are no tagged versions as of now.
[ X ] I carefully followed the README.md.
[ X ] I searched using keywords relevant to my issue to make sure that I am creating a new issue that is not already open (or closed).
[ X ] I reviewed the Discussions, and have a new bug or useful enhancement to share.

Expected Behavior
As seen on 0.2.55:
Writing the same command as below returns an embedding.

Current Behavior
As seen on 0.2.56
from pathlib import Path ; import llama_cpp ; llm = llama_cpp.Llama(model_path=Path("gemma-2b-q4_K_M.gguf").absolute().__str__(), embedding=True) ; llm.create_embedding("Hi")
ggml_init_cublas: GGML_CUDA_FORCE_MMQ:   no
ggml_init_cublas: CUDA_USE_TENSOR_CORES: yes
ggml_init_cublas: found 1 CUDA devices:
  Device 0: NVIDIA GeForce GTX 1070, compute capability 6.1, VMM: yes
llama_model_loader: loaded meta data with 21 key-value pairs and 164 tensors from /home/REDACTED/Desktop/REDACTED/gemma_gguf/gemma-2b-q4_K_M.gguf (version GGUF V3 (latest))
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
llama_model_loader: - kv   0:                       general.architecture str              = gemma
llama_model_loader: - kv   1:                               general.name str              = gemma-2b
llama_model_loader: - kv   2:                       gemma.context_length u32              = 8192
llama_model_loader: - kv   3:                          gemma.block_count u32              = 18
llama_model_loader: - kv   4:                     gemma.embedding_length u32              = 2048
llama_model_loader: - kv   5:                  gemma.feed_forward_length u32              = 16384
llama_model_loader: - kv   6:                 gemma.attention.head_count u32              = 8
llama_model_loader: - kv   7:              gemma.attention.head_count_kv u32              = 1
llama_model_loader: - kv   8:                 gemma.attention.key_length u32              = 256
llama_model_loader: - kv   9:               gemma.attention.value_length u32              = 256
llama_model_loader: - kv  10:     gemma.attention.layer_norm_rms_epsilon f32              = 0.000001
llama_model_loader: - kv  11:                       tokenizer.ggml.model str              = llama
llama_model_loader: - kv  12:                tokenizer.ggml.bos_token_id u32              = 2
llama_model_loader: - kv  13:                tokenizer.ggml.eos_token_id u32              = 1
llama_model_loader: - kv  14:            tokenizer.ggml.padding_token_id u32              = 0
llama_model_loader: - kv  15:            tokenizer.ggml.unknown_token_id u32              = 3
llama_model_loader: - kv  16:                      tokenizer.ggml.tokens arr[str,256128]  = ["<pad>", "<eos>", "<bos>", "<unk>", ...
llama_model_loader: - kv  17:                      tokenizer.ggml.scores arr[f32,256128]  = [0.000000, 0.000000, 0.000000, 0.0000...
llama_model_loader: - kv  18:                  tokenizer.ggml.token_type arr[i32,256128]  = [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, ...
llama_model_loader: - kv  19:               general.quantization_version u32              = 2
llama_model_loader: - kv  20:                          general.file_type u32              = 15
llama_model_loader: - type  f32:   37 tensors
llama_model_loader: - type q4_K:  108 tensors
llama_model_loader: - type q6_K:   19 tensors
llm_load_vocab: mismatch in special tokens definition ( 544/256128 vs 388/256128 ).
llm_load_print_meta: format           = GGUF V3 (latest)
llm_load_print_meta: arch             = gemma
llm_load_print_meta: vocab type       = SPM
llm_load_print_meta: n_vocab          = 256128                                                                                llm_load_print_meta: n_merges         = 0
llm_load_print_meta: n_ctx_train      = 8192                                                                                llm_load_print_meta: n_embd           = 2048                                                                                llm_load_print_meta: n_head           = 8                                                                                llm_load_print_meta: n_head_kv        = 1                                                                                llm_load_print_meta: n_layer          = 18
llm_load_print_meta: n_rot            = 256
llm_load_print_meta: n_embd_head_k    = 256
llm_load_print_meta: n_embd_head_v    = 256
llm_load_print_meta: n_gqa            = 8
llm_load_print_meta: n_embd_k_gqa     = 256
llm_load_print_meta: n_embd_v_gqa     = 256
llm_load_print_meta: f_norm_eps       = 0.0e+00
llm_load_print_meta: f_norm_rms_eps   = 1.0e-06
llm_load_print_meta: f_clamp_kqv      = 0.0e+00
llm_load_print_meta: f_max_alibi_bias = 0.0e+00
llm_load_print_meta: n_ff             = 16384
llm_load_print_meta: n_expert         = 0
llm_load_print_meta: n_expert_used    = 0
llm_load_print_meta: pooling type     = 0
llm_load_print_meta: rope type        = 2
llm_load_print_meta: rope scaling     = linear
llm_load_print_meta: freq_base_train  = 10000.0
llm_load_print_meta: freq_scale_train = 1
llm_load_print_meta: n_yarn_orig_ctx  = 8192
llm_load_print_meta: rope_finetuned   = unknown
llm_load_print_meta: ssm_d_conv       = 0
llm_load_print_meta: ssm_d_inner      = 0
llm_load_print_meta: ssm_d_state      = 0
llm_load_print_meta: ssm_dt_rank      = 0
llm_load_print_meta: model type       = 2B
llm_load_print_meta: model ftype      = Q4_K - Medium
llm_load_print_meta: model params     = 2.51 B
llm_load_print_meta: model size       = 1.51 GiB (5.18 BPW)
llm_load_print_meta: general.name     = gemma-2b
llm_load_print_meta: BOS token        = 2 '<bos>'
llm_load_print_meta: EOS token        = 1 '<eos>'
llm_load_print_meta: UNK token        = 3 '<unk>'
llm_load_print_meta: PAD token        = 0 '<pad>'
llm_load_print_meta: LF token         = 227 '<0x0A>'
llm_load_tensors: ggml ctx size =    0.06 MiB
llm_load_tensors: offloading 0 repeating layers to GPU
llm_load_tensors: offloaded 0/19 layers to GPU
llm_load_tensors:        CPU buffer size =  1549.19 MiB
.........................................................
llama_new_context_with_model: n_ctx      = 512
llama_new_context_with_model: freq_base  = 10000.0
llama_new_context_with_model: freq_scale = 1
llama_kv_cache_init:  CUDA_Host KV buffer size =     9.00 MiB
llama_new_context_with_model: KV self size  =    9.00 MiB, K (f16):    4.50 MiB, V (f16):    4.50 MiB
llama_new_context_with_model:  CUDA_Host input buffer size   =     6.01 MiB
llama_new_context_with_model:  CUDA_Host compute buffer size =   504.25 MiB
llama_new_context_with_model: graph splits (measure): 1
AVX = 1 | AVX_VNNI = 0 | AVX2 = 0 | AVX512 = 0 | AVX512_VBMI = 0 | AVX512_VNNI = 0 | FMA = 0 | NEON = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 1 | SSE3 = 1 | SSSE3 = 1 | VSX = 0 | MATMUL_INT8 = 0 |
Model metadata: {'general.file_type': '15', 'tokenizer.ggml.unknown_token_id': '3', 'tokenizer.ggml.padding_token_id': '0', 'tokenizer.ggml.eos_token_id': '1', 'general.architecture': 'gemma', 'gemma.feed_forward_length': '16384', 'gemma.attention.head_count': '8', 'general.name': 'gemma-2b', 'gemma.context_length': '8192', 'gemma.block_count': '18', 'gemma.embedding_length': '2048', 'gemma.attention.head_count_kv': '1', 'gemma.attention.key_length': '256', 'general.quantization_version': '2', 'tokenizer.ggml.model': 'llama', 'gemma.attention.value_length': '256', 'gemma.attention.layer_norm_rms_epsilon': '0.000001', 'tokenizer.ggml.bos_token_id': '2'}
Using fallback chat format: None
[1]    400884 segmentation fault (core dumped)  python3 -c "import IPython, sys; sys.exit(IPython.start_ipython())"

Environment and Context
The command I use to switch versions: CMAKE_ARGS="-DLLAMA_CUBLAS=on" FORCE_CMAKE=1 pip install --upgrade --force-reinstall llama-cpp-python==0.2.55 --no-cache-dir

Physical (or virtual) hardware you are using, e.g. for Linux:

Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         36 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  8
  On-line CPU(s) list:   0-7
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
    CPU family:          6
    Model:               58
    Thread(s) per core:  2
    Core(s) per socket:  4
    Socket(s):           1
    Stepping:            9
    CPU max MHz:         6300,0000
    CPU min MHz:         1600,0000
    BogoMIPS:            6984.38
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2
                         ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cp
                         uid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popc
                         nt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow
                          flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts vnmi md_clear flush_l1d
Virtualization features:
  Virtualization:        VT-x
Caches (sum of all):
  L1d:                   128 KiB (4 instances)
  L1i:                   128 KiB (4 instances)
  L2:                    1 MiB (4 instances)
  L3:                    8 MiB (1 instance)
NUMA:
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-7
Vulnerabilities:
  Gather data sampling:  Not affected
  Itlb multihit:         KVM: Mitigation: VMX disabled
  L1tf:                  Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable
  Mds:                   Mitigation; Clear CPU buffers; SMT vulnerable
  Meltdown:              Mitigation; PTI
  Mmio stale data:       Unknown: No mitigations
  Retbleed:              Not affected
  Spec rstack overflow:  Not affected
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling, PBRSB-eIBRS Not affected
  Srbds:                 Vulnerable: No microcode
  Tsx async abort:       Not affected

Operating System, e.g. for Linux:

Linux REDACTED-MS-7758 6.5.0-25-generic #25~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Feb 20 16:09:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

SDK version, e.g. for Linux:

$ python3 --version : 3.10.12
$ make --version : 4.3
$ g++ --version : 11.4.0

Failure Information (for bugs)
The failure happens no matter what arguments I give when loading the model, happens also for the non quantized model, does not happen when loading the model for text generation but at least happens for embeddings.
Steps to Reproduce
Please provide detailed steps for reproducing the issue. We are not sitting in front of your screen, so the more detail the better.

Get gemma 2b gguf
Make sure you have version 0.2.56
ipython : from pathlib import Path ; import llama_cpp ; llm = llama_cpp.Llama(model_path=Path("gemma-2b-q4_K_M.gguf").absolute().__str__(), embedding=True) ; llm.create_embedding("Hi")
Notice the dump

I confirm this code is not happening when running ./embedding from llamacpp with as latest commit b3d978600f07f22e94f2e797f18a8b5f6df23c89.
I just need to use gemma for langchain embeddings so using 0.2.55 is fine to me, just making a heads up for devs :)

@thiswillbeyourgithub thanks for reporting, it's related to #1263
The issue is a null pointer is returned from the new get_embeddings_seq if pooling type is not set, I've set it to mean now. @iamlemec does that sound correct?

I think the issue here is that gemma-2b is not an embedding model. This should work if you use something like bge-base-en-v1.5 (GGUF here). I think setting the default pooling to unspecified as in the recent commit is the right route. Ultimately, for the error message, you may want to say that the model doesn't support sequence embeddings, which will be the case when hparams.pooling_type is LLAMA_POOLING_TYPE_UNSPECIFIED.
Part of the problem is that the pooling layer is actually considered part of the model, not something that can be applied to arbitrary models ex post, though this could obviously change. So right now if you want to get embeddings from generative LLMs, you need to set LLAMA_POOLING_TYPE_NONE, use llama_get_embeddings_ith, and manually pool the token level embeddings however you'd like. We actually made an example that does this with GritLM, which is a dual use model that does both generation and embeddings (see examples/gritlm in llama.cpp).

@iamlemec thanks, that makes sense. Would it also work to use pooling type unspecified by default then check if the result of get_embeddings_seq is null and if it is we use get_embeddings_ith?

Having unspecified as default makes sense. The issue with falling back to get_embeddings_ith is that it'll give you the ith token, not sequence. So in that case, I think you either need to just say "this model doesn't do embeddings" or implement pooling on the python side (basically first token or mean pooling). Another option would be to give the user a way to just get the token level embeddings and let them figure it out (which would be useful for ColBERT style approaches).

Thank you all. Can anyone tell me how I should proceed to get the embeddings of each token of a sentence ? I could then do the pooling myself at least

@thiswillbeyourgithub new update! With the latest code on main you can pass pooling_type=LLAMA_POOLING_TYPE_NONE to the constructor and it will then give you token level embeddings.

Thank you very much!

@thiswillbeyourgithub new update! With the latest code on main you can pass pooling_type=LLAMA_POOLING_TYPE_NONE to the constructor and it will then give you token level embeddings.

Can this be used with LlamaCppEmbeddings ?


[Feature]: VALL-E transformer RAG (and other embedding solutions)

Is your feature request related to a problem? Please describe.
The problem is I want more of the specific kind of music I already own.
Describe the solution you'd like
It would be good for the kwargs to include user owned music, which can be embedded (like RAG for LLM transformer) into a Text prompt. "Using the music provided, please generate a song in the style of $$RAG_EMBEDDING_HERE"
Describe alternatives you've considered
There are no alternatives like this for music yet.
Additional context
HuggingFace sentence-transformers page for LLM equivalent: https://huggingface.co/sentence-transformers

Hi @bennmann, it seems like you are looking for a Text-to-Music function? We have been devoting to developing this task. Hope we can release in this year. Before that, you are welcome to try our TTA model!


⚠ Jenkins Plugins Artifactory has degraded performance

In ea8af4d, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1220 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 25c0c49 after 12 minutes.


Fix dynamically applying discounts

I came across a situation when discounts were not applied, because the calculate method was already called on cart. It is called during CartSession::use($cart) and also during CartSession::current(). This ended up with a state in DiscountManager, when the $discounts property was set to empty collection. Then the check in DiscountManager became true every time, because it only checks for null value and not empty collection.
After changing the check to count with empty collection as follows: ! $this->discounts || $this->discounts?->isEmpty()), there were multiple instances of the discounts added to $cart->discounts property. I mitigated this behavior by only adding discounts which are not already present in that property.
I also added a test which calls the $cart->calculate() method multiple times to make sure that discounts are added properly.
All tests are running green now, but this implementation is ofc open for discussion. Maybe there is a better solution.

This doesn't seem correct.
CartSession::use($cart) does NOT run the calculate method.
The only issue I can see, which probably needs fixing, is the Cart discounts property is not being reset when calculating, which can lead to the same discount being logged twice. I believe it probably needs adding here https://github.com/lunarphp/lunar/blob/0.5/packages/core/src/Pipelines/Cart/ApplyDiscounts.php#L18
E.g.
    public function handle(Cart $cart, Closure $next)
    {
        $cart->discounts = collect([]);  // <---------- this is new
        $cart->discountBreakdown = collect([]);

You probably need to update your test as follows
        // Calculate method called for the first time
        CartSession::use($cart)->calculate();

Hello @glennjacobs, I updated the test.
And yes, there were 2 problems.

Discounts could not be applied after first calculate call on Cart.
Discounts were added to $cart->discounts multiple times.

Let me know if I should do some more changes. Thank you.

Sorry for spamming the comments, but I would love if if this could be merged for 0.6. The lack of a count()/empty() check on discounts is biting us at the moment so we have to manually add it.

Sorry for spamming the comments, but I would love if if this could be merged for 0.6. The lack of a count()/empty() check on discounts is biting us at the moment so we have to manually add it.

Hey @ryanmitchell, could you please develop what you mean exactly? I could have another look. You can hit me up on Discord if you want.


Changes in Mongo y AT files with groups annotation

:shipit:

:shipit:

Comment accepted. Will treat it ASAP

Squashing and checks in progress.

:shipit:

Comment accepted. Will treat it ASAP


[core] Make the API docs builder configurable per project

This is the initial work to make the API builder less Core-dependent, easier to maintain, and customize per project.
This PR splits the code of the @mui-internal/api-docs-builder package into two - a generic one and one with project-specific settings and logic (@mui-internal/api-docs-builder-core).
The api-docs-builder no longer exposes a CLI, but has a JS function that accepts a per-project configuration object. A small script that imports the necessary configs and passes them to the buildApi function was also added to the scripts directory.
While a big chunk of the project-specific logic has been extracted, the api-docs-builder is not fully generic yet. It will require more work, but I don't want to create a big PR with all the changes.
This PR has no functional changes (the docs look exactly the same) - it's just refactoring.
This should make the API docs builder easier to use in other repositories.

Is there an adventage of creating a package api-docs-builder-core over defining those getters into the scripts folder?

Not really. I use scripts for small utilities (and entry points for larger tools). The configs for API docs builder will get larger as we continue to refactor it, so I figured a separate package was more appropriate but it's just my preference.
Perhaps one advantage of a separate package is that you can run tests and check types for just this package.

Ok, I forgot about testing the config :+1:

Few questions, mostly to allow me to grasp the context

the purpose of @mui-internal/api-docs-builder-core is to act as a library that can be used to build CLIs that do things like generate docs API pages?
The design of the package is roughly a monolithic function that takes a configuration object? The drawback of this design is that a lot of logic for dependent repositories will reside in @mui-internal/api-docs-builder-core through branching logic. Have you considered a design where you expose composable primitives instead?
How will sharing happen across github repositories? via npm publish? or through the github monorepo dependency. If it's the latter, does that mean that the receiving end will need to compile these sources (e.g. ts-node + aliases)?

the purpose of @mui-internal/api-docs-builder-core is to act as a library that can be used to build CLIs that do things like generate docs API pages?

No, the @mui-internal/api-docs-builder is intended to work this way. I can now see the name can be ambiguous - it's not the "core" of "api-docs-builder" but rather the api-docs-builder's config for MUI Core.

The design of the package is roughly a monolithic function that takes a configuration object? The drawback of this design is that a lot of logic for dependent repositories will reside in @mui-internal/api-docs-builder-core through branching logic. Have you considered a design where you expose composable primitives instead?

My idea is that the dependent repositories would import @mui-internal/api-docs-builder and configure it for their needs (possibly creating @mui-internal/api-docs-builder-x, etc.)
If this is not enough, we can think of providing even more flexibility with smaller functions. I haven't considered exposing smaller functions just yet. If there's a need, they will have to be cleaned up from project-specific logic anyway, so this first step applies.

How will sharing happen across github repositories?

I haven't thought about this yet. Both options are on the table. My direct motivation for this PR was the need to customize docs generation per project (inside Core), so I didn't spend time considering publishing scenarios for other repos.

Any specific reasons this is a separate package as opposed to being in the scripts folder? i.e. if it's not used external to the repo and doesn't serve as a reusable building block within the monorepo, what's the beenfit of a workspace?

https://github.com/mui/material-ui/pull/39772#issuecomment-1794925781

looks like those packages seem to be referencing files outside of their workspace folder. e.g. findPagesMarkdown is traversing upwards into the docs folder. If it's a workspace on its own I'd expect it to also isolate itself from the rest of the monorepo (except through explicit workspace dependencies

Yup, this still needs work. I didn't want to open a massive PR with all the fixes but rather work incrementally.

I didn't want to open a massive PR with all the fixes but rather work incrementally.

Absolutely, thanks for clarifying the bigger picture!


uv show / uv info

Now that uv has support for managing projects, it would be great to know the current state of uv. By state, I mean:

If a project is detected, what's the name of the project?
What is the path to the python interpreter that will be used
What virtual environment will be used
... and so on.

For reference, pdm has pdm info which shows information about the current state of the environment. Similarly, rye has rye show which does something similar. It would be nice if uv supported a similar command.
Not sure if this is already a point of discussoin in #5966

I think if there's a way to know the current venv being used that itself would be a great addition.


On the TelosHandler the UPDATE at the end is causing issues

It does not include the tokenId in the where clause so it is updating more than just TLOS balances.
It is wiping out the liquid balance, but the rex is set and the total is equal to the rex + liquid (before it's wiped out).

Should be fixed via https://github.com/telosnetwork/obe-indexer/commit/824498d689569265fdce0c0af5e26f5271baaa41


Basic support for writing ICC profiles

Hi @mandykoh! Thanks again for your help with the Display P3 profiles.
I've got the profile detection working now, but the new issue is that the built in Go image encoding for jpeg / png images doesn't embed ICC profiles or have a way to do this as far as I can tell.
For conversions from Display P3 -> sRGB I suppose this is okay since images without an ICC profile are generally understood to be in the sRGB color space. That said, it would be nice to be able to write images with sRGB, Display P3, Adobe RGB or ProPhoto color profiles after using your library to linearize and convert between color profiles.
I understand it would be a lot of work to add full support for this, but it would be nice to at least be able to tag images with an existing profile once I write them / during the encoding process.
This repository has Creative Commons licensed compact ICC profiles we could use:
https://github.com/saucecontrol/Compact-ICC-Profiles
Do you know how much work it would be to add support for at least attaching these profiles to images?
And if you're too busy to work on this, I'd be happy to take a crack at it if you could give me a few pointers.

I agree, this is a big missing piece.
The main difficulty is that the image/* packages don’t expose any way to get at or attach image metadata; this was the reason for the meta/autometa packages in Prism, which unfortunately end up causing image data to be parsed twice (once by Prism to extract the metadata, and then again by image/* to decode the image). There’s been a lot of discussion in the various Go fora about how best to support metadata in the existing image packages (see https://github.com/golang/go/issues/33457) but no consensus seems to have emerged.
Without support for a metadata API, the two approaches I can think of are:

Try to intercept the output of image/jpeg and image/png to surgically insert the profiles. This might mean re-parsing the encoded image to overwrite the relevant fields (eg PNG has a header field that indicates if an ICC profile is being used) and inserting the profile data in the right way. This is obviously not going to be that efficient, and may be tricky keep from being fragile (eg in case the output from the encoders changes).
Write new encoders from scratch that do expose a metadata API. This is obviously a lot of work to get correct and efficient, along with designing the metadata API well.

Happy to keep this issue open to track this as an ongoing puzzle.

@mandykoh I think maybe it is not quite that bad. An alternative would be to fork the existing decoders and modify them so that they deserialize format-specific metadata into a [string]([]byte) map rather than discarding it. Decoding that metadata can be done separately, and we can make reasonable decisions later about which data is common enough to warrant eager decoding and validation and then figure out how to memoize the result. EXIF, XMP, ICC, and (eventually) ICCMax seem like the most obvious candidates I can think of.
From a quick read, I like a lot of what was proposed in golang/go#33457. As far as I can tell, that entire thread eventually died for lack of interest, but I think it was proceeding on a useful path. One of the reasons it died may be that they tried to do too much by failing to separate attribute deserialize from decode. Extracting ICC or eXif metadata should not require re-reading and re-parsing the input file, but the argument about which kinds of metadata are important enough to decode is one of those things where the lack of consensus can kill a proposal and the solutions can be implemented later.
I'm not convinced that three key/value stores in PNG is really a problem if metadata attribute names are defined as a path. Duplication of values in a key/value store seems like much more of a problem.
I also think that the Format type probably wants to take a function from io.Reader to bool that detects the image format, similar to what you are doing with autometa. To handle multi-image formats, the checker should assume that the io.Reader is positioned at the first byte of the image, but should not assume that this is the first byte of the containing file.
If we are forking, we might want to reconsider the definition of color.Color. A color isn't something that can return an RGBA value in an undefined color space. For advanced color processing, I think it should either be something that can construct a (color model, color space, value) tuple or perhaps something that can construct a CIELABα (alpha) value, which is mostly universal - at least across human perceivers - and probably simpler.
For legacy compatibility, I'd be okay with choosing an RGB color space by fiat (probably sRGB, because that is what most monitors now do) and saying that a color.Color must also be able to construct an "RGBA in sRGB" color value with an unspecified rendering intent (which is almost certainly what is being done today in practice).  If the application is smart enough to care about color spaces more broadly, it probably is smart enough to deal with the CIELABα value.
I think we can safely defer alien color perception support until we have at least one working example. :-)


Can this plugin be used to work locally and sync remotely (folder mapping)?

I've been using Sublime Text but I think I want to switch to Atom. Atom seems to have plugins to do everything I do with Sublime and then some. But, an essential part of my workflow is editing files locally, then on save, the remote file is replaced and I refresh to browser to see the changes (on the remote staging server). I do this in Sublime with Sublime SFTP by "mapping" the local and remote folders.
Can this be done with Remote FTP for Atom? Thanks!

Yes, there is a setting for auto-upload-on-save in the package settings (see the screenshot in the README)

I'm sorry. I thought I looked through it thoroughly enough and didn't see anything. Thanks, @jpxd

How would can i control the mapping between the local and remote folders? It seems to be creating remote folders copy in the root of the local project. I want to map it to a particular folder in my local project


adding tags for the repo

Hello,
I am a member of cdnjs project.
We want to host this library on CDN.
Could you please adding git tags for this repo?
Git tag can help us to know your release version.
And, we could auto-update the lib by a new tag.
Thanks for your help!

+1

https://github.com/cdnjs/cdnjs/pull/11833


Add support of custom envvars

If we have some table view, which would be scrollable in the vertical direction, we should take care of the stuck header. I mean header always should be on the top.
Also, I think it better to use "Value" instead "Path".

The idea of adding a new variable into the list directly - very nice. Here are a couple of suggestions:

add to the bottom, but not to the top
if a user isn't at the top of the list - scroll it to the bottom with click on "Add"
and "Create" better rename to "Add"

I think we don't need horizontal scrolling. The left column can have a fixed width and the right column can always fit to the width of the dialog.

Without white border it looks better. Isn't?

Broken views:

About icons

looks all good!


Typo "Jupyter notebooks"→"Jupyter Notebooks"

https://docs.microsoft.com/en-us/azure/sentinel/notebooks

@hyoshioka0128 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


make multiaddr-net more pluggable

multiaddr net needed some more modularity. I've started on this here.

@lgierth @noffle @jbenet could I get some CR here?

This gets closer to the modularity described in #7 but doesnt yet go all the way due to the complexity of refactoring every package that uses this

:horse: LGTM

@jbenet addressed your feedback

thanks for addressing the comments ❤ ❤


tsc "declaration" flag gives 'Unexpected token svelte(parse-error)'

I'm using svelte-preprocess for typescript support, and when I tried to attach svelte support to an existing project, I was met with 'Unexpected token svelte(parse-error)' every time I've tried to write <script lang="typescript">; even though I have my svelte.config.js set up correctly.
By narrowing it down, I found out that having "declaration": true flag in project's tsconfig.json is causing the error; if I unset it - the extension starts working correctly.
Naturally, I'd like the extension to work no matter what's in my tsconfig.json as long as it's okay with tsc.

Sorry, I was confused with the pipeline: in this case even if it's ok with tsc, it really must be okay with svelte preprocessors (and then compiler), not really with tsc. And emitting d.ts breaks preprocessors; so it's quite expected that the extension breaks as well.


Use conditions to store progress for Ninja objectives

About the PR

Uses conditions components instead of role to store some of ninja objective progress.
Why / Balance

Technical details

Media

Breaking changes

Changelog

good now i can fake greentext screenshots :trollface:

merg if my concern is fake


docs: crawlee / apify-sdk-js links in actor readmes

We have the new SDK docs live, so I guess we should keep some of the links there that are now replaced with crawlee.dev or removed totally.
(the links to API docs for crawlers etc are correct, that lives in crawlee.dev nowadays)

bumping this, AFAIK should be mergeable?


Remove listView padding

Is there a way to remove the padding?
Thanks.

Hi @tony123S
Have you tried to set mainAxisSpacing and crossAxisSpacing?

mainAxisSpacing

HI, I did

mainAxisSpacing: 0,
crossAxisSpacing: 0,

I managed to fix. The issue is on my code.
Thanks for this pub !


Reduce scanning time for I2C Scanner

Remove delay in beginTransmission function and reduce the delay between writing and reset in endTransmission function

i2c scanner example link: https://www.amebaiot.com/en/amebapro2-arduino-i2c-scan/


Local .jar file

Is your feature request related to a problem? Please describe.

Using the local .jar file causes random syntax not to render properly
Using plantuml-1.2022.14.jar
Below the syntax which is working with the server but gives attaced screenshot-result

Describe the solution you'd like

Should work same as using server

Describe alternatives you've considered

None

Additional context
Code

Dependency
[SpaceShip] .> [Input]

Dependency relationship implies that two elements are dependent on each other. It is used to reflect that one class interacts with another one, receives an instance this class as a method parameter. Compared to Association, Dependency relationship is weaker.
Implementation
[IGameElement] <<Interface>>
[SpaceShip] .up.|> [IGameElement]

Interface implementation.

Result

I can't reproduce this with an older version of the plantuml jar, but can with the most recent one.
Guessing the server used is not using the latest plantuml version.
I am suspecting that this is a regression in PlantUML itself, but will investigate further.
It starts to work for me when I insert a empty line in the diagram code.

It starts to work for me when I insert a empty line in the diagram code.

Thanks for the effort
Works for me as workaround 😉

EDIT:
I see a different behavior comparing

Edit Mode
Read Mode

In Read Mode (which i am using often) more generated images seem to be broken
I have no idea if there is a place where the images are getting cached or something


Can't build wheels

Whenever I run pip install -r requirements.txt, I get the following errors (preceded by good output). Not sure what to do.
If somone could help me out, I'm sure it's some simple solution.
Building wheels for collected packages: casttube, ifaddr
  Running setup.py bdist_wheel for casttube ... error
  Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-OA8G1x/casttube/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpI1sM9Vpip-wheel- --python-tag cp27:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help

  error: invalid command 'bdist_wheel'

  ----------------------------------------
  Failed building wheel for casttube
  Running setup.py clean for casttube
  Running setup.py bdist_wheel for ifaddr ... error
  Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-OA8G1x/ifaddr/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpNBtp_jpip-wheel- --python-tag cp27:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help

  error: invalid command 'bdist_wheel'

  ----------------------------------------
  Failed building wheel for ifaddr
  Running setup.py clean for ifaddr
Failed to build casttube ifaddr
Installing collected packages: urllib3, certifi, chardet, idna, requests, casttube, six, setuptools, protobuf, typing, ipaddress, ifaddr, zeroconf, pychromecast
  Running setup.py install for casttube ... done
  Running setup.py install for ifaddr ... done
Successfully installed casttube-0.2.0 certifi-2019.3.9 chardet-3.0.4 idna-2.8 ifaddr-0.1.6 ipaddress-1.0.22 protobuf-3.7.1 pychromecast-3.0.0 requests-2.21.0 setuptools-40.8.0 six-1.12.0 typing-3.6.6 urllib3-1.24.1 zeroconf-0.21.3

Try pip install wheel and then run the pip install -r requirements.txt again

Yay! That worked. Thanks a lot!

Okay...
Now, I'm getting a failed to load error from Rhythmbox when I try to load the plugin.

Can you open Rhythmbox using you the terminal? So you can see what's going on?

This is the error:
(rhythmbox:25449): libpeas-WARNING **: 01:10:54.981: Error importing plugin 'Chromecast':
Traceback (most recent call last):
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/blakely/.local/share/rhythmbox/plugins/chromecast/Chromecast.py", line 9, in <module>
    import ChromecastSource
  File "/home/blakely/.local/share/rhythmbox/plugins/chromecast/ChromecastSource.py", line 4, in <module>
    import pychromecast
ModuleNotFoundError: No module named 'pychromecast'

Yeah so pychromecast is not installed. It says it uses python3.6 so you should try to do pip3.6 install pychromecast

Okay. It has been successfully installed. Now I've just gotta configure Prefs.py.
Thanks for your help and time!


Update WindowsBuild.md

Add instructions to enable tests on Windows.  This requires additional patches to libdispatch and Foundation to enable the build as well as run.  But, this is in preparation for those changes to get merged and for others to replicate the test suite.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please smoke test


Performance and real-time API call

Hi there,
First so many thanks for this lib.
I try to receive MIDI input from an external controller fader, then transform and forward events to the MR18 through OSC api call.
Sadly, api calls don't allow to forward faders event to MR18 in real time, occuring a big latency.
Is there a way to forward OSC events in real-time ?
Thanks in advance

Hi.
You can try adjusting the delay kwarg, it defaults to 20ms but as noted in the README it can be safely reduced for wired connections. You may need to experiment with this though.
Looking at the base class perhaps we can remove time.sleep(self._delay) from the {XAirRemote}.send() method entirely and just move it into query. I suspect that's causing the issue you experience. The delay variable only exists to ensure the mixer updates values before sending them back (for the getters).
I'll need to investigate this.

Hi,
Thanks a lot for your quick reply.
When I remove the sleep instruction it is fine, and when I reduce the delay to 0.008 it works perfectly.
Maybe it could be a good strategy to add the sleep instruction before "query" calls, instead of after every "send" calls. Or add a delay between a "send" and a "query" to ensure the mixer updates values.
What about adding an options (like the delay kwarg) to adjust the "latency" if needed ?
Thx

Hi,
Thanks a lot for your quick reply.
Yes, you're right, when I set the delay to 0, the latency disappears and it works perfectly. 0.008 still insufficient to run in a real-time feeling.
Maybe it could be a good strategy to add the sleep instruction before "query" calls, instead of after every "send" calls. Or add a delay between a "send" and a "query" to ensure the mixer updates values ?
In my case, I only need to send "set" instructions, so I think I don't need any delay.
Thx

Yes I think that would be the correct approach. I will tackle this and channel sends for mixbuses in the coming days.

Channel sends are working well, i.e using mixer.send("/ch/01/mix/07/level", 0.7) for FX1


Relational schema: properly create HistoryEvent

When we create a HistoryEvent, we write a row into event_meta_data. For relational schemas, that entry is neither needed nor used. We need to make sure that for relational schemas any HistoryEvent we create does not cause an entry in event_meta_data.

This is tricky, because the subgraph of subgraphs still uses JSONB storage, and therefore any changes that involve metadata that needs to be versioned (like dynamic data sources) need an entry in event_meta_data.
We either have to make the decision whether to allocate in event_meta_data in transact_block_operations, or move all that logic entirely into the database and have a trigger on subgraphs.entities, though that risks collecting unnecessary history for metadata


How to test the version v1.2.0

#Hello and sorry for make this Q but I'm working in the version in the version 1.2.0 and currently we can updated to the latest can you please give some way to test this version.
Best.

Hi, sorry but can you please explain yourself better? What do you mean by test version 1.2.0? Maybe provide some examples of what you want to achieve.

Hi @jorgeborges  thanks for your replay, and sorry for my previous question is solve.


Suggestions for what to add to a Bandplan!

If you have suggestions for something to add to a bandplan you can mention it here!
Since there are so many things across the spectrum, I am bound to overlook something or not be familiar enough with a frequency or station and end up making a mistake. Also, since there are so many sources of possible things to add to the bandplan on the internet I left a lot of them off. For sake of time and to have a cleanish looking bandplan.
So, for those reasons, if I made a mistake or there is interest in something and you want to see added, you can leave a comment here and it will be added to the master (within reason of course).

PMR446 in europe

Thanks for the suggestion! PMR446 will be added to the International band plan in the next update.

Great Bandplans! Any chance of converting them for use with SDR++ aswell, Thank you

@Voyager-III Thanks! Yes, I will add them to SDR++ when I get the chance. I will go through every allocation and provide a source/ confirm allocation, as to try and avoid any errors. Then, I will be confident enough to contribute it to the repository, which uses json instead of xml, so that will take time to convert. At the moment I am busy with a local government project, so I do not know when I will do the update, but some parts are already complete.

@Voyager-III I have a preliminary SDR++ version available now. It's not perfect since it's early access. However, I think most people will still like it.


Illegal option issue after installation

After installing bash-it on freeBSD SunOS remotely from ssh, any commands will get me 'illegal usage' error in grep or ls. No changes were made on .bashrc or .bash_profile.
Here's the screen. http://pasteboard.co/D6vPDFE.png

Adding the image here for reference...

It looks like SunOS does not support some of the options for ls or grep. Example: The grep man page does not contain the color option: http://www.manpages.info/sunos/grep.1.html, while FreeBSD seems to support it: http://www.freebsd.org/cgi/man.cgi?query=grep&sektion=&n=1

The aliases are defined at the following locations:

ls: https://github.com/Bash-it/bash-it/blob/master/aliases/available/general.aliases.bash#L6
grep: https://github.com/Bash-it/bash-it/blob/master/lib%2Fappearance.bash#L4

Fixing this would require someone to wrap these locations in an if statement, defining the alias unless the OS is SunOS. Feel free to create a PR for this...
This seems to work fine on all other operating systems so far.

Similar to #819

This should be fixed now, see #885


I can't install atom (windows 7): "Installation has failed: Failed to extract installer"

I downloaded the installer from the official site and when I run it, I get the error message in the title.  I've been researching this issue and I've found that problem may lie in Update.exe.  When I go to
C:\Users\myname\AppData\Local\SquirrelTemp
I find the Update.exe file.  I can open and edit all other files in this directory, but when I try to open Update.exe, I get the error:
"Windows cannot access the specified device, path, or file.  You may not have the appropriate permissions to access the item."
But when I look at the security tab in the properties dialog of Update.exe, it shows that my account has full access.
I have no idea how to fix this issue.

What about the entire AppData folder? Any permission issues on that one?
Also, the access error on update.exe might not be related to the update.exe itself, but rather with what it tries to do (e.g. write to a temporary folder or something).
Do you have any temp folders or other restricted folders on your machine that are not permitted for your account (but usually are for most people)?

Yes, I can open and edit any and all files in AppData. I don’t know the answer to the temp folder question, however.  As far as I know, I don't have any directory restriction set up on this PC ,but I could be wrong and I'm not entirely sure how to check for permissions of a folder I don't know the name of.

cc @paulcbetts on this one.
Not sure which part of the installer may run into this error.

Log file? Should be in that SquirrelTemp directory

Also, can you try to disable any antiviruses you have when running the installer?

@paulcbetts Not seeing a log file in thar directory.  This is everything in that directory:

@jakedemianrosetta Can you check this one:

@batjko That's the directory I was in in the image I posted.

@paulcbetts So I managed to generate the SquirrelSetup.log file, by running the updater as administrator but not the setup.  If I set both to run as administrator, I get caught in an infinite loop of windows asking me for permission to open some file.
The log file only has one line, however:
Program: Starting Squirrel Updater:

I would like to +1 this. Running the latest (1.0.5) installer fails immediately, and the only file in the ~/AppData/Local/SquirrelTemp directory is an empty SquirrelSetup.log file. I'm running Windows 10 x64.

I disabled my antivirus and it worked fine

Maybe related to https://github.com/atom/atom/issues/9094?

Had the same issue on Windows 7 x64. Disabling antivirus (Mcafee) worked for me.

I also have the same problem.I run installer with administrator rights but still the message "Installation has failed; Failed to extract installer" appears.

I disabled my antivirus and it also worked

Download Atom-Windows.zip folder with this link: https://github.com/atom/atom/releases/tag/v1.5.3
Unzipped the folder
Inside this folder, double click on Atom.exe to open the editor.

@lisboaxd and @lijo-jacob can you let me know which antivirus product you were using that interfered?

For me it was McAfee.
On Feb 24, 2016 11:40 AM, "Damien Guard"<EMAIL_ADDRESS>wrote:

@lisboaxd https://github.com/lisboaxd and @lijo-jacob
https://github.com/lijo-jacob can you let me know which antivirus
product you were using that interfered?
—
Reply to this email directly or view it on GitHub
https://github.com/atom/atom/issues/7915#issuecomment-188423549.

Appear to be issues with McAfee and Kapersky plain flat-out blocking our installer. Not much we can do here but right now but will continue to monitor reports.

In India its netprotector which is causing the problem I excluded atom exe to start it now its working

Thanks @dolkee it's good to know which antivirus programs are getting overprotective!

Appear to be issues with McAfee and Kapersky plain flat-out blocking our installer. Not much we can do here but right now but will continue to monitor reports.

We're enlisting in the whitelist program for Slack to try to resolve this - it should carry over to all Squirrel apps

That's awesome news, thanks Paul!
On Tue, Mar 15, 2016 at 11:44 PM Paul Betts<EMAIL_ADDRESS>wrote:

Appear to be issues with McAfee and Kapersky plain flat-out blocking our
installer. Not much we can do here but right now but will continue to
monitor reports.
We're enlisting in the whitelist program for Slack to try to resolve this

it should carry over to all Squirrel apps

—
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/atom/atom/issues/7915#issuecomment-197178548

Avast antivirus blocked the installation on my windows 7..

Yeah, yeah. 关掉杀毒软件就行了。

This message error occurs because I have not enough free space on my disk C:\

Good afternoon , I have not heard very well if they said the solution to the problem , but also happens ami me , and I'm desperate means , PLEASE HELP !!!!!!!!

Turn off anti virus temporarily
If that doesn't work either try portable zip version or paste contents of squirrelsetup.log

Same problem, I have uninstalled my macfee, I didnt find any options, So, I kicked off ;) Windows10 should be okay without anti-virus!!

Guys, this issue is CLOSED. If you want to report a new issue, please create a new one with proper stacktrace like https://github.com/atom/atom/issues/9094.
Commenting on closed issues will make no difference since the maintainers will not dedicate any effort to fix this!

Commenting on closed issues will make no difference since there will be no visibility and therefore the maintainers will not dedicate any effort to fix your error!

This is not true.  I read all comments, including ones on closed issues.  In addition, @damieng provided assistance just a bit further up, despite the issue being closed.

@50Wliu

This is not true. I read all comments, including ones on closed issues. In addition, @damieng provided assistance just a bit further up, despite the issue being closed.

Good to know that this project has enough capacity to follow closed issues, but does it really helps if someone just posts that the problem is happening and no evidence that it is the same issue? Wouldn't be better to encourage creating a new issue with log errors so that the maintainers can analyze objectively if the problem is the same or not?
I am saying this because it just seems common sense in OSS and the contributing guidelines shows a lot of suggestions on how to create a bug report that can drive action.

Wouldn't be better to encourage creating a new issue with log errors so that the maintainers can analyze objectively if the problem is the same or not?

Yeah, I didn't include this in my comment, but that's generally what I do on closed issues (see for example my comments in this issue).

In this case though there's really only two ways that the Windows installer can fail: paths are too long or an AV is stopping the installation.

Are you sure there are only two ways? Most of the time, trying to create a simple model for complexity can make us reach to conclusions that contain too many assumptions.

Ok, >95% of the issues we receive :wink:.  If someone opens up a new issue (or comments on one) about the installer and the log provided doesn't match any of the two symptoms listed above, then of course it's triaged further.  Though this is getting off-topic now; are you a member of the Atom Slack channel?  If so, I'd be happy to continue this conversation with you there!  I'm @wliu on Slack.

xx  xx


change event and re-render on state change

Periodically I update some state which causes the CKEditor to re-render. If I'm typing into the editor at the same time the state update happens, I loose text and the cursor jumps to the beginning of the text.
I have a change to the example.js (below) that causes the issue. Just run the example and start typing in the CKEditor.
Is this an issue or is it just the way I have it coded?
const React = require('react');
const ReactDOM = require('react-dom');
import CKEditor from "../src";

class Example extends React.Component {
  constructor(props){
    super(props);

    //State initialization
    this.state = {
	  content: "Hello World",
	  periodic: 'b'
    };
	this.setContent = this.setContent.bind(this)
	this.onChange = this.onChange.bind(this);

	setInterval(() => this.cycleUpdate(), 1000);
  }

  cycleUpdate() {
	this.setState({
		periodic: this.state.periodic + 'a'
	});
  }

  //------ Test for race condition ------ //
  setContent(){
    console.log("Setting content");
    this.setState({
      content: "Hello World " + Math.random()
    })
  }

  onChange(evt){
	this.setState({
		content: evt.editor.getData()
	});
    console.log("onChange fired with event info: ",evt, "and data: ",evt.editor.getData());
  }

  onBlur(evt){
    console.log("onBlur fired with event info: ",evt);
  }

  afterPaste(evt){
    console.log("afterPaste fired with event info: ",evt);
  }

  render() {
    return (
      <div>
        <button onClick={() => this.setContent()} children='Set content' />
        <CKEditor
          content={this.state.content}
          events={{
            blur: this.onBlur,
            afterPaste: this.afterPaste,
            change: this.onChange
          }}
        />
      </div>
    );
  }
}

ReactDOM.render(
  <Example />,
  document.getElementById('example')
);

Having a similar issue, if i type the character i entered disappears and it goes to the start of the editor. Any idea? If i use 1.0.5 instead of @latest and use the onChange event it works though.

+1
I experienced this bug on receiving WebSocket MessageEvent !


--insecure-skip-tls-verify flag is working in kubernetes but not with helm

how to apply  --insecure-skip-tls-verify  flag to helm, Getting cluster unreachable error if i use  --insecure-skip-tls-verify flag it is working in kubernetes but how can i achieve this with the helm

--insecure-skip-tls-verify applies to requests against a Helm chart repository. It does not apply to the Kubernetes client. Please see https://github.com/helm/helm/pull/8622.
Closing as a duplicate of https://github.com/helm/helm/issues/8487.

For those who seeking the exact parameter name: --kube-insecure-skip-tls-verify
It works for Helm 3.10.0
ex)
helm install --kube-insecure-skip-tls-verify <args>


[Pool healty sensor fail]

I have 3 pools at my TrueNAS. All of those appears OK at TrueNAS gui.
The healthy sensor of one of these pools appears as OFF.
Any known issue?
How to reproduce the issue

Expected behavior

Screenshots

Software versions

Home Assistant version:
TrueNAS integration version:
TrueNAS version:

Diagnostics data

Traceback/Error logs

Additional context

Put in versions you are using, its important.
Also attach diagnostic data, that may help. Tho at this point, it may be better to debug the integration to see data we get from TrueNAS.


Large Data Set

The title says it all.
The problem is that I execute the same query on my sql editor by limiting the query result to 1000, it runs fairly good/fast, but when I bump this value to 10000, it starts loading but then keeps on loading forever until there is a timeout.
The problem seems to be in the first query the package runs as it counts everything to get the pages count.
The tables I'm working with are 30,000 rows each.
Here's the query
```sql
       select
	 products.designation,
	 packages.created_at,
	 products.id as product_id,
	 receptions.reference,
	 packages.id as packages_id,
	 receptions.id as receptions_id,
	 receptions.status,
	 suppliers.name as supplier_name,
	 suppliers.id as supplier_id,
	 clients.name as client_name,
	 clients.id as client_id,
	 packages.state,
	 package_product.qty,
	 package_product.subpackages_number,
	 (package_product.qty * package_product.subpackages_number) as quantities,
	 delivery_package.qty as delivery_qty
             from package_product
             left join packages on package_product.package_id = packages.id
             left join products on package_product.product_id = products.id
             left join receptions on packages.reception_id = receptions.id
             left join companies as suppliers on receptions.supplier_id = suppliers.id
             left join companies as clients on receptions.client_id = clients.id
             left join delivery_package on delivery_package.package_product_id = package_product.id
             left join deliveries on deliveries.id = delivery_package.delivery_id
            #limit 10000
```

product_package table have 30.000 rows
delivery_package table have 30.000 rows
packages table have 30.000 rows.
Is there a way I can imporve on this ?

I had the same problem until I did some reindexing.
Index your database properly and it should be WAY faster.

It shouldn't be a problem if Datatable's javascript definition is using a "serverSide" option: https://datatables.net/reference/option/serverSide


Roll Engine from f6ea6186eecc to 5731c4cd71a0 (9 revisions)

https://github.com/flutter/engine/compare/f6ea6186eecc...5731c4cd71a0
2022-02-20<EMAIL_ADDRESS>Roll Dart SDK from 8bdcc1fd53e5 to 4193ada22586 (1 revision) (flutter/engine#31573)
2022-02-20<EMAIL_ADDRESS>Roll Dart SDK from 3ffaf75396c3 to 8bdcc1fd53e5 (1 revision) (flutter/engine#31572)
2022-02-19<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from IT4CxO_gN... to 9ksAdcxnR... (flutter/engine#31571)
2022-02-19<EMAIL_ADDRESS>Roll Dart SDK from 81a28e7947bd to 3ffaf75396c3 (1 revision) (flutter/engine#31570)
2022-02-19<EMAIL_ADDRESS>Roll Dart SDK from abcc945d2079 to 81a28e7947bd (1 revision) (flutter/engine#31569)
2022-02-19<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from 2lxj0jcGf... to iTZ2zk0F5... (flutter/engine#31568)
2022-02-19<EMAIL_ADDRESS>Roll Dart SDK from 5b29f2b50059 to abcc945d2079 (1 revision) (flutter/engine#31567)
2022-02-19<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from QdGBI6Rde... to IT4CxO_gN... (flutter/engine#31566)
2022-02-19<EMAIL_ADDRESS>Roll Dart SDK from a565c735913c to 5b29f2b50059 (1 revision) (flutter/engine#31565)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from 2lxj0jcGf6m2 to iTZ2zk0F5D4v
fuchsia/sdk/core/mac-amd64 from QdGBI6RdeX2J to 9ksAdcxnRozT
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Clean up App -> swiftarr rename

Various changes to complete the App to swiftarr rename

Scripts
Docker
Documentation
gitignore/dockerignore
Remove mistakenly checked in development.env file

Looks good to me.


docs: update iceworks-component-builder docs

Codecov Report

Merging #253 into refactor/docs will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           refactor/docs     #253   +/-   ##
==============================================
  Coverage          78.54%   78.54%
==============================================
  Files                 25       25
  Lines                965      965
  Branches             187      187
==============================================
  Hits                 758      758
  Misses               207      207

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 7f83d32...5a9a87a. Read the comment docs.

如何唤起插件需要说明一下

reviewed

第一次修改已完成，请查收

第二轮 review 完成，请检查未关闭的评论。

这个插件文档的第二轮修改已经完成，请查收。


Application Layout?

In the React context, when building an app I'm used to the concept of containers and components. It appears to me that "pages" are somewhat equivalent to containers within next.js.
Is there a recommended way to add an application layout container such that I could specify for example global  and  components with the router determining which content to display within (the page)? Similar to how the popular react-router package match function can be configured on the server.
Using the next.js default router and pages folder as is, to achieve this do I have no option but to duplicate  and  across all pages?

Just an idea: you may consider to write an higher order component that takes your route component and returns.

   <YourComponent />

Thank you for your reply 😃 .
Where would I specify this HOC in the context of next.js though?
The default router will render index.js for / and about.js for /about. Do I have to duplicate for both?
index.js
export default () => (

Home

)

about.js
export default () => (

About

)

@davidrossjones one option is:
// components/Layout.js

export default () => (

Header

    {this.props.children}
    the footer

)

// pages/index.js

import Layout from '../components/Layout'

export default () => (
  <Layout>

Home

  </Layout>
)

// pages/about.js

import Layout from '../components/Layout'

export default () => (
  <Layout>

About

  </Layout>
)

components/AppLayout.js

// Core
import React, { Component } from 'react';

// UI
import { Header, Footer } from 'components';

const withAppLayout = () => (ComposedComponent) => {
  class AppLayout extends Component {
    render() {
      return (

           <ComposedComponent {...this.props} />

      );
    }
  }

  return AppLayout;
};

export default withAppLayout;

pages/index.js
import withAppLayout from 'components/AppLayout';

const Home = () => (
Home
);

export default withAppLayout(Home);

Aha! That makes perfect sense.
Thank you @altayaydemir and @impronunciable for the insight! Awesome. 👍

@impronunciable @altayaydemir Apparently, the Layout wrapper component gets re-mounted when changing routes which does not completely solve the problem. @ericf describes this in #50.

@dlindenkreuz well, you are right. 😥 I also agree on having an app layout component.

how to get initial props using this layout? like this

static getInitialProps ({ req}) {
return {request: req ? 'Server' : 'Client '}
}

In the React context, when building an app I'm used to the concept of containers and components. It appears to me that "pages" are somewhat equivalent to containers within next.js.

I was wondering the same thing as well.  Is there anything fundamentally different between pages and containers?

Wondering the same over here.
I was used more to.
./pages/Index.js

const IndexPage = ({ serverCall }) => (

   <button onClick={serverCall}>Hello</button>

);

export default IndexPage;

And then on.
 ./containers/Index.is

import IndexPage from './pages/Index.js'

const composerData = (props, onData) => {
   onData(null, {
     serverCall: () => console.log('call');
   })
};
export default compose(composerData)(IndexPage);

where compose can be something like https://github.com/arunoda/react-komposer, but still i'm not sure if this the correct usage for NextJs, or i can avoid the Container and do this on the Page directly

You could use pages/_app.js for global layout now.


xtensa: g_current_regs is only used to determine if we are in irq,

Summary
Why
When a context switch occurs currently, the context before the interrupt is fetched from the global variable g_current_regs and then stored in the corresponding tcb->xcp.regs. Subsequently, the new context is assigned to g_current_regs. When returning from the interrupt context, the context is retrieved from g_current_regs and used.
In reality, we do not necessarily require this intermediate variable g_current_regs to accomplish a context switch. Eliminating it avoids multiple assignments, especially during multiple context switches within interrupts, which can lead to repeated assignments.
All we need is to work directly with the context of the currently running task. This approach enhances the speed of context switching, reduces the code base, and optimizes signal handling logic. By simply leveraging the context of the active task, we can streamline the process and improve overall efficiency.
reason:
by doing this we can reduce context switch time,
When we exit from an interrupt handler, we directly use tcb->xcp.regs
Missing Information:
Related Issues: none
NuttX Apps Impact: none
Impact
Is a new feature added? NO
Is an existing feature changed? yes
g_current_regs is only used to determine if we are in irq with other functionalities removed.
We need to use up_interrupt_context for interrupt identification instead of relying on up_current_regs for that purpose.
before
text    data     bss     dec     hex filename
178368     876  130604  309848   4ba58 nuttx
after
text    data     bss     dec     hex filename
178120     876  130212  309208   4b7d8 nuttx
szie change -248
Testing
Build Host:
OS: Ubuntu 20.04
CPU: x86_64
Compiler: GCC 9.4.0
Target:
Arch: xtensa(./tools/configure.sh -E esp32s3-devkit:smp)

[Experimental Bot, please feedback here]
NuttX PR Requirements Review
Overall: The PR description mostly meets NuttX requirements but has some areas for improvement.
Strengths:

Clear problem statement: The "Why" section clearly explains the problem with using g_current_regs and the benefits of removing it.
Concise impact description:  The "Impact" section outlines the changes and their implications on functionality, build size, and interrupt handling.
Testing information:  Provides build host and target details.

Areas for Improvement:

Missing Information:

Related Issues:  Even if there are no directly related issues, mentioning this explicitly helps reviewers.
Testing Logs: The template requests "before" and "after" logs, which are missing.  Provide evidence of successful testing.

"Impact" Section Specificity:

User Impact:  While you state "NO," it's best to explicitly confirm users won't need to adapt (e.g., "No user-facing changes").
Build Process:  Similarly, rephrase "NO" to "No changes to the build process itself."
Other Impacts:  Since you're changing core context switching, consider if there might be subtle impacts on compatibility or edge-case behavior worth mentioning.

Code Clarity:

The description mentions "optimizes signal handling logic."  Briefly elaborate on how signal handling is improved by this change.

Recommendation:
Address the missing information and clarify the points mentioned above. Providing concrete testing logs demonstrating the improvement (e.g., reduced context switch time) would significantly strengthen the PR.

I will test it in our internal CI. Please don't merge it yet.

@hujun260 please rebase the change to fix the conflict.

I will test it in our internal CI. Please don't merge it yet.

@tmedicci do you have test result?

I will test it in our internal CI. Please don't merge it yet.

@tmedicci do you have test result?

I'm sorry. I let it testing during the night. Everything seems to be fine. Please, go ahead!


core 25.1.0

Type: Missing
Summary:
core 25.1.0
Details:
ClearlyDefined license is OTHER: AG GRID ENTERPRISE EULA v13.0
NPM indicates Commercial
GitHub indicates: OTHER AND MIT: https://github.com/ag-grid/ag-grid/blob/v25.1.0/LICENSE.txt
Resolution:
OTHER AND MIT
Affected definitions:

core 25.1.0

Same as #16142. Updated to OTHER.


POST /admin/generate_link returns empty string when SMTP env vars aren't set

Bug report

Missing SMTP env vars cause the POST /admin/generate_link endpoint to fail silently and return an empty string in the action_link field in the response.
https://github.com/supabase/gotrue/blob/aead739cfff919500cdee343496279743448bca8/api/mail.go#L145

Not an issue in Supabase Auth (on the platform) since there's always an SMTP server. But for self-hosting, GoTrue uses the noop mailer which makes it confusing.
Adding the label good first issue if someone wants to contribute.

What would you like to do here?
I think that https://github.com/supabase/gotrue/blob/master/internal/mailer/mailer.go#L44 should panic at this point if the configuration doesn't specify that a noop is accepted.
Obviously, a new field in https://github.com/supabase/gotrue/blob/master/internal/conf/configuration.go#L192 must be added.


Generation of training data for tables and figures outputs less element than in input

Attempt to fix #693, and is valid for both figures and tables.
One case is when only one figure/table is identified in the fulltext, it is not output in the respective training data.
The fix attempt to verify that there are not figure/tables accumulated but not consumed
To reproduce the behaviour as explained in #693 is necessary to merge here the features/add-training-data or use the branch bugfix/fix-figure-table-training-data-generation

Coverage increased (+1.0%) to 39.157% when pulling f7b1d8d114a6feceb0b7adbc08ea639a140c5bd6 on bugfix/fix-training-figures-tables-generation into bfeed63308f3c824aec2641dbd22253a377f8810 on master.

Coverage increased (+1.0%) to 39.157% when pulling f7b1d8d114a6feceb0b7adbc08ea639a140c5bd6 on bugfix/fix-training-figures-tables-generation into bfeed63308f3c824aec2641dbd22253a377f8810 on master.

Looking good to me. Just minor comment regarding extracting function.
I haven't run it myself yet. From the code I read that the issue was that if the figure or table is the last "item" of the fulltext model, then it was omitted from the output?

Looking good to me. Just minor comment regarding extracting function.
I haven't run it myself yet. From the code I read that the issue was that if the figure or table is the last "item" of the fulltext model, then it was omitted from the output?

Looking good to me. Just minor comment regarding extracting function.

Thanks!

I haven't run it myself yet. From the code I read that the issue was that if the figure or table is the last "item" of the fulltext model, then it was omitted from the output?

yes, the last item or the only item.

Looking good to me. Just minor comment regarding extracting function.

Thanks!

I haven't run it myself yet. From the code I read that the issue was that if the figure or table is the last "item" of the fulltext model, then it was omitted from the output?

yes, the last item or the only item.


Incorrect Reactome xrefs

This may be an issue for Reactome rather than GO?
But I noticed these odd, high level xrefs to 'ligase activity':
[Term]
id: GO:0016874
name: ligase activity
xref: EC:6
xref: Reactome:REACT_115603 "Ligation of DNA at sites of patch replacement, Gallus gallus"
xref: Reactome:REACT_116018 "Ligation of newly synthesized repair patch to incised DNA in GG-NER, Gallus gallus"
is_a: GO:0003824 ! catalytic activity
Also, I don't see any record of these xrefs being adding in the change log on this page:
https://www.ebi.ac.uk/QuickGO/term/GO:0016874

The Reactome xrefs will be getting updated soon.  #12518.

Ah, good.  Thanks for the pointer to that other ticket.
Very please to read this there:
"Regarding xrefs to multiple species, I believe the advice from @deustp01 is to only maintain the xref to human as the others can be derived as needed."
@hattrill

Yes. That is the current plan.


Crash when inputting the second character in any address field of the composer

Although there are a couple of older reports WRT crashing composer window, they all seem to be fixed and none seems to be similar.
Expected behavior
Enter addresses successfully in composer window.
Actual behavior
K9 Mail 5.40x always crashes, when typing the second character in any address field of the composer window (i.e., To:, CC: and BCC:).
Steps to reproduce

Start K9.
Tap on "new email icon": The composer window opens.
Tap on an address field and start typing an address: When inputting the second character, K9 crashes.

Environment

K-9 Mail version: 5.40x, tested with 5.400 and 5.403 from F-Droid.
Android version: AOSP 4.1.2 (API level 16) based Android runtime environment (AlienDalvik) under SailfishOS 2
Account type (IMAP, POP3, WebDAV/Exchange): IMAP (but seems to be irrelevant)

Logs

com.fsck.k9_composing-crash_alogcat-mainlog.txt
com.fsck.k9_composing-crash_alogcat-eventlog.txt

Notes
IIRC K9 Mail 5.008 was working fine with the same environment and configuration.

Looks like the app is crashing when trying to access the system's contacts provider. Can you provide an unfiltered log containing the stack trace (the lines containing AndroidRuntime)?

Ah, it works, when I let AlienDalvik access the system address book outside the Android container.
K9 >= 5.400 seems to initiate a search in the address book after receiving the second character and crash when nothing is returned (or the intent fails).
But no other Android app crashes in this situation (including K9 <= 5.203), instead they just allow for manually inputting an email address.

Oh, I can reproduce this crash with K9 Mail 5.203 on my second ("production")SailfishOS phone.
It must have been K9 v5.008 with which I remember to have typed addresses manually.

This should be fixed once we switch to runtime permissions. See #2110.

Thanks for the pointer.
Meanwhile I found this being reported in 2016 with K-9 v5.111 (before the discussion dives into an IMAP Drafts folder issue), but not here (unfortunately & as so often).

Still I took a log (as you suggested, hopefully it contains all relevant information), so you can technically confirm your assumption:
I seem to have opened the composer window 07-13 21:10:14.474 and it crashes 07-13 21:10:25.000 to 07-13 21:10:25.233, AFAICS.

I consider this to be a bug in AlienDalvik. It's not even a SecurityException.

Well, what difference does it make, if a Security Exception or a regular Exception is thrown?
K9 could try to catch it, right?
And what else than simply throwing an Exception could AlienDalvik, CyanogenMod, LineageOS and a couple of other "custom ROMs" do, which allow for retracting permissions for a long (i.e., before Google introduced the "runtime permissions API" with API level 26)?
Yes, this issue is not a serious bug, but definitely a usability issue: One observes K-9Mail to crash without hinting why!
Most users will give up at this point, believing K-9 is broken (and I decided to wait for an eventually fixed version for 1,5 years).   As soon as one understands that the reason for the crash is a retracted permission, it is easy to workaround this be re-granting it.
Look, K-9 is exceptional (there is no other mobile email client coming close to its rich functionality), thus I and many others depend on it for long.   The reason why I still pursue this issue (although I know how to workaround it now), is that IMHO K-9 can easily deliver a good user experience even for the couple of 10000 AlienDalvik users and couple of 100000 users of aforementioned custom ROMs, if this aspect (i.e., permissions may be retracted under API levels < 26, causing exceptions) is also addressed when dealing with issue #2110.

Throwing such exceptions breaks the API contract. I believe by now most custom ROMs should implement revoking permissions in a compliant way (i.e. if the app doesn't support runtime permissions accessing contacts works and returns an empty contact list; achieves the same, doesn't break apps).
We don't catch unexpected exceptions because then there'd be no way to learn about them. K-9 Mail doesn't contain "phone home" functionality that would allow us to not crash but still learn about the exceptions.

Throwing such exceptions breaks the API contract.

Sure, without the "Android runtime permissions" (as of API level >= 26), breaking the API contract is a logical consequence of simply retracting a permission, which has been granted upon installation of an app.

I believe by now most custom ROMs [...]

I would expect that to be the case for their releases based on AOSP >= 8.0 (API level >= 26), too.
But that does not imply that everyone can and does switch to such a new version on their devices (I guess that is one of the reasons, why K-9 supports Android versions before 8. ;) ).

We don't catch unexpected exceptions because then there'd be no way to learn about them.

Well, there is a way (actually a beaten path), i.e. via issue reports on Github, see issues #2110 and #3498. ;)
Seriously, you already learnt about the two most prominent ones in issue #2110: Contacts permission and Storage permission.


Feature: Add "Add Team Members" to lists feature

Type of feature
🍕 Feature
Current behavior
There's no way to add a team member to the list. You can share your list, but there is no admin or edit option.
Suggested solution
Similar to insights, it would be great to have the ability to add team members to the list. I don't think we need the "view" option unless that's different from "Share".
There are a number of users who would benefit from this feature:

Project Maintainers: Allows for shared responsibilities and decentralized management.
OSPOs: Supports the collaborative management of open source contributions at an organizational level.
Community Managers: Empowers them to dynamically recognize contributions across various projects.
Learning Cohorts: Facilitates group learning experiences where contribution tracking is a collective effort.

In the future, this will be a necessary feature for squads.

Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[X] I agree to follow this project's Contribution Docs

moving this to the workspaces level.


[FR]: Build a CLI command to print information about a port

Background & current behavior
Pretty much since the dawn of Kurtosis, the ephemeral, changing ports have been a thorn in the side of users. This is why we built the static-ports hack in Starlark. Today, yet another user hit this.
Much better would be a way for the CLI to output the various port information, so the user has to think about it less. This probably won't fully replace the need for static ports, but it should help a lot (especially with the quickstart).
Desired behavior
BASIC: the user can do curl -XGET http://<IP_ADDRESS>:$(<something>) and the port number is plugged in
ADVANCED: the user can do curl -XGET $(something) and the entire URL is plugged in
Talk to Kevin about this for solutioning; he has ideas!
How important is this feature or improvement to you?
Painful, the lack of this feature makes using Kurtosis frictionful.

@mieubrisse will that be needed in a world where we have static port bindings? It feels like it's a bandaid on something we might not be too too far from. Maybe if we prioritize the static port binding higher, we can provide a first class solution here. WDYT?

I think they move in orthogonal space, and are both necessary. This would be for, "I don't care about the port number; just give me the info" a la:
curl -XGET http://<IP_ADDRESS>:$(kurtosis port print my-enclave my-service my-port)

Static port bindings would be for something like, 'I have a config file that needs me to hardcode a port number'
And actually, whenever possible, I'd prefer folks use the kurtosis port print approach because it's more robust (even if the author changes the port number, you're protected)

Got it got it, that makes sense to me. Let's do both then and focus on the cli command to retrieve the info for the scope of this ticket
As you said above, I think retrieving only the port is a bit sad here, we should rather retrieve the entire endpoint, including the scheme, host and port.
The other thing is that all our other commands do kurtosis <VERB> <NOUN> so, in this case that would be kurtosis print <SOMETHING>
So, if you were sold of "print", we can easily do:
> kurtosis print endpoint my-enclave my-service my-port
https://<IP_ADDRESS>:45243

Another thought, I just reviewed a PR from Gyani where he was moving the from being an args to being a flag --enclave my-enclave Should we do the same here?

@Peeeekay are you done with this?

it's closed; the command is kurtosis port print


Boilerplate management tool inspired from boilr

I was looking for a boilerplate management tool and found this project and was amused by it, but this project do not have any new commit for long time. I took inspiration from this project and created a boilerplate management tool Bare. I have written this in go. This have all the basic features of boilr and some new features I have added.
Features of Bare

Create your own placeholders ( like {{AppName}}) and set it's default value in recipe.json (Bare templates config file).
Setup your project with git.
Prompt for the license.
Get info about the template.
There more features yet to be added.

Please checkout this project.

I'll try to fix all the open issues on this repository. Thanks !!

Is this still active :(

@marcpires I'll try to work and merge any pull request if you have any ideas.

We're still working on docs, but we have a tool we've been working on for a few years now we just open sourced: https://github.com/getoutreach/stencil


Shorter title

Fixes #1292

The last update will not fit I think:

Let's see.. It's an easy fix. In the meantime, if @vjeux comes with better ideas...