Revamped kernel construct for internal language

We probably need a more elaborate kernel construct to move ahead with more advanced code generation.  Currently we use ad-hoc MapKernels, ReduceKernels and ScanKernels, but it prevents us from doing certain interesting things, such as for example efficiently computing map-scan-reduce combinations that all fit within workgroups, or using shared memory.
I am thinking of a construct inspired by Obsidian.  Let us call it Kernel.  When creating/launching a  Kernel, you specify the number of workgroups and the size of the workgroups, possibly (or most likely) symbolically.  The Kernel then contains a sequence of workgroup-level statements.  These statements are predefined (parametrised) parallel building blocks, ranging from something simple like a map for every thread in the workgroup, to a reduce within the workgroup.  Hence, an efficient chunked reduction would involve first a map (containing a sequential loop), followed by a reduce.  These are currently ad-hocced together in the ReduceKernel construct.  For example, this is the first stage of reduce(*, 1, a) as we currently compile it:
  let {int num_groups_34} = num_groups() in
  let {int group_size_35} = group_size() in
  let {int num_threads_36} = num_groups_34 * group_size_35 in
  let {int y_37} = num_threads_36 - 1 in
  let {int x_38} = size_19 + y_37 in
  let {int per_thread_elements_39} = x_38 // num_threads_36 in
  let {[int,size_19] a_copy_46} = copy(a_20) in
  let {[int,num_groups_34] res_41} =
    reduceKernel(size_19,
                 num_groups_34, group_size_35, per_thread_elements_39, size_19,
                 per_thread_elements_39, num_threads_36
                 {1},
                 a_copy_46
                 fn {int} (i_47; int other_index_48, int x_49, int y_50) =>
                   let {int res_51} = x_49 * y_50 in
                   {res_51},
                 fn {int} (lam_index_52; int chunk_size_53,
                                         [int,chunk_size_53] y_chunk_54) =>
                   -- Consumes y_chunk_54
                   let {int res_61} =
                     -- Result of redomap_inarr_55 aliases redomap_inarr_55
                     loop {acc_56} <- {*[int,chunk_size_53] redomap_inarr_55,
                                       int acc_56} = {y_chunk_54, 1}
                     for i_57 < chunk_size_53 do
                       let {int x_58} = acc_56 in
                       let {int y_59} = redomap_inarr_55[i_57] in
                       let {int res_60} = x_58 * y_59 in
                       {redomap_inarr_55, res_60} in
                   {res_61}) in
  ...

With the new construct I am thinking about, it would look more like this:
  let {int num_groups_34} = num_groups() in
  let {int group_size_35} = group_size() in
  let {int num_threads_36} = num_groups_34 * group_size_35 in
  let {int y_37} = num_threads_36 - 1 in
  let {int x_38} = size_19 + y_37 in
  let {int per_thread_elements_39} = x_38 // num_threads_36 in
  let {[int,size_19] a_copy_46} = copy(a_20) in
  let {[int,num_groups_34] res_41} =
    kernel (num_workgroups: num_groups_34,
            workgroup_size: group_size_35) do
    -- Give each thread a chunk of the given size, if possible.
    -- Last thread may have chunk_size_53 < per_thread_elements_39.
    let {int chunk_size_53, [int,chunk_size_53] y_chunk_54} =
      partition_by_chunk_size(per_thread_elements_39, a_copy_46) in
    let {[int,num_group_size_35] per_thread_result_62} =
      thread do
        let {int res_61} =
          -- Result of redomap_inarr_55 aliases redomap_inarr_55
          loop {acc_56} <- {*[int,chunk_size_53] redomap_inarr_55,
                            int acc_56} = {y_chunk_54, 1}
          for i_57 < chunk_size_53 do
            let {int x_58} = acc_56 in
            let {int y_59} = redomap_inarr_55[i_57] in
            let {int res_60} = x_58 * y_59 in
            {redomap_inarr_55, res_60} in
        {res_61}) in
      in
    let {int my_reduction_result_63} =
      workgroup_reduce(fn {int} (i_47; int other_index_48, int x_49, int y_50) =>
                         let {int res_51} = x_49 * y_50 in
                         {res_51},
                       {0}, per_thread_result_62) in
    {thread 0 returns my_reduction_result_63} in
  ...

Note that the let-bindings inside the kernel body are not normal Futhark-bindings and expressions, but special kernel-specific AST constructs, although the bodies of the workgroup_reduce and thread constructs are ordinary (sequential) Futhark code.
This kernel construct has some nice properties.  Among them is the fact that we can still track uniqueness to do in-place updates safely.  In the above, I imagine that workgroup_reduce consumes the input array per_thread_result_62.  I'm not sure it's worth keeping everything completely safe - for example, I imagine that my_reduction_result_63 is a thread-local variable, but the array per_thread_result_62 is actually shared across the entire workgroup, so an in-place update would be visible to all threads.  Or maybe we can actually check this using our normal uniqueness constraints?  Note that y_chunk_54 is a thread-local array, so an in-place update would be fine here.
Another nice property is the ability to easily deal with shared memory - when we add memory annotations, we simply indicate that we want per_thread_result_62 to be in shared memory.  The result of this would be to generate exactly the same code for this simple case as we currently do for our specialised reduceKernel construct.
The return values of a kernel merit special attention.  First and foremost, we must obtain at least one value from every workgroup - this follows by the fact that workgroups cannot communicate at all.  (There may be some cases - search algorithms - where only one workgroup produces a meaningful value, but we can worry about that if it arises in practice, and I do not think it will.)  We may want to obtain just one scalar value from a workgroup, or maybe several scalar values, or maybe an array per workgroup, or a scalar value per thread, and so forth.  This requires a more elaborate design than the rather simplistic Results in ordinary Futhark.  The pseudocode above returns a single scalar for every workgroup.
Finally, we will need to come up with a good notation.  It is fairly hard to keep this internal language looking like the external language (the reduceKernel already fails here), and I am not sure that it is worthwhile, but I do prefer that internal Futhark is at least consistent with itself.  I kind of wish we just used s-expressions for prettyprinting the internal language.  It would also make it quite a bit easier to parse.

There are of course lots of restrictions on what can be returned from a kernel: the number of values must be statically known, and an array can only be returned if its size is known before entering the kernel.  This latter restriction prevents us from writing scans, so we'll have to find some way to ameliorate it, possibly by always padding scans such that the partition will always return an array whose size is the same as the desired chunk size.

Here's an idea on how to handle scan:
  let {int num_groups_34} = num_groups() in
  let {int group_size_35} = group_size() in
  let {int num_threads_36} = num_groups_34 * group_size_35 in
  let {int y_37} = num_threads_36 - 1 in
  let {int x_38} = size_25 + y_37 in
  let {int per_thread_elements_39} = x_38 // num_threads_36 in
  let {[int,size_25] sequentially_scanned_41,
       [[int,group_size_35],num_groups_34] sequentially_scanned_42} =
    kernel (num_workgroups: num_groups_34,
            workgroup_size: group_size_35) do
    -- Give each thread a chunk of the given size, if possible.
    -- Last thread may have chunk_size_53 < per_thread_elements_39.
    let {int chunk_size_53, [int,chunk_size_53] y_chunk_54} =
      partition_by_chunk_size(per_thread_elements_39, a_26) in
    let {int my_result,
         [int,chunk_size_53] sequentially_scanned} =
      thread do
        let {[int,chunk_size_53] blank} = scratch(int, chunk_size_53) in
        let {int res_61, [int,chunk_size_53] arr} =
          loop {acc_56, acc_arr} <- {int acc_56, [int,chunk_size_53] acc_arr} = {1, y_chunk_54}
          for i_57 < chunk_size_53 do
            let {int y_59} = y_chunk_54[i_57] in
            let {int res_60} = acc_56 * y_59 in
            let {([int, chunk_size_53] acc_arr_new <- acc_arr)[i_57]} = res_60 in
            {res_60, acc_arr_new} in
        {res_61, arr} in
      in
   let {[int,group_size_35] per_thread_result_62} =
     each_thread(my_result)
   let {int my_scan_result} =
     workgroup_scan(fn {int} (i_47; int other_index_48, int x_49, int y_50) =>
                         let {int res_51} = x_49 * y_50 in
                         {res_51},
                       {0}, per_thread_result_62) in
   {thread concats sequentially_scanned,
    thread returns my_scan_result} in
  ..

I changed the thread construct to always return something thread-local.  There is an each_thread statement that allows the construction of a shared array.
In both scan and reduction, these shared arrays are used only for the workgroup-wide scans and reduces.  Maybe communication between threads should only be permitted through these well-defined parallel primitives?

I would also like to get rid of the "lambda" construct, I think.  It is not always convenient to force everything into the same container.


Correction for raw affiliation EDF R&D SYSTEME

Correction needed for raw affiliation EDF R&D SYSTEME
raw_affiliation_name: EDF R&D SYSTEME
new_rors: 03wb8xz10
previous_rors:
works_examples: W4391670099;W4391556988;W4390353387
contact: bfb73da41ca89cef69ef885b91287a1a:3629b22ada69559e3335afe9f3d013 @ recherche.gouv.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-09. The new affiliations should be visible within the next 7 days.


Rewrite to allow matches from multiple stores

Rewrite the multiple-store feature to allow files with the same name in different stores
Add dynamic number of stores
Rewrite options screen
Add styling to login entries when multiple stores are enabled

@maximbaz Worth clarifying, because this may not be obvious - the browser extension in this branch is backwards-compatible with the current release version of the host app. There are no breaking changes.

There's also something in this PR which is causing Firefox to occasionally display a horizontal scrollbar. It's not the min-width of the popup. Will update when I've found the cause.

Firefox scroll issues sorted.

This looks really nice! I particularly like that the label is not displayed when only one password store is configured.


Player names

Let players change their name. This could be done by having a pencil icon in the leaderboard only next to the player's own name.

Fixed in 843c0ce


How to export data using if condition?

