helper for filter form

[x] implement Phoenix.Form.HTML
[x] filter input helper

Hey @woylie 👋
We currently have a generated filter form running in an app. A coworker of mine is complaining about the complexity and it certainly feels like a lot of the code belongs into flop_phoenix. What's the state of this feature? What are your plans & ideas for it? We'd like to help you out on this one, if you allow.
Currently what we envision / have partially implemented is something like:
filter(
  [{"Name", :foo}, ...],  # foo is the field name
  path_helper: ...,
  path_helper_args: ...,
  ul_attrs: [class: "..."],
  li_attrs: [class: "..."]
)

Which would roughly generate markup like this:
<form method="get">

      Name
      <input type="hidden" name="filter[][field]" value="foo" />
      <input type="hidden" name="filter[][op]" value="==" />
      <input type="text" id="field_filter" name="filter[][value]" />

</form>

Further features that we would like:

Passing in phx-submit for LiveView compatibility, i.e. handling filters with a push_patch. Or with this upcoming LiveView feature it might be possible to set the push_patch in flop_phoenix
Ideally the input field would be determined by the field data type by default, but could be customized by passing a field renderer function in the filter specification
The op value could have options controlling whether it is hidden or not, which default is set, and which values are allowed

One caveat we already discovered is that the URL you build from a filtered Flop struct is something like filters[0][field]=... which is difficult (impossible?) to create with Phoenix.HTML.Form helpers (AFAIK they're always targeting a top-level object a la filters[filters][0][value], you can't have a form for a list of changesets. Not so much an issue for the markup generated in flop_phoenix, but if the API had a way to allow the client to specify input renderer functions, it would be nice if they could have the usual FormData.t(), atom(), keyword() signature.
Sorry for the confusing collection of ideas, I'm in a bit of a hurry, but wanted to get this out already.
Would love if we could add this to flop_phoenix! Or something similar, of course.
Best,
malte

👍 Ideally builder functions at every level :) Especially the using option should IMO allow custom markup for specialized input fields.

I'm not sure about builder functions at every level. They make sense for the markup around form fields, but at some point it just becomes easier to write your own template functions to get the form layout you need. Sometimes you may want to group certain fields under a single label etc. That's why I think all the lower level helper functions should be exposed. Let's see how far we can get with a builder function for the filter_input/1 component first.
:using should only be used to set the input helper to use. This follows the pattern laid out here.

IMO a filter_form version would be a bit more consistent with the pagination and table functions, where the link generation is also done using path_helper functions. Making filter_inputs_for public would make sense as well, but the primary API should include the <form>, in my perspective. Options to the form_for could be passed as usual, and additional markup inside the form could be passed as @inner_block (or soon, as a slot)?

I'm not sure about the @inner_block. Where would you render it? At the end? At the beginning?
The filter_form function wouldn't do more than passing the Phoenix form parameters to the Phoenix form function and the Flop.Phoenix parameters to the filter_inputs_for function. I'm not sure how useful that can be in the end. Using the filter_inputs_for function directly within the inner block allows you to add a fieldset, add multiple fieldsets calling the filter_inputs_for with for different fields each time, displaying or not displaying a submit button wrapped in the markup you need etc.
The form markup is just not as simple as a table or pagination links. The table markup is more or less the same for every table you would ever render, and there's a limited number of layouts for pagination links, all of which can be accomplished with a little bit of CSS without touching the markup.
For the form, it isn't that simple. There are fieldsets, legends, field wrappers, submit buttons, labels, horizontal layouts, vertical layouts, visually hidden labels, grouped inputs with a single label, grouped fields incl. labels in the same row, inline labels for checkboxes and radio buttons, field add-ons, help texts, error texts, input icons etc. You can try to accommodate all of this in a single function with all kinds of options, but that will be hard to work with, and you'll probably still end up with some limitation that requires you to write your own abstractions. And that's why I'd like to handle this differently from the pagination and table components and think from the inside out, as I already mentioned, starting with just the input helper, and gradually add higher level abstractions as long as it makes sense and the API is still usable.
One thing I forgot is another helper to render the hidden inputs for the other Flop parameters (pagination and ordering). Something like:
<Flop.Phoenix.filter_hidden_inputs_for meta={@meta} additional_params={[anything: "else"]} />

Would you like us to provide a proof-of-concept implementation as a starting point for further discussion? I'd see if I can arrange for some time to work on this.

If you want to have a go, go ahead, any help is appreciated!

Hey @maltoe,
I implemented Phoenix.HTML.FormData for Flop.Meta today: https://github.com/woylie/flop_phoenix/pull/66
Some minor things left to do there, but you can already try it out. Short example:
<.form let={f} for={@meta} phx-submit="update-filter" phx-change="update-filter">

    <%= Flop.Phoenix.filter_hidden_inputs_for(f) %>

    <%= for ff <- inputs_for(f, :filters, default: [%Flop.Filter{field: :name}]) do %>
      <%= hidden_inputs_for ff %>
      <%= label ff, :value, humanize(input_value(ff, :field)) %>
      <%= text_input ff, :value %>
    <% end %>
  </.form>

The version above with inputs_for probably works better if you want to build a dynamic filter form where you can add and remove filters. For fixed form layouts, we'll still need that filter_input function.

I implemented Phoenix.HTML.FormData for Flop.Meta today

Nice 👍  I'll take a look later today, if I find the time

The version above with inputs_for probably works better if you want to build a dynamic filter form where you can add and remove filters. For fixed form layouts, we'll still need that filter_input function.

Yes. As said, IMO these don't have that much in common anymore. I'd pursue the dynamic filter form path first as it should give us more value for now.
With regards to "manual" filter form, I think array slots could be a way to go, see example here: https://hexdocs.pm/phoenix_live_view/Phoenix.Component.html#module-named-slots-with-attributes

Hey @maltoe,
I added a couple of components for filtering. Please have a look at let me know whether that works for you.

hey @woylie
thanks for doing this 💜  Now I feel like I kind of pushed you into this work without contributing much. But at the same time, maybe that's exactly what was needed :)
Left a few comments on the last PR https://github.com/woylie/flop_phoenix/pull/73#pullrequestreview-797015431 - otherwise this looks extremely nice and already covers our use-case.

Hey @maltoe,
yes, thanks for bringing this up and for all the feedback. One thing missing is better error handling. Now that you can pass the meta to a form, it would make sense to add an errors field to the meta struct and have the validate_and_run function return meta with errors instead of a changeset in the error case. What do you think? How do you deal with validation errors at the moment?

How do you deal with validation errors at the moment?

We don't, we fail on changeset result of validate_and_run and return a HTTP 400. Or so, maybe we show a generic error instead, not sure atm.

have the validate_and_run function return meta with errors instead of a changeset in the error case

That sounds exactly like what is needed.

Released in 0.12.0.


Fix file operations in unit tests

Some file operations were not correctly coded, and were failing silently. Thanks @rgildein for reporting this!

Thanks for this, @zmraul and @rgildein.


Allow setting the limit externally

Hello Nikola,
I believe that the real problem is modifying the window and not the limit (this is why I only included the setter for the limit). Since the core philosophy of the rate limiter is on incrementing a counter I see no problem is allowing this setter.
Nevertheless one can use the proposed alternative with the additional complexity.


Support global_phase in ReflectionUsingPrepare

Different papers in the literature use differen versions of the "Reflection" operator that have slightly different global phases. It's convenient to make the global phase part of the signature so that controlled reflection bloqs (often used) have the right behavior.
Some examples of papers that use different global phases:

https://arxiv.org/abs/1805.03662 - Qubitization formula uses $R_{s} = (2|s\rangle \langle s| - I)$ whereas the circuit decomposition is for $R_{s} = (I - 2|s\rangle \langle s|)$
https://arxiv.org/abs/2401.10321 - $R_{s} = i (2|s\rangle \langle s| - I)$

Pulled out from https://github.com/quantumlib/Qualtran/pull/816

@fdmalone Thanks for the review, I've addressed your comments.

This slowed the test way down. Please mark as slow and include a quick version


translate/cloud-client/pom.xml to use the latest GCP Libraries BOM

My followup of https://github.com/GoogleCloudPlatform/java-docs-samples/issues/3654. As per @lesv tests fail due to the upgrade. I'll troubleshoot the problem further.
In which file did you encounter the issue?
./translate/cloud-client/pom.xml
suztomo-macbookpro44% find . -name pom.xml |xargs grep -A 3 '<artifactId>libraries-bom'
./video/beta/pom.xml:        <artifactId>libraries-bom</artifactId>
./video/beta/pom.xml-        <version>10.0.0</version>
...
--
./translate/cloud-client/pom.xml:        <artifactId>libraries-bom</artifactId>
./translate/cloud-client/pom.xml-        <version>9.1.0</version>
./translate/cloud-client/pom.xml-        <type>pom</type>
./translate/cloud-client/pom.xml-        <scope>import</scope>
--
...
./automl/cloud-client/pom.xml:        <artifactId>libraries-bom</artifactId>
./automl/cloud-client/pom.xml-        <version>7.0.2</version>
...

Did you change the file? If so, how?

Describe the issue
Some pom.xml files do not use the latest libraries-bom.  Followup of https://github.com/GoogleCloudPlatform/java-docs-samples/issues/3654

@blunderbuss-gcf Assign this to me.


[sw] Document Value Barriers software implementation guidance and use cases

This issue tracks the action items from https://github.com/lowRISC/opentitan/pull/6466#discussion_r631944049
Additional details can be found here:
https://docs.google.com/document/d/19iAuwPMl-9yHT2T-0mCCWYl1u2dbXQWqRoIEMBvpBlY/edit?ts=60a41c7c#
CC @asb @mcy

Revisit the sw/device/silicon_creator/lib/base/sec_mmio.c implementation before closing this issue.

@mcy value laundering implementation is being introduced in PR lowrisc/opentitan#7028.


Added basic changes needed for clustering of Autoscaler component

This pull request looks good. Thanks Shiro for taking the initial steps of introducing distributed maps in Autoscaler.

I have now merged this pull request to master branch.


[bug] Regression in 1.13.0 in XSLT.quote_params

In nokogiri 1.12 and before I was able to send integers to XSLT.quote_params:
Nokogiri::XSLT.quote_params(['foo', 123])

After upgrading to 1.13.0 this results in a TypeError:
*** TypeError Exception: no implicit conversion of Integer into String

@jcoyne Thanks for opening this! I'll take a look.

git bisect isolated this regression to 3099528 which is ... :thinking:
Should be an easy fix, though.

Basically:
1234 =~ /'/ # this is OK
/'/.match?(1234) # this is not OK

PR at #2420

Thank you @flavorjones !

I'm hoping to ship v1.13.1 today or tomorrow. Working on one other regression.

v1.13.1 is out now: https://github.com/sparklemotion/nokogiri/releases/tag/v1.13.1


