Theme variable androidRippleColor is not applied to buttons unless rounded

I have gone through these following points

[x]   Check latest documentation: https://docs.nativebase.io/
[x]   Check for existing open/closed issues for a possible duplicate before creating a new issue: https://github.com/GeekyAnts/NativeBase/issues
[x]   Use the latest NativeBase release: https://github.com/GeekyAnts/NativeBase/releases
[x]   Check examples from NativeBase KitchenSink https://github.com/GeekyAnts/NativeBase-KitchenSink
[x]   For discussion purpose make use of NativeBase Slack: http://slack.nativebase.io/
[x]   For queries related to theme, check Theme Variables from Docs and live NativeBase Theme Editor http://nativebase.io/customizer/

Issue Description

node, npm, react-native, react and native-base version, expo version if used, xcode version
node: v10.11.0
npm: 6.4.1
react-native: 0.57.1
native-base: 2.8.1
expo: 31.0.5
xcode: 10.1
Expected behaviour
Modifying androidRippleColor in native-base-theme/variables/platform.js affects the color used for the ripple effect in themed <Button> components on Android.
Actual behaviour
Modifying has no effect unless button is rounded. If the button is not rounded but is transparent, the ripple color is set to be transparent and ignores androidRippleColor altogether.
Steps to reproduce

Follow the instructions for Customize here: https://docs.nativebase.io/Customize.html#theaming-nb-headref (eject, wrap root component in <StyleProvider>, pass platform theme)
Modify native-base-theme/variables/platform.js such that androidRippleColor is changed to something obvious e.g 'red'
Add a <Button> component from NativeBase
Tap the button, expect to see customised ripple effect

Is the bug present in both iOS and Android or in any one of them?
Android
Any other additional info which would help us debug the issue quicker.
The code for Button.js reflects the behaviour I'm experiencing:
if the button is rounded:
https://github.com/GeekyAnts/NativeBase/blob/e96c997492d898d812243d7f19297189c75af4c0/src/basic/Button.js#L78
apply the ripple color:
https://github.com/GeekyAnts/NativeBase/blob/e96c997492d898d812243d7f19297189c75af4c0/src/basic/Button.js#L87
otherwise transparent:
https://github.com/GeekyAnts/NativeBase/blob/e96c997492d898d812243d7f19297189c75af4c0/src/basic/Button.js#L103

@SupriyaKalghatgi Why was this issue closed? I'm having the same problem, where I need to have a light button and cannot use androidRippleColor because it is only applied to rounded buttons. This doesn't make sense to me...
By the way, I thought about changing variables.androidRippleColor, but I can't do it, since it will change the behavior of the other buttons as well

@JoaoBGusmao Share code snippet along with output

I'm experiencing this issue as well, I solved it by setting the button as rounded and then overriding the borderRadius
<Button
	rounded
	bordered
	androidRippleColor="red"
	style={{ borderRadius: 5 }} //<-- override border radius with whatever value you want
	onPress={() => {}}>
	<Text>Primary</Text>
</Button>

Still a bug in 2.13.8

Please have the ripple effect on transparent button as TouchableOpacity. It's like no interaction as it was like a text. I place the transparent button on native base header. Using TouchableOpacity will require me to overwrite the property of the text. I prefer native base button.
"native-base": "^2.13.12"


metaSMT build error on Mac OSX

After building dependencies, I proceeded to build metaSMT. (cd $metaSMT/build; make). This gives me the following error. How to fix this issue? My compiler specs are also  given below.
Compiler Specs
/usr/bin/c++ -v
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.1.0
Thread model: posix