I'm try to export data which is filter by input request, but when I do that its export all data , how can I export data
'public function exportstudent(Request $request)
{
$course = $request->course;
$year = $request->year;
   if($request->has('search'))
   {

      $students = Student::search($request->input('search'))->get();
   }

   else
   {
	   	 if (($course) && ($year))
	    {
	     $students = Student::where('year_of_admission','=',$year)->where('course_id',$course)
                   ->latest()->get();
	    }
	      elseif ($course)
	     {
	    	 $students = Student::where('course_id','=',$course)->latest()->get();
	     }

	     elseif ($year)
	     {
	     	$students = Student::where('year_of_admission','=',$year)->latest()->get();
	     }

	     else
	     {
	     	$students = Student::latest()->get();
	     }
   }

   Excel::create('students', function($excel) use($students) {
               $excel->sheet('sheet 1', function($sheet) use($students){
               	$sheet->fromArray($students);
               });
   })->export('xls');
}  `

Hi,
You can try to dd() your $students first to check if your if-else condition is correct. Your Excel::create implementation seems fine.


Add info regarding epinio ui version to release checklist

Codecov Report

Merging #1548 (904697a) into main (5af2c73) will decrease coverage by 22.88%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main    #1548       +/-   ##
===========================================
- Coverage   62.22%   39.34%   -22.89%
===========================================
  Files         167      167
  Lines       12258    12258
===========================================
- Hits         7628     4823     -2805
- Misses       3656     6719     +3063
+ Partials      974      716      -258

Flag
Coverage Δ

acceptance-api
?

acceptance-apps
38.04% <ø> (+0.46%)
:arrow_up:

acceptance-cli
?

unittests
8.62% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Spurious error with Colormap data UI

The colormap component UI can trigger a spurious error in some circumstances.

Error:
[2024-08-15T07:57:45Z ERROR re_viewer_context::gpu_bridge::colormap] Failed to paint colormap preview: Condition failed: `resolution_in_pixel[0] > 0 && resolution_in_pixel[1] > 0`

Repro:

run check_all_components_ui.py
select all_components_single
randomly scroll the selection panel vertically until the error shows up (probably when the colormap is rendered just offscreen)

code:
https://github.com/rerun-io/rerun/blob/819e021be96f633380bf711fc3fdc5267f6232da/crates/viewer/re_viewer_context/src/gpu_bridge/mod.rs#L160-L168

The fix might be as easy as changing this ensure! line to an early exit, but I'm not sure if there would be hidden implications.

I wonder what causes this to happen. But it an early out here instead seems safe enough to me

My bet is a situation where the ListItem is just visible on screen, so it draws its content, but the gradient is fully offscreen (because it's slightly smaller than the ListItem).


Better Docker image pruning

This PR finally makes the pruning work as intended.
The problem was that the built images were directly deleted after a simulation was stopped so they wouldn't stay in the cache.
I also set the 'keeping time' to two days as it seems more practical.

Seems good, but is it useful if we want to use  https://github.com/stepchowfun/docuum?


galaxy tour for proteomics/protein-quant-sil

@jj-umn @pratikdjagtap Can you have a look at this Interactive Tour? Thanks a lot


Root element width is being miscalculated.

Although the parent element of the root element occupies 100% width of the page (1440px), the root element width is being style with 4354px, which makes the layout break (all the positions are wrong).
Any idea why is this happening? I'm using a simple code like the example one.

Looks like the culprit is Bricks. When I target the same div directly with Bricks, I get the same miscalculation. Might be related to https://github.com/callmecavs/bricks.js/pull/35

Actually, @jpamarohorta there is a chance that you simply need to set the same width on all the cild elements. Mine were variable and it actually caused that parent width issue.
Bricks, fundamentally, is a variable height library. Variable width completely throws it off.

Was fixed in 1.8.0 Bricks.js update.

I'm still getting this same problem actually... Any advice on how to fix it?


Images Won't Import

I can't get the images to import.  There is no log output.  How can I troubleshoot?

Same. It runs without errors but the images on the body field are missing. Some images are imported and are present in the media folder but none show in the body.


macOS: problem installing from Homebrew cask / M1 Mac Mini?

Wanted to try this out so I followed the install instructions, but it's failing. Seems to be related to wiretrustee dependency.
macOS 12.5 / M1 Mac Mini.
$ brew install netbirdio/tap/netbird
==> Downloading https://github.com/netbirdio/netbird/releases/download/v0.8.5/netbird_0.8.5_darwin_arm64.tar.gz
Already downloaded: /Users/luke/Library/Caches/Homebrew/downloads/e57146d1abdb10de1d122c8031f374f8a3a978f2d3713bb64c207b2ede0c314a--netbird_0.8.5_darwin_arm64.tar.gz
==> Installing netbird from netbirdio/tap
Warning: netbird: No available formula with the name "wiretrustee". Did you mean wiredtiger?
'conflicts_with "wiretrustee"' should be removed from netbird.rb.
Warning: No available formula with the name "wiretrustee". Did you mean wiredtiger?
==> Searching for similarly named formulae...
This similarly named formula was found:
wiredtiger
To install it, run:
  brew install wiredtiger
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching taps on GitHub...
Error: No formulae found in taps.

$ brew install --cask netbirdio/tap/netbird-ui
==> Downloading https://github.com/netbirdio/netbird/releases/download/v0.8.5/netbird-ui_0.8.5_darwin_arm64_signed.zip
Already downloaded: /Users/luke/Library/Caches/Homebrew/downloads/764db04869eba635b474cf8c5b946c62055e3a93bdff2f25d9bd812e94c6ed4d--netbird-ui_0.8.5_darwin_arm64_signed.zip
==> Installing dependencies: netbird
==> Downloading https://github.com/netbirdio/netbird/releases/download/v0.8.5/netbird_0.8.5_darwin_arm64.tar.gz
Already downloaded: /Users/luke/Library/Caches/Homebrew/downloads/e57146d1abdb10de1d122c8031f374f8a3a978f2d3713bb64c207b2ede0c314a--netbird_0.8.5_darwin_arm64.tar.gz
Warning: netbird: No available formula with the name "wiretrustee". Did you mean wiredtiger?
'conflicts_with "wiretrustee"' should be removed from netbird.rb.
Warning: No available formula with the name "wiretrustee". Did you mean wiredtiger?
==> Searching for similarly named formulae...
This similarly named formula was found:
wiredtiger
To install it, run:
  brew install wiredtiger
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching taps on GitHub...
Error: No formulae found in taps.

Hello @luckman212 the issue is caused because you had wiretrustee installed and brew doesn't handle well conflicts.
To solve the issue you can run:
brew uninstall wiretrustee
brew install --cask netbird-ui

Thanks, but not sure that's correct...
$ brew uninstall wiretrustee
Error: No available formula with the name "wiretrustee". Did you mean wiredtiger?

$ brew info wiretrustee
Error: No available formula with the name "wiretrustee". Did you mean wiredtiger?
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.

$ brew search wiretrustee
==> Formulae
wiredtiger

==> Casks
wireframe-sketcher

Thanks for reporting back. This is a bit odd, as locally (Homebrew 3.5.7), it gives a similar warning, but doesn't try to search the package and the installation continues. Could you please share your brew version?
It might help if you add the wiretrustee tap just for the sake of installation:
brew tap wiretrustee/client
brew tap netbirdio/tap
brew install --cask netbird-ui

if you see some errors similar to the ones below:
"launchctl" failed with stderr: /Library/LaunchDaemons/netbird.plist: service already loaded

It means that netbird was already installed from previous attempt

Sure
$ brew --version
Homebrew 3.5.8
Homebrew/homebrew-core (git revision daff070e3ee; last commit 2022-08-05)
Homebrew/homebrew-cask (git revision ed8e07eb85; last commit 2022-07-14)

Thank you @luckman212
I tested here with the same version, but I wasn't able to reproduce it, see output below:
maycon@Maycons-MBP-2 [19:33:19] [~]
-> % brew --version
Homebrew 3.5.8
Homebrew/homebrew-core (git revision bb4418083ce; last commit 2022-08-05)
Homebrew/homebrew-cask (git revision 52d6035354; last commit 2022-08-05)
maycon@Maycons-MBP-2 [19:33:25] [~]
-> % brew tap
filosottile/musl-cross
homebrew/cask
homebrew/core
tinygo-org/tools
maycon@Maycons-MBP-2 [19:33:31] [~]
-> % brew install --cask netbirdio/tap/netbird-ui
==> Tapping netbirdio/tap
Cloning into '/opt/homebrew/Library/Taps/netbirdio/homebrew-tap'...
remote: Enumerating objects: 108, done.
remote: Counting objects: 100% (108/108), done.
remote: Compressing objects: 100% (79/79), done.
remote: Total 108 (delta 42), reused 44 (delta 13), pack-reused 0
Receiving objects: 100% (108/108), 16.79 KiB | 716.00 KiB/s, done.
Resolving deltas: 100% (42/42), done.
Tapped 1 cask and 1 formula (14 files, 27.2KB).
==> Downloading https://github.com/netbirdio/netbird/releases/download/v0.8.5/netbird-ui_0.8.5_darwin_arm64_signed.zip
Already downloaded: /Users/maycon/Library/Caches/Homebrew/downloads/764db04869eba635b474cf8c5b946c62055e3a93bdff2f25d9bd812e94c6ed4d--netbird-ui_0.8.5_darwin_arm64_signed.zip
==> Installing dependencies: netbird
==> Downloading https://github.com/netbirdio/netbird/releases/download/v0.8.5/netbird_0.8.5_darwin_arm64.tar.gz
Already downloaded: /Users/maycon/Library/Caches/Homebrew/downloads/e57146d1abdb10de1d122c8031f374f8a3a978f2d3713bb64c207b2ede0c314a--netbird_0.8.5_darwin_arm64.tar.gz
Warning: netbird: No available formula with the name "wiretrustee". Did you mean wiredtiger?
'conflicts_with "wiretrustee"' should be removed from netbird.rb.
Please report this issue to the netbirdio/tap tap (not Homebrew/brew or Homebrew/core)!
==> Installing netbirdio/tap/netbird
🍺  /opt/homebrew/Cellar/netbird/0.8.5: 5 files, 16.7MB, built in 1 second
==> Installing Cask netbird-ui
==> Moving App 'netbird_ui_darwin_arm64' to '/Applications/Netbird UI.app'
🍺  netbird-ui was successfully installed!
maycon@Maycons-MBP-2 [19:33:50] [~]
-> % netbird version
0.8.5
maycon@Maycons-MBP-2 [19:34:01] [~]

For instance, do you have any custom brew configuration in an environment variable or similar?
Also, were you able to install following the previous steps?

I think the problem seems to be my cask repo isn't updated since 7-14-2022. Need to troubleshoot what's going on there...

Well I fixed that out of date cask repo with brew update-reset but I still can't install this. Here's my brew config... I don't think it's too out of the ordinary...
$ brew config
HOMEBREW_VERSION: 3.5.8-2-g336335a
ORIGIN: https://github.com/Homebrew/brew
HEAD: 336335abe57072d8e2720cc1f25e1afdf901a6b5
Last commit: 19 minutes ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 76a965ab6bf5cf9abf650d08e0df0fb2c09d3719
Core tap last commit: 9 minutes ago
Core tap branch: master
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_DEVELOPER: set
HOMEBREW_EDITOR: editor_subl
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_GITHUB_PACKAGES_TOKEN: set
HOMEBREW_GITHUB_PACKAGES_USER: luckman212
HOMEBREW_INSTALL_FROM_API: set
HOMEBREW_MAKE_JOBS: 8
HOMEBREW_NO_AUTO_UPDATE: set
HOMEBREW_NO_ENV_HINTS: set
HOMEBREW_NO_INSECURE_REDIRECT: set
Homebrew Ruby: 2.6.8 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 13.1.6 build 1316
Git: 2.37.1 => /opt/homebrew/bin/git
Curl: 7.79.1 => /usr/bin/curl
macOS: 12.5-arm64
CLT: <IP_ADDRESS>.1.1651278267
Xcode: 13.4.1
Rosetta 2: false

$ brew --version
Homebrew 3.5.8-2-g336335a
Homebrew/homebrew-core (git revision 76a965ab6bf; last commit 2022-08-05)
Homebrew/homebrew-cask (git revision 52d6035354; last commit 2022-08-05)

I figured out the issue (partially at least).  I had Homebrew developer mode enabled.
Running the command below:
$ brew developer off

...and removing the following 2 lines from my .bashrc
export HOMEBREW_DEVELOPER=1;
export HOMEBREW_INSTALL_FROM_API=1;

Has solved the issue for me. Not sure why that causes the install to fail, but...


Context.getattr should rise AttributeError instead of KeyError

According to the Python documentation:
 object.__getattr__(self, name)

    Called when the default attribute access fails with an AttributeError (either __getattribute__() raises an AttributeError because name is not an instance attribute or an attribute in the class tree for self; or __get__() of a name property raises AttributeError). This method should either return the (computed) attribute value or raise an AttributeError exception.

Hi! Thank you for giving the dry-python project a try :tada:
I completely agree with you. This inconsistent behavior was introduced from the start of the project. So I don't think too much about it at the beginning.
We'll fix it in the next release.
I still not sure will it be AttributeError or ContextError with a useful message about current state available.
Best regards,
Artem.
Duplicate of #16

This bug breaks a follow code:
hasattr(ctx, "someattr")

ctx is an object, so I think hasattr should be legal operation on it.

Yes, let's make it AttributeError so.
But I don't think that using hasattr in the story steps is a good idea.
Hopefully, we have strict linter for this.


Authentication using service principals and keytabs to MIT Kerberos realms fails

Describe the bug
Authentication to an MIT Kerberos realm fails if a service principal (e.g<EMAIL_ADDRESS>is used by the client.  The root cause of this is that the principal is sent in the AS_REQ packet as a CName with type NT_ENTERPRISE and name<EMAIL_ADDRESS> By contrast, if "kinit -k -t krb5.keytab<EMAIL_ADDRESS>is used, the AS_REQ packet sent to the server contains a CName with type NT_PRINCIPAL and name ["client", "fqdn.example.com"].
To Reproduce

String principal = "client/fqdn.example.com"
var keyTable = new KeyTable(File.ReadAllBytes("krb5.keytab"));
var kerbCred = new KeytabCredential(principal, keyTable, "EXAMPLE.COM");
await client.Authenticate(kerbCred);

Expected behavior
The client successfully authenticates and obtains a TGT from the KDC.
Screenshots
Not a screenshot as such, but the resulting exception:

Unhandled exception. Kerberos.NET.KerberosProtocolException: CLIENT_NOT_FOUND
   at Kerberos.NET.Transport.KerberosTransportBase.Decode[T](ReadOnlyMemory`1 response) in d:\a\1\s\Kerberos.NET\Client\Transport\KerberosTransportBase.cs:line 61
   at Kerberos.NET.Transport.UdpKerberosTransport.SendMessage[T](String domain, ReadOnlyMemory`1 encoded, CancellationToken cancellation) in d:\a\1\s\Kerberos.NET\Client\Transport\UdpKerberosTransport.cs:line 41
   at Kerberos.NET.Transport.KerberosTransportSelector.SendMessage[T](String domain, ReadOnlyMemory`1 encoded, CancellationToken cancellation)
   at Kerberos.NET.Client.KerberosClient.RequestTgt(KerberosCredential credential) in d:\a\1\s\Kerberos.NET\Client\KerberosClient.cs:line 632
   at Kerberos.NET.Client.KerberosClient.Authenticate(KerberosCredential credential) in d:\a\1\s\Kerberos.NET\Client\KerberosClient.cs:line 201``