forceUpdate-flag breaks authorization with insecure Classes.

When my class is not secured and I try to update a document from the client using { forceUpdate: true }, my Astronomy event-based authorization system fails (not allowing the operation when it actually should allow).
If I remove the forceUpdate-flag from the save-call, everything works as before.
Another way to "fix" it is to also apply simulation: false on the same save-operation.
Let me know if you need a repro and I'll try to come up with one.

Yep reproduction would be handful :)

Actually, I think these two are linked: https://github.com/jagi/meteor-astronomy/issues/649
In my case where forceUpdate: true was causing issues I was also fetching only some fields of the documents (on the client).
I could fix the issue in three ways:

Remove forceUpdate: true
Remove fields attribute from the find method call, thus fetching all fields
Add simulation: false to the save-call

Still working on the reproduction, but I'm missing something...

So, using forceUpdate just requires you to have all fields in the actual document object you are updating, it's not enough to have them on the client. If forceUpdate is omitted, then all you need is the field you are updating.

Please provide reproduction so I can easily work on a fix

I will, sorry it's taking a while, I'm in a tight spot currently with work.


fix GitIgnore IT test

fix https://github.com/helidon-io/helidon-build-tools/issues/915

Yes, plus, it is expected that a different files order result in a different output. So the tests should not fails on order of excluded/included files, but check that the files are correctly excluded/included. So it was a wrong test design rather than environment issue.


Check windows GPU build with latest nvcc activation scripts