Error
/usr/bin/c++    -O3 -DNDEBUG -I/Users/anithagollamudi/cs260r/project/metaSMT/deps/boost-1_52_0/include -I/Users/anithagollamudi/cs260r/project/metaSMT/tests/../src -I/Users/anithagollamudi/cs260r/project/metaSMT/deps/SWORD-1.1/include    -o CMakeFiles/direct_ExprSolver_SMT2.dir/direct_ExprSolver_SMT2.cpp.o -c /Users/anithagollamudi/cs260r/project/metaSMT/tests/direct_ExprSolver_SMT2.cpp
In file included from /Users/anithagollamudi/cs260r/project/metaSMT/tests/direct_ExprSolver_SMT2.cpp:17:
/Users/anithagollamudi/cs260r/project/metaSMT/tests/test_Array.cpp:163:42: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first
[-Wshift-op-parentheses]
unsigned const size = 1 << index_width - 1;
~~ ~~~~~~~~~~^
/Users/anithagollamudi/cs260r/project/metaSMT/tests/test_Array.cpp:163:42: note: place parentheses around the '-' expression to silence this warning
unsigned const size = 1 << index_width - 1;
^
(              )
In file included from /Users/anithagollamudi/cs260r/project/metaSMT/tests/direct_ExprSolver_SMT2.cpp:18:
/Users/anithagollamudi/cs260r/project/metaSMT/tests/test_stack.cpp:15:26: error: redefinition of 'stack_t' as different kind of symbol
BOOST_FIXTURE_TEST_SUITE(stack_t, Solver_Fixture )
^
/Users/anithagollamudi/cs260r/project/metaSMT/deps/boost-1_52_0/include/boost/test/unit_test_suite.hpp:54:24: note: expanded from macro 'BOOST_FIXTURE_TEST_SUITE'
BOOST_AUTO_TEST_SUITE( suite_name )
^
/Users/anithagollamudi/cs260r/project/metaSMT/deps/boost-1_52_0/include/boost/test/unit_test_suite.hpp:45:11: note: expanded from macro '
BOOST_AUTO_TEST_SUITE'
namespace suite_name {
^
/usr/include/sys/_types/_sigaltstack.h:42:29: note: previous definition is here
typedef _STRUCT_SIGALTSTACK     stack_t; /* [???] signal stack */
^
1 warning and 1 error generated.

Thank you for reporting this issue.
Looks like the name ''stack_t'' is already taken on MacOS. I cannot reproduce the error on my system, however, I guess it's enough to assign a different name to the test suite for metaSMT's stack API, e.g., ''stack_test''.
As a quick fix, please edit file /Users/anithagollamudi/cs260r/project/metaSMT/tests/test_stack.cpp and change in line 15 ''stack_t'' to ''stack_test'' and re-build with make.
Further, notice that building metaSMT's test suites is optional. (Disabling the test suites saves you a lot of time when building metaSMT.)

Thanks. I renamed it and the build progressed. I have two questions at this point.
(1) I am getting error linking direct_ExprSolver_SMT2. I could build boost-1.52 successfully though. I am confused as I am using same toolchain for building metaSMT and boost-1.52.0 (For boost-1.52.0 I changed script shared.sh to use toolset=darwin to get build through). I am confused. All boost libraries are present and seem to be correctly installed. Any idea why?

/usr/bin/c++   -O3 -DNDEBUG -Wl,-search_paths_first -Wl,-headerpad_max_install_names  CMakeFiles/direct_ExprSolver_SMT2.dir/direct_ExprSolver_SMT2.cpp.o  -o direct_ExprSolver_SMT2  libboost_test.a ../src/lib/libmetaSMT.a ../src/lib/libmetaSMT.a ../../deps/boost-1_52_0/lib/libboost_iostreams.dylib ../../deps/boost-1_52_0/lib/libboost_thread.dylib ../../deps/boost-1_52_0/lib/libboost_system.dylib
[ 20%] Built target metaSMT
[ 26%] Built target boost_test
Linking CXX executable direct_ExprSolver_SMT2
Undefined symbols for architecture x86_64:
"boost::iostreams::file_descriptor::seek(long, std::_Ios_Seekdir)", referenced from:
boost::iostreams::detail::indirect_streambuf<boost::iostreams::file_descriptor_source, std::char_traits, std::allocator, boost::iostreams::input_seekable>::seekpos(std::fpos<__mbstate_t>, std::_Ios_Openmode) in direct_ExprSolver_SMT2.cpp.o
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [tests/direct_ExprSolver_SMT2] Error 1
make[1]: *** [tests/CMakeFiles/direct_ExprSolver_SMT2.dir/all] Error 2

(2) How do I disable tests?

(1) I'm only guessing: maybe you mixed up architectures --- a part is compiled for 32bit and another part for 64bit. Then, you will not be able to link them together.
On Linux I can check the architecture of a libraries, e.g., by utilizing ''file''.
$ file boost-1_52_0/lib/libboost_iostreams.so.1.52.0
boost-1_52_0/lib/libboost_iostreams.so.1.52.0: ELF 64-bit LSB shared object, x86-64, [...]
(2) For instance, you could use the tool ''ccmake''. (Note that you may have to install additional packages on your system.) Enter the build directory and type ''ccmake .''. You will see a dialog menu in which you can customize the build, e.g., to set the variable ''metaSMT_ENABLE_TESTS'' to ''OFF''. Then type ''c'' (configure), followed by ''g'' (generate) and re-build with ''make''. You may want to search the web for details on ''ccmake''. Notice also that there is the option ''t'' (toggle advance mode). In advanced mode, you will have the ability to control/change also Boost-related variables and paths, e.g., ''Boost_IOSTREAMS_LIBRARY_RELEASE'' (which could be interesting for the first issue).

I think i figured out the reason. OS X 10.10 uses libc++ by default while I need to link in libstdc++. Can you suggest how can I configure  CXXFLAGS/LDFLAGS to bootstrap?

I think I figured the reason. I need to configure -stdlib=libstdc++ in LDFLAGS and/or CXXFLAGS to build metaSMT. How do I configure this?

I just manually edited link.txt files in build directories. So the above error got fixed. However python bindings gave a new error:
/Users/anithagollamudi/cs260r/project/metaSMT/bindings/python/../../src/metaSMT/backend/../support/GoTmp.hpp:11:16: error: use of undeclared identifier 'get_current_dir_name'
: prevPath(get_current_dir_name())
I am wondering if building python bindings can be suppressed. I tried to find the option in 'ccmake .' I did not find it though.

Hi @anithag
you can disable the python bindings by setting metaSMT_ENABLE_BINDINGS, in ccmake or
cd build
cmake -DmetaSMT_ENABLE_BINDINGS=off

Other parts of metaSMT also use it so I rewrote it to work on OS X. Would you mind to  try the changes from my personal repository:
git remote add finnhaedicke https://github.com/finnhaedicke/metaSMT.git
git fetch finnhaedicke
git checkout osx-support

(does anybody know an easier way?)
Furthermore I noticed SWORD appeared in one of your error messages. Sadly SWORD is only available as a linux binary. So I disabled it for OS X. So was the Z3 version we used. In the support-osx version I switched to the git version of Z3. Please pull your dependencies repository to  get the current version of Z3 from https://github.com/Z3Prover/z3
If you want to set the compiler and linker flags you can use CMAKE_CXX_FLAGS, CMAKE_EXE_LINKER_FLAGS and CMAKE_SHARED_LINKER_FLAGS. However in metaSMT we do not use SHARED. As @hriener said, your can set them in the ccmake advanced mode (t).
I am not sure why you need -stdlib=libstdc++ I assumed when you compile everything from source (exclduing SWORD and using the new Z3), then libc++ should work. However, like @hriener I do not have a machine with OS X to test it myself.
Thanks for trying metaSMT on OS X and reporting the issues.

I could finally get Z3 built and installed on Mac OSX. I have not tried other solvers. Main changes for Mac OSX are:

Changes to all 'sed -i' commands. On Mac 'sed -i' requires additional operand. I just set it to null though.
For tests to work, need to modify test_stack.cpp to use a different stack_t (#comment 1)
Turn off python bindings as get_current_dir() is not supported
To build boost, "toolset=darwin" in  dependencies/boost-1_46_0/shared.sh
Change extension to dynamic libraries. On Mac, they come with extension .dylib. For example, set(Z3_LIBRARIES    ${Z3_DIR}/lib/libz3.so ) should be set(Z3_LIBRARIES    ${Z3_DIR}/lib/libz3.dylib )
Though Z3 installation is working for me when I tried manually, for some reason bootstrap.sh says "Disabling Z3.  A version of Z3 >= 4.0 is required."
No SWORD sources to get it built on Mac OS.

Now, the other issue I faced was linking libstdc++. I am not sure why the build passes when all libraries are linked with libstdc++. This must be due to my setup. I'll debug on this more when I have time.
@finnhaedicke  I tried building your repo. Boost build failed. I checked the scripts. As I mentioned in my points above, toolset needs to be darwin. I have not thoroughly debugged the failures.
It took me lot of time to understand the scripts in dependencies. Am new to cmake ( I am home with autoconf stuff). So tweaking things took me a while. Many thanks for the prompt support.
I am hoping to fork a branch with all my mac specific changes soon.

For the .so/.dynlyb you can use the cmake variable CMAKE_SHARED_LINKER_SUFFIX, which resolves to .so on linux.
As for your edit: As I understand, you plan to use string theory. I am sorry to say, metaSMT only supports Core, BitVector and Array theory.
I have not worked with string theory, so I do not know which solvers support it (well).

@finnhaedicke

I am sorry to say, metaSMT only supports Core, BitVector and Array theory.
:-(

I have not worked with string theory, so I do not know which solvers support it (well).
There is Z3-str which I am hoping to use in place of Z3. https://github.com/z3str/Z3-str
How hard is it to get started with support for basic string theory?

To implement a new language several steps are required:

Define tags for the variables, constants and operations in the theory, see tags directory.
Define the input language for the theory. See frontend directory. This is based in boost.proto and rather obscure at times.
Write Tests for the logic. Using each of the defined operations. Usually a set of simple satisfiable or unsatisfiable assertion.
Implement support for the new theory in one vor more backends.

I have found that CVC4 has documentation for their implementation. http://cvc4.cs.nyu.edu/wiki/Strings
Sorry for any typos, written on Android with auto-correction.

@finnhaedicke
Regarding string theory support,
Do we also need to change DirectSolver_Context.hpp to handle string tags? (I have not yet debugged its detailed purpose other than as a framework for underlying solvers)

Essentially, DirectSolver is only  a framework component, but  also does some pre-processing before the expressions are passed to the backend. It contains a cache of already evaluated variable 1, does the variable lookup for read_value 2 and does packaging of parameters for constants and operations that require special handling 3, 4.
We introduced DirectSolver as a customization point for intermediate representations. DirectSolver has none, but GraphSolver has an intermediate representation to identify identical sub-expressions.


Chore: updates

Description
Updated some GitHub actions and dependencies.
Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.


[Bug]: Operator $in and $nin do not exist.

What happened?
The documentation talks about $in and $nin operators here and here
However the validate_where function throws:
ValueError: Expected where operator to be one of $gt, $gte, $lt, $lte, $ne, $eq, got $nin
Browsing through the code I do not see $in and $nin mentioned anywhere.
Versions
Chroma v0.48, Python 3.11.3, Manjaro Linux
Relevant log output
Traceback (most recent call last):
  File "print_chroma.py", line 31, in <module>
    file = collection.get(
           ^^^^^^^^^^^^^^^
  File "lib/python3.11/site-packages/chromadb/api/models/Collection.py", line 125, in get
    where = validate_where(where) if where else None
            ^^^^^^^^^^^^^^^^^^^^^
  File "lib/python3.11/site-packages/chromadb/api/types.py", line 243, in validate_where
    raise ValueError(
ValueError: Expected where operator to be one of $gt, $gte, $lt, $lte, $ne, $eq, got $nin

Please upgrade to 0.4.9. Those operators were released in that version.

If I understand correctly 0.48 is the current „stable“ release, should the documentation not always feature that version? Is it possible to check the documentation of a specific version?

Unfortunately we don't have versioned documentation yet. We 100% want to do that.
0.4.9 is the latest stable release.

Does JavaScript version support the $in and $nin in where operators?
The current version is chromadb 1.5.9

@lanvige, PR for JS support is coming soon

chroma v1.8.1
Still running into this error:
  const vectorDocs = await vectorCollection.get({
      where: {
        knowledgeBaseId: {
          $in: knowledgeBaseIds, // array of strings
        },
      },
    });

Error:
{
  error: "ValueError('Expected where operator to be one of $gt, $gte, $lt, $lte, $ne, $eq, got $in')"
}

Am i querying it wrong?


ActiveModel 5.2 Support

This is based on the existing pull request #392, and includes a fix for the Travis-CI build errors against ActiveModel 4.0.
Alternatively, one could just drop support for 4.0.

@bmurray I added your changes to my pull request, which also fixes noisy logs in Ruby 2.5.  FYI.

Also covered by #397.


EDM-233: Allow agents to specify labels within enrollment requests

Adds optional fleet-selectors field to agent's config.yaml that will be automatically applied when the agent's enrollment request is approved.
CLI-provided fleet selectors are given priority over agent-provided fleet selectors

sorry i see you had this as wip :)

think it needs make generate


Migration of machine between ranges within the same globalinclusterippool

Hello IPAM provider community,
Is there any simple way of migrating machines from one range to another within the same globalinclusterapiVersion? And then releasing the original range?
Eg. we want to migrate machines from  <IP_ADDRESS>-<IP_ADDRESS> to <IP_ADDRESS>-<IP_ADDRESS>. After migration, we want to free up the formerly used range <IP_ADDRESS>-<IP_ADDRESS>.
Original object:
ipam.cluster.x-k8s.io/v1alpha2
kind: GlobalInClusterIPPool
metadata:
  name: cluster-nclusterippool
spec:
  addresses:
  - <IP_ADDRESS>-<IP_ADDRESS>
  gateway: <IP_ADDRESS>
  prefix: 23

I would expect adding another range:
ipam.cluster.x-k8s.io/v1alpha2
kind: GlobalInClusterIPPool
metadata:
  name: cluster-nclusterippool
spec:
  addresses:
  - <IP_ADDRESS>-<IP_ADDRESS>
  - <IP_ADDRESS>-<IP_ADDRESS>
  gateway: <IP_ADDRESS>
  prefix: 23

and then removing the original range:
ipam.cluster.x-k8s.io/v1alpha2
kind: GlobalInClusterIPPool
metadata:
  name: cluster-nclusterippool
spec:
  addresses:
   - <IP_ADDRESS>-<IP_ADDRESS>
  gateway: <IP_ADDRESS>
  prefix: 23

But that workflow is forbidden:
error: globalinclusterippools.ipam.cluster.x-k8s.io "cluster-inclusterippool" could not be patched: admission webhook "validation.globalinclusterippool.ipam.cluster.x-k8s.io" denied the request: pool addresses do not contain allocated addresses: [<IP_ADDRESS>-<IP_ADDRESS> <IP_ADDRESS>-<IP_ADDRESS>]
IP addresses are reserved. I understand. I would expect IPAM to inform ClusterAPI to roll out new machines with new IP addresses/claims using the newly added range. But it looks like the only possibility is to create a completely new globalinclusterippol object.

I think the easiest way would be to create a new Pool with your new desired range. Then create a new MachineTemplate and reference that new pool.
Will only work with non-overlapping ranges though, or would require to manually block the addresses that are in use, and cleaning them up later.


I can't get paq-nvim to work after following all the instructions.

Describe the bug

I can't get it to work. I installed neovim and followed the guide here. When I type :source % I get E499: Empty file name for '%' or '#', only works with ":p:h"

My init.lua:
require "paq" {
    "savq/paq-nvim", -- Let Paq manage itself

    "neovim/nvim-lspconfig",

    { "lervag/vimtex", opt = true }, -- Use braces when passing options

    { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' },
}

To Reproduce

Install neovim
Run git clone --depth=1 https://github.com/savq/paq-nvim.git \  "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/pack/paqs/start/paq-nvim
Create your init.lua, and populate it with the contents on the install page.
Open neovim and type source: %

Expected behavior
The paq manager should install plugins listed in the init.lua file.
Environment:

nvim --version: 0.6.1
git --version: 2.34.1
OS: Ubuntu in WSL2 running on Win10 Pro x64.

Any help greatly appreciated!

In ex commands, the character % is replaced with the name of the current file name (see :help cmdline-special).
The Usage section of the README assumes you have your init.lua open when running the command. It's probably a good idea to suggest :source $MYVIMRC instead, since it'll work regardless of the current file.
Also, the idea of running :source is reloading your config without closing nvim. If you open and close nvim, you don't have to run :source, since Paq will already be loaded.


A new, empty note is saved.

If you ask for a new note and then close it without making any changes, it still gets saved, it should be, as used to be that it was discarded.

Fixed in 0.28, thanks for the report.


Allow optional usage of hardware accelerated drawing methods

This seems like it might fall into the related category of #175, but that issue seemed to be focused on .clear() in particular.
Much in the way that traits provide default implementations of trait methods that can be overridden, it would be very helpful to provide a way to supply hardware-specific drawing methods for certain primitives (in particular: rectangles, circles, and lines) instead of using the default pixel-by-pixel iterator approach. The speed increase from using these methods can be very significant (see calculations below for a concrete example of that).
I have been looking at ways to hook in the HW-accelerated methods from the implementing library's side, but so far have not found an effective way to do so. I thought I could possibly distinguish certain primitives in the impl for draw() and invoke the HW method in those cases, but I can't find a way to determine the type of item at runtime (I suspect it is erased anyways).
Possible implementation strategy
I want to preference this by saying I am not tied to this implementation as the solution to the issue; I just want to put forth a first suggestion as a starting point for a conversation about the feature.
It seems like one way this could be done is by changing the core Drawing impl function from draw, which describes how to draw an entire drawable object, to just draw_pixel. It seems like most implementations of draw will be copy-pasting the iterator behavior, and the unique portion of each driver would be how it implements the actual painting of the pixel on the screen. This could provide the opportunity to add hooks into the Drawing trait to add accelerated drawing functions if they are supplied by the platform; something like
pub trait Drawing<C>
where
    C: PixelColor,
{

    /// Draw a pixel
    fn draw_pixel(&mut self, pixel: drawable::Pixel<C>);

    /// Draw an object from an iterator over its pixels
    /// and use a specific drawing method if available.
    fn draw<T>(&mut self, item: T)
    where
        T: IntoIterator<Item = drawable::Pixel<C>>
    {
        // TODO: pseudo-code below, adjust these trait bounds and determine
        // if there is a more-specific draw method we can use for the given item
        match item {
            Circle => self.draw_circle(),
            Rectangle => self.draw_rectangle(),
            _ => self.draw_generic()
        }
    };

    /// Draw an object from an iterator over its pixels
    fn draw_generic<T>(&mut self, item: T)
    where
        T: IntoIterator<Item = drawable::Pixel<C>>
    {
        for pixel in item {
            self.draw_pixel(pixel);
        }
    };

    /// Draw a circle. Override with possible HW-accelerated method
    fn draw_circle(&mut self, item: Circle) {
        self.draw_generic();
    };

    /// Draw a rectangle. Override with possible HW-accelerated method
    fn draw_rect(&mut self, item: Rectangle) {
        self.draw_generic();
    };
}

I am not familiar with all of the design decisions that went in to this library, so I apologize if this is an uninformed suggestion! And of course, if this is something that does not fit into the roadmap, I understand. However, if it does seem like a feature you would like added, I would be happy to work on it. It's pretty critical for my use case so I am motivated :)
Concrete use case motivation
Particularly for larger displays, drawing pixel-by-pixel quickly becomes a speed limiting factor. My concrete use case: I am working with a display that is 800x480, and drawing a rectangle to fill that screen pixel-by-pixel would take quite a large amount of time. Specifically, with an SPI baud rate of 3.2 MHz:
(800 * 480 pixels) * (13 SPI transfers per pixel) * (8 bits per transfer) / (3200000 bits per second) = 12.48 seconds

13 transfers per pixel seems like a lot, but unfortunately that is the interface exposed by the device. However, it also provides a hardware-accelerated method of drawing a rectangle requiring only 50 transfers.
(50 transfers) (8 bits per transfer) / (3200000 bits per second) = 0.125 milliseconds

Thanks for taking the time to write all this out. I agree that a way to leverage hardware drawing functionality is important, however there are some issues that come to mind. For example, the SSD1331 display only has hardware functionality for drawing lines and rectangles (see p. 32 in the linked datasheet), with no support for line/border thickness. Because there's such a range of displays out there, I think this functionality might be better left to the display driver itself. You could add methods to the driver's interface that take a Rectangle, Circle, etc and extract the appropriate properties for each primitive to send to the display.
For your use case specifically, two questions come to mind:

Why 13 transfers per pixel? That seems like a lot of over head for this particular display.
Can you tell the driver to only update a sub-area of the display? The SizedDrawing trait was supposed to help with this, but there are problems with it in its current form so it's being removed in #180. We'll add it back in when the design is better thought out, at which point it would reduce the data transfer required for non-full-screen updates. There's some discussion going on in #181.

Sorry for the delayed response on my end, it's been a busy week. Thanks for the prompt and thorough response!

Because there's such a range of displays out there, I think this functionality might be better left to the display driver itself.

I am still relatively new to Rust, so I might be missing something regarding ways to use this API. However, my understanding was that because the trait method for Drawing is draw(), the method that is directly used to render a Drawable, there was no way for an implementing library to detect primitives like Rectangle or Circle and invoke the appropriate driver-specific drawing function. In my attempts to implement this primitive detection, I was unable to distinguish the concrete type of item beyond IntoIterator<Item = drawable::Pixel<C>>, so I could not pick up on when drawing primitives were passed in.
    /// Draw an object from an iterator over its pixels
    fn draw<T>(&mut self, item: T)
    where
        T: IntoIterator<Item = drawable::Pixel<C>>
    {
        // TODO: is there a way to determine the concrete type of `item`?
    };

When you suggest adding primitive-specific methods to the driver's interface, do you mean creating methods directly for the specific device driver and outside of this API? While that would allow usage of these HW-accelerated functions, it seems like that also takes away a significant portion of the value of using an interface such as this. In particular, it would prevent switching out the display driver for a different embedded-graphics compatible driver since other drivers may not support the same accelerated methods, and it would also prevent using the simulator to test the display logic.

For example, the SSD1331 display only has hardware functionality for drawing lines and rectangles (see p. 32 in the linked datasheet), with no support for line/border thickness.

It seems like if the trait implementation method were draw_pixel, and other primitives like draw_circle or draw_rectangle had a default implementation of draw_generic, the current API behavior would be maintained. In that case, a display such as SSD1131 would not provide any alternative implementation for draw_circle or draw_rectangle, and such primitives would be rendered using the same iterator approach as is used now. However, if a display had acceleration functions, the driver could supply those as an optional trait implementation for draw_circle or draw_rectangle.
(I'm using the function names from that original snippet I posted above; also, I'm using draw_circle and draw_rectangle as examples of graphics primitives that could have HW support, but I'm sure all of the primitives defined in embedded_graphics::primitives could fall in that category)
Does this make sense? If it would help the conversation to put together a proof-of-concept, I would be happy to do that. Also, I realize my responses are getting a bit lengthy, so thank you for your patience in reading through all of this :)
Specific use case questions

Why 13 transfers per pixel? That seems like a lot of over head for this particular display.

That's a good question, I thought the same thing. Here's how those transfers break down:
writeReg: 2 transfers, one for register and one for data
writeCommand: 2 transfers, one for "COMMAND_MODE" and one for the command
SPI->transfer: 1 transfer, direct function call

// Draw pixel method for RA8875 display
  2        writeReg(RA8875_CURH0, x);
  2        writeReg(RA8875_CURH1, x >> 8);
  2        writeReg(RA8875_CURV0, y);
  2        writeReg(RA8875_CURV1, y >> 8);
  2        writeCommand(RA8875_MRWC);
  0        digitalWrite(_cs, LOW);
  1        SPI->transfer(RA8875_DATAWRITE);
  1        SPI->transfer(color >> 8);
  1        SPI->transfer(color);
  0        digitalWrite(_cs, HIGH);
------------------------------
  13

Can you tell the driver to only update a sub-area of the display?

I think so? I'm actually not sure on this one and would need to do some more digging to figure that one out. I think that by default, the RA8875 driver chip does partial display updates.

there was no way for an implementing library to detect primitives like Rectangle or Circle and invoke the appropriate driver-specific drawing function.

Correct, as far as I know. This is of course solved by the draw_*() methods taking a concrete type.

When you suggest adding primitive-specific methods to the driver's interface, do you mean creating methods directly for the specific device driver and outside of this API? ... In particular, it would prevent switching out the display driver for a different embedded-graphics compatible driver

That's a good point. I was originally against including these methods in e-g itself as it's more API surface to maintain, but tbh it's not much extra work. I'm definitely warming to the idea of adding e-g primitive drawing methods to Drawing (or DrawTarget in #175). Adding default impls certainly eases the boilerplate for driver implementers too, particularly when new primitive types are added (e.g. #77).

It seems like if the trait implementation method were draw_pixel, and other primitives like draw_circle or draw_rectangle had a default implementation of draw_generic, the current API behavior would be maintained.

Yes, default trait impls that defer to drawing bitmaps would probably work. It would also have to check the style of the object passed in if the hardware doesn't support e.g. circles with thick borders, but that shouldn't be hard to do if we factor this use case in with #162.

If it would help the conversation to put together a proof-of-concept, I would be happy to do that.

That would be great! Could you add these methods to your display driver to see what it looks like? There might be some edge cases we haven't covered. I'll see if I can find some time to experiment with the SSD1331 in the same way.

I realize my responses are getting a bit lengthy, so thank you for your patience in reading through all of this :)

No problem :). I'd rather have more info than "it dusnt werk" lol

Thanks for explaining the transfers. I've been looking through the datasheet and the Adafruit driver and it looks like you might be able to do chunked transfers of some description? I couldn't find any clarification in the datasheet, but that would mean the 8 transfers to set the pixel coordinates would have to be called far less. YMMV - I don't have a physical display to test on, but that might help your overhead troubles.

I'm going to soft-deprecate this issue in favour of #175. Let's continue the discussion there around adding more methods to DrawTarget, as I think hardware accelerated commands is a sub-feature of that. Let me know if you don't think that's a good idea.

@jamwaffles I think it makes sense to move the conversation to #175 . Feel free to deprecate this issue. Thanks for the response!

Closed by #187


Allow you to run the secret-fetcher as a script rather than a daemon

While you generally want to run the secret fetcher as a daemon so it will pick up any updates, there are some situations where you only want to run it once.  This PR adds a --mode argument to secret_fetcher.py that allows you to run it either as a "daemon" or a "script".  "daemon" is the default value and preserves the current behavior.  "script" will only fetch the secrets once and then exit.

💇♂


Bug issue with NextJS development: Looping trying to fix TypeScript configuration issue

Which API Provider are you using?
Anthropic
Which Model are you using?
Claude 3.5 Sonnet
What happened?
ClaudeDev is getting in a loop with TypeScript and Elints error.
Steps to reproduce

It get trigger as the app is getting built
It detects TypeScript error
It try to resolve the issue and keep looping back and get back to the starting point.
I believe it is not seeing the terminal.
VSCode on MacOS 15.0.1, it was working fine before 2.0 update

Relevant API REQUEST output
I attached the export

Additional context
cline_task_oct-10-2024_5-52-51-pm.md

It seems macos 15.0.1 has shell integration issues, closing as duplicate of https://github.com/clinebot/cline/issues/484


Disables transition on AvatarStack children that are added after initial render

Only applies transition property when disableExpand is not passed.
Closes https://github.com/primer/react/issues/3688
Screenshots
https://github.com/primer/react/assets/2313998/1fe6f903-3196-40d7-a331-2653b8301eb9
Merge checklist

[x] Added/updated tests
[n/a] Added/updated documentation
[x] Changes are SSR compatible
[x] Tested in Chrome
[ ] Tested in Firefox
[ ] Tested in Safari
[ ] Tested in Edge

Take a look at the What we look for in reviews section of the contributing guidelines for more information on how we review PRs.

If you want to test these changes locally, you can replace the DisableExpandOnHover story with this:
export const DisableExpandOnHover = () => {
  const srcArr = [
    'https://avatars.githubusercontent.com/primer',
    'https://avatars.githubusercontent.com/github',
    'https://avatars.githubusercontent.com/atom',
    'https://avatars.githubusercontent.com/desktop',
  ]
  const [avatarSrcs, setAvatarSrcs] = React.useState([])
  const addAvatar = () => {
    setAvatarSrcs([...avatarSrcs, srcArr[avatarSrcs.length % srcArr.length]])
  }
  const removeAvatar = () => {
    setAvatarSrcs(avatarSrcs.slice(0, avatarSrcs.length - 1))
  }

  return (

        <Button onClick={addAvatar}>Add avatar</Button>
        <Button onClick={removeAvatar}>Remove avatar</Button>

        <AvatarStack disableExpand>
          {avatarSrcs.map(src => (
            <Avatar alt="Some avatar" src={src} key={src} />
          ))}
        </AvatarStack>

  )
}


keymapp: Migrate to pkg/by-name, nixfmt-rfc-style and update 1.1.1 -> 1.2.1

Description of changes
Wanted initially just to update from 1.1.1 to 1.2.1 but took the chance to apply some housekeeping like reformatting and the pkgs/by-name migration.
For testing i did run keymapp, typed a bit on an attached keyboard (to check if heatmap feature etc are working) and re-flashed my latest firmware to a moonlander.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] 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

[ ] 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.11 Release Notes (or backporting 23.11 and 24.05 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.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/1016/153


Invalid WebP header detected

https://s1.ltjmeta.com/ch/b000rtnf9.webp

that is not webp file.
$ file b000rtnf9.webp
b000rtnf9.webp: PNG image data, 500 x 755, 8-bit/color RGB, non-interlaced

Thanks :)


Setup hook not getting query params present in URL

setup({queryParams}) hook only gets the default values not those set in the current URL. Is there another hook that I'm not aware of?
If I do my fetchData from the setup method, its ignoring values in the URL on page load.

After some investigation this seems to happen when I have a nested route that uses the conventional model(). The query params present in the URL are only passed in to my controller after the nested model has loaded. Is there a hook for when the current URL query params finally appear in the controller?


just scrolling LEDs

On Nexys-A7, if the MODE jumper is set to JTAG:
Programming the board with openocd -f litex-boards/litex_boards/prog/openocd_xc7_ft2232.cfg -c 'transport select jtag; init; pld load 0  linux-on-litex-rocket/nexys4ddr.bit ; exit' just results in the board scrolling its LEDs without booting anything.
Is there anything else to set?

You're talking about the "programming mode" jumper (#9 in the linked
image: https://reference.digilentinc.com/_media/reference/programmable-logic/nexys-a7/nexys-a7-callout.png
The other potentially relevant jumper is "external configuration
(SD/USB)" (#23 in the image above). That one should be set to "USB".
On Tue, Jan 12, 2021 at 07:39:54AM -0800, David Monniaux wrote:

On Nexys-A7, if the MODE jumper is set to JTAG:
Programming the board with openocd -f litex-boards/litex_boards/prog/
openocd_xc7_ft2232.cfg -c 'transport select jtag; init; pld load 0
linux-on-litex-rocket/nexys4ddr.bit ; exit' just results in the board scrolling
its LEDs without booting anything.
Is there anything else to set?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.*

You're talking about the "programming mode" jumper (#9 in the linked
image: https://reference.digilentinc.com/_media/reference/programmable-logic/nexys-a7/nexys-a7-callout.png
The other potentially relevant jumper is "external configuration
(SD/USB)" (#23 in the image above). That one should be set to "USB".
On Tue, Jan 12, 2021 at 07:39:54AM -0800, David Monniaux wrote:

On Nexys-A7, if the MODE jumper is set to JTAG:
Programming the board with openocd -f litex-boards/litex_boards/prog/
openocd_xc7_ft2232.cfg -c 'transport select jtag; init; pld load 0
linux-on-litex-rocket/nexys4ddr.bit ; exit' just results in the board scrolling
its LEDs without booting anything.
Is there anything else to set?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.*

@monniaux: Any luck? I only have the "classic" nexys4ddr board, but word on the street is that the nexys-a7 should be compatible. Not sure if we're tickling any small-but-relevant differences between the two versions of the board, but it would be nice to know if that's the case...

@monniaux: Any luck? I only have the "classic" nexys4ddr board, but word on the street is that the nexys-a7 should be compatible. Not sure if we're tickling any small-but-relevant differences between the two versions of the board, but it would be nice to know if that's the case...

Setting switches: MODE: USB/SD, JP2: USB, SW1: 1, the system boots. Thank you. I am going to run some tests !

Setting switches: MODE: USB/SD, JP2: USB, SW1: 1, the system boots. Thank you. I am going to run some tests !


SctpMessageCompletionHandler may leak ByteBuf for fragmented messages.

Motivation:
SctpMessageCompletionHandler stores fragments in a Map but not release the stored ByteBuf when the handler is removed.
Modifications:
Release all buffers that are still in the Map when handlerRemoved(...) is called.
Result:
No more leaks for fragemented messages.

Will add a test soon.

Thanks for creating the request, Norman. By the way, I have another questions about the patch.

If above patch is included in Netty v4.1.23.Final, when does it release?
I think that I found out the root cause to trigger the memory leak. It is triggered by the continuous accepting and dropping of SCTP connections to my application (My application is acted as server). After viewing the GC log of my application, I found that the heap usage of my application is quite flat at the start of my application. After a certain period of time, the heap usage would be gradually increased until the direct buffer memory is exhausted. Why the heap usage is not gradually increased at the start of my application?

p.s. The accepting and dropping of SCTP connections are occurred continuously at the start of my application.
Heap Usage Diagram


Investigate docker/compose

I'll take a look at this

I was able to docker-compose up and hit 8080, sometimes the webpack build takes long.  need some steps to reproduce/more details on errors


Feature request : move background with change in step

Can we zoom in/Zoom out the background image along with scaling in/scaling out of steps.
eg.

First image is intro page of presentation. And second image is next slide in same presentation.

But if you observe the the backgroung of the slide, it has been zoomed in/out as well.
Can we do that?
I am not sure if this is already available or there is a workaround available. If there is one, please let me know.

This is currently not possible.
'Slides' in impress.js are 'floating' positioned in 3D space so there is no easy way to create a background that will move and scale together with slides.
I haven't tried that but some workaround may be to create a one big slide with the background (for example the first one or last one) and place all the other slides as small on top of this background slide.
In such case this 'background' slide will be also positioned in 3D with other slides and should zoom and move when slides are changed.
But I can't promise if this would really work and look good - you may get some graphic glitches or pixelated background when it's scaled to be big.

I'll try the workaround.
And THANK YOU for the impressive impress.js

In my case I don't want to zoom in on specific details in the Background I just want the Background to kind of align with the zoom level of the viewport / camera. Is there a way to get the current zoom level of the camera?
Then I could just set the background size to some factor times the zoom level.

@blauertee
Purely off the top of my head, without testing: Get the id of the current step from the location.hash, then read its scale attribute.
var id = window.location.hash
var step = document.getElementById(id)
var scale = step.dataset.scale


Getting lot less events

I have been using facebook-events-by-location for some months (3 months) and since day 9-March-2017 the number of events that come through the serviced as dropped by 10 times.
Before I get around 60-40 events for 1 week almost everywhere in the world.
Now I only get 1-10 events, even in big cities around the world.
Is there any issue with the server or Facebook changed the algorithm?
Greetings.

I didn't change anything, so it must be FB itself. Did you check the FB changelog?

Hi, Facebook Graph API doesn't says nothing about this.
Do you also get this behavior?
I'm getting none to few events since then. Previously I got 10-30-60 events easy.
Is Facebook killing the events search be graph API?
Greetings.

It seems  that Facebook search requests don't have the pagination section anymore. I didn't find anything about it on the API changelog.

Hi, are you also having issues using this?
Now it's giving a lot less events and I didn't find why is it happening.
Regarding to pagination, I don't use pagination when calling the server.
Greetings.

I use this tool too, and at this moment, I get lot less events too. For me it's a big problem because this tool here help me a lot to maintain my website "populated" with local/my city events. Now, my idea is search places and pages that generate events in my city and then use AJAX to get the events with https://graph.facebook.com/PAGE_ID/events (but it's not the best solution of course).

The changelog contains nothing regarding this: https://developers.facebook.com/docs/apps/changelog That mustn't mean that FB didn't actually change something. Please keep in mind that this project is a workaround for functionality FB deprecated long ago, so there's no guarantee that this will work forever.
Also, the method it uses is outlined at https://github.com/tobilg/facebook-events-by-location#basics which is actually what @plusownented suggested.

Maybe FB does this cause of it's own "Events" application !

Facebook has started to return paged results when using "/search?type=place" and is giving exactly 100 places per page. Read how this works here: https://developers.facebook.com/docs/graph-api/using-graph-api

@BigFoppa oh that's why wherever i search there is this result ?
"metadata":{"venues":100,"venuesWithEvents":9,"events":139}}
@tobilg are you planing on updating the core to get more venues (aka pages) ?

PRs are very welcome @kwstasna @BigFoppa... I don't think that I can do this in short term.
Also, please keep in mind that this will lead to a significantly higher complexity and runtime of the queries, if we have to iterate over the pages results...

@tobilg I can't see any other solution about this issue. Since we get only 100 venues.

Maybe... But this will lead to the case that one query could lead to response times from several seconds. So you need to make sure to cache the results locally.

Before FB paginate the places in 100 results, the limit was 1000 ?

yes @kwstasna

I am on a vacation with my family and I am not used to PRs on github (I know I am an oldie, I will have to learn :-) Anyway this recursive function is my solution:
function pageGet(url) {
var results;
var temp;
function testGet(first, url, after) {
  var tempurl;
  if (after !== "") {
    tempurl = url + "&after=" + after;
  } else {
    tempurl = url;
  }
  return rp.get(tempurl).then(function success(responseBody) {
    temp = JSON.parse(responseBody);
    if (first) {
      results = temp;
    } else {
      temp.data.forEach(function (item, index, arr) {
        results.data.push(item);
      })
    }
    if (temp.paging && temp.paging.cursors && temp.paging.cursors.after) {
      return testGet(false, url, temp.paging.cursors.after);
    } else {
      return results;
    }
  })
};
return testGet(true, url, "");

};
In the file eventSearch.js on line 134 replace this line;
rp.get(placeUrl).then(function(responseBody) {
with
pageGet(placeUrl).then(function(responseBody) {
Note that JSON.parse is already done on responseBody, so line 138 needs to be changed to:
data = responseBody.data;
@tobilg I hope you have use for my solution.
If you are interested in what I am doing with this have a look at eventmap4u.com.
/Big

@tobilg i confirm that the approach of @BigFoppa works like a charm and with a slight delay than before. But i get more than 700 venues and almost 500 events in New York.. Very nice!

@kwstasna glad to help. /Big

@kwstasna and @BigFoppa thanks a lot for your help with the code and the testing. I just published 0.6.0 on npm, including the upstream changes.
Please check it out and let me know it this works better now.

Hi @tobilg, @kwstasna , @BigFoppa  I can confirm that this new update works as expected 👍

Hi @tobilg @kwstasna @BigFoppa  again,
I'm getting again less events than the usual for some weeks from now.
Anyone has any idea why?
Version 2.10 was released but I didn't saw any changes, nad change the endpoint to V2.10 also don't change the number of events requested.
Greetings.

i think @vrgomes is right about it.Events in New York are almost 208. Which is not normal.

@vrgomes @kwstasna So if you're using the raw calls to the FB Graph API, the numbers are equally low? I'm also not aware of any official changes, but history shows that this must not mean that there aren't any...

I checked today, and for the sample URL http://localhost:3000/events?lat=40.710803&lng=-73.964040&distance=100&sort=venue&accessToken= I see the following:
{"venues":179,"venuesWithEvents":4,"events":36}

which seems reasonable. @vrgomes and @kwstasna, do you have some samples which actually show less events?

Hi @tobilg
I tested on this:
http://localhost:3000/events?lat=40.2033145&lng=-8.410257300000012&distance=12000&sort=time&accessToken=&since=1503356400&until=1504047600
When I place the since - until (1 week from now) I get 26 events, but some are duplicated. After removing the duplicated results I get 17-18 events. In the past I usually got 60-80 in 1 week time period.
In this case:
http://localhost:3000/events?lat=38.7222524&lng=-9.139336599999979&distance=12000&sort=time&accessToken=&since=1503356400&until=1504047600
I also usually got 100+ events, but now is giving significantly less numbers.
That's why I think that there is something not working quite right. This search should give a much higher number of Venues, and venues with events.
Greetings.

In new york
http://localhost/events?lat=40.730610&lng=-73.935242&distance=9000&sort=venue&accessToken=
{"venues":698,"venuesWithEvents":35,"events":203}}
I don't think that this is normal !
normally i get more than 400

Not good news! Facebook have been doing stuff to limit the search api for places.
They are giving less places per search now.
You get more places with an user-access-token than an app-access-token. But only in places where you have been (Facebook magic!) otherwise it’s pretty much the same.
The search has a new (or lower) custom rate limit on number of calls that locks  the access-token for a number of hours. And each page in the paged result counts as a call.  I think the limit is 100 calls per 600 sec (10 min).
I notice that you guys use very large distances. That will not give you more results.
Try with smaller distance. In a city area you miss a lot of places going over 300-500 meters. But if you do a lot of small searches then you will be rate limited (error 613).
//Big

Thanks @BigFoppa for the update... Is this documented somewhere? Sad that FB continues to artificially cripple it's API.

Just a thought, isn't it possible to keep the request from the browser like it is, but on the server-side make 3 requests to facebook-API. A triangle around the given point so that each one of this requests cover a piece of the territory. In the end after receiving all the requests, just need to clear the duplicates using the ID of the Event.
If each of the request made in a new thread it shouldn't impact the performance and it should improve again the searching to normal.
Greetings.

@tobilg As usual nothing is in the changelog about changes to the search endpoint.
However, found some bug reports here that are interesting. There are some accepted bugs around search. Distance being ignored is something I can also see now.
https://developers.facebook.com/bugs/?tag_ids=236352339738642
Lets hope this problem goes away as with some other previous problems.
//Big


[SPARK-43758][BUILD][FOLLOWUP][3.4] Update Hadoop 2 dependency manifest

What changes were proposed in this pull request?
This Is a follow-up of https://github.com/apache/spark/pull/41285.
Why are the changes needed?
When merging to branch-3.4, hadoop-2 dependency manifest is missed.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass the CIs.

Could you review this, @sunchao and @viirya !

Could you review this, @HyukjinKwon and @wangyum ?

Thank you so much, @wangyum .

I verified this manually. Merged to branch-3.4.
$ dev/test-dependencies.sh --replace-manifest

lgtm

Thank you!


Add basic support for Server Sent Events.

Proposed fix for #593
Adds a ToResponse to create to hook into the asyncBodyResponse
Adds an example of SSE
Adds a section to the cookbook about SSE
Two things to call out:

This support is very bare-bones and makes it the responsibility of the user to provide properly formatted events
The EventSource Standards advises against using chunked requests, but asyncResponseBuilder does use chunked requests. When I tried implementing my own version of asyncResponseBuilder that didn't use chunking the writer would not write any data into the event. Not sure if it just isn't possible or if there was some method on the writer that I missed that would get it to write.

Current coverage is 72.72% (diff: 0.00%)

Merging #655 into master will decrease coverage by 1.69%

@@             master       #655   diff @@
==========================================
  Files            28         29     +1
  Lines           559        572    +13
  Methods         542        550     +8
  Messages          0          0
  Branches         17         22     +5
==========================================
  Hits            416        416
- Misses          143        156    +13
  Partials          0          0

Powered by Codecov. Last update b446511...3572c6a

Hmmm, looks like I forgot to exclude the new example from coverage. Let me fix that.

Thanks @rpless!

I guess it's always a user responsibility to provide domain types and their encoders for SSE. Not sure if there is anything we can do to make it simpler.

Not sure I follow, if you don't need streaming, why using AsyncStream in the first place?

Actually, looking at Akka's implementation, there is a protocol we can follow, right?
Maybe we should build protocol types (eg: messages) as part of a separate package (i.e., finch-sse)?
I'm not super familiar with SSE and I guess I have to spend some time trying figure out what exactly it is. But it feels we can do more here.

I'm always hesitant to just create new sub projects when there is no initial indication that we need one, but if you think that's the way to go, it should be fairly easy to do given that there is a BNF for messages. I'm fine with moving this PR toward that.
To clarify my first comment, the potential issue is Chunking the Request. The spec I linked to says: Authors are also cautioned that HTTP chunking can have unexpected negative effects on the reliability of this protocol....

Thanks @rpless! I think I get it now.
Given that SSE are about polling and sending "push notifications" to the subscribed client (a browser), there is no way we can achieve that w/o streaming in Finagle. Normally (eg: if we would have a fine-grained control over the HTTP connection), we can keep the connection alive and shove our events there until there is something to send.
Akka's SSE implementation uses something called closed-delimited streaming that indicates the end of the stream by closing the connection. Technically, this is exactly what we want.
In Finagle, there is no notion of connection exposed to the end-user and the whole RPC story is encoded in Req => Future[Rep]. Because of that limitation, the only way we can achieve something similar is to use chunked responses (AsyncStream in Finch). I understand that the authours of the SSE spec do not recommend that, but this is the only option we have and after searching the web yesterday I didn't manage to find any prove that chunked-responses don't work well with SSE. In fact, most of the server-side implementation utilise them.
So I think our initial idea about using AsyncStream is right. Although I still think we deserves its own package given that we'd need to provide a data-type for SSE (i.e., ServerSentEvent). I can imagine this to be a case class that also supports an arbitrary data field for which there is an Encode method available.
What do you think @rpless?

That all makes sense to me. Its been awhile since I've used SSE and when I saw that note in the spec, I figured I'd call it out.
I'll start working on making a finch-sse package with a data type for Server Sent Events.

Here is an example of the data type from http4s. I just talked to @bryce-anderson to confirm that http4s also uses chunked responses for that.

Not sure why that failed on Travis. The same commit passes on my fork's travis setup: https://travis-ci.org/rpless/finch/builds/170636276

Thanks for the feedback @vkostyukov!
I have a couple answers:

I agree. I've used JSON in SSE before and I've seen plenty of other people do it too, so I suspect there is a strong case for having support for that. I have a couple of thoughts on how to achieve that, they'd I'd like to play with.
I agree. It is leftover from before we decided to provide the case class and other helpers. My current think is that we actually drop the example and either clean up the snippet in the cookbook or put something in the Endpoint docs about it.
To clarify to, do you want this in its own sub-project that ships a separate artifact and needs to be included as a separate dependency or just have it in a separate package in core.

Thanks @rpless! Sorry for the confusion around package vs. project! I meant finch-sse project that only depends on finch-core. But again, if that means we can not provide default instances for Encode (both Show and Exception), I'm happy to drop this idea and make SEE a part of finagle-core.

Ok cool. I'll try to make a another project. If for whatever reason it does not work, I'll let you know and go back to the package in core.

@rpless, how are things going with SSEs? Is there anything I can help with?

Hi @vkostyukov. I haven't had as much time to spend on this as I'd like. I've pushed up my latest work.
It does the following:

backs out both the cookbook example and the examples file. (here's one I've been using for testing with a browser though: https://gist.github.com/rpless/77d995c3f41c59c3d58094f7880bdb70)
Creates a finch sse project

The only thing I haven't moved is the ToResponse instance for EventStream. I was having issues when I moved it into the sse project. I think it was either an implicit resolution issue or an issue with Buf not flushing but I haven't yet tracked it down.
My plan for encoding JSON in the payload also didn't work, but that may be due to the previous issue. The gist is that you can implicitly pull in one of the the Json encoders and use that with ServerSentEvent.encodeEvent.
I should have some time to work on this tonight and I'm hoping to get some docs in and move the ToResponse instance.

I just figured out the build issue, looks like I started by fork before 9a73f73737bf1af0cd519f7cc6c5b26fb3a3fa08, which changes where newLine is defined. I'll pull in the latest to fix it.

Thanks @rpless! Let's not block ourselves on JSON support yet.
I think there is a path forward with the current solution. One way to do JSON is to provide Show[Json] (Circe does that out of the box). I think it's totally fine solution for now.

Thanks @rpless! I going to go ahead and merge this in. I'd like us to rethink the encoding-exception behaviour, but let's do that separate.


Hairline glitch with list-group and swipeout

Framework7 version: 3.0.7
Platform and Target: MD theme

Describe the bug
List group with swipeout actions has small hairline glitch.
Expected behavior
Single gray line
Actual Behavior
It looks like two 0.12% gray lines are drawn on top of each other.
Screenshots

Screenshot if made in Firefox 61, but I see the same on my mobile in Opera browser.


Looking for schema_migrations column in schema_migrations table and blowing up

Hi,
I ran:
neo4apis activerecord all_models --import-all-associations

and got the following error:
/Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:305:in `query': Mysql2::Error: Unknown column 'schema_migrations.' in 'order clause': SELECT  `schema_migrations`.* FROM `schema_migrations`  ORDER BY `schema_migrations`.`` ASC LIMIT 1000 (ActiveRecord::StatementInvalid)
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:305:in `block in execute'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/connection_adapters/abstract_adapter.rb:472:in `block in log'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activesupport-<IP_ADDRESS>/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/connection_adapters/abstract_adapter.rb:466:in `log'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:305:in `execute'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/connection_adapters/mysql2_adapter.rb:231:in `execute'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/connection_adapters/mysql2_adapter.rb:235:in `exec_query'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/connection_adapters/abstract/database_statements.rb:355:in `select'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/connection_adapters/abstract/database_statements.rb:32:in `select_all'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/connection_adapters/abstract/query_cache.rb:70:in `select_all'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/querying.rb:39:in `find_by_sql'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/relation.rb:639:in `exec_queries'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/relation.rb:515:in `load'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/relation.rb:243:in `to_a'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/relation/batches.rb:117:in `find_in_batches'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/relation/batches.rb:50:in `find_each'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/neo4apis-activerecord-0.9.1/lib/neo4apis/cli/activerecord.rb:82:in `block (2 levels) in import_models_or_tables'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/neo4apis-activerecord-0.9.1/lib/neo4apis/cli/activerecord.rb:75:in `each'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/neo4apis-activerecord-0.9.1/lib/neo4apis/cli/activerecord.rb:75:in `block in import_models_or_tables'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/neo4apis-0.9.0/lib/neo4apis/base.rb:54:in `batch'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/neo4apis-activerecord-0.9.1/lib/neo4apis/cli/activerecord.rb:74:in `import_models_or_tables'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/neo4apis-activerecord-0.9.1/lib/neo4apis/cli/activerecord.rb:54:in `all_models'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/thor-0.19.1/lib/thor/invocation.rb:115:in `invoke'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/thor-0.19.1/lib/thor.rb:235:in `block in subcommand'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/gems/neo4apis-0.9.0/bin/neo4apis:15:in `<top (required)>'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/bin/neo4apis:23:in `load'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/bin/neo4apis:23:in `<main>'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `eval'
	from /Users/scottspeidel/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `<main>'

Hi, sorry for the delay!
That's a somewhat odd error for the all_models command.  That uses ActiveRecord::Base.descendants to get a list of the models in your app.  Do you have a model for the schema_migrations table for some reason?
The all_tables command uses ActiveRecord::Base.connection.tables, so I can imagine that picking up the schema_migrations table


Validate and transform multi-values

Fixes #332 (transform should write a multidoc input to multidoc file) and #333 (validate needs to treat all files that could contain multiple values as having multiple values, and validate all of those values).

The funny state machine in generate.ts could probably be better expressed ..

I'm going to merge this on the basis that it doesn't change any existing tests.


Fix Mobile Styles For Checkout Workflow

Going through the flow, I saw plenty of non-ideal styling for mobile/tablet screen sizes.

added to cu-giving tests.


[BUG] Release workflow is missing 2PR approval process

Describe the bug
Adding this issue as bug because the current 1-click process in this repository lacks this feature. See details here https://github.com/opensearch-project/opensearch-build/issues/3111
Sample PR: https://github.com/opensearch-project/opensearch-java/pull/383
To Reproduce
Push a tag to this repo and release is drafted immediately. It should ask for approval before moving forward
Expected behavior
The release-drafter workflow should be blocked asking for approval from 2 maintainers/codewoners to approve the release.

With 1-click release process any component within opensearch organization is free to release anytime they want. All they need to do is push a tag

Not sure if i understood exactly, is it any component or any client (not a plugin)? Component onboarding mentions instructions for plugins and the 1-click release process, but i thought currently plugins cannot release anytime they want?

We say component because apart from clients we have other components like data-prepper, etc. Plugins are released along with opensearch and dashboards distribution so this process does not apply to them specifically yet!


change: use github emails endpoint

In order to get the user emails, you must use an additional endpoint https://api.github.com/user/emails and user:email scope.

@sergiodxa

@sergiodxa

Hey @sergiodxa, sorry for the extra message. I'd love to do any extra work for the PR, just let me know if something is missing.

Hi, sorry for the delay replying, I have a question, what happens if I change the scope to don't include user:email? Will this new request fail in that case? Because it would be useful to detect that and don't do the extra request if the scope is not added.

Thanks for taking the time to respond.
The request will fail, I can try adding your requested logic

Done, ready to review @sergiodxa


implements lists restore handlers

adds lists restore handler to:

create list
create list items
delete list

Does this PR need a docs update or release note?

[x] :no_entry: No

Type of change

[x] :sunflower: Feature

Issue(s)
#4754
Test Plan

[x] :muscle: Manual
[x] :zap: Unit test
[x] :green_heart: E2E

closing this PR as this has been bifurcated to smaller PRs:

https://github.com/alcionai/corso/pull/4854
https://github.com/alcionai/corso/pull/4855


⚠ 한경주요지수-코스피200 has degraded performance

In 5e7c389, 한경주요지수-코스피200 (https://markets.hankyung.com/indices/kospi200) experienced degraded performance:

HTTP code: 200
Response time: 7410 ms

Resolved: 한경주요지수-코스피200 performance has improved in e741a43.


Black Screen issue

I have build and run the project successfully. But its showing black screen and there is no camera or anything that reflects document scanner. Is this library uncompleted? I have a doubt on it.
App.js code
/**

Sample React Native App
https://github.com/facebook/react-native

@format
@flow
@lint-ignore-every XPLATJSCOPYRIGHT1
*/

import React, {Component} from 'react';
import {PermissionsAndroid, Platform, StyleSheet, Text, View} from 'react-native';
import  DocumentScanner  from  'react-native-documentscanner-android';
import Camera from 'react-native-camera';
const width = '100%';
const height = '100%';
export default class App extends Component {
componentDidMount() {
    async function requestCameraPermission() {
        console.log("requestCameraPermission")
        try {
            const granted = await PermissionsAndroid.request(
                PermissionsAndroid.PERMISSIONS.CAMERA,
                {
                    'title': 'Cool Photo App Camera Permission',
                    'message': 'Cool Photo App needs access to your camera ' +
                    'so you can take awesome pictures.'
                }
            )
            if (granted === PermissionsAndroid.RESULTS.GRANTED) {
                console.log("You can STORE the camera")
            } else {
                console.log("storage permission denied")
            }
        }catch(e){
            console.log(e)
        }
        try {
            const granted = await PermissionsAndroid.request(
                PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE,
                {
                    'title': 'Cool Photo App Camera Permission',
                    'message': 'Cool Photo App needs access to your camera ' +
                    'so you can take awesome pictures.'
                }
            )
            if (granted === PermissionsAndroid.RESULTS.GRANTED) {
                console.log("You can write storage")
            } else {
                console.log("storage permission denied")
            }
        }catch(e){
            console.log(e)
        }
    }
    requestCameraPermission();
}

render() {
return (

<DocumentScanner
style={{ width: width, height: height, backgroundColor: '#fff' }}
onPictureTaken={data  =>{
console.log(data.path)
}}
enableTorch={false}
detectionCountBeforeCapture={5}
/>

);

}
}
const styles = StyleSheet.create({
container: {
flex: 1,
width: '100%',
height: '100%',
backgroundColor: '#fff'
}
});

Have you tried to pass flex: 1 to style component ?
<DocumentScanner
style={{
   flex: 1, <------- Try it
   width: width,
   height: height,
   backgroundColor: '#fff'
 }}
onPictureTaken={data =>{
console.log(data.path)
}}
enableTorch={false}
detectionCountBeforeCapture={5}
/>

@andreluisjunqueira I have made it working cheers to this library.

@SwagatRanjit84 Can you tell us how it works cause i have black screen

@SwagatRanjit84 How did you get this to work?

@MahmoudElmoghazy  @AGollapalli  It worked on react native version 0.57.8, after adding
implementation 'com.android.support:support-v4:27.1.1' implementation 'com.android.support:appcompat-v7:27.0.2' implementation 'com.android.support:design:27.1.0'
in android/app/build.gradle.

@SwagatRanjit84 Not working can you give us more info please

This working for me
"react": "^16.8.1", "react-native": "^0.58.4", "react-native-documentscanner-android": "git+https://github.com/thongdn/react-native-documentscanner-android.git#develop",


Wrap adds a new line to strings containing ANSI codes

When using the Wrap function as part of the ANSI package, strings containing ANSI codes that have a printable width equal to the wrap value have a new line appended.
Following code demonstrates this issue:
package main

import (
    "fmt"

    "github.com/charmbracelet/lipgloss"
    "github.com/charmbracelet/x/exp/term/ansi"
)

func main() {
    str := "1"
    red := lipgloss.Color("9")

    style1 := lipgloss.NewStyle().
        Foreground(red).
        Render(str)

    style2 := lipgloss.NewStyle().
        Width(1).
        Render(style1)

    fmt.Println("Lipgloss")
    fmt.Printf("Before Width: '%v'\n", style1)
    fmt.Printf("After Width : '%v'\n", style2)
    fmt.Println()

    fmt.Println("ANSI")
    fmt.Printf("ASCII Width : '%v'\n", ansi.Wrap(str, 1, ""))
    fmt.Printf("ANSI Width  : '%v'\n", ansi.Wrap(style1, 1, ""))
}

This is a causing a regression in Lip Gloss when using the style Width function to force a string to a specific width.
As the only test function that calls Wrap is TestSmartWrap, this test case can be added to check for this problem.
{
	name:     "exact",
	input:    "\x1b[91mfoo\x1b[0",
	expected: "\x1b[91mfoo\x1b[0",
	width:    3,
},

This test case can be made to pass changing the following line:
https://github.com/charmbracelet/x/blob/62a6965a9fadda46e017a917ec4ded35e97e5c63/exp/term/ansi/wrap.go#L355
To:
} else if curWidth+wordLen > limit {

However this causes other tests to fail, so there is some other edge cases to consider.
@aymanbagabas Let me know if there is anything else I need to provide to debug this issue further.

Figured this one out but have no idea how to fix it.
By the time we get to the 3rd and last printed character, we have moved i to a value of 7. However, the final position i will get to is 10.
The logic that matters:
if i < len(b)-1 {
        addNewline()
}

The remaining 3 characters are <ESC>[0. These 3 characters reset the ANSI sequence. So nothing actually happens, but it is too late, we have already added the new line.
How do we detect there are no more printable characters before we add the new line?

Delay this new line UNTIL we know another character needs to be printed.
Strip lines that have a new line with nothing on them. We don't want to return foo\n\n.

We really appreciate you looking into this, @mikelorant. If this is causing a regression in Lip Gloss (currently master) perhaps we should revert https://github.com/charmbracelet/lipgloss/pull/268 until this is sorted.

Might be better off to delay promoting the master branch of Lip Gloss to a release. This gives @aymanbagabas some time to investigate this without rolling back his work. I think if we can come up with an approach on how to handle this edge case that the implementation won't be too difficult.

Be aware that this really needs to be done in parallel with Bubbles as it is so dependent on Lip Gloss. I've done some auditing and there are even parts of Bubbles that assume all strings can be handled as runes. These needed to brought into using the new methods provided by term.

@mikelorant thanks for reporting this. PR #59 includes a fix for this along with handling more edge cases. Let me know if you find any other bugs.

@aymanbagabas I was still trying to come up with ideas on how to tackle it, and you've got a fix! Amazing work. 👏

Making a note that this is confirmed fixed.


strategic merge patch does not work add node labels

i want add a labels to my node, so i use coreV1.Nodes().Patch() with StrategicMergePatchType, but the result is not change, no add the test:test labels
this is my code
payload := PatchStringValue{
                 Op: "merge",
		Path:  "/metadata/labels",
		Value: map[string]string{"test":"test"},
}
payloadBytes, _ := json.Marshal(payload)
newNode, err := coreV1.Nodes().Patch(nodeName, types.StrategicMergePatchType, payloadBytes)

add or update node labels can't use StrategicMergePatchType ？

an array of op/path patches is type JSONPatch
strategic merge patch format is {"metadata":{…}}

an array of op/path patches is type JSONPatch
strategic merge patch format is {"metadata":{…}}

ths, use your method i have apply success


Running eval out of order results in a perma-hang

If you have the muscle memory / history you may skip the carina credentials cluster call and jump to the eval which results in a forever hang:
[ jesse@pug ] ~$> carina create --wait cluster
ClusterName         Flavor              Segments            AutoScale           Status
cluster         container1-4G       1                   false               active
[ jesse@pug ] ~$> eval $(carina env cluster)

At this point it hangs and you have to control-c

I've hit this a few times too but never realized it was because I scorn the carina credentials command. :smile:

Env should be loading the credentials when not loaded which will hang to download.

Not forever which is what it did 😨

Definitely not a window resize event.

I believe this has been fixed in the v2.0. Please re-open if it comes up again.


Problem about weeklist

Is the weekList's element already sorted or not?

another problem:are the two CourseSectionClass from the same coursesection has the same weeklist?

Is the weekList's element already sorted or not?

You may assume it is sorted.

are the two CourseSectionClass from the same coursesection has the same weeklist

It may have different weeklist.


Progress For Blazor File Upload

Fixes #23717
Internal Review Topic (links to section)
When I first dropped in the example code provided by the reader on the PU issue, the runtime wasn't too pleased with it tossing a nasty 💥 offset/length/byte count bug 😈.
I went over to our FileStream API docs, and I found a different approach that ✨ Just Works!™ ✨ almost OOB with a minor change to read the stream asynchronously. Therefore, I base this on that approach.
Let's just go Blazor Server with this ... for now. I'm still 🏃⛰⛏😅 on quite a few issues. The hosted WASM approach is more involved but will still use a similar approach on the server side for what  we're showing here. I'll refer any reader asks to the Blazor Server example for the time being. Later, I may flesh out an explicit hosted WASM example.
Please validate the truth of ...

Reading a stream synchronously with <xref:System.IO.FileStream.Read%2A> isn't supported in Razor components.

Is that correct? ... or what mod do we need to make to clarify the restriction on reading streams synchronously?
Also ... ❓ ... Do you want to call out any 😈 sneaky gremlin gotchas 😈 for what we're adding with this example?

@TanayParikh

I think it may be better to limit this to a small buffer (ex. 30kb), and then write the buffer to the filestream in the while loop before requesting the next chunk.

... which seems to put it back to what was discussed on the PU issue. BUT ... I'm back to my error trying to grok it based on the discussion. I put the latest version of that approach on the PR (last commit). The error is ...

Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection. (Parameter 'count')

... so I end up with a 0 KB empty file saved.

Oh ... oooops! .... brb ... I made one little mistake on that last commit. Stand-by ............

OH! ... OK ... My last update seems to have fixed it.
Try it now and see :eyes:.


Erlang Echo Program: echo.erl

Pull Request Type
What kind of change does this PR introduce?
[ ] Solved an issue/task
added echo.erl

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out our forkcommitmerge.io website repository. The repository contain real issues that you can help to resolve or create some of your own if you see any bugs or want to add new features to the site, etc. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


No topic offset fetch happened?

I get it built and running, and it connects to my brokers (running 0.10) and produces broker count and ids when I visit /metrics, but it logs 'No topic offset fetch happened' and does not produce any consumer-group data.  Any ideas on how to further troubleshoot?

Are you passing the comma-separated topic list and also the comma-separated consumer-group and topic list in the command line? Please check the usage of the exporter by running:
$ kafka_consumer_exporter -h

I figured out the issue - I was quoting the patterns in my kubernetes manifest YAML file, so none of my consumer groups or topics matched regex patterns that included superfluous literal quotes at the beginning and end.  Once I removed the quotes, both worked as expected.

Sorry about closing and re-opening; I confused this issue with a separate but similar issue I had with a different consumer offset export tool.  I'll revisit this one again and provide more details.


Make response.json() reject the promise with the error rather than throwing

From what I can see the Fetch spec decrees that should JSON parsing fail with a response.json() call then the resulting promise should be rejected with the error. This does not currently appear to be the case, the error instead being thrown.

When an error is thrown inside a Promise's then handler, the catch handler is invoked with the error.
Promise.resolve('{"a":1').then(JSON.parse).catch(function(e) { console.log(e) })`

Keep in mind that the error from JSON.parse using the above syntax might be wrong in Firefox: https://github.com/github/fetch/pull/157


Add support for ContainerDefinition MountPoints

The TaskDefinition also validates that the any ContainerDefinitions' MountPoints' SourceVolume names matche one of the Volumes in the TaskDefinition.
Fixes #163

Could this be merged? I need this so much.

@jfklingler Any comment on @Tvaroh 's note above?

Sorry. I haven't had a chance to get back to this. I'll try to take a look next week.

Finally got back around to this. Yeah, I completely overlooked the custom JsonFormat[ContainerDefinition] for this.


Create AMI

Only do this if it looks like creating the docker image will be a lot of work

This is done


GSE 2.3.01 not working

as mentioned above it is not working for me
fail during import for some macro
fail to save newly created macro
this macro imports well: https://wowlazymacros.com/forums/topic/bloodbeta-8-0x/
any other fail
i have uninstall, delete parameters, re install... not ng works
please help

Hi MFXC,
Check the name you are using.  If its an object that is in use eg PVP or WW
it wont let you save with that name.  Also depends a lot on what you are
importing.  If you are importing junk or non 8.0 macros it wont accept them.
On Thu, Jul 19, 2018 at 7:23 AM, MFXC<EMAIL_ADDRESS>wrote:

as mentioned above it is not working for me
fail during import for some macro
fail to save newly created macro
this macro imports well: https://wowlazymacros.com/
forums/topic/bloodbeta-8-0x/
any other fail
please help
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/TimothyLuke/GnomeSequencer-Enhanced/issues/423, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAjBFS6siHkQwZ5f26eED1keucchFST3ks5uH65SgaJpZM4VVbjp
.

--
TimothyLuke


Automatic Forecasting and Exogenous Features

Description
The current Hyperparameter Optimization is excellent. One suggestion would be to allow us to pass the Exogenous Features separately to an AutoModel like AutoGRU, as one would do while fitting the Model like GRU, but keeping in mind if I want to use the default Grid-Params (thru Ray or Optuna) I can still do that and pass the Exogenous Features independently.
Use case
It would look something like this I guess
from neuralforecast.models import GRU
from neuralforecast.auto import AutoGRU
from neuralforecast.losses.pytorch import DistributionLoss
GRU(
h=30,
loss=DistributionLoss(),
futr_exog_list = [],
hist_exog_list = [],
stat_exog_list = [],
)
AutoGRU(
h=30,
loss=DistributionLoss(),
config = None,
futr_exog_list = [],
hist_exog_list = [],
stat_exog_list = [],
)
Here I can keep config parameter to None, thereby using the default HPO grid set by you guys and pass in my extra features without touching the config parameter.
PS: This is my first time raising a Issue on GitHub. Apologies If i didn't adhere to any rules/protocol

Hey @SinghJivjot, thanks for using neuralforecast. The exog lists are in the config so that they can be tuned as well, if you want to use the default config and override the exog lists you could do something like this:
from neuralforecast.auto import AutoGRU
from neuralforecast.losses.pytorch import DistributionLoss

exogs = {'futr_exog_list': [], 'hist_exog_list': [], 'stat_exog_list': []}
model = AutoGRU(h=30, loss=DistributionLoss('Poisson'))
model.config.update(exogs)

Oh, silly me trying to over think such simple work arounds. Thanks a lot


Release new version

Recently we added support for the TypeScript compiler, dropped support for the manifesto, and officially added support for Python 3.11 and Django 4.1. Based on these changes we can release Django pipeline 2.1.0.
@cyberdelia
Also, I wanted to ask you if you agree maybe I could ask to lead the project to help with releasing and maintaining the project.

I made a roadie ticket, in the meantime if you release a new version, I’ll get an approval email and the package will get released.

Thanks, I sent PR for changes on history.rst.
Then I push the 2.1.0 tag.

What do you think of Hygraph?
When writing your review, please include as much detail as possible about your experience with the product, as well as information about yourself, so that we can verify your identity. Please make sure your review is written in English. Reviews about your own product, or a competitors product, will not be published. View Review Guidelines.
Any information you provide on this page will be treated in accordance with our privacy policy. Your responses within the below will be available to others as publicly facing reviews describing your experience with the product. We will email the provided email address to verify your identity, communicate with you about this review, and potentially invite you to join our review program, as outlined within our Review Guidelines. By providing this information, you are consenting to these uses.


Make proofreading edits to Blog-LuisActionBinding

This PR makes proofreading changes throughout the blog post in the Blog-LuisActionBinding sample, fixing minor issues such as typos, grammar and inconsistent tense.

Closing per pcostantini's comment.


Lift is trying to recreate type aliases

Right now lift is trying to recreate type aliases that already exists.

In the above screenshot, type CUID already exists but lift is trying to recreate it and it is failing to do so.
To Reproduce:

Create a new Prisma 2 project using the CLI
Add a type alias, for example type CUID = String @id @default(cuid()) and use it in one place
Migrate the database
Add another field of any type to any model.
Try to migrate the database again, you will see the error mentioned in the screenshot above.

Prisma2 version<EMAIL_ADDRESS>binary version: 6159bf3a263921c3c28ee68e2c9e130b5a69c293

I just reproduced this in the latest alpha. Will work on it now.


Enable research mode

I'm currently working on a project in which i need access to the raw sensor stream. To gain access there are some steps that need to be done in Package.appxmanifest and Assembly-CSharp.csproj, but these files are replaced with every 'Build Unity Project'. So...i added two checkboxes to the build window, which let the developer choose if the two file will be modified to allow sensor access and to allow unsafe code in the build Assembly-CSharp project.

Now my question is if there is interest in something like this. I could start a pull request and add this. I'm not sure if a research mode exists for HoloLens 2, so i would look to make the checkboxes or at least the file modifying checkbox visible dependent on the target device.

@MenelvagorMilsom FYI
@Weasy666  This seems reasonable to me - note that there is already precedent in the build window for adding a capability in after the project is generated (see Appx Build Options -> Gaze Input Capability). There's some code there that already adds capabilities in (and makes sure we don't duply-add them).
If you have already done some stuff here, it would probably be cool to follow that existing pattern, but yeah, even if it's not something everyone is necessarily using, having it be an easy option for folks who need it would be great to have in the toolkit.

I have seen the Gaze Input Capability, but in my workflow i am not building the Appx from inside the Unity Editor. I need to hide most of the code behind preprocessor directives, because the Windows APIs i need (SoftwareBitmap and so on) are not accessible in the editor project.
So i build the unity project, then open the built solution and do most of the C# work in the build/generated project.  And i think other people need to do it that way too….so the options should be available in the 'Unity Build Options' tab.
I think i can whip up a pull request with my changes tomorrow in the course of the day. There we can discuss the details of the change. Do you know if research mode exists for HoloLens 2?

@wiwei pull request is up.
There are two things that need to be clarified. I asked them in the PRs comment.

Regarding research mode, I'm following up on that internally.
I'll take a look at the PR, thanks for sending that out!

@Weasy666, got confirmation from folks working on research mode that it's being worked on for HL2.

Nice to hear and thanks for following up on that!
The reason i was asking (besides my curiosity), was because of the EditorUserBuildSettings.wsaSubtarget == WSASubtarget.HoloLens condition for displaying the checkboxes and adding the capability to the manifest. I assume that this condition is true for both HoloLenses and as HoloLens 2 currently seems to not have a research mode, i think this needs to somehow be addressed.
Do you know of a way to differentiate both devices at that point of time in the build pipeline?

Differentiating between the two is tricky - I think the question here is differentiating at build time, and without another enum from Unity I don't realllly know what we'd do here (I guess we could augment it with our own for now).
What I think I would actually recommend is just treating the two as a pair (i.e. target == hololens applies to both 1 and 2). If we hit some issues with this we can fix it at that point. I guess the thing here is that I assume that the way we do research mode for the two should be similar (I don't see what value there is in the SDK folks having different ways of enabling research mode)

You never know ;) But yeah, i think it will be the same method.

This was merged, so this issue can be closed.


Adding JS base64 detection and fixing typo

Editing my Attachment: HTML smuggling with embedded base64-encoded executable rule to include base64 JS identifiers.

hey @aidenmitchell - catching up here. it looks like this might FP quite a bit on legit base64 embedded in Javascript (eg for "secure message" mailers). we're going to go ahead and close this, but feel free to comment if you'd like to discuss further!


Hotfix/edit device with manufacturer and model

Fix two issues when using edit_device():

Fix edit_devices() to save new options in README
Fix typo in readme for editing devices make/manufacturer

Thanks!


How can I use this dependency with Java 7?

My application has at least Java 7 but when I try to compile the APK it tells me that I have to have minimum Java (8).

I would say nothing speaks against using JAVA 8, check out this lines in the demo to see how to enable java 8 in your own project:
https://github.com/MFlisar/changelog/blob/c99f91370772e761ef078c9309e2e7b8d51c8e47/demo/build.gradle#L21-L24

Btw, you can simply remove the java 8 dependency by replacing all the lambdas in my library (probably not more than 10 anyways) if you want to... but I won't do this because if I make a larger change in the future I will convert the library to kotlin anyways...

Is that I do not use Java 8  because lambda makes me very ugly . But when trying to use this dependency Java 8 asks me. _Any way to use Java 8 without using Lambda? _

Sure, simply use java8. It still supports all language features of java7 but only adds lambda support and more... you are not forced to use lambdas but personally I would suggest trying them...


V3.0.7 - InfluxDB Environment Variables

v3.0.7 - InfluxDB Environment Variables

Add support to define InfluxDB configuration options by environment variable by @mcbirse. This allows the default configuration settings to be overridden and addresses https://github.com/jasonacox/Powerwall-Dashboard/discussions/408 raised by @youzer-name
Change InfluxDB statistics recording to false by default to reduce CPU load by @youzer-name in https://github.com/jasonacox/Powerwall-Dashboard/pull/410
Update example backup script to use tar.xz (-J option) by @s-crypt in https://github.com/jasonacox/Powerwall-Dashboard/pull/404 and https://github.com/jasonacox/Powerwall-Dashboard/pull/405 see https://github.com/jasonacox/Powerwall-Dashboard/issues/337
[Tools] - default to bash in pwstatus script for better compatibility by @mcbirse see https://github.com/jasonacox/Powerwall-Dashboard/discussions/249#discussioncomment-7935882

Thanks @mcbirse  - great addition!  I published the releases. Thanks for staging those!!! 🙏
Happy Christmas! 🎄

Thanks @jasonacox and Merry Xmas! 🎁
This addition definitely made sense once I looked into it to support custom InfluxDB requirements.


Implement specific bit types for integers

Use generic integer types with specific bit sizes to allow 1:1 mapping between rust and solidity types.
Motivation
I am doing some work on OffchainLabs/stylus-sdk-rs and am having some issues with the way that integer types are currently implemented here. For stylus, we require a 1:1 type mapping between rust types and solidity types. This breaks down for us because in alloy, currently, there is many solidity types that map to each rust integer type. For instance, both uint24 and uint32 in solidity map to u32 in rust.
Solution
Our proposed solution is to use alloy_primitves::{Signed, Uint} with the proper number of bits for each integer type.
PR Checklist

[ ] Added Tests
[ ] Added Documentation
[ ] Breaking changes

Note
This is currently WIP as there are a few tests that are currently panicking due to failed library assertions. I believe the issue is in the int_impls! macro in core/crates/sol-types/src/types/data_type.rs. I need to review the usage of the generic bit sizes that are used here. I also need to check the try_from implementation used in a couple other tests.

The motivation for this PR is the same as #545

OK with this, however this will have worse devex as ruint has worse APIs for conversions with primitives

OK with this, however this will have worse devex as ruint has worse APIs for conversions with primitives. Will look into the failures as well this week and get a breaking release out.

Note that we have already worked around the issue with this PR that will be merged soon:
https://github.com/OffchainLabs/stylus-sdk-rs/pull/137
The concern about worse devex is certainly valid, and definitely open to other possible suggestions.

It's also intuitive that u24 -> U24 rather than u32, but there is also the concern that storing it is 8 bytes instead of 3/4
I'm OK with it TBH
wdyt @prestwich @gakonst @mattsse
also FYI if you update to latest alloy versions we have made the string representation of types const too, so you can use it in your const ABI stuff: https://docs.rs/alloy-sol-types/latest/alloy_sol_types/trait.SolType.html#associatedconstant.SOL_NAME

reasonable imo


Reconsider showing error tests (consider just showing section)

Reconsider showing error tests (consider just showing section)
Same applies to warnings section

Covered in Issue 10


[feature] Support for TLS & Authentication

Support TLS
Support authentication token

TODO

[ ] Add a test for TLS.

Related to the server's PR

https://github.com/streamnative/oxia/pull/496

Error:  Medium: Self assignment of field OxiaClientBuilderImpl.authentication in io.streamnative.oxia.client.OxiaClientBuilderImpl.enableTls(boolean) [io.streamnative.oxia.client.OxiaClientBuilderImpl] At OxiaClientBuilderImpl.java:[line 134] SA_FIELD_SELF_ASSIGNMENT
Error:  Medium: Unused field: io.streamnative.oxia.client.OxiaClientBuilderImpl.enableTls [io.streamnative.oxia.client.OxiaClientBuilderImpl] In OxiaClientBuilderImpl.java UUF_UNUSED_FIELD

Please help fix the ci

Done


[AutoPR web/resource-manager] Adding support for HTTP2 to Web Apps

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2880

(message created by the CI based on PR content)


fix: pin cheerio to latest rc.12

Fixes issues with breaking changes from<EMAIL_ADDRESS>until it's handled somehow upstream.
See discussion for more info.

Related: https://github.com/Automattic/juice/issues/493

@jrit could you please have a look at this? It's currently breaking for many users because of cheerio: either because of Node 18 requirement or in other cases & is converted to & because of how they also changed htmlparser2 options.
We need to release a patch that pins cheerio until they resolve this entire debacle.

@cossssmin can I give you publish permissions for juice on npm? what's your username there?

Sure, I’m cossssmin there too:
https://www.npmjs.com/~cossssmin

Just a quick appreciation post for addressing this quickly. Was tough to narrow down which package was actually causing that strange issue that popped up out of nowhere. Kudos 👏 🎉
All my  and other html entities suddenly started appearing fulltext in my email templates. Time to add more tests...


intergrated calender

an integrated up to datew calendar of all events

moved to https://github.com/redbrick/website-frontend/issues


I can confirm.