and minimised KDC log entry:
CLIENT_NOT_FOUND: client\/fqdn.example.com\<EMAIL_ADDRESS>for<EMAIL_ADDRESS>Client not found in Kerberos database
Additional context
Applying the patch in https://github.com/rb12345/Kerberos.NET/tree/client-service-principal-fix fixes this issue, but results in crashes when decrypting the KDC response if a service principal is used.

Unhandled exception. System.Security.Cryptography.CryptographicException: ASN1 corrupted data. Expected Application-25; Actual: Constructed Application-26
   at System.Security.Cryptography.Asn1.AsnReader.CheckExpectedTag(Asn1Tag tag, Asn1Tag expectedTag, UniversalTagNumber tagNumber)
   at System.Security.Cryptography.Asn1.AsnReader.ReadSequence(Asn1Tag expectedTag)
   at Kerberos.NET.Entities.KrbEncAsRepPart.DecodeApplication(ReadOnlyMemory`1 encoded)
   at Kerberos.NET.Client.KerberosClient.<>c.b__66_0(ReadOnlyMemory`1 d)
   at Kerberos.NET.Entities.KrbEncryptedData.Decrypt[T](KerberosKey key, KeyUsage usage, Func`2 func)
   at Kerberos.NET.Credentials.KerberosCredential.DecryptKdcRep[T](KrbKdcRep kdcRep, KeyUsage keyUsage, Func`2 func)
   at Kerberos.NET.Client.KerberosClient.RequestTgt(KerberosCredential credential)
   at Kerberos.NET.Client.KerberosClient.Authenticate(KerberosCredential credential)``

Retrying with a normal service principal works.

The first issue looks straightforward enough. It needs to carry the principal name type through the AS-REQ. That shouldn't be difficult to add. The second crypto issue is strange though. The AS-REQ seems to succeed enough that the KDC accepted it, but the KDC then returns a TGS-REP which is rightfully not going to fly because an AS-REQ should only ever receive an AS-REP in response as per the spec RFC 4120 Section 3.1.
Can you share a network trace of this second failure?

The first issue does look simple enough to fix, although I don't know if changing that would affect AD compatibility at all.
On the second part, yes, I can indeed share packet captures.  The attached zip file contains 2 pcap files: one (kerberos.pcap) showing the Kerberos.NET Kerberos traffic, and the other (kerberos-kinit.pcap) showing the same thing for a successful MIT Kerberos kinit for comparison.
kerberos.zip
Hope this helps!

Ah, well that explains it. I missed that bit in the spec. I suspect that can be fixed without a lot of effort. Let me take a look. I don't have an MIT environment available at the moment. Would you be able to test a patch before it gets merged into main?

I've been testing some patches of my own already (which are in the branch I mentioned earlier), so I'd be perfectly happy to test your patches as well.

Check this change out: https://github.com/dotnet/Kerberos.NET/compare/feature/support-mit-tgs-rep
It handles both issues (in theory). If it works for you I'll write some tests and submit it.

You patch works for obtaining the TGT apart from one small bug in the CanDecode() method (fixed in pull request #156) that breaks the test.  Once that's in place, I now get new errors when I try to obtain a service ticket:

User name: cud/arbitrary.it.ox.ac.uk
trce: Kerberos.NET.Client.KerberosClient[0]
      Attempting AS-REQ. UserName = cud/arbitrary.it.ox.ac.uk; Domain = OX.AC.UK; Nonce = 637233488
dbug: Kerberos.NET.Client.KerberosClient[0]
      AS-REP PA-Data: EType = AES256_CTS_HMAC_SHA1_96; Salt = OX.AC.UKcudarbitrary.it.ox.ac.uk;
dbug: Kerberos.NET.Client.KerberosClient[0]
      AS-REP PA-Data: EType = AES128_CTS_HMAC_SHA1_96; Salt = OX.AC.UKcudarbitrary.it.ox.ac.uk;
dbug: Kerberos.NET.Client.KerberosClient[0]
      AS-REP PA-Data: EType = RC4_HMAC_NT; Salt = OX.AC.UKcudarbitrary.it.ox.ac.uk;
trce: Kerberos.NET.Client.KerberosClient[0]
      Attempting AS-REQ. UserName = cud/arbitrary.it.ox.ac.uk; Domain = OX.AC.UK; Nonce = 637233489
.Decoding KrbEncKdcRepPart as KrbEncTgsRepPart
trce: Kerberos.NET.MemoryTicketCache[0]
      Caching ticket until 04/25/2020 04:12:46 +00:00 for<EMAIL_ADDRESS>with renewal option until 05/01/2020 18:12:46 +00:00
Authenticated!
Unhandled exception. System.InvalidOperationException: Cannot request a service ticket until a user is authenticated
   at Kerberos.NET.Client.KerberosClient.CopyTicket(String spn)
   at Kerberos.NET.Client.KerberosClient.GetServiceTicket(RequestServiceTicket rst, CancellationToken cancellation)
   at Kerberos.NET.Client.KerberosClient.GetServiceTicket(String spn, ApOptions options, String s4u, KrbTicket s4uTicket, KrbTicket u2uServerTicket)
   at RestNegotiateClient.Program.Main(String[] args) in /home/phys0950/RestNegotiateClient/Program.cs:line 72
   at RestNegotiateClient.Program.(String[] args)
Aborted

I think the issue here is because the TGT<EMAIL_ADDRESS>is cached with the key<EMAIL_ADDRESS>so when GetServiceTicket() attempts to use the TGT, it fails to find it.

Nice catch on the always true. :)
Yeah, that would be why. It's odd because in the first pcap you sent the TGT SName = { krbtgt, OX.AC.UK }, with a type of Principal, where it should normally be INST or SRV matching the REQ, hence the @ in the cache key. You can see the kinit response shows INST.
Normally these must match identically unless the canonicalize bit is set, which allows the reply to be different. Kerb.net sets it by default, whereas the kinit did not. Can you try toggling that off?
client.AuthenticationOptions ~= AuthenticationOptions.Canonicalize;

Between this and the original TGS thing how do you have your KDC configured? This seems like it's in a legacy mode?

Our KDCs quite possibly are configured in a more legacy configuration, in that they currently are UDP only and FAST support is not configured.  The software versions do support both though, so that could be changed if it comes to it.  On the client side, I have:

[libdefaults]
        default_realm = OX.AC.UK

# The following krb5.conf variables are only for MIT Kerberos.
        kdc_timesync = 1
        ccache_type = 4
        forwardable = true
        proxiable = true
        allow_weak_crypto = false

# The following encryption type specification will be used by MIT Kerberos
# if uncommented.  In general, the defaults in the MIT Kerberos code are
# correct and overriding these specifications only serves to disable new
# encryption types as they are added, creating interoperability problems.
#
# The only time when you might need to uncomment these lines and change
# the enctypes is if you have local software that will break on ticket
# caches containing ticket encryption types it doesn't know about (such as
# old versions of Sun Java).

#       default_tgs_enctypes = des3-hmac-sha1
#       default_tkt_enctypes = des3-hmac-sha1
#       permitted_enctypes = des3-hmac-sha1

# The following libdefaults parameters are only for Heimdal Kerberos.
        fcc-mit-ticketflags = true

Legacy settings or not, switching off the AuthenticationOptions.Canonicalise setting did solve that particular problem :)
I now see this, however:

trce: Kerberos.NET.Client.KerberosClient[0]
      Attempting AS-REQ. UserName = cud/arbitrary.it.ox.ac.uk; Domain = OX.AC.UK; Nonce = 637233546
dbug: Kerberos.NET.Client.KerberosClient[0]
      AS-REP PA-Data: EType = AES256_CTS_HMAC_SHA1_96; Salt = OX.AC.UKcudarbitrary.it.ox.ac.uk;
dbug: Kerberos.NET.Client.KerberosClient[0]
      AS-REP PA-Data: EType = AES128_CTS_HMAC_SHA1_96; Salt = OX.AC.UKcudarbitrary.it.ox.ac.uk;