This PR is to check the latest change (https://github.com/conda-forge/nvcc-feedstock/pull/52 and https://github.com/conda-forge/nvcc-feedstock/pull/57) in the nvcc activation scripts:

it is not necessary to set %CUDA_PATH% in the build script (https://github.com/conda-forge/nvcc-feedstock/issues/53 seems to be fixed).

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

After removing setting %CUDA_PATH%, cmake can find CUDA, which means that https://github.com/conda-forge/nvcc-feedstock/issues/53 is fixed - see commit https://github.com/conda-forge/prismatic_split-feedstock/pull/18/commits/f6e30e70b4ab80a4e6c849087a325b07f3a40ead built with nvcc_win-64*_10.
There is a different failure now:
[  5%] Building NVCC (Device) object CMakeFiles/prismatic.dir/src/prismatic_generated_Multislice_calcOutput.cu.obj
CMake Warning (dev) at prismatic_generated_Multislice_calcOutput.cu.obj.RELEASE.cmake:109 (set):
  Syntax error in cmake code at

    D:/bld/prismatic_split_1608204162270/work/build_cli/CMakeFiles/prismatic.dir/src/prismatic_generated_Multislice_calcOutput.cu.obj.RELEASE.cmake:109

  when parsing string

    -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include"

  Invalid escape sequence \P

  Policy CMP0010 is not set: Bad variable reference syntax is an error.  Run
  "cmake --help-policy CMP0010" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at prismatic_generated_Multislice_calcOutput.cu.obj.RELEASE.cmake:181 (execute_process):
  Syntax error in cmake code at

    D:/bld/prismatic_split_1608204162270/work/build_cli/CMakeFiles/prismatic.dir/src/prismatic_generated_Multislice_calcOutput.cu.obj.RELEASE.cmake:181

  when parsing string

    C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/bin/nvcc.exe;-M;-D__CUDACC__;D:/bld/prismatic_split_1608204162270/work/src/Multislice_calcOutput.cu;-o;D:/bld/prismatic_split_1608204162270/work/build_cli/CMakeFiles/prismatic.dir/src/prismatic_generated_Multislice_calcOutput.cu.obj.NVCC-depend;-ccbin;C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe;-m64;-DPRISMATIC_ENABLE_GPU;-DPRISMATIC_ENABLE_CLI;-DH5_BUILT_AS_DYNAMIC_LIB;-Xcompiler;,"-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include"","/DWIN32","/D_WINDOWS","/W3","/GR","/EHsc","/W0","/utf-8","/Ox","/MD","/O2","/Ob2","/DNDEBUG";-arch=sm_60;-std=c++11;-Xcompiler;-fPIC;-DNVCC;-IC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/include;-ID:/bld/prismatic_split_1608204162270/work/include;-ID:/bld/prismatic_split_1608204162270/_h_env/Library/include

  Invalid escape sequence \P

  Policy CMP0010 is not set: Bad variable reference syntax is an error.  Run
  "cmake --help-policy CMP0010" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.
Call Stack (most recent call first):
  prismatic_generated_Multislice_calcOutput.cu.obj.RELEASE.cmake:206 (cuda_execute_process)
This warning is for project developers.  Use -Wno-dev to suppress it.

Multislice_calcOutput.cu
cl : Command line warning D9025 : overriding '/W3' with '/W0'
cl : Command line warning D9002 : ignoring unknown option '-fPIC'
NVIDIA
c1xx: fatal error C1083: Cannot open source file: 'Files\NVIDIA': No such file or directory
GPU
c1xx: fatal error C1083: Cannot open source file: 'GPU': No such file or directory
Computing
c1xx: fatal error C1083: Cannot open source file: 'Computing': No such file or directory
include
c1xx: fatal error C1083: Cannot open source file: 'Toolkit\CUDA\v10.0\include': No such file or directory
Multislice_calcOutput.cu
nvcc warning : The -std=c++11 flag is not supported with the configured host compiler. Flag will be ignored.
CMake Error at prismatic_generated_Multislice_calcOutput.cu.obj.RELEASE.cmake:222 (message):
  Error generating
  D:/bld/prismatic_split_1608204162270/work/build_cli/CMakeFiles/prismatic.dir/src/./prismatic_generated_Multislice_calcOutput.cu.obj

NMAKE : fatal error U1077: 'D:\bld\prismatic_split_1608204162270\_build_env\Library\bin\cmake.exe' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.

@jaimergp, by any chance, have you seen something along these line?

I've seen that with CUDA_PATH and CUDA_TOOLKIT_ROOT because CMake expects forward slashes only.
This is not happening in other repos, so I guess it depends on the project CMakeFiles (maybe there's a special flag for parsing paths more robustly?).
I guess something like this should work? Notice I didn't quote the expression on purpose because CFLAGS contains a quoted path and that causes all kind of quirks...
set CFLAGS=%CFLAGS:\=/%

Check this workaround here too: https://github.com/jaimergp/magma-feedstock/blob/1c69d60/recipe/bld.bat#L19-L23
I might end up removing those flags from nvcc anyway because they don't seem to be needed and cause plenty of trouble.

@jaimergp for the information! Resetting the CXXFLAGS is simple and seems to work well here!
For reference, changing the slashes from \ to / doesn't work, now it seems to complain about the space... see build log:
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.30
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
CMake prefix path: D:\bld\prismatic_split_1608741502671\_h_env\Library
cli is 1 , gui is 0 and gpu is 1
CUDA_HOME: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
CUDA_PATH: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
INCLUDE: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\ATLMFC\include;C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt;D:\bld\prismatic_split_1608741502671\_h_env\Library\include;
CXXFLAGS (before):  -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include"
CXXFLAGS (after):  -I"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1/include"
-- The C compiler identification is MSVC 19.16.27045.0
-- The CXX compiler identification is MSVC 19.16.27045.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Found Boost: D:/bld/prismatic_split_1608741502671/_h_env/Library/lib/cmake/Boost-1.72.0/BoostConfig.cmake (found version "1.72.0")
-- Found PkgConfig: D:/bld/prismatic_split_1608741502671/_build_env/Library/bin/pkg-config.exe (found version "0.29.2")
-- Found FFTW: D:/bld/prismatic_split_1608741502671/_h_env/Library/include  found components: FLOAT_LIB
Found FFTW: D:/bld/prismatic_split_1608741502671/_h_env/Library/lib/fftw3.lib;D:/bld/prismatic_split_1608741502671/_h_env/Library/lib/fftw3f.lib
-- Found HDF5: hdf5-shared;hdf5_cpp-shared (found version "1.10.6") found components: C HL CXX
Boost dir D:/bld/prismatic_split_1608741502671/_h_env/Library/include
GPU support enabled
-- Found CUDA: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1 (found version "10.1")
Single precision enabled
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    Qt5Widgets_DIR

-- Build files have been written to: D:/bld/prismatic_split_1608741502671/work/build_cli

Microsoft (R) Program Maintenance Utility Version 14.16.27045.0
Copyright (C) Microsoft Corporation.  All rights reserved.

[  5%] Building NVCC (Device) object CMakeFiles/prismatic.dir/src/prismatic_generated_Multislice_calcOutput.cu.obj
Multislice_calcOutput.cu
cl : Command line warning D9025 : overriding '/W3' with '/W0'
cl : Command line warning D9002 : ignoring unknown option '-fPIC'
NVIDIA
c1xx: fatal error C1083: Cannot open source file: 'Files/NVIDIA': No such file or directory
GPU
c1xx: fatal error C1083: Cannot open source file: 'GPU': No such file or directory
Computing
c1xx: fatal error C1083: Cannot open source file: 'Computing': No such file or directory
include
c1xx: fatal error C1083: Cannot open source file: 'Toolkit/CUDA/v10.1/include': No such file or directory
Multislice_calcOutput.cu
nvcc warning : The -std=c++11 flag is not supported with the configured host compiler. Flag will be ignored.
CMake Error at prismatic_generated_Multislice_calcOutput.cu.obj.RELEASE.cmake:222 (message):
  Error generating
  D:/bld/prismatic_split_1608741502671/work/build_cli/CMakeFiles/prismatic.dir/src/./prismatic_generated_Multislice_calcOutput.cu.obj

NMAKE : fatal error U1077: 'D:\bld\prismatic_split_1608741502671\_build_env\Library\bin\cmake.exe' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.

I see. Further processing that string takes the double quotes away... Gotta love cmd 😂


Including console output in kazari

This PR modifies kazari compilation result to include console output and bumps version to 0.6.4-SNAPSHOT
@juanpedromoreno could you please review?
Thanks!

@juanpedromoreno Done, Thanks!  👍


Use split_first_chunk to somewhat clean up forward_datagrams_in_buffer

Makes use of the really nice split_first_chunk introduced in Rust 1.77.
All of the changes are not strictly needed to use split_first_chunk but I saw some refactoring possibilities at the same time. Breaking out split_first_datagram to a separate function allowed me to nicely use ?.

This change is

The cargo audit error is about mio and a RUSTSEC that does not affect us. So I'm not going to block this PR on fixing that first. We should ultimately have a CVE checking CI job that runs on a schedule, to catch this earlier.


Make sure left nav uses sentence case

There are a ton of entries on the left nav that have every word capitalized.
Here's a small example
      title: Leveraging Multi-CPU Architecture Support
      title: Logs and Troubleshooting
      title: Example Applications
      title: Open Source Licensing
      title: Release Notes
      title: Getting Started
      title: Logs and Troubleshooting
      title: Example Applications
      title: Open Source Licensing
      title: Release Notes
      title: Setup & Prerequisites
      title: IAM Permissions
      title: Open Source Licensing
      title: Release Notes
      title: Setup & Prerequisites
      title: Open Source Licensing
      title: Release Notes

#dibs. PR #2790

#dibs


Saving gif on iOS

Hi @zhangruiyu ,
Thanks for your great package, my problem is with saving in gallery a gif file on iOS, on Android it works like a charm, but on iOS saving as an image or saving as file always a gif file is saved as a jpeg, I tried a lot of things, can make it work :( can you please guide me on how to achieve this please?
Thanks in advance!

you can try SaverGallery.saveFile. If you still can't save successfully, please reply me, I will try to repair tomorrow

Hi @zhangruiyu ,
Thanks a lot, I tested as well with saveImage:
      var appDocDir = await getTemporaryDirectory();
      String savePath =
          "${appDocDir.path}/MyApp_gif_${Timestamp.now().millisecondsSinceEpoch}.gif";

await Dio().download(fileUrl, savePath).whenComplete(() async {
        await SaverGallery.saveFile(savePath, isReturnPathOfIOS: false)
            .whenComplete(
          () {
            showMsg(msgOnSaved);
            print('Gif saved: $savePath');
          },
        );
      });```

also **saveFile**:

   var response = await Dio()
      .get(fileUrl, options: Options(responseType: ResponseType.bytes));
   String picturesPath = "Pictures/MyApp/test.gif";
   debugPrint(picturesPath);
   final result =
       await SaverGallery.saveImage(Uint8List.fromList(response.data),
          //quality: 100,
          fileExtension: 'gif',
          name: picturesPath,
           androidRelativePath: "Pictures/MyApp/test_1.gif");
   print(result);

*To mention, the images are downloaded from Firebase Storage, so the **fileUrl** is:

https://firebasestorage.googleapis.com/v0/b/unipeople-app.appspot.com/o/FCMImages%2Fgif_test.gif?alt=media&token=f8997e4e-1226-4cff-9907-5fb8ecf5edbc

Thanks again for your great support!
Happy coding!

version 1.0.7 has been released and can be updated to try and fix the problem
use SaverGallery.saveImage

version 1.0.8 has been released and can be updated to try and fix the problem
use SaverGallery.saveImage

Thanks a lot @zhangruiyu now it works perfectly ;) keep up the good work!


Custom Zones feature is not working

Environment

![image](https://user-images.githubusercontent.com/54863302/64457550-bff2ff80-d0a7-11e9-8cd4-442bdc5c5c93.png)

Windows build number: [run "ver" at a command prompt]
PowerToys version:
PowerToy module for which you are reporting the bug (if applicable):

Steps to reproduce
Create a custom zone.  Holding shift key while dragging does nothing.
Expected behavior
I should be able to drag applications into specific zones.
Actual behavior
Holding the shift key and dragging on a custom zone does nothing and defaults to standard Windows 10 behaviour

Hi @NMB3R2
can you still reproduce the problem with the latest release? (0.15.0 coming up very soon).
Closing the issue for now, please reopen it if needed.
Thanks.


Outreachy/MDF/Contributions

This pull request contains the tasks given for the OutreachyContribution Phase. I have created a folder called Outreachy_contributions that contain folders for each task given. I have added a README.md that gives a short description of what the task entails.

Thanks for your contributions @TaofeeqatDev!

Thanks @pgleeson

@TaofeeqatDev Thanks again for your contributions on this. Please don't make any more commits to the branch which is part of this pull request. All applications will be judged based on the state of the code at the application deadline, out of fairness for all applicants.
If you do wish to improve your code, please make a new branch in your own fork and work there.

@pgleeson

@TaofeeqatDev Thanks again for your contributions on this. Please don't make any more commits to the branch which is part of this pull request. All applications will be judged based on the state of the code at the application deadline, out of fairness for all applicants.
If you do wish to improve your code, please make a new branch in your own fork and work there.

Thanks for the feedback @pgleeson. I didn't make any changes nor any code improvement to this file. I just went through my repository and I discovered I didn't upload the python script that I use for my keras to MDF notebook and that was the reason I uploaded it. Because my second notebook won't run if I don't upload it. I sincerely apologise for that.


socket hangup error while trying to open seahorse

I get the following error while trying to open seahorse in browser. Might this be a problem with installation?
GET /v1/sessions - - ms - - { Error: socket hang up     at createHangUpError (_http_client.js:254:15)     at Socket.socketCloseListener (_http_client.js:286:23)     at emitOne (events.js:101:20)     at Socket.emit (events.js:188:7)     at TCP._handle.close [as _onclose] (net.js:497:12) code: 'ECONNRESET' }

I get same error...

executing docker-compose down  and then up seems to solve the issue for me


[VM][Tools] Run Generated Programs on VM Runtime

Motivation
This commit adds the ability to run generated bytecode programs on the Move VM runtime.
Additionally, it makes explicit the functions that depend on memory safety checks so
that they can be disabled if generation of only valid programs is desired.
Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan
Local testing with cargo test and safety analysis with MIRAI.
Related PRs
N/A

@bors-libra r=hermanventer

:pushpin: Commit c67c00c has been approved by hermanventer

:hourglass: Testing commit c67c00ce9c96449732f63e083801bae6a664837c with merge 7df4eab3bf01ba40097020ac288cd008f2e81e84...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: hermanventer
Pushing 7df4eab3bf01ba40097020ac288cd008f2e81e84 to master...


Preserve exported settings

First of all, I would like to thank the developer for bringing such a good software. My question is: everyone probably has some fixed export settings, such as selecting "selected content only" when exporting PDF, cropping, border width of 0, etc. However, these settings will disappear after closing the software, which will cause some troubles to users because they have to set them again every time.

Seems a similar issue as https://github.com/jgraph/drawio/issues/3375 and https://github.com/jgraph/drawio/issues/2729

Duplicate #2729


do we need to maintain the example _data in future

see discussion about its initial raision d'etre here:
https://github.com/legumeinfo/jekyll-theme-legumeinfo/pull/22#issuecomment-1800619995

sounds like @sammyjava and @alancleary may have already decided this one:
https://github.com/legumeinfo/jekyll-theme-legumeinfo/pull/22#issuecomment-1802337779
but @nathanweeks should feel free to comment in case he disagrees

sounds like @sammyjava and @alancleary may have already decided this one: #22 (comment) but @nathanweeks should feel free to comment in case he disagrees

I agree that _data should go in the starter instead of the theme.

great thanks- just submitted the unanimous opinion of the court under #43


Lombok Installer not working with Eclipse Neon 2 on macOS Sierra

Am using Eclipse Neon 2 on macOS Sierra and Lombok 1.16.14.
When I ran the Lombok Installer, it could not find any of my Eclipse or IntelliJ IDEA installations.
So, I had to manually "Specify Location" by pointing to the following file (no other directory or file would enable the "Install" button to become clickable):
eclipse-standard-neon2/Eclipse.app/Contents/Eclipse/eclipse.ini
After, installing, it said that "Installation was completed" and inside the eclipse.ini file, it had the following line inserted for the last line:
-javaagent:../Eclipse/lombok.jar
lombok.jar was also automatically placed inside the same directory as eclipse.ini:
eclipse-standard-neon2/Eclipse.app/Contents/Eclipse/
However, when I launch Eclipse Neon 2 and trying to use any of the Lombok annotations, its fails to recognize the library in its classpath, even if I declare package import explicitly.
Also, when I re-run the Lombok Installer (in order, to uninstall Lombok), it still can't find the previous Eclipse IDE that I had to manually specify from the previous install?
Has anyone run into this issue?

I have an updated (with a lot more details) description of the problem / issue at hand on Stack Overflow:
http://stackoverflow.com/questions/42380528/lombok-not-working-with-eclipse-neon-2-on-macos-sierra

Let's discuss this here and not on stackoverflow.

Can you give us the complete path, from root, of your eclipse install? Starting with 1.16.14, the installer should still find eclipse even with the funky paths that the OOM installer comes up with. I have no idea why the installer isn't finding your eclipse automatically, here. I can't reproduce this on my mac.

The lombok uninstaller has the same 'find eclipses' capability as the installer. Mac doesn't have a registry and we aren't going to dump a bunch of crud in your homedir just to keep track of where we installed your lombok; we like it that way: No cruft. So, that part (that the uninstaller can't find a custom-install location and requires you to again specify it) is not a bug.

You still have to add lombok.jar to your project as a dependency same as any other third party dependency (something like guava, for example). It's not clear from your problem description if you actually did that.

Hi Reinier,
Thanks for writing back...
Answer(s):

/Users/dev_user/DevTools/Java/eclipse/eclipse-standard-neon2

You are correct I didn't add lombok.jar to my project as a dependency - I thought that was the reason that the Installer was needed.

I think there is more than one problem with lombok & Neon.
I did installation with (1.16.16 lombok.jar):
java -jar Downloads/lombok.jar install eclipse/jee-neon2/eclipse
And on almost all view switches in eclipse I am getting
"Unhandled event loop exception" in org.eclipse.ui, and stack trace with
..SWTError: No more handles
On top of it.
This installation worked perfectly just before this lombok install step.

@james-dekker so does it work for you now?


Remove out

@danielskatz, please take a look.

Looks good to me - I just wanted to be sure that didn't change the meaning, so didn't want to make it in my PR directly


Adjust tests for funciton pointer changes

So... This is how we'd have to change the tests if we're keeping with main as fn() != main as fn(). If we want the original behaviour back in miri, but not const eval, I can also change our comparison code to special case function pointers.

Seems reasonable to me, thanks!


Fix #437: only prohibit 'export type from "module" ' when flow is enabled

Q
A

Bug fix?
yes

Breaking change?
no

New feature?
no

Deprecations?
no

Spec compliancy?
yes

Tests added/pass?
yes

Fixed tickets
#437

License
MIT

Moves the logic prohibiting export type from "module" to the flow plugin.

Hey @bakkot! It looks like one or more of your builds have failed.

I don't think this should be an error even with Flow. Ideally we'd look to see if it is followed by from otherwise take the Flow parsing branch?

@loganfsmyth, no strong opinion on what the behavior should be with flow. This is the intersection of a stage-1 extension and flow; it's probably fine to throw in sufficiently weird corner cases, especially until flow decides what it wants to do.

Hey @bakkot! It looks like one or more of your builds have failed.

Ah right, I didn't connect that it was the experimental proposal. You have a  fair point on it being an edge case. Do you have a sense for how easy it would be to handle like I mentioned? If it's a pain I'm fine leaving it for now.

It wouldn't be all that hard - it's not quite like you say, because from is a legal type name in flow, so you need two-token lookahead to tell between flow's export type from = foo and ES6's export type from "" (or export type, {asdf} from "").
But looking at it again, it's a weird enough case that I think it should be an error for now, unless and until the official flow parser (or grammar - is there an official flow grammar?) decides what it wants to do in this case. If flow eventually decides not to support it, then it would be a breaking change for babylon to remove support, whereas adding support could be done in a patch release.

Although an edge case this is something I actually hit in actual code, specially I made a tiny library for making modules automatically from folders (here) which used the export <name> from "./folder-with-module/<name>.js" for its exporting, for now though I can just switch it to
import foo from "./<name>.js"
export foo

as currently transform-export-extensions doesn't transform export { <local> as <exported> } from "<module>" currently but I'll put in an issue on Babel for that.

@Jamesernator This PR makes your code work unless you have Flow enabled, in which case it probably shouldn't work (any more than export class from "m" should).
For export { a as b } from "m" , that's not an extension to the export syntax; that's part of es2015. I don't think it's something the export-extensions plugin ought to transform.

I didn't know that that was actually part of es2015, good to know thanks.

Force-pushed to trigger CI again after #442; now passes.


Dedicated descriptions for preprocessing errors

E.g., in service logs we can see Error during preprocessing, will mark execution.id=<N> as failed; error:  java.lang.IllegalArgumentException: Provided directory [/home/cnb/repositories/<hash>] doesn't contain save.toml configuration file, but execution is simply marked as ERROR and no additional information is displayed on the frontend.

Partially done in https://github.com/saveourtool/save-cloud/commit/1bdd7f47db818e03b843ceabf6cea2a4f32489fd


Doughnut mixing hidden states when hidden data items are removed

When removing data that has been hidden, the chart retains the hidden indexes, and goes out of sync with its legend.
https://user-images.githubusercontent.com/1236178/139475306-9f68b260-c781-41e2-bc58-f7b277e5b2a2.mp4
https://user-images.githubusercontent.com/1236178/139477115-05a1c1f3-15ae-42f0-8d96-8b94daf5871c.mp4
You don't see the problem in the examples only because the deleted data is at the end of the arrays. If you remove any item other than the last one then this happens
Expected Behavior
When the data is deleted, the underlying hiddenIndex to be removed too so that no new items are hidden.
Current Behavior
The chart retains the state of the hiddenIndices and sets the next available item to hidden.
Steps to Reproduce
Create a doughnut, set any item other than the last one to hidden, then delete any data item that has a lower index than the hidden one.
https://codepen.io/juliankigwana/pen/PoKKEvj
Context
I need the ability to add and remove data without the legend going out of sync
Environment

Chart.js version: 3.5.1
Browser name and version: Chrome  Version 95.0.4638.54 (Official Build) (x86_64)
Link to your project: https://codepen.io/juliankigwana/pen/PoKKEvj

@kurkle this is related to #9450. When the dataset controller updates, the controller _hiddenIndices object needs to be updated too. It looks like it would need to be rebuilt because all of the indexes will have potentially shifted.
I'm not sure what the best way to achieve this fix would be. In theory the datasets could be different lengths but I think in practice that cannot be the case. Perhaps we need to use listenArrayEvents but specifically listen to the data.labels array as well and use that to update the hidden indices mapping. It might also make sense for _hiddenIndices to be an array rather than a dict because they we can just apply the operations directly without having to recalculate everything. Does that make sense?

Did not look closely, but maybe this could be done  at the same time with elements (insertElements etc). Internally we could change to an array, if its easier to handle. Also need to consider the case when data/labels is replaced.

Also it could be much easier to move the hidden attribute back to the elements.

That's another option, to move it back to the elements and then resolve the feature another way


refactor(cli): remove the deprecated gas create and gas delete command

Pull Request Test Coverage Report for Build 989102110

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.58%

Totals

Change from base Build 985784494:
0.0%

Covered Lines:
4973

Relevant Lines:
5950

💛  - Coveralls


ATO planning summary (tracking in private repo)

Epic tracked in private repo here: https://github.com/cds-snc/url-shortener-documentation/issues/3

Reviewed the GC ATO process and decided to follow the profile for Protected B Medium Integrity and Medium Availability. The controls are going to be tracked through Github Issues. Writing the automation that creates issues from the spreadsheet provided so it can be used for future cds' projects.

Closing, as we're now going to track in private repo. Plan is in motion.


DRILL-2489 and DRILL-2769:  JDBC exceptions (& DRILL-3766).

DRILL-2489: Throw exception from remaining methods for closed JDBC objects.
DRILL-2769: Fix most non-SQLException not-supported-yet exceptions.
Also, tiny DRILL-3766: Fix ResultSet.getRow() (make 1-based; return 0 at end).

Rebased on  current master.

+1 for the entire batch of 3 commits.


Follow-up on flex-error integration

Follow-up on #923.
I did a quick search through the code from #923 using ripgrep to get a sense of how many times we manually map one error type to another, and this is what I found:
# Not a perfect search, but gives a good rough idea
> rg "map_err\(Error::" --stats
...
122 matches
122 matched lines
36 files contained matches
...

Correct me if I'm wrong @soareschen, but if we had an impl From<SourceErrorType> for Error for each kind of error we want to map, we could simply just use ? to return and we could cut out the extra map_err step, right? I did this for some of the code in the tendermint-p2p crate for errors that should be mapped from std::io::Error and it seemed to work quite well.
If so, I'd recommend we go ahead and replace all the map_err calls with ? and implement infallible conversions from their respective error types to each crate's respective Error type.
This would, of course, only work for errors where we don't need additional parameters beyond just the source error.
What's the definition of "done" for this issue?
When all the .map_err calls throughout the codebase (wherever possible) for concrete source error types are replaced with automatic conversions (?).

Sounds reasonable. This should be possible with newer versions of flex-error, since it now defines the error type in the crate that uses it. It may be tricky to generate the instances from the macros, as there can be multiple sub-errors that have the same error sources. So I think it would be better that we derive the From instances manually.


[Relay] Refactor Interpreter to treat lowering as IRModule->IRModule rewrite.

This continues the work outlined in
TECompiler: Rewrite existing compile engine to match updated compiler flow to centralize the TE->TIR lowering logic into a single IRModule->IRModule transformation. This gets about halfway there for the Interpreter:

Remove direct access to TECompiler from interpreter, and instead call tec::LowerTEExpr when 'preparing' a module and expression for evaluation.
Make clear there's no phase distinction between create_interpreter and evaluate on the Python side -- both must be prepared together as a single IRModule.
But in return make sure the result of evaluate on the Python side is a packed func ready to directly apply 'simple' arguments to an already interpreted closure.
The interpreter builds and caches primitive TIR functions (and their corresponding dynamic shape functions) as packed funcs as they are encountered.
Clean uses of interpreter for constant folding on the C++ side.

Future work:

Fold LoweredModule into IRModule so tec::LowerTEExpr is just another pass.
Get rid of the implicit caching of lowered functions in TECompiler.
Make calling convention from Relay to TIR explicit, and remove all the function attribute hackery currently needed so the interpreter can correctly invoke lowered functions as it encounters them.
Make TECompiler private. Though could do this now it will make migrating the VM and AOT uses of CompilerEngine harder.

@jroesch for feedback

cc @altanh

@jroesch PTAL:

BUG: I was compiling dynamic shape functions for the target even though they must always stay on the cpu. Fixed, but it means a bit more bookkeeping in Interpreter.
Cleaned up flattening of tuples, both for TupleType/TensorType and runtime::ADT/runtime::NDArray.
Thanks!


How to use traceName_dic.json to cut waveforms

Hi dear all and @smousavi05,
We are using EQTransformer. We want to make magnitude estimation.
How can we cut miniseed waveforms using traceName_dic.json file?
Do you have any suggestions?
Best regards...

Hi @birsenc trace_name_dic just helps you to find the associated waveform faster and do not need to read the entire data. You can also use the detection output file, i.e. pick timestamps to find the associated waveform which is what you need to compute the magnitude, depending on what magnitude scale you are using.

with pick timestamps, do you mean X_prediction_results csv files @smousavi05 ?

Right.
On Sun, Aug 6, 2023, 8:02 AM birsenc @.***> wrote:

with pick timestamps, do you mean X_prediction_results csv files
@smousavi05 https://github.com/smousavi05 ?
—
Reply to this email directly, view it on GitHub
https://github.com/smousavi05/EQTransformer/issues/157#issuecomment-1666888414,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADHWAPBTE3XMEGZJ27KAOJLXT6WWRANCNFSM6AAAAAA272B4I4
.
You are receiving this because you were mentioned.Message ID:
@.***>


Dg fix request animation frame

Hi. I have resolved conflicts from https://github.com/Healthyco/NativeBase/tree/feature/fix-request-animation and added safe calling requestAnimationFrame function. I have removed dist folder changes from PR also

Have already been fixed

Have already been fixed


klayout package for gdsfactory

How can we enable a klayout, similar to this one?
That way we can bring in the klayoutGUI nice features directly into klayout without having to run
gf tool install
we can register the pacakge here
For managing private klayout packages one can also use this kgit

gdsfactory klayout package is registered :tada:
this provides an alternative installation to gf tool install for klive macro
we can also make one for ubcpdk
Some ideas for klayout macros:

[ ] populate gdsfactory macro buttons in klayout
[ ] to create a macro that creates a live process for building layouts, so we can reuse the cache. That live process can accept both python and YAML files, and will reload them on each save.
[ ] Have a verification flow similar to SiEPIC, including connectivity checks
[ ] add cross-section button

Maybe / maybe not:

[ ] create schematic capture flow visualization


⚠ Bofrost.de has degraded performance

In c8181f3, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1062 ms

Resolved: Bofrost.de performance has improved in 3b75bce after 8 minutes.


How to use this library?

Hello , first of all , this visualizer looks awesome . Would be really nice to use it. But as I am a new developer , I can't figure out how to use it :( . I tried some stuff but didn't really work out. My intention is having this visualizer while playing an audio stream from network.
This is what I tried :
`       audioVisualizationView = new GLAudioVisualizationView.Builder(this)
.setBubblesSize(R.dimen.bubble_size)
.setBubblesRandomizeSize(true)
.setWavesHeight(R.dimen.wave_height)
.setWavesFooterHeight(R.dimen.footer_height)
.setWavesCount(7)
.setLayersCount(4)
.setBackgroundColorRes(R.color.av_color_bg)
.setLayerColors(R.array.av_colors)
.setBubblesPerLayer(16)
.build();
layout.addView(audioVisualizationView);
    audioVisualization=(AudioVisualization)audioVisualizationView;
    audioVisualization.linkTo(DbmHandler.Factory.newVisualizerHandler(this, 0));`

And there is a mediaplayer set up for audio playback. How do I link two together?

@soad130 instead of passing 0 try passing
mediaPlayer.getAudioSessionId();
and implement the
audioVisualization.onResume()   audioVisualization.onPause()   audioVisualization.release()
in respective places.

@soad130
There is a sample in this repository. Also readme contains all necessary information.


Offline area download button

This PR adds an download button to the offline areas UI. Currently, the button has no functionality. In a future PR, we'll hook up the button to an area selection UI that users can manipulate to select areas for download.
I've also made small adjustments to the styling of the offline area UI to make it more harmonious with the rest of the app.
This work counts towards issue #10.

@scolsen Seems there are only a few nits blocking merge.. could you PTAL?

We can leave it for now, since we're probably only a few PRs away from
needing it. Thanks!


Not working: Cannot read properties of null (reading 'setupContext')

when im trying to use it I get
"Cannot read properties of null (reading 'setupContext')"
<vue-error-boundary :fall-back="null"></vue-error-boundary>
import VueErrorBoundary from 'vue-error-boundary';

Hey @rendomnet!
Do you have a Codesandbox or something with a reproduction? Given the snippet above -- you'll need to provide a fall-back prop (or you can omit it and utilize the very basic one it ships with) but it cannot be null. Also it'll need child components it wraps in case of error!


Examples

Implementation issue for: https://github.com/Azure/typespec-azure/issues/3540, #514.  Design details are here

[ ] Update versioning decorators to accommodate 'never' for the version argument (meaning do not execute the decorator)

[ ] Add templates and decorators to OpenAPI library

[ ] Add JsonExample templates, and, in private namespace,  @jsonExampleName, @jsonExampleLiteral , @jsonExampleParameters, @jsonExampleReturnValue decorators and associated accessors:

  @jsonExampleName(TName)
  @added(TVersionAdded)
  @removed(TVersionRemoved)
  model JsonExampleOptions<
    TName extends string = null,
    TVersionAdded extends EnumMember = never,
    TVersionRemoved extends EnumMember = never> {}

  @jsonExampleLiteral(TExample)
  model JsonExample<
    TExample extends unknown,
    TName extends string = null,
    TSummary extends string = null,
    TVersionAdded extends EnumMember = never,
    TVersionRemoved extends EnumMember = never
  > is ExampleOptions<TName, TVersionAdded, TVersionRemoved> {}

  // This is specifically for matching return values in OpenAPI, with a
  // model keyed by status code
  @jsonExampleParameters(TParams)
  @jsonExampleReturnValue(TReturnValue)
  model JsonOperationExample<
    TParams extends {},
    TReturnValue extends Model | Model[],
    TName extends string = null,
    TSummary extends string = null,
    TVersionAdded extends EnumMember = never,
    TVersionRemoved extends EnumMember = never
  > is ExampleOptions<TName, TVersionAdded, TVersionRemoved> {}

[ ] Add @jsonExample decorator and associated accessors

extern dec jsonExample(target: Model | ModelProperty , example: unknown)
extern dec jsonOperationExample(target: Operation , example: unknown)

[ ] Add JsonExternalExample templates and associated decorator (@jsonExamplePath and accessor in private namespace)

@jsonExamplePath(TExternalValue)
model JsonExternalExample<
  TExternalValue extends string,
  TName extends string,
  TSummary extends string = null,
  TVersionAdded extends EnumMember = never,
  TVersionRemoved extends EnumMember = never
> is ExampleOptions<TName, TVersionAdded, TVersionRemoved> {}

[ ] Add @jsonExternalExample decorator and associated accessors

extern dec jsonExternalExample(target: Model | ModelProperty | Operation, externalExample: unknown)

[ ] Implement OpenAPI3 example support based on decorators

[ ] Model and ModelProperty examples: support inlined value examples and named examples:

TypeSpec
@jsonExample(
  JsonExample<
    {type: "bar", createdAt: "2023-03-01T19:00:00Z"},
    TName = "bar-example",
    TSummary ="An example of a bar type foo">)
model Foo {
  type: "bar" | "baz"
  @jsonExample("2023-03-01T19:00:00Z")
  createdAt: utcDateTime;
}

Corresponding OpenAPI3
  Foo:
   type: object
   examples:
     bar-example:
       summary: "An example of a bar type foo"
       value:
         type: "bar"
         createdAt: "2023-03-01T19:00:00Z"
   properties:
     createdAt:
       type: string
       format: date-time
       examples:
         - "2023-03-01T19:00:00Z"

[ ] Example file support in OpenAPI3

TypeSpec
@jsonExternalExample(
  JsonExternalExample<
    "examples/simple-foo-example.json",
    TName = "simple-foo-example",
    TSummary ="A simple example of type foo">)
model Foo {
  type: "bar" | "baz"
  createdAt: utcDateTime;
}

Corresponding OpenAPI:
  Foo:
     type: object
     examples:
       simple-foo-example:
         summary: A simple example of type foo
         externalValue: 'examples/simple-foo-example.json'
     properties:
       createdAt:
         type: string
         format: date-time

Examples with the new value world
With the introduction of the new values in TypeSpec, examples are a great fit for making use of those.
One of the problem with the previous approach was it was limtied to Json examples as we didn't know how to represent non primitive scalars(a canonical datetime for example) but this is all things that are able to be represented with the new scalar constructors.
Types examples
First and easier part is to define examples for the types. This would give parity with OpenAPI3
Decorator
model ExampleOptions {
  /** The title of the example */
  title?: string;
  /** Description of the example */
  description?: string;
  /** Scope this example can apply to */
  scopes?: unknown[];
}
extern dec example(target, value: valueof unknown, options: valueof ExampleOptions);

Example scopes
We could say that the title and description are good enough to be able to distinguish across version and visibility as well as some automatic filtering of non applicable properties could work.
However there is most likely times where you want to be more explicit.
Proposing each examples can have a list of applicable scopes. It is then the job of the emitter to filter out examples that are not applicable to their scope.
Potential scopes:

Serialization format: forMediaType.is("application/json")
Specific version: forVersion.is(Versions.v3)
Specific visibility: forVisibility.is("read")
Specific emitter: Typespec.Http.Client.TypeScript.forEmitter()

With this it means that the value parameter doesn't necessary needs to be a value of the target type. It could be the json serialized payload or some CSharp or TypeScript example code.
Examples
Simple model
@example(#{
  name: "John",
  age: 12,
  birthDate: plainDate.fromISO("2000-01-01")
})
model Person {
  name: string;
  age: int32;
  birthDate: plainDate;
}

Simple property
Same as above but the examples are on the properties
@example(#{
  name: "John",
  age: 24,
  birthDate: plainDate.fromISO("2000-01-01")
})
model Person {
  @example("John")
  name: string;
  @example(24)
  age: int32;
  @example(plainDate.fromISO("2000-01-01"))
  birthDate: plainDate;
}

External file
Load an external file. In this case we need to specify that this example is for a specific protocol
scalar externalExample {
  init path(path: string);
}

@example(externalExample.path("person.json"), #{scopes: #[forMediaType.is("application/json")]})
model Person {
  name: string;
  age: int32;
  birthDate: plainDate;
}

Client Examples
Load an external file. In this case we need to specify that this example is for a specific protocol
@example("""
const person: Person = {
  name: "John",
  age: 12,
  birthDate: "2000-01-01"
};
""", #{scopes: #[Http.Client.TypeScript.forEmitter()]})
@example("""
var person = new Person{
  name = "John",
  age = 12,
  birthDate = new Date("2000-01-01")
};
""", #{scopes: #[Http.Client.CSharp.forEmitter()]})
model Person {
  name: string;
  age: int32;
  birthDate: plainDate;
}

Operation examples
Operation examples can be a little more tricky because depending on the protocol you might want to see things differently. But maybe its just the job of the emitter to move things in the same place that the model was moved(e.g. body)
Decorator
We have 2 options for decorators

Use a dedicated decorator @opExample or @operationExample
Use the same decorator as for the models just expect a different structure

model ExampleOptions {
  /** The title of the example */
  title?: string;
  /** Description of the example */
  description?: string;
  /** Scope this example can apply to */
  scopes?: unknown[];
}

model OperationExample {
  parameters?: unknown;
  returns?: unknown;
}
extern dec opExample(target, value: valueof OperationExample, options: valueof ExampleOptions);

Example scopes
Scopes would apply as well however some might be irrelevant as the operation would already for example define the visibility.
Examples
Operation with spread parameters
@opExample(#{
  parameters: #{
    name: "John",
    age: 12,
    birthDate: plainDate.fromISO("2000-01-01")
  },
  returns: #{
    name: "John",
    age: 12,
    birthDate: plainDate.fromISO("2000-01-01")
  }
})
op createUser(...User): User;

Operation with explicit body
@opExample(#{
  parameters: #{
    user: #{
      name: "John",
      age: 12,
      birthDate: plainDate.fromISO("2000-01-01")
    }
  },
  returns: #{
    name: "John",
    age: 12,
    birthDate: plainDate.fromISO("2000-01-01")
  }
})
op createUser(@body user: User): User;

Operation with spread body and headers
@opExample(#{
  parameters: #{
    name: "John",
    age: 12,
    birthDate: plainDate.fromISO("2000-01-01"),
    ifNotModified: eTag("abcdefghijklmnop")
  },
})
op updateUser(...User, @header ifNotModified: eTag): void;

Operation with explicit body and headers
@opExample(#{
  parameters: #{
    user: #{
      name: "John",
      age: 12,
      birthDate: plainDate.fromISO("2000-01-01")
    },
    ifNotModified: eTag("abcdefghijklmnop")
  },
})
op updateUser(@body user: User, @header ifNotModified: eTag): void;

I have a question, as for the opExample decorator, would we have validations/static checks for the types?
Such as this example:
@opExample(#{
  parameters: #{
    user: #{
      name: "John",
      age: 12,
      birthDate: plainDate.fromISO("2000-01-01")
    },
    ifNotModified: eTag("abcdefghijklmnop")
  },
})
op updateUser(@body user: User, @header ifNotModified: eTag): void;

what if the json we have in the example decorator has some missing required property? Would compile report error?

I have a question, as for the opExample decorator, would we have validations/static checks for the types?
Such as this example:
@opExample(#{
  parameters: #{
    user: #{
      name: "John",
      age: 12,
      birthDate: plainDate.fromISO("2000-01-01")
    },
    ifNotModified: eTag("abcdefghijklmnop")
  },
})
op updateUser(@body user: User, @header ifNotModified: eTag): void;

what if the json we have in the example decorator has some missing required property? Would compile report error?

the opExample is on typespec operation and example value should be one one mapping to operation's parameters and return types, right? since typespec has template, it seems it is not easy to know all the parameters and responses structure, thus not easy to write an example.


Feature Request: Option to right-justify QuickPickItem description text in QuickPick lists

Prompted by my screenshots in https://github.com/microsoft/vscode/issues/199562#issuecomment-1832325346, where I think the lists would be easier to interpret if the already less prominent description text could be right-justified.

/duplicate https://github.com/microsoft/vscode/issues/75835

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


PHP7.0-FPM: ERROR: failed to retrieve TCP_INFO for socket: Protocol not available (92)

Your Windows build number: Microsoft Windows [Version 10.0.15063]

What you're doing and what's happening: Large log file- sudo tail /var/log/php7.0-fpm.log

What's wrong / what should be happening instead: Should not contain ERROR: failed to retrieve TCP_INFO for socket: Protocol not available (92) logged every second.

Strace of the failing command, if applicable:

Installed software:

Ubuntu 16.04.2 LTS
nginx version: nginx/1.10.0 (Ubuntu)
PHP 7.0.15-0ubuntu<IP_ADDRESS> (cli) ( NTS )

As an aside, I installed the Phalcon library but it wouldn't show up in phpinfo() even though it shows up in php -m. This led me to the logs and I found the errors. Not sure if related though.
logs.txt
Please let me know if you need more information.
Thank you.

No strace provided, but almost certainly #1982 (message).

Yeah, looks like it. Marking it so. Thanks @seyisulu for the post and @therealkenc the triage.

Closing this out so that we can track it at one place.


Re-implement UserEnum as deriving Serializable

Make this refactor so we can break ground on classes that have a YAML schema, ensure that the replacement for the UserEnum class maintains correctness and figure out how we want to document things that have explicit YAML schemas (since it prepares logically for framing into messages).

We should structure the internal data so that it matches what was previously serialized. We should also add another dictionary (or allow for attributes added outside of __init__ for internal data that doesn't need to be serialized (i.e. for UserEnum the reverse-mapping dictionary).

Where describe and describe_raw were used for UserEnum we need to replace with calls to json_str (simple).

This is essentially complete! The last piece is adding a schema for it and documenting it. After this we have to refactor the Registry infrastructure to use serializables.

Note that the above means that it's now also time to figure out where the "package schema" for this should go, and how we can load it to create the params object at runtime.

We've added the schema and tested it, now we need to back the schema out so datazen can generate it and figure out how we want to structure documentation for package schemas.

https://github.com/vkottler/vtelem/blob/master/docs/serializable.md
We have docs! The template for that page should have some kind of table-of-contents. The next thing here is to add a message type so that if a UserEnum is being sent via frames, we know to decode it and instantiate a UserEnum from it.

The docs are satisfactory and we have unit testing for encoding and decoding UserEnum via the new enum frame. This is definitely fully complete.


Honda Odyssey 2018 EX-L with Honda Sensing

Just needs to be tested

Wow, that was fast. Will merge after we get some testing.

will the system work with a new odyssey 2018 or 2017?

This was written for the 2018.

We currently own a Toyota sienna 2015, i am looking to trade for a Odyssey or pilot, both are equiped with the Honda Sensing.  Will the system work also for the Pilot?
Thank you

@energee what is the difference between 2018 and 2017 Honda Odyssey?

@alan707 I'm not sure if there is one, 2017 has ACC/LKAS?

@energee amazing work on this, BTW.  You are right. Looks like the 2017 Honda Odyssey doesn't have Honda Sensing.

No, only Hondas with stop and go are Civic, 2017+ CR-V, and 2018 Accord

@energee thanks for the reply.  I assume you would need an interceptor pedal to make that happen, right?  I couldn't find any info on the comma forums or the Github issues.  Any idea on how to convert it into stop and go?

@energee also do you know what is the main difference between the Civic, CR-V and 2018 Accord?  Is that functionality within the Engine Control Module or Body Control Module firmware, you think?

I think its the power-train control module/engine control module where this limitation exists. I don't understand why this OEM limitation exists on several of the Hondas, must be due to poor object detection at low speeds, but the civic shares very similar radar hardware.
You are correct about interceptor pedal, they are doing this on comma's development ILX. It might be possible to enable this control via firmware mod, though.

@energee this PR looks good. Let me know how tests go and we'll merge!

@energee do you have any additional info about the interceptor pedals?

I don't know anything about hardware mods, just software

This looks awesome! How do I get this on my new EON?

@mwkrieger Testing right now, we are close.

Ok this is working now, j4z (slack) has the car. @rbiasini, He said braking is rough and makes a noise, wasn't there a setting to address this?

@energee brake pump noise is probably the same as the Acura. Isn't the CRV pump noisy too?
A slightly better solution (like the stock system) would be to only run the pump when the brake pressure is required to increase.
Braking shouldn't be rough tough, but it's possible that the Pilot has a different scale from the Acura/CRV. It might require tuning

I have the newer crv, not 2016, seems like my hardware is closest to the civic. Ill let j4z chime in here. Any suggestions on which direction to scale these? Btw this one is odyssey not pilot.

@energee @rbiasini  Hi, I don't know what to experiment with to work on the brakes. Right now they are quite jerky - like they are being pressed harder than they should, but for short times. What parameter in which file should I mess with? I looked around in the carcontroller.py, but wasn't sure which was the right parameter.

@joeljacobs @energee , I would try using the civic tuning then. Civic has indeed a steeper relation between brake CAN command and vehicle decel. In particular,  make sure you use the compute_gb_honda function as opposed to the one for the Acura.
ultimately, you should find out the specific relation between CAN brake command and vehicle decel, which is usually pretty much linear with a small offset.

@rbiasini This is ready to be committed, https://github.com/commaai/opendbc/pull/61 is dependency.

@energee, looks good! can we checkout some of the items in the list I've sent you on slack?
And yes, will merge the dbc changes, just waiting on a minor style change

Here is the full fingerprint that worked with my 2018 Odyssey Elite. Would be great if it was integrated as well.
57L: 3, 148L: 8, 228L: 5, 229L: 4, 304L: 8, 342L: 6, 344L: 8, 380L: 8, 399L: 7, 411L: 5, 419L: 8, 420L: 8, 427L: 3, 432L: 7, 440L: 8, 450L: 8, 463L: 8, 464L: 8, 476L: 4, 490L: 8, 506L: 8, 507L: 1, 542L: 7, 545L: 6, 597L: 8, 662L: 4, 773L: 7, 777L: 8, 780L: 8, 795L: 8, 800L: 8, 804L: 8, 806L: 8, 808L: 8, 817L: 4, 819L: 7, 821L: 5, 825L: 4, 829L: 5, 837L: 5, 856L: 7, 862L: 8, 871L: 8, 881L: 8, 882L: 4, 884L: 8, 891L: 8, 892L: 8, 905L: 8, 923L: 2, 927L: 8, 929L: 8, 963L: 8, 965L: 8, 966L: 8, 967L: 8, 983L: 8, 985L: 3, 1029L: 8, 1036L: 8, 1052L: 8, 1064L: 7, 1088L: 8, 1089L: 8, 1092L: 1, 1108L: 8, 1110L: 8, 1125L: 8, 1296L: 8, 1302L: 8, 1600L: 5, 1601L: 8, 1612L: 5, 1613L: 5, 1614L: 5, 1616L: 5, 1619L: 5, 1623L: 5, 1668L: 5, 416944369L: 8, 417001744L: 8,


Fixed calculation of deposit_amount

Since jacobs scenario is the first one to use balance_per_node
We never tested the calculation for depositing more tokens.
Since the UDC contract requires a deposit greater than the total_deposit
function deposit(address beneficiary, uint256 new_total_deposit)
        external
    {
        require(new_total_deposit > total_deposit[beneficiary], "deposit not increasing");

        // Calculate the actual amount of tokens that will be transferred
        uint256 added_deposit = new_total_deposit - total_deposit[beneficiary];

        balances[beneficiary] += added_deposit;
        total_deposit[beneficiary] += added_deposit;

        // Update whole_balance, but take care against overflows.
        require(whole_balance + added_deposit >= whole_balance, "overflowing deposit");
        whole_balance += added_deposit;

        // Decline deposit if the whole balance is bigger than the limit.
        require(whole_balance <= whole_balance_limit, "too much deposit");

        // Actual transfer.
        require(token.transferFrom(msg.sender, address(this), added_deposit), "tokens didn't transfer");

I needed to change the calculation of the amount that needs to be deposited
This is a fix for Issue #238

That would've taken me days to gifure out - good catch! Just a small change required, then we're good to merge this.


Add button for feature delete

Is this necessary in addition to the keyboard shortcut?

Kelvin thinks yes

So it might be necessary for a button like this to exist for mobile.
I wouldn't want this to operate at all the way it's done in Leaflet-draw where you click individual features to delete them when the trash icon is selected. I'm sort of seeing this as an icon that appears in the toolbar when a feature(s) is selected the the state of the editor is in edit mode. When the trash icon is pressed the feature(s) are immediately deleted.

I'm sort of seeing this as an icon that appears in the toolbar when a feature(s) is selected the the state of the editor is in edit mode. When the trash icon is pressed the feature(s) are immediately deleted.

yup, its already implemented like this -> https://github.com/mapbox/gl-draw/blob/dev-pages/src/draw.js#L164-L169 and https://github.com/mapbox/gl-draw/blob/dev-pages/src/draw.js#L173

[ ] Create icon
[ ] Implement functionality


0.27 beta9 fails to compile with blocking feature

To Reproduce
Steps to reproduce the behavior (ideally with a minimal code sample):
cargo new tmp
cd tmp
echo 'rust-s3 = { version = "=0.27.0-beta9", features = ["blocking"] }' >> Cargo.toml
cargo check

Expected behavior
compiles
Actual behaviour
.cargo/registry/src/github.com-1ecc6299db9ec823/rust-s3-0.27.0-beta9/src/bucket.rs:84:63
   |
84 | #[cfg_attr(all(feature = "with-tokio", feature = "blocking"), block_on("tokio"))]
   |                                                               ^^^^^^^^^^^^^^^^^ function or associated item not found in `Runtime`
   |
   = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to previous error

For more information about this error, try `rustc --explain E0599`.
error: could not compile `rust-s3`

Environment

Rust version: latest stable (1.49)
lib version 0.27.0beta9

Additional context

Using feature blocking
Pinning to 0.27.0-beta8 works

@Ten0 thanks for the report, and apologies for the breakage. I neglected to update blocking feature for tokio ^1. Published 0.27.0-beta10 that should compile as expected.

@Ten0 thanks for the report, and apologies for the breakage. I neglected to update blocking feature for tokio ^1. Published 0.27.0-beta10 that should compile as expected.

Thanks. This seems to work. I think it would be nice to yank the beta9 still, especially considering the way the versions are ranked (that is, alphabetically after the -, making beta10 appear as a lower version than beta9, which by the way, is weird and could probably be a cargo/crates issue): https://crates.io/crates/rust-s3/versions

Thanks. This seems to work. I think it would be nice to yank the beta9 still, especially considering the way the versions are ranked (that is, alphabetically after the -, making beta10 appear as a lower version than beta9, which by the way, is weird and could probably be a cargo/crates issue): https://crates.io/crates/rust-s3/versions

Oh interesting, I'll yank it now, need to promote this to stable soon anyway :)

Oh interesting, I'll yank it now, need to promote this to stable soon anyway :)


lmstudio: 0.2.22 -> 0.2.24

Description of changes

Upstream patch update (0.2.24)
Updated download links
Updated maintainers list

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[x] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

We are very close!
Please do squash the 3 separate Commits lmstudio: 0.2.22 -> 0.2.24, lmstudio: 0.2.22 -> 0.2.24, lmstudio: 0.2.22 -> 0.2.24 into a single one. You may and should do these changes in a single commit, because they wouldn't work isolated.
Also ofborg catched one issue: error: undefined variable 'cig0'

you must add a commit first, to fix that
maintainers: add cig0 should only add your handle to maintainers/maintainer-list.nix. Be aware, that this list must be ordered alphabetically, or one of the checks will fail.

While cleaning up this mess, I noticed that the folks at LM Studio changed again the format of the download link for the Mac version, removing the revision identifier:
From https://github.com/NixOS/nixpkgs/pull/310914/files#diff-5932e72431b8e295a889e7c4defdd8aa02221a7f1103665b696e3b344dea3fb9L13 to https://releases.lmstudio.ai/mac/arm64/0.2.24/latest/LM-Studio-0.2.24-arm64.dmg.
We no longer need to add the new variable (until they change the URL again, I guess!).

As the latest in the URL does rub me a little wrong, I'll write to lmstudio again, just to be sure, that this link actually will last.

@eeedean "Please do squash the 3 separate Commits" got it. Gotcha. When I pushed the changes in separate commits, I did it to clarify the changes at every step. I know now how to do it next time properly :rocket:
Can I add my user to the maintainers' list within this PR, or should I create a separate one?

@eeedean "Please do squash the 3 separate Commits" Gotcha. When I pushed the changes in separate commits, I did it to clarify the changes at every step. I know now how to do it next time properly 🚀

Great! 😸

Can I add my user to the maintainers' list within this PR, or should I create a separate one?

You may do that in this PR.
—-
I‘m new, too and needed several attempts at my PR, when I got here 😸

@eeedean All lights green -- your turn!

@eeedean All lights green -- your turn!
Edit: I missed the Darwin builds 🫣

Haha, yeah those darwin aarch64-builds take a while unfortunately.
But yeah, LGTM 😁 I‘m optimistic

@NixOS/nixpkgs-merge-bot merge

I just skimmed through CONTRIBUTING.md again and it states:

When adding yourself as maintainer in the same pull request, make a separate commit with the message maintainers: add . Add the commit before those making changes to the package or module. See Nixpkgs Maintainers for details.

Therefore, you might want to change the order of the commits to have adding yourself into the maintainers list before doing the changes to the package.
Also from a practical standpoint it makes sense: The package would be broken in the commits between "adding yourself to the list of maintainers in the package" and "adding yourself into the maintainers-list.nix".

:100: -- I should've noticed this.

:face_holding_back_tears:

@eeedean Thank you so much for spending time with me. What I learned will be used well, as I plan to help maintain a few other packages.

@eeedean Thank you so much for spending time with me. What I learned will be used well, as I plan to help maintain a few other packages.

Congratulations to your first contribution and welcome aboard 🚢

Noob here, should this PR be backported to NixOS 24.05 since the download hash there is broken too?

Noob here, should this PR be backported to NixOS 24.05 since the download hash there is broken too?

Hi Justin, I was thinking about doing so. I'll get back to this later today.


Vertical Timeline for Contribution (Activity) Tab

Design Sample:

Responsive Timeline - http://codepen.io/codyhouse/pen/FdkEf
Materialize Responsive Timeline A - http://www.materialup.com/posts/responsive-materialize-timeline
Materialize Responsive Timeline B - http://ketcap.github.io/Materialize/login.html

https://github.com/Ketcap/Timeline
too much library required (jquery, skeleton, jquery ease)

https://github.com/gilbox/react-spark-scroll

Current Supported Event Types (based on generator)

GithubPushEvent
GithubPushEvent
GithubPullRequestEvent
GithubIssuesEvent
GithubIssueCommentEvent
GithubWatchEvent
GithubForkEvent
GithubReleaseEvent
GithubCreateEvent

Payload example
[
    {
      "payload": {
        "push_id": 971690062,
        "size": 1,
        "distinct_size": 1,
        "ref": "refs/heads/master",
        "head": "9b08850a6c06c42870d1a4bc2609471edf004be9",
        "before": "51f7ee125a2c5346eea8a62e975012f521bd6d36",
        "commit_urls": [
          "https://github.com/oh-my-github/generator/commit/9b08850a6c06c42870d1a4bc2609471edf004be9"
        ]
      },
      "event_id": "3628665198",
      "type": "PushEvent",
      "created_at": "2016-02-10T14:43:16Z",
      "actor": "1ambda",
      "repo": "oh-my-github/yo-omg-basic"
    },
    {
      "payload": {
        "action": "created",
        "issue_id": 132589868,
        "issue_number": 10,
        "issue_title": "Grid Tiles for Repository Tab",
        "comment_url": "https://github.com/oh-my-github/yo-omg-basic/issues/10#issuecomment-182172870"
      },
      "event_id": "3626695812",
      "type": "IssueCommentEvent",
      "created_at": "2016-02-10T02:36:56Z",
      "actor": "1ambda",
      "repo": "oh-my-github/yo-omg-basic"
    },
    {
      "payload": {
        "action": "started"
      },
      "event_id": "3626634836",
      "type": "WatchEvent",
      "created_at": "2016-02-10T02:08:48Z",
      "actor": "1ambda",
      "repo": "jeremydurham/persist-js"
    },
    {
      "payload": {
        "action": "opened",
        "issue_id": 132589868,
        "issue_number": 10,
        "issue_title": "Grid Tiles for Repository Tab",
        "issue_url": "https://github.com/oh-my-github/yo-omg-basic/issues/10"
      },
      "event_id": "3626630755",
      "type": "IssuesEvent",
      "created_at": "2016-02-10T02:06:49Z",
      "actor": "1ambda",
      "repo": "oh-my-github/yo-omg-basic"
    },
    {
      "payload": {
        "push_id": 969945056,
        "size": 3,
        "distinct_size": 3,
        "ref": "refs/heads/master",
        "head": "51f7ee125a2c5346eea8a62e975012f521bd6d36",
        "before": "2439c911c6fe2b676fe11c1fa8f58d62ba471c57",
        "commit_urls": [
          "https://github.com/oh-my-github/generator/commit/721d8207efeb2405f494ad8011bb1291a11286b9",
          "https://github.com/oh-my-github/generator/commit/6dedf457f63ff6145d36f7188bb73dcabcd22e99",
          "https://github.com/oh-my-github/generator/commit/51f7ee125a2c5346eea8a62e975012f521bd6d36"
        ]
      },
      "event_id": "3623709018",
      "type": "PushEvent",
      "created_at": "2016-02-09T14:19:21Z",
      "actor": "1ambda",
      "repo": "oh-my-github/yo-omg-basic"
    },

Lazy Loading Library

https://github.com/loktar00/react-lazy-load
https://github.com/jasonslyvia/react-lazyload

Release Event Payload
{
      "action": "published",
      "release": {
        "url": "https://api.github.com/repos/oh-my-github/datacow/releases/2362432",
        "assets_url": "https://api.github.com/repos/oh-my-github/datacow/releases/2362432/assets",
        "upload_url": "https://uploads.github.com/repos/oh-my-github/datacow/releases/2362432/assets{?name,label}",
        "html_url": "https://github.com/oh-my-github/datacow/releases/tag/0.0.1",
        "id": 2362432,
        "tag_name": "0.0.1",
        "target_commitish": "master",
        "name": "example release",
        "draft": false,
        "author": {
          "login": "1ambda",
          "id": 4968473,
          "avatar_url": "https://avatars.githubusercontent.com/u/4968473?v=3",
          "gravatar_id": "",
          "url": "https://api.github.com/users/1ambda",
          "html_url": "https://github.com/1ambda",
          "followers_url": "https://api.github.com/users/1ambda/followers",
          "following_url": "https://api.github.com/users/1ambda/following{/other_user}",
          "gists_url": "https://api.github.com/users/1ambda/gists{/gist_id}",
          "starred_url": "https://api.github.com/users/1ambda/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/1ambda/subscriptions",
          "organizations_url": "https://api.github.com/users/1ambda/orgs",
          "repos_url": "https://api.github.com/users/1ambda/repos",
          "events_url": "https://api.github.com/users/1ambda/events{/privacy}",
          "received_events_url": "https://api.github.com/users/1ambda/received_events",
          "type": "User",
          "site_admin": false
        },
        "prerelease": true,
        "created_at": "2015-09-25T14:38:23Z",
        "published_at": "2016-01-02T04:39:46Z",
        "assets": [],
        "tarball_url": "https://api.github.com/repos/oh-my-github/datacow/tarball/0.0.1",
        "zipball_url": "https://api.github.com/repos/oh-my-github/datacow/zipball/0.0.1",
        "body": ""
      }
    }

Activity Tile Examples

Badge Icons

GithubPushEvent: editor/[vertical-align-top|publish]
GithubPullRequestEvent: image/exposure
GithubIssuesEvent: communication/forum
GithubIssueCommentEvent: communication/[char|comment]
GithubWatchEvent: toggle/star
GithubForkEvent: social/share
GithubReleaseEvent: social/public
GithubCreateEvent: image/[control-point]


[Bug]: Getting "invalid repository name" on build.

What happened?
I'm getting a in load statement: invalid repository name '@@@aspect_rules_js~1.13.0~npm~npm__chalk__5.2.0__links': repo names may contain only A-Z, a-z, 0-9, '-', '_', '.' and '~' error when I run bazel build ... on a sample monorepo I'm using for test purposes.
Repository with the setup I'm trying to run: https://github.com/DiCaius/bazel_build_repro
Version
Development (host) and target OS/architectures: NixOS / Linux
Output of bazel --version: bazel 6.0.0-pre.20220720.3- (@non-git)
Version of the Aspect rules, or other relevant rules from your
WORKSPACE or MODULE.bazel file: 1.13.0
Language(s) and/or frameworks involved: Javascript
How to reproduce
Running `bazel build ...` on the test repository should be enough to get the error.

Any other information?
No response
Fund our work

[ ] Sponsor our open source work by donating a bug bounty

Updating the Bazel version seems to fix the repository name issue.


Google Colab Notebook for low end GPU users

A Google Colab Notebook version would be nice for the low end GPU users.

I put one together here: https://colab.research.google.com/drive/1Q9na_my3YI7T7CrZKoFW8MR0wDge7-_p?usp=sharing
Needs a bit more documentation but if you follow the steps in this repo it works.
I haven’t tested on free Colab GPUs. I assume you might want to set the quality to "low"


Proposal: Add Jake Sanders to the maintainers list!

Description
He's the #2 contributor to this repository, and has implemented a large amount of refactoring and feature work. We should add him as a maintainer!
The CODEOWNERS file here just maps to a team though, so let's track the decision here and then manually add on GitHub.

+1 , Jake has done some solid work.

+1

+1, congrats @dekkagaijin
added to sigstore/sigstore-codeowners

Thanks, all :)


New version: XSplit.Broadcaster version 4.5.2405.1807

Pull request has been created with komac v2.2.1 :rocket:
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

No errors to post.

(Automated response - build 882.)


Builder simulator for "native" verification

For Honk, we'd like to have a single Verifier class for both recursive and "native" verification. Since the recursive verifier is the first class object, the logic will be set up to work for stdlib types and we will achieve native verification via swapping a genuine builder (e.g. UltraCircuitBuilder) for a "simulated" builder, a la Cody's work. Once this is done, verifier classes like SumcheckVerifier, GeminiVerifier, ShplonkVerifier and UltraVerifier will only every be instantiated with stdlib types. This will eliminate the need for the constexpr branching (e.g. on IsRecursiveFlavor or Curve::is_stdlib_type) in these classes which currently facilitates supporting both stdlib and native logic. Instead, these classes will be templated over the appropriate recursive concept, e.g. RecursiveFlavor.

The CircuitSimulator was scrapped as being lower priority now that the rollup logic will be written in Noir. Closing this, at least for now.


Monaco Hover API : trims text leaving dangling :

Sample :

I sent it the complete name (i.e. (parameter) props: AvatarProps) but it trimmed out the type name leaving a dangling : at the end.
I'd rather it not eat anything ever, even in this case:

Again thanks for making it all OSS my journey continues https://github.com/alm-tools/alm/pull/121 :rose:

A more significant problem when the type is inferred

Looks like the hover is wrapping the last word

Looks like the hover is wrapping the last word

I fixed it locally by just adding to the calculations that hoverWidget makes :rose:


Support required input keys via exposure block arguments

Right now exposures only get access to 2 things:

the input as an entire hash,
and any other other exposure dependencies

For example:
expose :greeting do |input, prefix|
  # This is what we have to do if we want to require an input key
  greeting = input.fetch(:greeting)

  "#{prefix} #{greeting}"
end

expose :prefix
  ">> "
end

If we made a change to the block arguments structure, we could make it much easier to require input keys than by having to call input.fetch every time.
We could change the arguments so the exposure dependencies come first, as regular positional arguments, followed by keyword arguments for getting specific keys from the input (i.e. what is passed to the view controller's #call:
expose :greeting do |prefix, greeting:|
  "#{prefix} #{greeting}"
end

expose :prefix do
  ">> "
end

With this change in arguments structure, we can now use required keyword arguments that will automatically bubble up exceptions when those arguments are missing from the input args. This is much nicer and easier to do than having to run input.fetch everywhere.
We also get the added bonus of supporting default values for the keyword arguments!

Resolved in #46


Improve layout of checkboxes for surface analysis

[x] remove "(Average)" from function names and related help text
[x] always list surface first, display "Average of .." in front
[ ] use spacer between surface names and topography names or write text in surface checkbox in bold letters

Reformatting the checkbox seems to be difficult (for having bold letters or spacers).
So far, bokeh only allows to vary the labels between the checkbox entries (ony str, no HTML), but not CSS classes.
I've made a JS function to change the checkboxes through the DOM once an analyses card is loaded, by replacing a
special syntax ("{Surface}" in curly braces to Surface)). In principle this works, but I didn't manage to call it at the right moment until now (because of AJAX e.g.).
One possibility is to implement an own CheckboxGroup by extending bokeh, but for this I need to write typescript and
I think I need to rebuild bokeh, which I don't want because of new bokeh versions, security updates etc.

Another idea is to use two separated CheckboxGroup widgets, one for surfaces and one for topographies. These can be displayed with a separator or a different CSS classes. I'll try that.


[FEATURE] Hard Coding

Is your feature request related to a problem? Please describe.
https://github.com/langchain4j/langchain4j/blob/11855157dd71eb52d603c981a4e3ac561a336107/langchain4j-milvus/src/main/java/dev/langchain4j/store/embedding/milvus/MilvusEmbeddingStore.java
    //static final String ID_FIELD_NAME = "id";
    //static final String TEXT_FIELD_NAME = "text";
    //static final String METADATA_FIELD_NAME = "metadata";
    //static final String VECTOR_FIELD_NAME = "vector";

These are hardcoded, if I want to reuse an existing collection it can have different names for these.   I may also have multiple field names.
Describe the solution you'd like
Make these changeable via set, parameter on create or builder
Describe alternatives you've considered
Make these changeable via set, parameter on create or builder
Or at least make them properties in a app resources file
Additional context
LangChain supports this in Python.
As a Milvus user I usually have different field names and multiple vectors in my collection

@timspannzilliz Do you have a plan to implement this? I can also help.


Output application

Add an option to output the macOS Installer.app to a specified location.

Added support for Application output in #5 .
Also added support for ZIP archive output.
Can be set using the --application and --zip flags respectively.


Remove subdomain

#20  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @zhenlu and the rest of your teammates on  Graphite


Incompatible with Azure Traffic Manager

It'd be nice to include mention in the docs that enabling client certificate auth is incompatible with your Traffic Manager product.  We didn't spot this until well into a deployment, and are still re-working things as a result.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: eb440603-950a-c224-f6c9-222ca502d5a5
Version Independent ID: 0b5c4944-0327-91fc-2b0b-c19a1b873b64
Content: How To Configure TLS Mutual Authentication for Web App
Content Source: articles/app-service/app-service-web-configure-tls-mutual-auth.md
Service: app-service
GitHub Login: @naziml
Microsoft Alias: naziml

Hi @JohnDelisle, thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

Is this solved?

We also are having issues with an app that uses TrafficManager for DNS LB, Azure App Gateway, App Service and client cert auth.
@JohnDelisle were you getting 502 responses?

What is the status here?

@owingruters
Of what, specifically?  The status of the documentation that doesn't inform the user of the incompatibility, or the status of the Traffic Manager incompatibility with Azure App Services employing Client Cert Auth?

Not speaking for @owingruters, I would personally like an update on either.  At a minimum I'd like to get confirmation that TM + client cert auth in an App Service remain an unsupportable combination for the time being.  Assuming that's the case, is there another thread we could monitor for progress?
Thanks for your help!

For me: the status of the Traffic managers capability. But I already know
about the incompatibility, but fr others the documentation is also important
On Tue, Oct 29, 2019 at 5:22 PM JohnDelisle<EMAIL_ADDRESS>wrote:

@owingruters https://github.com/owingruters
Of what, specifically? The status of the documentation that doesn't inform
the user of the incompatibility, or the status of the Traffic Manager
incompatibility with Azure App Services employing Client Cert Auth?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/16691?email_source=notifications&email_token=ACYJDV7MXU63B7WBZS4QX4DQRBPKPA5CNFSM4F3B45TKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECREZYI#issuecomment-547507425,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACYJDV4AU5NFCHED5WBGZ7TQRBPKPANCNFSM4F3B45TA
.

Can we get a status on this?

I have client authenticaiton working with Traffic Manager. Can you share more details about the issues you are having?

Ya, if you exclude the the health route from client certificate requirement of the web app and make a custom health route for the endpoints on the traffic manager it should work.

@j03INTHECLOUD  and @timrnd  - Specifically, are you enabling "client certificate authentication" on the Azure App Service?  This is what triggers the incompatibility.  The TM probes do not present a client cert, and as a result fail their health checks.

@JohnDelisle yes I'm enforcing client certificate authentication and then using the exclusion paths to make a cert free path for the TM health probes mentioned by @j03INTHECLOUD.   In my example, I have a path for /public/health.html which is just a dumb page that returns 200.

@JohnDelisle, that is what I am doing as well.
On Wed, Mar 25, 2020 at 1:35 PM Tim Benroeck<EMAIL_ADDRESS>wrote:

@JohnDelisle https://github.com/JohnDelisle yes I'm enforcing client
certificate authentication and then using the exclusion paths
https://www.boredpanda.com/national-cowboy-museum-head-of-security-twitter/
to make a cert free path for the TM health probes mentioned by
@j03INTHECLOUD https://github.com/j03INTHECLOUD. In my example, I have
a path for /public/health.html which is just a dumb page that returns 200.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/16691#issuecomment-603981040,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AN5NCX7GZLBVUE3W3GSXGT3RJI6FDANCNFSM4F3B45TA
.

Interesting approach!  I'll take a look at that option.  Thanks for the suggestion.

The only catch is you need a health route built out in our code solution.

Internal item created: https://dev.azure.com/msft-skilling/Content/_workitems/edit/288715
#please-close


requirements.txt

Where can I find the requirements.txt file? I didn't see it anywhere in this repo

Hi @DiyaPrabhuram ! Sorry for the late response, for some reason I did not get notification for this issue.
The requirements.txt had been stashed, but now I have added it to the repo : ) setup.py should also have the same requirements as the requirements.txt.
Please let me know if you have any other issues with the package/code. Also, please feel free to directly mention me so that way I am notified :)
Best,
Ali


support specific naming convention

In what area(s)?

/area administration

/area ansible
/area autoscaling
/area configuration
/area cyclecloud
/area documentation
/area image
/area job-scheduling
/area monitoring
/area ood
/area remote-visualization
/area user-management

Describe the feature
Some customers follow specific naming conventions for Azure resources, for example instead of scheduler they would prefer something like myhop-vm-scheduler-eus-dev (i.e., here, adding a prefix and suffix based on resource type, region and development status).
While the name of the vnet, the subnets and the application security groups can be controlled from the config.yml, it seems like the names of the vms are hardcoded (or at least it is not clear from the template configuration how to change them).
There is obviously also a tradeoff with complexity here, which need to be considered.
In any case, I am recording the customer request here.

Yes this looks a good request, we need to assess the impact as we are also working on a bicep deployment version.

There is also this set of recommendations https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/resource-naming which we've been pointed to.
Of the possible components mentioned there, it may be useful to at least include a prefix with the resource type, e.g. vm-ondemand instead of ondemand, etc. This is already the case for the application security groups (asg-) but it is not applied consistently throughout all az-hop resources.
Overall, it would be great to write down a naming rule for resources deployed by AZ-HOP (even if aspirational and to be implemented later).`

There will be some constraints on the naming rules because of the domain join of the machine limiting name lenght.

VM can now be renamed in the configuration file