dbug: Kerberos.NET.Client.KerberosClient[0]
      AS-REP PA-Data: EType = RC4_HMAC_NT; Salt = OX.AC.UKcudarbitrary.it.ox.ac.uk;
trce: Kerberos.NET.Client.KerberosClient[0]
      Attempting AS-REQ. UserName = cud/arbitrary.it.ox.ac.uk; Domain = OX.AC.UK; Nonce = 637233547
.Decoding KrbEncKdcRepPart as KrbEncTgsRepPart
trce: Kerberos.NET.MemoryTicketCache[0]
      Caching ticket until 04/25/2020 05:48:58 +00:00 for kerberos--krbtgt/ox.ac.uk with renewal option until 05/01/2020 19:48:58 +00:00
Authenticated!
info: Kerberos.NET.Client.KerberosClient[0]
      Requesting TGS for<EMAIL_ADDRESS>TGT Realm = OX.AC.UK; TGT Service = krbtgt/OX.AC.UK; S4U = (null); S4UTicket = (null)
Unhandled exception. Kerberos.NET.KerberosProtocolException: LOOKING_UP_SERVER
   at Kerberos.NET.Transport.KerberosTransportBase.Decode[T](ReadOnlyMemory`1 response)
   at Kerberos.NET.Transport.UdpKerberosTransport.SendMessage[T](String domain, ReadOnlyMemory`1 encoded, CancellationToken cancellation)
   at Kerberos.NET.Transport.KerberosTransportSelector.SendMessage[T](String domain, ReadOnlyMemory`1 encoded, CancellationToken cancellation)
   at Kerberos.NET.Client.KerberosClient.RequestTgs(RequestServiceTicket rst, KerberosClientCacheEntry tgtEntry, CancellationToken cancellation)
   at Kerberos.NET.Client.KerberosClient.GetServiceTicket(RequestServiceTicket rst, CancellationToken cancellation)
   at Kerberos.NET.Client.KerberosClient.GetServiceTicket(String spn, ApOptions options, String s4u, KrbTicket s4uTicket, KrbTicket u2uServerTicket)
   at RestNegotiateClient.Program.Main(String[] args) in /home/phys0950/RestNegotiateClient/Program.cs:line 73
   at RestNegotiateClient.Program.(String[] args)
Aborted

with the following packet dump:
kerberos-canonicalised-tgs-req.zip
I think the KDC's objecting to the realm being included in the SName, based on this:
2020-04-24T20:48:58+01:00 kdc0.ox.ac.uk auth.info krb5kdc[26861]: TGS_REQ (5 etypes {18 17 23 24 -135}) <IP_ADDRESS>: LOOKING_UP_SERVER: authtime 0<EMAIL_ADDRESS>for<EMAIL_ADDRESS>Server not found in Kerberos database
and once it's removed, the KDC is perfectly happy and my test code works as expected.

Your configuration looks standard. No worries, any issues are most likely going to be with this library.
That does appear to be what the KDC is complaining about. LOOKING_UP_SERVER is the literal error message string from the server. Were you explicitly passing in the realm name in the SPN when requesting the ticket?

As it happens, I was indeed passing the realm name when requesting the ticket.  Having removed the realm, everything now works as expected.  The (very rough) test code I'm using is at [[https://github.com/rb12345/RestNegotiateClient.Net/]] if you're interested, although it could do with some cleaning up now that it works.
Thanks again for looking into this!

Nice. Glad it was working. I'll go ahead finish up this fix and it'll get published to nuget shortly. probably the next day or two.
Your test code looks pretty good. Glad it didn't take a whole lot of work to implement. One thing that might save you a bug in the future. You can just enable the existing UDP transport:
var udp = client.Transports.OfType<UdpKerberosTransport>().FirstOrDefault();
udp.Enabled = true;

The fix for this is being merged in this PR: https://github.com/dotnet/Kerberos.NET/pull/157. Nuget should be available in the next hour or so. Thanks for finding this issue!


Bump package depedencies

What is the problem you're trying to solve?

There are high vulnerabilities in the package dependencies

What solution would you like to see?

Update the package deps and release

Please 😄

Hi Sally 👋
The deps were bumped in https://github.com/signal-noise/stylelint-scales/pull/51, and we'll hopefully have a release out early next week. It'll be a 2.0.0 release as exciting changes are coming, including the automatic fixing of numeric scales!
There are a couple more breaking changes to roll into the 2.0.0, hence the wait until Monday. As this package is only used in development, those vulnerabilities won't impact on any users. They are unsightly, though 😆

@sallynorthmore If you want a sneak peek at 2.0.0 you can try the following locally:
npm install signal-noise/stylelint-scales#add-autofix --save-dev

It'll be good to know if you run into any issues with your codebase, as 2.0.0 significantly changes the internals of quite a few of the rules.
You'll need to slightly adjust your config for it to work as units will be specified in 2.0.0. For example:
This pre-2.0.0 config:
{
  "plugins": ["@signal-noise/stylelint-scales"],
  "rules": {
    "scales/font-size": [[4, 10]]
  }
}

Will need to become:
{
  "plugins": ["@signal-noise/stylelint-scales"],
  "rules": {
    "scales/space": [
      { "scale": [4, 10], "units": ["px"] },
    ],
  }
}

Where the rules now accept an array of objects, each specifying a scale and an array of units.

Awesome, looking forward to the updates  @jeddy3  😍


[Backend] Implement initial search feature

Things that have been added

Search option added to navigation bar.
Search results are Strings of all 'Course' object names.
Place holder 'search.html' file to test functionality.

Things to be implemented in the future

After each course will its own page, the search results will include a link to the course page.
Frontend design will improve once we add above functionality.
Tests will be added once we add above functionality.

Nice work Unfortunately there are no tests, checking the search feature, Please refer this: https://github.com/redhat-beyond/AcadeMe/blob/main/contributing.md#guidelines-for-pr-reviews

Tests was created and 'User' fixture was added to 'confest.py'. :)


Questions regarding ctc prefix score algorithm

https://github.com/Alexander-H-Liu/End-to-end-ASR-Pytorch/blob/77b657b7004cabfd56076a818cecc0ce855f6b0a/src/ctc.py#L50-L60
Hi there ! Thanks for implementing such a great SoTA end-to-end ASR toolkit !
Really appreciate the complicated joint decoding algorithm part.
I'm a little bit confused about the implementation of ctc prefix score decoding.
In ctc.py, line 51, I'm not sure whether the last char dim of prev_blank[last_char] should be assigned logzero or not.
Would it make a little bit more sense if prev_nonblank[last_char] be assigned to logzero ?

The phd thesis of Alex Graves mentioned that lin line 17, the nonblank part of newLabelProb is (log)zero if p* ends in k, which might corresponds to the last_char dim of prev_nonblank ?
Thanks again for all the hard work !

@Chung-I   you're right... this is a mistake I made, this also addressed the bug of weird <eos> probability given at the end of decoding.
The bug was fixed in #17
Thanks a lot!


Added grunt file

This PR fixes #48 by adding a grunt file which can be used when we get ready to use Travis CI.
I also went ahead and made a commit that fixes #7 by adding a small script on each HTML file in the examples folder. The script utiltizes the event.stopPropagation function to prevent the hyperlink button from closing before the user has entered the URL.

I'm now getting a merge conflict on this due to I think is the previous changes. Confirming before merge.

@steveathon the merge conflict has been fixed

Thanks @RandomlyKnighted :+1:


Fixed #3528 kafka cloudevent serialization issue

Fixes #.
Motivation
Explain the content here.
Explain why you want to make the changes and what problem you're trying to solve.
Modifications
Describe the modifications you've done.
Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

@sq-yang-1  Thanks for your contribution first, This module has been migrated to the corresponding module in the store.At the same time, the current code is correct and does not need to be modified. For specific usage examples, please refer to the CloudEvents official website.
https://cloudevents.github.io/sdk-java/kafka.html


Windows version 1.7.1 connects to Core and finds old wallet but with no UTXOs

I just installed 1.7.1 on Windows. (I had been running a dev build from @craigraw as we were troubleshooting a java bug).
It will not find my old wallet on Bitcoin core. I backed up the wallet and followed the instructions in #724 , but still no UTXOs in Postmix.
An empty wallet with the right name opens. Core scans but finds nothing. After a few seconds it scans again.
A paynym that I connected to and sent bitcoin to is visible.
I then connected to a public Electrum server and saw my UTXOs.

I'd recommend when you start using multiple wallets like this that you install an Electrum Server like Fulcrum or Electrs. The architecture is simply much more flexible for Sparrow to work with.
That said, is there anything in the log file that may help?

Run Bitcoin Core
I deleted "C:\Users\iain\AppData\Roaming\Bitcoin\wallets\sparrow"
I cloned the repository and ran the latest Sparrow
Disconnected the electrum server
Switched to Core
The output is here:
output.txt
It seems to indicate a bad block, but I've done nothing and there's nothing showing in the UI?

Unfortunately one of the other downsides of using Bitcoin Core is that if you delete your wallet.dat file and your wallet birthday is before your earliest pruned date, you will have to redownload the blockchain to recreate the wallet file. Looking at the Core log, it's probable that's the case here.


TypeAlias for $where functions and make default not private.

$where now generates a function with every table included in the query. It would be nice if this function had a type alias that could be imported.
I'm not sure I like this change to $where, its made my code more verbose without actually adding anything IMO but this would help a bit.

I've come around to it a bit more. I can see it can reduce errors

Thanks for the feedback! Yes, the intention was to improve safety (especially when a table is in scope multiple times under different aliases). You can still disable this feature by setting the scoped_dart_components build option to false, it's just the default which has changed.
I'm definitely open for ideas to make this more convenient, a type alias for the function could definitely be helpful.

Took quite a bit of work (mainly because riverpod doesn't let you pass more than 1 argument around) to convert some complex and dynamic filters (one with 11 tables joined) for this change  but I was able to keep riverpod provider updates to the same amount.
A type alias could be useful for my use case as generally when i'm using $where i'm reusing the the query in multiple places to build dynamic queries. Having the params type aliased and the default value accessible would mean I don't need to redefine something drift is already defining.


Refactor request types

Reduce duplicate data

@miq-bot add_label refactoring

@brandondunne I like this updated revision as you are now caching this static data instead of creating it each time the request_type_display is called.

:+1: lgtm. waiting on :green_apple:


Fix a typo in the Cauchy distribution page

The Cauchy distribution page does not show the $x_0$ correctly due to the typo.

So I fixed it. By applying this PR, the page shows it correctly:

Thanks!
Jenkins, test this please

Jenkins CI test (for commit 8345a9cf6e48e9e74b12b7ef81eafa18f2919b75, target branch master) succeeded!


Rename this project to zipkin-dependencies

zipkin-dependencies-spark-cassandra is a mouth full, and it gets worse if we try to make a group id.
I don't expect we have resources to support anything except spark. How about if we squash the naming into zipkin-dependencies?
Ex. io.zipkin.dependencies:zipkin-dependencies-cassandra or io.zipkin.dependencies:zipkin-dependencies-elasticsearch
Now's a great time, as I've noticed this has never actually published to maven central!

ps I'd like to reserve the group id io.zipkin.spark for a different project, i.e. one that isn't a batch job for one screen.

Note: there's some screw-up with the maven publishing, which is making it difficult to get elasticsearch published. I'd like to sort both issues at the same time.

@abesto @eirslett @kristofa @michaelsembwever @yurishkuro hoping for a +1 besides me :)

+1


MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)

Hi. Mysql dont work :(
vagrant@vagrant-ubuntu-trusty-64:/etc/mysql$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)

Did you try connect by host? Or specify valid socket?

Thank you very mach, i run mysql and postgres :)

@alexieze so what was a problem?

I installed another system, unfortunately there was no time to deal.I configure all over again.

ok, thanks


Image loading fails

This bug is reproducible in the standalone Dart VM:
import 'dart:async';
import 'dart:io';

Future main() async {
  var client = new HttpClient();
  var uri = Uri.parse("`<image file>`");

  print('>>> getUrl($uri)');
  var request = await client.getUrl(uri);
  var response = await request.close();
  print('>>> status: ${response.statusCode}');
  var bytes = await response.fold(<int>[], (buffer, bytes) => buffer..addAll(bytes));
  print('>>> bytes read: ${bytes.length}');
}

This prints:
$ dart lib/image_load.dart

getUrl(<image file>)
status: 200
bytes read: 0
Compare this to curl:

$ curl -s -D - <image file> -o /dev/null
HTTP/1.1 200 OK
Date: Mon, 07 Aug 2017 17:20:51 GMT
Server: Apache
Connection: Upgrade
Last-Modified: Thu, 11 Aug 2016 18:16:47 GMT
ETag: "a68d-539cfc4d721c0"
Accept-Ranges: bytes
Content-Length: 42637
Cache-Control: max-age=31536000
Expires: Tue, 07 Aug 2018 17:20:51 GMT
Content-Type: image/jpeg
$ curl -s <image file> | wc -c
42637

Added this here to track the Hamilton issue reported earlier @yjbanov @eseidelGoogle

The critical part of this issue is understanding what it is.  If we can work-around it on the client or server side.  Right now all our customer knows is that some of the images on their server just fail to load in flutter for unknown reasons.

The server is returning status: 200 with connection: Upgrade in the response header, which confuses the Dart http response header parser. It expects that if the server requests a connection upgrade, then the status couldn't have been 200. Here is a fix that causes the response header parser to ignore 'connection: Upgrade' unless the status is 426 UPGRADE REQUIRED or 101 SWITCHING PROTOCOLS.
https://codereview.chromium.org/2993873002

Should have also noted that that is the behavior that we are observing from Chrome, Firefox, curl, and Android.


Class 'App\User' not found

On page /messages/{id} get Exception
"Model.php line 833: Class 'App\User' not found"
I changed App-name (artisan app:name)

Sorry! Changed user model name in config/messenger.php


Add V2 flag to S2A options

Add V2 flag to S2A options.
Update top level s2a E2E integration test to test handshake using both s2av1 and s2av2.

Super exciting PR Riya! Thanks for putting this together and for all your hard work!

Super exciting PR Riya! Thanks for putting this together and for all your hard work!

Thanks for all the comments and reviews :)


Add my university domain

University domain website: https://btu.edu.eg/ar
Specialization I enrolled in : https://btu.edu.eg/ar/قسم-تكنولوجيا-المعلومات/

@mahmood-eid lib/domains/btu.txt: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

@mahmood-eid Regrettably, I have to close the request without merging. It is not clear which domain you wish to add, thus I cannot correct your request. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!


addMessageToFolder gives HTTP code 400 error

I'm calling the function like this:
$id = 'ce9579cd293284c344fa'; // Just for the example, not a real ID.
$dst_source = 'ycecube::gmail';
$dst_folder = 'INBOX';

// Where the mail is located. The content is copied from an
// existing mail's source, what the API gave back with the getMessageSource() method.
$message = '/tmp/44bddad1cce9579cd293284c3aa62d58.mail';

$params = array(
    'dst_source' => $dst_source,
    'dst_folder' => $dst_folder,
    'src_file' => $message,
  );

$contextio = new ContextIO('example_key', 'example_secret');
$status = $contextio->addMessageToFolder($id, $params);

The method accepts the input, but it only gives back a 400 error with no error message included.
I've tried the same with the ContextIO's console, but it return a 200 HTTP message, so it was successfull.
Could you please check it?

It doesn't look like an issue with the library. Try printing out $contextio->getLastResponse() to see what the error message from the server is.


Separate layers

Hi,
I don't know if it reasonable for such project generator but maybe at some point it would be possible to generate projects that have separate layers for frontend and database.
Go web app example from sourcegraph: https://github.com/sourcegraph/thesrc
More info why it can be useful: https://github.com/sourcegraph/thesrc/issues/1
Best regards

When you say separate layers, what kind of layers are you thinking about? 2 services talking to each other?

Yes, why it can be useful: https://github.com/sourcegraph/thesrc/issues/1
P.S. Other example https://github.com/dorajistyle/goyangi

I like the general trends of SOA, I even thought of providing API scaffolding for this project.
But API stories are diverse, each company/individual do their own thing and all of them have little in common. I'll give you a few examples:

Authentication: OAuth1a vs OAuth2 vs HTTP Auth vs Signed HMAC. Which one to choose?
Payload: JSON is an easy choice, but there will be other users demanding Protocol Buffer or Thrift.
RPC: Eventually, every simple service will grow an RPC endpoint or two. gRPC seems to be the library to choose.
Duplex Connections: Request -> Response model is not going to be enough for some users, especially since real-time web is all the rage nowadays. Which one to choose: Raw TCP vs Websocket vs Server Side Events?

This list of requirements makes me think that API should be handled by a different project.

Thank you for comment and I understood your concerns.


Panda model in Meta-World environment

Hello, I'd like to conduct real-world experiments with Franka Panda robot to verify my policy, which is trained on MetaWorld benchmark. Thus, I try o adaptPanda model to MetaWorld environment, where the Panda model is cloned from franka_robot. However, the Panda model in the MetaWorld environment is deformed. I guess that the body "hand" in the sawyer_xyz_base.xml causes the problem. I tried to adjust the quat of the "hand" body, but it didn't work. The video shows the problem panda in MetaWorld. Has anyone ever had the same problem?

I solved this issue by reducing the range of some joints, such as joint3, joint4 and joint5. The modified xml files can be accessed in panda_model, where sawyer_xyz_base_panda_v3.xml and shared_config_panda.xml are the modified files. However, I narrow the range of the goal, object and hand, if you want to adapt the panda model to the original setting of MT environment, you have to adjust the range of joint4 in the sawyer_xyz_base_panda_v3.xml. BTW, the original range of joint4 is [-3.0718 -0.0698], while the current range in the modified file is [-2.6 -0.55].


ContactAssociationFilterSet.associated_object_type should use ContentTypeFilter

Environment

Nautobot version (Docker tag too if applicable): 2.2.0

Steps to Reproduce
https://demo.nautobot.com/api/extras/contact-associations/?associated_object_type=dcim.device
Returns:
{
    "associated_object_type": [
        "Select a valid choice. That choice is not one of the available choices."
    ]
}

Compare to queries like:
https://demo.nautobot.com/api/extras/custom-fields/?content_types=dcim.location
which do work as expected.

Expected Behavior
associated_object_type filter should behave like other ContentTypeFilter in Nautobot, allowing user to specify the content-type by app-label + model name, rather than requiring a PK.

Observed Behavior
Filter requires content-type PK:
https://demo.nautobot.com/api/extras/contact-associations/?associated_object_type=4

Also add a generic test to look for this and open an issue to have this added as a rule in pylint-nautobot


specs: PayForBlob transactions

The specs are missing a section for PayForBlob transactions

I believe we can close this with the refactor to the specs to include the readme's of each module as specs, but please reopen if needed


how to embed font in exisiting field

Hi Author and the maintainers,
I have a small question, how to embed custom font in existing field? I've already convert the font to array buffer and for this case I have an existing PDF template with fillable fields. but in the docs I don't see any example to use this feature in the existing PDF.
any help and idea I would appreciate.
Thanks in advanced

I found the solution in the docs


graph: Add support for filter users by displayName

The /users endpoint should support the startswith and contains  filters on the displayName attribute:
/user/$filter=startswith(displayName,'<filter>')
/user/$filter=contains(displayName,'<filter>')
In the LDAP identity backend these filters should translate into the corresponding LDAP filters. The libregraph spec needs to be updated accordingly.

@kulmann @tbsbdr
this is the prerequisite for filtered user lists in the admin UI.
I think we should limit the full listing to 200 and leave the page empty and prompt users for a filter. Can be seen in action in the keycloak user list in the admin menu.


off-by-one bug with fetched markers URL 404'ing

Styles created with Mapbox Studio can't have markers, so their markers.geojson / features.json always 404 rather than return an empty collection. This creates an off-by-one bug in the offline downloading code.
We need to refactor so that the markers (and possibly subsequent marker icon) URL fetches only happen if the metadata says so.

@bleege I'm curious if you have any bandwidth to dig into this as I'm quite a bit tied up with #132. I can give you the scoop, but I think it could be relatively lightweight — changing MBXOfflineMapDownloader.m to only download the markers metadata if it's specified in a map's TileJSON. I can brain dump where I'm at with the problem.

@incanus Sure thing.  Let me know when you're available to chat about this.

@bleege Here's a list of four map ID's done two ways each (v3/v4) and their respective conditions:
https://gist.github.com/incanus/9276cc7f626821dc48af
It all basically comes down to parsing and obeying the TileJSON, I think.
/cc @willwhite

Will Clean Up code a bit and then close issue:
1. check url string suffix before attempting to parse tile/feature json? else the majority of the time is trying to json-parse images
2. abstract sql write routines a bit for reuse?

Made the initial clean up changes, but need to do a bit more testing to make sure that things are behaving as they should.

Testing on new simulator worked for tiles, but didn't grab the markers (see error below).  Will investigate.
2015-01-22 10:09:43.820 MBXMapKit[34480:613] Failed to load markers for map ID examples.map-pgygbwdm - (Error Domain=MBXMapKitErrorDomain Code=-4 "No offline data for key error" UserInfo=0x7fbd38f40240 {NSLocalizedDescription=No offline data for key error, NSLocalizedFailureReason=The offline database has no data for https://a.tiles.mapbox.com/v3/examples.map-pgygbwdm/markers.geojson})

Oh duh... the path extension test only tests for .json files.  This would be a problem for files with .geojson extensions.  :-)

Also discovered issue with locked database causing the download to not complete.
2015-01-22 10:17:42.862 MBXMapKit[34528:613] The offline map downloader encountered an sqlite error: Error Domain=MBXMapKitErrorDomain Code=-5 "Failed to execute query" UserInfo=0x7f9240d9a9a0 {NSLocalizedDescription=Failed to execute query, NSLocalizedFailureReason=There was an sqlite error while executing a query on database /Users/brad/Library/Developer/CoreSimulator/Devices/278DDFD6-92FC-4BC1-8EE6-1AC085E0A42D/data/Applications/1DAD772F-BC1A-470D-9965-F9235AEAB703/Library/Application Support/MBXMapKit/OfflineMaps/newdatabase.partial: database is locked}

Confirmed that multiple sets of 30 are being run (i.e., it tries to get all the resources it knows about).  TileJSON data's marker urls are being persisted to the database but aren't being downloaded / saved.

Fixed the threading issue that was preventing new marker urls discovered during TileJSON inspection from being downloaded after they were added to the resource database.  This solved the issue for iOS 8 in the simulator, but when tested in iOS 7 simulator it failed to grab the markers because the JSONSerializer isn't serializing the .geojsonp URL which is loaded in iOS 7.  Here are the two URLs that TileJSON's data field return for the same map, but different versions of iOS.
iOS 8
https://a.tiles.mapbox.com/v3/examples.map-pgygbwdm/markers.geojson
iOS 7
https://a.tiles.mapbox.com/v3/examples.map-pgygbwdm/markers.geojsonp

@bleege Are you familiar with JSONP? The idea here is the .geojsonp variant will need to have the front grid( and the back ); removed in order to be deserialized. I've conferred before with @willwhite (who can maybe provide some back context) but you can't count on that being the literal string to remove. See e.g. https://github.com/mapbox/mapbox-ios-sdk/blob/40618a501a567f387a4e19a2e065fc30fc70f894/MapView/Map/RMMapboxSource.m#L103

Thanks for the JSONP intel @incanus!  I'll bolt in processing for it and that hopefully will be enough to finish this issue off.

Updated testing on iOS 7:
The process adds the following to the database:
https://a.tiles.mapbox.com/v3/examples.map-pgygbwdm/markers.geojsonp
<EMAIL_ADDRESS>
but when loading the map back from offline it complains that there's no offline data for:
https://a.tiles.mapbox.com/v3/examples.map-pgygbwdm/markers.geojson

Looks like issue is that MBXRasterTileOverlay.m is building it's own Marker URL (called _markersURL) and then asking MBXOfflineMapDatabase.h for it.  The flow is such:
MBXRasterTileOverlay
- (void)setupMapID:(NSString *)mapID includeMetadata:(BOOL)includeMetadata includeMarkers:(BOOL)includeMarkers imageQuality:(MBXRasterImageQuality)imageQuality
** Sets _markersURL

- (void)asyncLoadMarkers
calls:
[self asyncLoadURL:_markersURL workerBlock:workerBlock completionHandler:completionHandler];

which calls:
MBXOfflineMapDatabase
- (NSData *)dataForURL:(NSURL *)url withError:(NSError **)error
** Error occurs here

Will try refactoring MBXRasterTileOverlay to NOT generate it's own _markerURL and instead get it from the TileJSON.

Initial work on refactoring MBXRasterTileOverlay to load Markers from TileJSON.  Will test in greater detail next.

Moved Include Markers processing above Include Metadata to solve a race condition.  Successfully tested on iOS 7 the ability to save and reload offline maps!
Will test next on iOS 8 simulator.  If it works then this issue should be complete.

Successfully tested save and reload on iOS 8 simulator!

Things looking pretty good @bleege as of https://github.com/mapbox/mbxmapkit/commit/d1f8f8fa2e2b8f00b93809f4be257bf2ac33ec8d; I'll try to run things a bit tomorrow, but overall scan looks nice. Also: learned all about volatile today; surprised I've never come across it before!

Sounds good.  I hadn't used volatile in iOS either before yesterday.  I totally agree with the author's feelings as I had the same gnawing vibe while working on it:  :-)

"As a general guideline, if you're using volatile in your code then you're probably doing something wrong."


(Fullscreen) videos not working

It doesn't work on YouTube fullscreen videos sir

Please see https://github.com/delight-im/Android-AdvancedWebView/issues/84


Sort out the difference between Array.length and Array.prototype.length

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length
Details

Under Array/properties there's a link  for
Array.length.
The link navigates to a description of the the length property of an Array  instance.  This is confusing.    Array has its own length property by inheritance from Function, it has AFAIK nothing to do with  length property of an instance.
So, for the very first time ever, I decided to edit this, but the source page it brings up shows an accurate description of the Array.length property.
Somebody who knows what he's doing might sort this out?

The Array page doesn't talk about the static Array.length anymore, given it is not very useful.
See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Static_properties
For instances, it is listed under https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Instance_properties
Note that we've also recently introduced "Static" and "Instance" when we list members of a class to further avoid confusion. I think we can close this.


[FEATURE] SB-5: added unistream parsing service and repository

Add service and repository layer for parsing USD/RUB course from unistream.com and save it to database

[x] add service method for http get request to uni
[x] add unistream course entity
[x] add mapping JSON answer from uni to entity
[x] add DTO for client
[x] add repository with CRUD
[x] add method for repository to get last currency course

https://github.com/tishin-serg/spread-bot/pull/13


fix: proper fallback for size prop

Previously, if you passed in a string for $size, Icon would set the height and width to that string, resulting in an invalid CSS property (and causing the icon to not render). This is easy to repro by supplying an icon as a Button enhancer and leaving the size as the default. (Button spreads the $size prop to the Icon eventually)
This didn't get caught before because the examples use
enhancer={() => <Icon />} instead of enhancer={Icon}, which creates an intermediate component layer between Button and Icon, which "traps" the props and prevents them from being spread all the way down.

thanks for the fix @phou87 !


Add sentry project to track on performance

IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #1809
Checklist

[ ] I have written Unit tests for any new feature(s) and edge cases for bug fixes
[ ] I have added any strings visible on UI components to the strings.xml file
[ ] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[ ] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[ ] I have built and run the fhircore app to verify my change fixes the issue and/or does not break the app

this looks pretty good @LZRS anything blocking this from merge?

this looks pretty good @LZRS anything blocking this from merge?

Yeah we were looking to add documentation to guide on how to make use of it in client apps, as part of this PR, and fix codcov patch failing

can we have all the Timber messages get sent to Sentry?

Yeah, it's possible. We'll set it up as part of this PR

can we have all the Timber messages get sent to Sentry?

We've confirmed Timber messages are automatically integrated and logged to Sentry, with event level set to Level.ERROR


Python API test_write_to_csv and test_write_to_csv_extra_args fail due to Buffer manager exception on Windows

Example failed run on windows-2022 GitHub-hosted runner -- logs and workflow file:
https://github.com/kuzudb/kuzu/actions/runs/6122723770/job/16619119282#step:6:24388
There does not seem to be any evidence of these tests ever passing on a Windows machine.

The issue does not seem to happen anymore.


Redis Error while querying hydra-python-agent

I'm submitting a

[x] bug report.
[ ] feature request.

Current Behaviour:

While querying with hydra-python-agent Redis exception occurring.
redis.exceptions.ResponseError: errMsg: Invalid input '@': expected a property name, '}' or a parameter line: 1, column: 23, offset: 22 errCtx: CREATE (Entrypoint:id{@id:"vocab:Entrypoint",supportedOperation:"GET",url:"ht... errCtxOffset: 22

Using this code
Expected Behaviour:

Agent should Query the API normally without any Exception.
Steps to reproduce:

Run the hydrus server
Query the API using Agent.

Environment:

python version 3.6
pip version 20.3.3
OS details ubuntu

Do you want to work on this issue?

yes, But I am not sure why this Exception is being raised.
may be due to the query structure.

Not sure why this exception was being raised, but setting up hydra-python-agent again in the local system fixed the issue.


Add Prompt component to show Display warning on logging off.

That's better but the header bar height is too high.
Try to align the height with the dialog box header bar height.

[x ] Include unit testing of the component
[x] It will more Sugar UI compliant to have a dialog with a header
[x] Icon and header text are too big.
[x] Try to align the height with the dialog box header bar height.


predict problem

Can I put the picture in the code for monitoring the video?
I am not sure if generating a pb file is helpful for image monitoring.

If you mean - how do I load an image into python and process it with this CNN model ?
See the set of tutorials for OpenCV - https://docs.opencv.org/4.1.0/d6/d00/tutorial_py_root.html
Also see the example in the test script for the convertor which does this with the .pb file, loading a jpg image from file: https://github.com/tobybreckon/fire-detection-cnn/blob/master/converter/test-pb-opencv.py
If you need to process multiple images, combine the former example with code like this:
https://github.com/tobybreckon/python-examples-cv/blob/master/cycleimages.py
[This assumes you have a working knowledge of OpenCV and Python - if you do not, folllow the appropriate tutorials first before posting further queries]


[Production] Project's Recent Activity Not Rendering

Steps

Log in to osf.io
Navigate to this project (ping me for access): https://osf.io/5936d/
Look at the log

Expected Behavior
I expect to see all activity related to the project recorded in the project's log.
Actual Behavior
No activity renders at all. The date and time 6/25/2015 (11:58 a.m.) appears, followed by "Could not render log"
Screenshot

Project's log now rendering. Closing.


Add option for change number of spaces for indentation level

Add option for number of spaces in indentation
Move formatter to class
Update README.md

@pecataToshev I'm going to accept this pull request, but first I need to merge #8, I'll look at it in following days.

I didn't merge your pull request directly, but implemented changes based on your ideas in branch associated with #24. Thank you @pecataToshev.


[stable/prometheus-operator] Ability to configure namespace

I would like to create a chart which will depend on prometheus-operator and I want to install prometheus in a separate namespace.
dependencies:
  - name: prometheus-operator
    version: "7.2.0"
    repository: "@stable"

Currently it's not possible to specify different namespace for prometheus (namespace: {{ $.Release.Namespace }}).
Is it a better way than fork the chart and change it to something like namespace: {{ .Values.global.prometheusNamespace }}?

Look at the helm --namespace parameter

@vsliouniaev namespace from this parameter is used for deploying the main chart. I would like to install prometheus operator to the separate one.

You want to put portions of the chart into one namespace and other parts into another namespace? I don't really understand the reasoning for doing this

@vsliouniaev the idea is not to mix "service" pods\services\secrets (eg from prometheus operator) with my own applications.
I can install prometheus and my own applications as a different helm releases, but one of my application depends on prometheus. For this reason I included it as a dependency, but it's not very convenient to have this mix.

Thanks for the explanation! Feel free to submit a PR into this chart to get this functionality.


Ethereum nodes deploy as polygon

Changes
Unified deployments for ethereum node as it works now for polygon, also simplified node status server to work with local ip
How to test these changes?
Partly
Related issues

@bugout-dev check

[ ] Deploy when new node will be ready at aws


Change editor theme

Changed editor theme from vs-dark to vs.
But please tell me there'll be dark mode or I'll learn from a fork!
~Threat~ Joke aside, thank you for making it way easier to setup and contribute to 👏
Closes #89

@huyenltnguyen yes, of course.. as you may have noticed that this an overhaul of what we had. We have split up the repos and things are moving smooth.
The UX needs some work. We know and are pushing that gradually, and we need all the help we can. Thanks for the PR.
We will get that dark mode, soon.. just getting the main functionality ready first.

@raisedadead I totally understand that. I'm somehow late for the party, just learned about this repo like a few days ago. I appreciate all the work you guys have been doing, and yes, I'll definitely try to help as much as I can.
Thanks for the merge and happy coding! 😄

@huyenltnguyen, I really liked the dark theme for the editor, I will try to sneak this into a feature list, near the top.

@Bouncey Thank you for all the work, and for offering a fix! Hope you didn't take my joke so seriously, theme/mode is never a deal breaker for me 😄 IMHO, the dark-themed editor (or even the dark mode) can be deferred until the beta is shipped, but if you would like that feature implemented, let me know if I could give you a hand.

It is a deal-breaker for me! I have already told @raisedadead off for merging it! :laughing:

Sooory. I promise we will get your editor back!


confused by a parsing error / what is the default encoding for single constructor types?

so i have a data type that boils down to it needs to accept a json record with the following field  at the start
{"planStart": "2020-01-01",

....
}

the case class is defined as follows
case class ThePlan (
   planStart : MyFancyOptionType[LocalDate]
...
)

i get the following error
InputError(.planStart(expected '{' got '"'),INPUT_ERROR)

the decoder for the fancyoptionType boils down to
DeriveJsonDecoder.gen[Option[A]].map(x => x match {
      case None => MissingReq()
      case Some(v) => FoundReq(v)

What on earth am i not understanding? its pretty frustrating :)

it looks like its cause the Deriving code doesn't use the built ins for Option, and instead does the "as if it were a userland type" deriving, so i need to do implicitly[JsonDecoder[Option[A]]].map(x => x match { etc


fix(ui): use  rather than  with button role

Fixes linter warning on build

I addressed this in #1137 using the pattern recommended by Bootstrap. It looked like changing the tabs to use button resulted in some unwanted highlight borders when focused.

I addressed this in #1137 using the pattern recommended by Bootstrap. It looked like changing the tabs to use button resulted in some unwanted highlight borders when focused.

Thanks

Thanks


Implement CLI Parameter to Print Specified Object Types from OpenAPI Spec

This pull request is linked to issue #6 and addresses the qualifying task for GSoC'23 by implementing the functionality to parse an OpenAPI spec from a given URL and print the list of objects identified by the type specified as a CLI parameter. The supported object types include schemas, responses, parameters, examples, requestBodies, headers, securitySchemes, links, callbacks, and pathItems.

@wldeh Please take a look at the comment on the issue #7
Also, you can link issues and PRs by using references in the PR description. https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue

Also, take a look at https://www.conventionalcommits.org/en/v1.0.0/

Thank you for your detailed feedback, @bavulapati. I reviewed the comment on issue #7 and am making the necessary changes. My condolences for not mentioning the issue in my pr. I have always strived to follow the guidelines outlined by Conventional Commits when making commits to my projects and appreciate the link you provided and will make sure to reference it in the future. Thanks again for your feedback!

Requesting changes as I couldn't test it due to npm install failure.
As you are using handful of utilities, it might be worth describing the way you use them and a way to navigate the code accordingly.
CMIIW, I notice you include tests. It's worth providing a command to run them.

Hello @bavulapati! Yes, I can definitely make the repository more beginner-friendly. I’ll push a commit soon that explains each dependency and why its frequently used in a TypeScript project like this. Additionally, I’ll make sure to include instructions in the README on how to run tests and why I chose to use Jest. You can run the existing tests right now by executing the test script defined in the package.json file. I’m still working on writing robust unit tests, which takes some time. Your feedback is much appreciated.

I think npm run build need to be run before running the cli, at the moment.
Ran into the following
ESM Build start
✘ [ERROR] Could not resolve "node-fetch"

    src/openapi/fetcher.ts:1:18:
      1 │ import fetch from 'node-fetch'
        ╵                   ~~~~~~~~~~~~

  You can mark the path "node-fetch" as external to exclude it from the bundle, which will remove
  this error.

ESM Build failed
Error: Build failed with 1 error:
src/openapi/fetcher.ts:1:18: ERROR: Could not resolve "node-fetch"
    at failureErrorWithLog (/Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:1636:15)
    at /Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:1048:25
    at runOnEndCallbacks (/Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:1471:45)
    at buildResponseToResult (/Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:1046:7)
    at /Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:1075:16
    at responseCallbacks.<computed> (/Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:697:9)
    at handleIncomingPacket (/Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:752:9)
    at Socket.readFromStdout (/Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:673:7)
    at Socket.emit (node:events:512:28)
    at addChunk (node:internal/streams/readable:324:12)

I think npm run build need to be run before running the cli, at the moment. Ran into the following
ESM Build start
✘ [ERROR] Could not resolve "node-fetch"

    src/openapi/fetcher.ts:1:18:
      1 │ import fetch from 'node-fetch'
        ╵                   ~~~~~~~~~~~~

  You can mark the path "node-fetch" as external to exclude it from the bundle, which will remove
  this error.

ESM Build failed
Error: Build failed with 1 error:
src/openapi/fetcher.ts:1:18: ERROR: Could not resolve "node-fetch"
    at failureErrorWithLog (/Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:1636:15)
    at /Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:1048:25
    at runOnEndCallbacks (/Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:1471:45)
    at buildResponseToResult (/Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:1046:7)
    at /Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:1075:16
    at responseCallbacks.<computed> (/Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:697:9)
    at handleIncomingPacket (/Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:752:9)
    at Socket.readFromStdout (/Users/balakrishna/projects/postman-open-technologies/openapi-componentizer/wldeh/openapi-componentizer/openapi-parser/node_modules/esbuild/lib/main.js:673:7)
    at Socket.emit (node:events:512:28)
    at addChunk (node:internal/streams/readable:324:12)

Hello @bavulapati. I was swamped with work today and couldn’t provide an update. I’ll follow up with you by the 31st and look to re-request. Thank you for your timely feedback; I appreciate it greatly.

Hello @bavulapati! I wanted to inform you that I have just addressed most of the changes that you mentioned. Please let me know if you have any questions or concerns. Thank you!


Consider tracking the CSS vi unit

Thank you to all for caniuse - it's useful.
I wonder if you'd consider tracking the css vi unit?
https://developer.mozilla.org/en-US/docs/Web/CSS/length#browser_compatibility
See also: https://stackoverflow.com/a/71901468/

Technically duplicate of #4087 and available via MDN, e.g. https://caniuse.com/?search=css+length+vi or https://caniuse.com/?search=vi+unit.
Though not perfectly findable, e.g. not at the top for https://caniuse.com/?search=vi.

Also #2649.
Thanks @Schweinepriester I think I searched "css vi" and didn't find it.
Would update this issue to be Please consider adding ["css vi", "vi"] => https://caniuse.com/mdn-css_types_length_vi to search index
Or shall I close?


Use diff instead of generating the whole content

Is your feature request related to a problem? Please describe:
When trying to generate a new item, it generates the whole document which already has most parts, instead generating only the needed portion and applying it as patch would be a great option and also it saves a lot of tokens.
Describe the solution you'd like:
Generate diff with the current content/ Generate a patch and apply it.

Appreciate the feedback! The team actively working on integrating a diff based approach which should further improve token efficiency.

@endocytosis can you please help me with terms and conditions of bolt.new, we can see only stackblitz terms and conditions.
Also please share any information on the terms as it is not clear as to what it is commercial purpose. Also, what if a single employee wants to use the services for internal purpose.
Also what about the licence for the content that is generated by the service?

Hey @endocytosis ,
I guess this feature (diffs) was launched on twitter yesterday, I enabled it in my profile, it doesnt seems to be working well imo. It says it took 4500 tokens only but went straight from 715k to 547k tokens.


Aqara Curtain Motor DTH (in beta)

I am starting work on a DTH for the Aqara Curtain Motor.

I have updated the DTH to what should hopefully be a fully working beta.
The most important change was going from using capability switch to Door control, which is most appropriate device class to assign to a curtain motor device.
Also, the preference settings now include toggles for info and debug message output to Live Logging, and the info messages will include more specific information regarding relevant attribute report messages received from the motor that still need interpreting.
Change List
• changed capability Switch to Door control
• changed on/off references to open/close where needed
• added "open" and "close" app buttons which can be used in addition to pressing on the main tile (which works as a toggle)
• added an 8 second countdown timer to update opening / closing status to open / closed, respectively (because a attribute report message that the motor has finished opening / closing hasn't been confirmed)
• added installed(), configure(), and updated() routines to make sure health check interval is set either when the device is paired or preferences are set. These routines can be expanded later if anything else needs to be set up at the time of pairing or when preferences are saved.
• added user-selectable preferences for "Info" and Debug message logging, along with displayDebugLog() and displayInfoLog() routines.
• renamed lastCheckin custom event sent on every received message to lastCheckinCoRE, which now stores an Epoch Date/Time stamp that can be used in WebCoRE
• renamed parseCustomMessage to parseOpenCloseReport
• removed any code related to battery voltage / percentage
• updated deprecated zigbee command code to currently accepted ST zigbee function calls
• added lots of hopefully helpful comment lines
• various reformatting and more logical reordering of function calls
Sources for conversion to Door Control capability:
• http://docs.smartthings.com/en/latest/capabilities-reference.html#door-control
• https://community.smartthings.com/t/door-control-capability-command/8495
• Z-Wave Garage Door Opener DTH on GitHub/SmartThingsPublic

It turns out someone has finished a working SmartThings device handler for the curtain motor.
I will leave this Pull Request open because I've asked the author if his code can be added to the repository here, and I've already seen a few ways that it could possibly be improved.


Changing field type breaks form

What?
Changing field type breaks corresponding field (is not displayed anymore).
Setup
Frontend

plone/volto: 16.20.4
volto-form-block: 3.0.1

Backend

Plone: 6.0.1
collective.volto.formsupport: 2.7.0

Reason
field_type in formSchema.js is an array but FormField.jsx expects it to be a string.
Did I miss something or can someone else confirm this?

@mbarde Had a client file an issue this morning with this problem. I've added a PR (#64) to solve this issue

Nice, thank you!


Treat pinvokes like abstract methods for debugging

We need a row to be recorded in the MethodDebugInformation table.
Fixes #4637

ENTRYPOINT
  true

DOCUMENTS
 [0] /Users/jason/Projects/debugextens/debugextens/Program.fs
     Type: <null>
     Language: <null>
     Vendor: <null>

METHODS
 RegCloseKey
     Params: []
     Range: <null>
     Points:
     Scopes:

 main
     Params: []
     Range: Some "[0,8:5] - [0,9:6]"
     Points:
      - Doc: 0 Offset:0 [8:5]-[8-17]
      - Doc: 0 Offset:29 [9:5]-[9-6]
     Scopes:
      - [0-31]

@KevinRansom It's impossible to debug any app that uses PInvokes on Mono as it crashes with an assertion. I would expect on Windows that even if it didn't crash that the debug markers would be in the wrong place when stepping.
* Assertion at metadata.c:1117, condition `idx < t->rows' not met

For me personally, it was impossible to debug FCS, VSMac or any application that uses Expecto :) Not only could I not debug, but the runtime would crash if I attempted to debug :) The only workaround was to not use portable PDB, but that isn't going to be an option for much longer - the MDB format is considered deprecated.

The portable PDB spec specifies that the Method table has the same number of rows as the MethodDebugInformation table in the PDB file. The F# compiler was emitting the PInvoke methods but omitting the corresponding debug information rows.
So, if you had an assembly with 2000 methods but a PDB file with one row missing from the middle, then debugging would be wonky at best (on Windows) for any method in the last half of the table. On Mono, the runtime would crash if any method at the end of the assembly was invoked if there were missing rows.

@nosami … cool.
Thanks for digging into this.

Can this fix also be cherry-picked to 15.9 branch, please?

@auduchinok,
@TIHan has been taking a look at this.  We would like to take this for dev15.9, but we need to review the bar for dev 15.9 submissions.  The general guidelines are regressions and high value, high customer impact, low risk changes.  And this doesn't really match those.  However, we will see if we can get this through the process.
Kevin

This fix has already been patched into Mono's distribution of fsharp/fsharp - See https://github.com/mono/mono/pull/9792

@nosami has that distribution been released, if so which version number?

It's in Mono <IP_ADDRESS> and later branches https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/2018-04/140/d31dbe843a556a5377a66793ee438c6f52695379/MonoFramework-MDK-<IP_ADDRESS>.macos10.xamarin.universal.pkg

Looks like that hasn't hit Stable yet, but Alpha and Beta channels have the fix.

@KevinRansom For me it looks like a regression, though, as debugging FCS used to work for me before moving to producing Portable PDBs even with Full DebugType property set. With the new format it indeed steps to a wrong place on Windows at times and has been crashing on Mono the last time I tried it as @nosami stated:

@KevinRansom It's impossible to debug any app that uses PInvokes on Mono as it crashes with an assertion. I would expect on Windows that even if it didn't crash that the debug markers would be in the wrong place when stepping.

@KevinRansom Yes, I can see it's fixed. :) I was mostly replying to the part about regressions actually:

The general guidelines are regressions and high value, high customer impact, low risk changes.

Thank you, I hope it manages to get into 15.9 track.


Bubble of a growing population

Closes https://github.com/tahowallet/dapp/issues/607
What else should be done

[x] Setting the correct animation for bubbles.
[x] If possible, add animations for RealmsBar. RealmBarIcon should move more smoothly when the population is changed.
[ ] After joining the realm, show a bubble instantly.
[ ] Improve intervals for realms.
[x] Adding bubble to the modal window.

What
The app should be more lively. This PR adds +1 bubble over a realm every time somebody joins. The bubble should be visible over the realm on the map but also in the modal window. The population is fetched from the contracts every minute. We shouldn't show 20 bubbles at the same time and then not show anything for 1 minute. We should spread out the number of bubbles we show.

So let's add a variable displayedPopulation to increment it and show the bubbles with the correct interval.
Intervals should be different for the realms to make the app more lively.
When we init game data, we should refresh the displayedPopulation and align it with the true number.

Testing
Let's use a patch file to increase the population and do tests. Use the following file:
increase-population.patch The population is increased randomly every minute.
git apply increase-population.patch

[ ] When a user joins the region, a bubble should show up immediately in the modal.
[ ] Bubbles should occur at different intervals between realms.
[ ] After refreshing the page, the population should show the correct number.

Overall it is working fine but I would encourage @VladUXUI and @andreachapman to QA it manually a bit (ideally with two browser windows open so you can "emulate" changes in populations). Or I can setup the environment so you can take a look at live on-chain population changes.

@jagodarybacka - Happy to take a look (but it'll probably be tomorrow before I can dig in too deep). The one thing I think though is that the experience might be quite different in an environment with only a few accounts stakes versus the more prod-like scenario. So because of that, I do like the idea of having some way to look at live population changes. I think that'll give us the best view of it. So if that's something that could happen before I come online tomorrow then I can spend some time looking at it first thing.

@andreachapman @xpaczka I've setup a live chain branch https://population-bubble--taho-development.netlify.app/ and I already see there is something off there, population is not updating correctly for me 😞
https://github.com/tahowallet/dapp/assets/20949277/c9cc6876-b092-49ef-ae45-2020638df8ad

@andreachapman @xpaczka I've setup a live chain branch https://population-bubble--taho-development.netlify.app/ and I already see there is something off there, population is not updating correctly for me 😞

I can't see any issues (video and live), so I must be missing something

https://population-bubble--taho-development.netlify.app/

Before you connect the wallet it shows like 31,000 and then when you connect and see the map, I see two weird things:

The population bar takes a few seconds to come up - it's like it doesn't come up til a new account stakes
It seems like it's not showing the entire population, only that since you connected your wallet. Maybe? It's definitely showing far less than the population count on the portal screen

https://github.com/tahowallet/dapp/assets/135037801/9087b363-9b1d-4bdd-9aab-56691455e67e

https://population-bubble--taho-development.netlify.app/

Before you connect the wallet it shows like 31,000 and then when you connect and see the map, I see two weird things:

The population bar takes a few seconds to come up - it's like it doesn't come up til a new account stakes
It seems like it's not showing the entire population, only that since you connected your wallet. Maybe? It's definitely showing far less than the population count on the portal screen

I'll have a look at the condition that is placed on the population bar, it maybe incorrect
The issue here is probably, that it start counting from zero to the target population now (31k). It didn't happen in the local development, so that's why I haven't caught that one.

I will dig into it starting tomorrow morning.

Been looking at it for 10-15 min and i can't really tell tbh, population only went down :))
I think the implementation is spot on, but it's not giving that lively effect that we were looking for, and this is because activity is low. Although this isn't the result we hoped for, i still think it's going to be a great liveliness factor for when we go to mainnet
There might be some UI tweaks that we need to do (bubbles aren't really all that visible unless you know to look/wait for them)
But if you all are ok, i would like to ticket that later.
My advice is to ship this as is, and iterate on it more in a future date if necessary.
(While writing this, a bubble showed up ❤  )

I'll give it some time today/tomorrow to see if anything can be done quickly. If not let's ship it.

How often are we fetching population here? can we do it every 10/15s? That will be the quickest thing to improve the probablity of noticing the bubbles :P

It is randomly between 5 and 15 seconds

@xpaczka https://github.com/tahowallet/dapp/blob/population-bubble/src/shared/hooks/wallets.ts#L122 I was thinking about making this time ~10-15s, it is still 60s


[BUG]backup enqueue needs consider proper time interval

Describe the bug

backup module may print endless ERRO message
To Reproduce
Steps to reproduce the behavior:

install harvester, create on guest VM
setup backup target to NFS
"take backup" of the guest VM
scale down harvester POD,
start a local harvester node (develop and debug)
the screen is scrolling with message:

DEBU[0152] backup target change:nfs:nfs://<IP_ADDRESS>:/nfs_server/nfs_share
DEBU[0152] backup target change, sync vm backup:nfs:nfs://<IP_ADDRESS>:/nfs_server/nfs_share
ERRO[0152] can't sync vm backup metadata, target:nfs:nfs://<IP_ADDRESS>:/nfs_server/nfs_share, err: Cannot create mount directory /var/lib/longhorn-backupstore-mounts/192_168_3_31/nfs_server/nfs_share for NFS server: mkdir /var/lib/longhorn-backupstore-mounts: permission denied
DEBU[0152] backup target change:nfs:nfs://<IP_ADDRESS>:/nfs_server/nfs_share
DEBU[0152] backup target change, sync vm backup:nfs:nfs://<IP_ADDRESS>:/nfs_server/nfs_share
ERRO[0152] can't sync vm backup metadata, target:nfs:nfs://<IP_ADDRESS>:/nfs_server/nfs_share, err: Cannot create mount directory /var/lib/longhorn-backupstore-mounts/192_168_3_31/nfs_server/nfs_share for NFS server: mkdir /var/lib/longhorn-backupstore-mounts: permission denied
DEBU[0152] backup target change:nfs:nfs://<IP_ADDRESS>:/nfs_server/nfs_share
DEBU[0152] backup target change, sync vm backup:nfs:nfs://<IP_ADDRESS>:/nfs_server/nfs_share
ERRO[0152] can't sync vm backup metadata, target:nfs:nfs://<IP_ADDRESS>:/nfs_server/nfs_share, err: Cannot create mount directory /var/lib/longhorn-backupstore-mounts/192_168_3_31/nfs_server/nfs_share for NFS server: mkdir /var/lib/longhorn-backupstore-mounts: permission denied

Expected behavior

When an error happens once, it may happen many times. the h.settings.Enqueue(setting.Name) in  func (h *MetadataHandler) OnBackupTargetChange  needs consider a delay time
// OnBackupTargetChange resync vm metadata files when backup target change
func (h *MetadataHandler) OnBackupTargetChange(key string, setting *harvesterv1.Setting) (*harvesterv1.Setting, error) {
        if err = h.syncVMBackup(target); err != nil {
..
                h.settings.Enqueue(setting.Name)
                return nil, nil
        }

Support bundle

Environment:

Harvester ISO version:
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630):

Additional context
Add any other context about the problem here.
This bug is due to when run Harvester in isolated mode, it has no permission to create mount, but it should avoid keep printing. In real environment,  there may be other situations where it encounters error, please consider add proper delay when "enqueue" .

@FrankYang0529 PTAL, thanks.

@FrankYang0529
In PR 1656, I change it to be:
	if err = h.syncVMBackup(target); err != nil {
		-- logrus.Errorf("can't sync vm backup metadata, err: %v", err)
		-- h.settings.Enqueue(setting.Name)
		logrus.Errorf("can't sync vm backup metadata, target:%s:%s, err: %v", target.Type, target.Endpoint, err)
		h.settings.EnqueueAfter(setting.Name, 5*time.Second)
		return nil, nil
	}

https://github.com/harvester/harvester/pull/1656/files

Solved in master-head version.


crash when searching in grid

Issue description:
crash when searching in grid
What happens:
several keys, particularly "r" cause me to crash if i search for something in either the wireless or crafting grid
What you expected to happen:
Steps to reproduce:

go into wireless gird
click in search field
press "r"
...

Version (Make sure you are on the latest version before reporting):

Minecraft: 1.10.2
Forge: 1.10.2-<IP_ADDRESS>7
Refined Storage: 1.1.3

Does this issue occur on a server? [yes/no]
yes
If a (crash)log is relevant for this issue, link it here:
http://pastebin.com/n18vv54T

This has been happening to me too - only in my case it's when I type "co"

i just had it again from "b"

net.blay09.mods.craftingtweaks.client.ClientProxy.onGuiKeyboardEvent(ClientProxy.java:93)
The issue seems to be with crafting tweaks.

@blay09

This was fixed a month ago already, update to Crafting Tweaks v6.1.16

Disabled crafting tweaks and it worked, thankyou!

Thankyou blay09 I will update crafting tweaks

I don't have crafting tweaks installed. should I open a new ticket?

yes


use an interface to bind in container

Hi,
Thanks for this package, very helpful, this is simply to use an interface to bind Larinfo in the container, so it can be used in constructors with dependency injection, without having to use the Facade :
public function __construct(LarinfoContract $larinfo)
{
    $this->larinfo = $larinfo;
}

I was previously using it like so :
public function __construct(Larinfo $larinfo)
{
    $this->larinfo = $larinfo;
}

and was running into problems since the logic defined in your provider wasn't called and the database connection wasn't set properly, which in my case was preventing some commands to work (migrate:status)

thanks for the PR!