Restore old behavior of not setting empty hostnames

Restore old behavior of not setting empty hostnames
The refactoring in https://github.com/flatcar/coreos-cloudinit/pull/21
caused hostnames to be set unconditionally compared to the old behavior
of only setting the hostname if it not empty.
When running coreos-cloudinit with datasources that do not provide
metadata such as the file datasource, the refactored code caused the
hostname to always be reset to localhost. This leads to various
problems like preventing k8s nodes from joining their cluster.
This change restores the old behavior by not applying empty hostnames.
Fixes https://github.com/flatcar/Flatcar/issues/1262
How to use
create a file config with content:
#cloud-config

coreos: {}

Then run ./coreos-cloudinit --from-file=config
Testing done
Run the above command. Output without PR:
2024/01/15 14:16:30 Checking availability of "local-file"
2024/01/15 14:16:30 Fetching meta-data from datasource of type "local-file"
2024/01/15 14:16:30 Fetching user-data from datasource of type "local-file"
2024/01/15 14:16:31 Set hostname to
2024/01/15 14:16:31 Running part "cloud-config.yaml" (cloud-config)
2024/01/15 14:16:31 Updated /etc/environment
2024/01/15 14:16:31 Ensuring runtime unit file "etcd.service" is unmasked
2024/01/15 14:16:31 Ensuring runtime unit file "etcd2.service" is unmasked
2024/01/15 14:16:31 Ensuring runtime unit file "fleet.service" is unmasked
2024/01/15 14:16:31 Ensuring runtime unit file "locksmithd.service" is unmasked

with PR
2024/01/15 14:15:05 Checking availability of "local-file"
2024/01/15 14:15:05 Fetching meta-data from datasource of type "local-file"
2024/01/15 14:15:05 Fetching user-data from datasource of type "local-file"
2024/01/15 14:15:05 Running part "cloud-config.yaml" (cloud-config)
2024/01/15 14:15:05 Ensuring runtime unit file "etcd.service" is unmasked
2024/01/15 14:15:05 Ensuring runtime unit file "etcd2.service" is unmasked
2024/01/15 14:15:05 Ensuring runtime unit file "fleet.service" is unmasked
2024/01/15 14:15:05 Ensuring runtime unit file "locksmithd.service" is unmasked

[ ] Changelog entries added in the respective changelog/ directory (user-facing change, bug fix, security fix, update)
[ ] Inspected CI output for image differences: /boot and /usr size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.

ohh wow. Sorry for the headache!

The CI error (https://github.com/flatcar/coreos-cloudinit/actions/runs/7530122553/job/20496040224?pr=25) is odd, for me locally gofmt  (Go 1.21.6) complained about the formatting, but now the CI is unhappy. I've dropped that commit.

Thanks!


"'Only one manifest file can be attached to data'".

Having this error message when restoring a project.

Backup current project
Restore project

Any help?

@lschaupp , could you please provide more information? Please try to create a similar project on http://app.cvat.ai/ and reproduce the issue. It will help us a lot.

I will close the issue. Don't hesitate to reopen it if you can provide more information.


Refactor OIDC event tests

This is useful OIDC events test refactoring from an otherwise aborted PR (https://github.com/aspnet/Security/pull/1515). It makes it easier to add more events in the future.

@Tratcher,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


Any comparison with LLAVA1.5?

Since there is llava1.5 now, which overperforms the originally llava by a lot. It will be really helpful if the benchmark can also include the llava1.5's result.
Thanks!

We are currently refining this aspect, and we will soon release an updated version on arXiv. Stay tuned for the latest developments!


Remove System.Data.Common package dependency

System.Data.Common is part of .NET and the package dependency is not needed. The package dependency also generates false positive security warnings in some scanning tools, as it references packages with known security issues. It is a false positive because when the application is deployed, the current version from .NET is used, not version 4.3.0.
Closes #125

Kicked off the CI run!


can not find tensor flow/contrib/lite/java/demo this demo

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary):
TensorFlow version:
Python version:
Installed using virtualenv? pip? conda?:
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:

Describe the problem
Provide the exact sequence of commands / steps that you executed before running into the problem
Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.
I want to download tensor flow code to install TFLite  in my android phone. But in tensorflow directory, I don not find tensorflow/contirbute/lite this directory.
code : https://github.com/tensorflow/tensorflow, branch is master
And I hope you can provide install_docs to help me install and run model in Android
Thanks very much

Hi! I have mentioned some links below. Can you please take a look at these.
TFLite code Repository : https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite
TFLite Website Guide : https://www.tensorflow.org/lite/overview
TFLite Github Guide : https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/g3doc/guide/android.md
Is this what you were asking for?

ok, TFlite can support  ssd-mobilenet  model? And shufflenet, shuffle net-v1 model support in TFLite?

Ssd-mobilenet and Shufflenet-v2 are supported I think but I am not sure of Shufflenet-v1 in TFLite.
@jvishnuvardhan Can you please verify this. Thanks :)

lite folder has moved out of contrib. You should find it on [tensorflow/tensorflow/lite/](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite) as mentioned by @Ayush517  in previous comments

Thanks, I have find that and build success

Are you satisfied with the resolution of your issue?
Yes
No


How can I move the tab to bottom?

I found you use navigationBar . So the Tab button will put top at screen.
But I want to move the tab to the bottom. Can I move the navigation bar to bottom?
If I move the navigation bar to the bottom at screen, the Apple will reject the app?
Thank you.

Sorry you can’t, it’s a navigation controller =/ you could examine the code and try to build another custom controller that does something similar
On Sun, Mar 22, 2015 at 9:38 PM, dickfalaDeveloper
<EMAIL_ADDRESS>wrote:

I found you use navigationBar . So the Tab button will put top at screen.
But I want to move the tab to the bottom. Can I move the navigation bar to bottom?
If I move the navigation bar to the bottom at screen, the Apple will reject the app?
Thank you.
Reply to this email directly or view it on GitHub:
https://github.com/cwRichardKim/RKSwipeBetweenViewControllers/issues/17


Folder naming "pre-trained-models"

LoadSyntheticRunningJumping.py
12    Jumping_model_path = './pre-trained-model/JumpingGAN_checkpoint',
13    Running_model_path = './pre-trained-model/RunningGAN_checkpoint',

reffering to the folder as "pre-trained-model" instead of "pre-trained-models"

Thanks for reminding me. I have fixed the folder naming issue.


Add ut

add ut framework ginkgo and gomega
add a sample UT for CreateProposers function

There are several nits in the UT, mostly around how ginkgo is being used.
Also, why are we bumping protobuf version?

protobuf version upgrade after go get github.com/onsi/ginkgo


Update for neovim/neovim#15585.

This I believe covers it. Do you know what needs to be done for the backwards compatibility issue?

I think what we do is just stop supporting 0.5

That's really unfortunate.  I'm running 0.5 and don't plan to go back to building neovim from git.  Ideally we'd keep 0.5 compatibility at least until 0.6 is released.

Another earlier commit already broke 0.5 compatibility: 6674cbece7de9487a77488ce8a251be6dd923991
With that commit, I no longer see diagnostics.

@gebner didn't know you were on 0.5 -- I did leave an 0.5 (frozen) branch just in case anyone was on it, though it's a bit annoying if 6674cbe broke 0.5 (and that therefore that branch won't work) -- that commit was in theory done that way specifically to preserve 0.5. But there's essentially the key at the minute, which is 0.5 doesn't run in CI.
From talking to other neovim plugin maintainers at least a few told me the same (that they had frozen 0.5 support).
I'm not against trying to continue to support it further, but we definitely need to run it side by side in CI if it's going to stay working, and I don't think I'll have time to do that today.
If one of you two does though obviously totally fine with me. Otherwise I'll try to do it when I get a moment, or otherwise at least make sure the 0.5 branch actually functions on 0.5.

#135
@rish987 AFAICT the vim.lsp.diagnostic functions are still working in neovim nightly (but I didn't build a nightly to check).  Was this PR even necessary to support the nightly builds?

Not sure what's going on with the nightly builds, but if you build from source -- see for example this run -- you should run into an issue on trythis_spec.lua.


[DDW-551] Adjust sorting on rewards screen

This PR adjusted sorting of table on rewards screen
Jira Ticket
Todos

[x] Adjust sorting of table on rewards screen

Testing Checklist

Slack QA thread

Screenshots
English

Japanese

Test Cases
Scenario 1: Sort reward
Given I am on Staking -> Rewards screen
And there are at least 2 or more wallets displayed
And at least 2 wallets have different rewards amount
When I sort the rewards in (ascending|descending) order
Then they are sorted correctly

App

[x] Go to Staking => Rewards and make sure sorting of table works properly whenever changing column and order

Review Checklist
Basics

[ ] PR has been assigned and has appropriate labels (feature/bug/chore, release-x.x.x)
[ ] PR is updated to the most recent version of the target branch (and there are no conflicts)
[ ] PR has a good description that summarizes all changes and shows some screenshots or animated GIFs of important UI changes
[ ] CHANGELOG entry has been added to the top of the appropriate section (Features, Fixes, Chores) and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance and unit tests are passing (yarn test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn package / CI builds)
[ ] There are no flow errors or warnings (yarn flow:test)
[ ] There are no lint errors or warnings (yarn lint)
[ ] There are no prettier errors or warnings (yarn prettier:check)
[ ] There are no missing translations (running yarn manage:translations produces no changes)
[ ] Text changes are proofread and approved (Jane Wild / Amy Reeve)
[ ] Japanese text changes are proofread and approved (Junko Oda)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly commented and documented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-renderings
[ ] Any code that only works in main process is neatly separated from components

Testing

[ ] New feature/change is covered by acceptance tests
[ ] New feature/change is manually tested and approved by QA team
[ ] All existing acceptance tests are still up-to-date
[ ] New feature/change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review

[ ] Merge the PR
[ ] Delete the source branch
[ ] Move the ticket to done column on the YouTrack board
[ ] Update Slack QA thread by marking it with a green checkmark

@nikolaglumac Fixed.
@mioriohk @gnpf This is ready for test, thanks.


GRADLE-3490: Build output when Checkstyle XML report is disabled

Any of the checked boxes below indicate that I took action:

[X] Reviewed the Contribution Guidelines.
[X] Signed the Gradle CLA.
[X] Ensured that basic checks pass: ./gradlew quickCheck

For all non-trivial changes that modify the behavior or public API:

[ ] Before submitting a pull request, I started a discussion on the
Gradle developer list
or can reference a JIRA issue.
[ ] I wrote a design document. A design document can be
brief but explains the use case or problem you are trying to solve,
touches on the planned implementation approach as well as the test cases
that verify the behavior. Optimally, design documents should be submitted
as a separate pull request. Samples
can be found in the Gradle GitHub repository. Please let us know if you need help with
creating the design document. We are happy to help!
[ ] The pull request contains an appropriate level of unit and integration
test coverage to verify the behavior. Before submitting the pull request
I ran a build on your local machine via the command
./gradlew quickCheck <impacted-subproject>:check.
[ ] The pull request updates the Gradle documentation like user guide,
DSL reference and Javadocs where applicable.

Move the XML report from build/reports to build/tmp when it is
explicitly not requested as build output.
Also update the test and enable it.
Signed-off-by: Martin Mosegaard Amdisen<EMAIL_ADDRESS>

Thanks for submitting this pull request. I was having a brief look at the changes. Instead of moving the generated XML reports I think it would be more efficient if we could simply prevent the reports from being created at all.

The HTML report is a XSLT applied on top of the XML, so I don't think we can avoid generating it, but we could have it generated directly at the tmp location instead of moving it...

I based the fix on the original discussion at https://discuss.gradle.org/t/checkstyle-plugin-still-generates-xml-report-with-disabled-option/18087
I will try updating the fix to generate the XML directly at the tmp location.

Please review latest commit which generates the XML report in the tmp location directly.

@jsotuyod Good point.

Updated so the temporary XML file is deleted.

BTW, I have created a JIRA user for issues.gradle.org: martinpraqma, in case you want to assign me to the issue (I don't have permissions yet)

Thanks for incorporating the changes. The pull request has been merged.

Internal review: https://code-review.gradle.org/cru/REVIEW-6132


Ability to pass structured types by value as kernel parameters

Currently, it is not possible to pass structures by value as kernel arguments. Only some fixed size numpy dtype arguments have been hardcoded yet in cupy/cuda/function.pyx. This implies that a cupy kernel launch only succeeds with numpy.generic arguments which are scalar types with itemsize 1, 2, 4, 8 or 16 bytes. This allows us to pass directly by value np.int8 up to np.complex128 numpy data types as kernel arguments. I would like to extend pass-by-value to any numpy dtype.
I am using RawKernels extensively and I would like to be able to pass cuda builtin vector types such as float3 as kernel parameters. This would make multidimensional code in physics much clearer for example (ie. replace many scalar kernel arguments by vectorized arguments or static arrays of scalars). Depending on device compute capability we can now pass up to 4kB of parameters to cuda kernels, and doing it in 16 bytes chunks is not very efficient.
The definition of the structure layout using numpy.dtype should be the responsibility of the user. This off course implies defining the struct with the same offsets, alignment and itemsize between host and device. pyopencl and pycuda offer utility functions to convert a device side struct to a numpy dtype with matching layout, but this feature would be overkill for now.
Please note that this feature is not related to general structured array support in cupy. It is however already possible to pass a pointer to any array of structures to a RawKernel: simply cast any numpy array to np.int8 data type and let cupy handle np.int8 cuda arrays. Within the kernel, the pointer will be cast to the kernel argument type anyway. This off course only works if host and device structures layout match exactly.
Here is a simple example to illustrate what I would be able to do:
import numpy as np
import cupy as cp

code = r"""
    template <typename T>
    __global__ void affect(T* const __restrict__ output,
                         const T arg0, const T arg1,
                         const size_t nelements) {
        ptrdiff_t i = blockIdx.x * blockDim.x + threadIdx.x;
        if (i >= nelements)
            return;
        output[i] = (i%2 == 0 ? arg0 : arg1);
    }
"""
module = cp.RawModule(code=code,
                      name_expressions=('affect<float3>',),
                      options=('-std=c++11',))
kernel = module.get_function('affect<float3>')

float3 = np.dtype( { 'names': ['x', 'y', 'z'],
                     'formats': [np.float32]*3 } )

arg0 = np.random.rand(3).astype(np.float32).view(float3)
arg1 = np.random.rand(3).astype(np.float32).view(float3)

N = 512
h_output = np.empty(dtype=float3, shape=N)
d_output = cp.asarray(h_output.view(np.float32))

grid = (N,)
block = (256,)
args = (d_output, arg0, arg1, np.uint64(N))
kernel(grid, block, args)

h_output[0::2] = arg0
h_output[1::2] = arg1

np.testing.assert_array_equal(h_output,
                              cp.asnumpy(d_output).view(float3))

This example is now running with PR #4829.

This is very nice capability indeed! I've skimmed over your PR #4829 btw (thanks for quickly putting together a nice work there), but this issue seems to be more appropriate for high-level discussions.

Depending on device compute capability we can now pass up to 4kB of parameters to cuda kernels, and doing it in 16 bytes chunks is not very efficient.

Just to supplement the 4kB thing: This refers to a dedicated constant memory of size 4kB for storing kernel parameters:
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#function-parameters
On the 16-byte limitation: So it indeed looks like this is a hard-coded cap, but actually we've opened a shortcut to bypass it. If you pass an object of type cupy.cuda.MemoryPointer (which is the memory object backing any CuPy array, and can be accessed via arr.data) to your kernel, then essentially it is a void* pointer to a contiguous chunk of GPU memory, meaning it can be a struct of unlimited size. This is actually used in CuPy's internal, for example see this function:
https://github.com/cupy/cupy/blob/2fd13b80ba108bcc12d102fd7fa9d5da0ced7eaf/cupy/core/_cub_reduction.pyx#L412
There I assumed the maximal struct size is of 32 bytes (for a reason not relevant here), which exceeds the 16 byte cap.
But, the drawback of passing MemoryPointer is that your kernel signature has to be modified as
    template <typename T>
    __global__ void affect(T* const __restrict__ output,
                         const void* arg0, const void* arg1,
                         const size_t nelements)

and you cast arg0 and arg1 to the template type T in the kernel body, which may not be pleasant to use (ex: inconvenient for hooking up existing codes), although in terms of performance I think the compiler output should be nearly identical. In addition, this does not support passing values on host, only on device.

pyopencl and pycuda offer utility functions to convert a device side struct to a numpy dtype with matching layout, but this feature would be overkill for now.

I think this would be a very useful utility to us (and one that I must have missed!), could you give us a few pointers to that? 🙂

Please note that this feature is not related to general structured array support in cupy.

I'd say it's related, and actually your PR is a good step toward it (#2031). Although there would still be plenty of work needed in CuPy's internal, it's a good basis for thinking about the design.

I am not sure that your example with void* and MemoryPointer is 100% equivalent. If I understand this correctly you first need to allocate GPU memory with cupy.cuda.memory.alloc, wrap it in a cupy.cuda.MemoryPointer, find some way to initialize this memory on device side with a RawKernel or by raw host->device copy from some initialized host buffer with matching memory layout, change your kernel argument to pointer to required type and then dereference those pointers in your actual code:
    template <typename T>
    __global__ void affect(T* const __restrict__ output,
                         const T* arg0, const T* arg1,  // <-- void* can be replaced by T* here
                         const size_t nelements)

Assuming  compute capability 2.x and higher, kernel arguments (arg0 and arg1 pointers) would be in __constant__ memory, but underlying data would lie in __global__ memory. I was not aware of MemoryPointer, this indeed makes it possible in the actual version of the library and opens the way for general structured array support in cupy. Just so that it is clear to anyone, the equivalent way to pass arg0 and arg1 by value (in __constant__ memory) without PR #4829 would be to use such a kernel:
   __constant__ T arg0;
   __constant__ T arg1;
   __global__ void affect(T* const __restrict__ output,
                        const size_t nelements)

where T cannot be a template anymore. I am however not aware of hostside __constant__ memory management in cupy (cudaGetSymbolAddress,  cudaGetSymbolSize, cudaMemcpyToSymbol, cudaMemcpyFromSymbol).

I think this would be a very useful utility to us (and one that I must have missed!), could you give us a few pointers to that

Indeed, the most difficult part of both methods is to create the host side buffer with matching memory layout.
In PyOpenCL, there is a dictionary that tracks device side typenames and corresponding numpy dtype. At module initialization,
this dictionary is populated with scalar and vector builtins. A user can register a new type with get_or_register_dtype(typename, dtype). The most interesting part happens in match_dtype_to_c_struct  where you can provide a typename and a numpy dtype as input. It then proceeds to generate the corresponding C structure declaration (OpenCL code) and calls a kernel to determine device side struct memory layout (see  cupy/tests/cupy_tests/core_tests/test_function.py::test_custom_user_struct  in my PR). As an output you get the generated struct code as well as a device compatible numpy dtype.
I think that such a type dataset should be device dependent, even for CUDA. I am not sure about this, but I imagine that devices with different compute capabilities may impose different structure memory layouts. If you point me where I could implement this in CuPY, I may have the time to implement such a feature later this month.

Sorry for my late reply!

I am not sure that your example with void* and MemoryPointer is 100% equivalent.

It is, from the perspective of having a pointer to a contiguous chunk of memory, so

If I understand this correctly you first need to allocate GPU memory with cupy.cuda.memory.alloc, wrap it in a cupy.cuda.MemoryPointer, find some way to initialize this memory on device side with a RawKernel or by raw host->device copy from some initialized host buffer with matching memory layout,

up to here it is correct, with one catch that we don't care about the memory layout, as literally it's really just filing up the memory, and so

change your kernel arguments to pointer to required type and then dereference those pointers in your actual code:
    template <typename T>
    __global__ void affect(T* const __restrict__ output,
                         const T* arg0, const T* arg1,  // <-- void* can be replaced by T* here
                         const size_t nelements)

this is not needed. We really just need to pass a void*, and then cast it to whatever needed:
template <typename T>
__global__ void my_ker(void* a, ...) {
    T* b = (T*)a;
    ....
}

I was not aware of MemoryPointer, this indeed makes it possible in the actual version of the library and opens the way for general structured array support in cupy. In order for this to work cupy memory allocators will have to support custom alignement contraints for custom types array allocations.

Yes, I think your ongoing PR #4829 opens this door! 🙂

I am however not aware of hostside __constant__ memory management in cupy (cudaGetSymbolAddress, cudaGetSymbolSize, cudaMemcpyToSymbol, cudaMemcpyFromSymbol).

I am not sure why, but most likely you don't need them. Suppose you declare __constant__ memory in cupy.RawModule, you can use get_global() to retrieve the pointer:
https://github.com/cupy/cupy/blob/cd2550f188be264086ff0d0420d706f6e0460f5a/cupy/core/raw.pyx#L499
And that's actually all you need to make it work. I think in this regard CUDA has some redundant API design. Presumably they are the residuals from older CUDA?

In PyOpenCL, there is a dictionary that tracks device side typenames and corresponding numpy dtype. At module initialization,
this dictionary is populated with scalar and vector builtins. A user can register a new type with get_or_register_dtype(typename, dtype). The most interesting part happens in match_dtype_to_c_struct  where you can provide a typename and a numpy dtype as input. It then proceeds to generate the corresponding C structure declaration (OpenCL code) and calls a kernel to determine device side struct memory layout (see cupy/tests/cupy_tests/core_tests/test_function.py::test_custom_user_struct in my PR). As an output you get the generated struct code as well as a device compatible numpy dtype.
I think that such a type dataset should be device dependent, even for CUDA. I am not sure about this, but I imagine that devices with different compute capabilities may impose different structure memory layouts. If you point me where I could implement this in CuPy, I may have the time to implement such a feature later this month.

Thanks for the pointers. I took a closer look at the PyOpenCL utilities and I think they are the right tools to add! But supporting this may require some thoughts (likely we need to determine the scope of work first). I am a bit occupied recently, so please forgive to revisit this at a later time...

this is not needed. We really just need to pass a void*, and then cast it to whatever needed:

I just meant that it is easier to introduce the underlying type of the global array directly in the arguments of the function, there is no need to define an additional pointer variable and to manually cast the input pointer later on. Or maybe I am missing something.

I am not sure why, but most likely you don't need them. Suppose you declare constant memory in cupy.RawModule, you can use get_global() to retrieve the pointer:

Yes you made me realize hat you can cudaMemcpy directly to the symbol if you know its size and obtain the pointer with get_global (https://stackoverflow.com/questions/15984913/cudamemcpytosymbol-vs-cudamemcpy-why-is-it-still-around-cudamemcpytosymbol/15985093).

Yes, I think your ongoing PR #4829 opens this door! slightly_smiling_face

When do you think this will get merged ?

But supporting this may require some thoughts (likely we need to determine the scope of work first). I am a bit occupied recently, so please forgive to revisit this at a later time...The core devs might also shed some light here?

Basically you need to implement a global mapping tracking (dtypes, ctypes), registering of scalar/vector types at module initialization, a Cuda struct code generator from a NumPy structured dtype and a kernel code generator to get members offsets. Off course this requires some planning, so lets get some core dev point of view on the subject.


English language filter only filters PubMed

add ebsco

ebsco not referenced on welcome page and search and download page for this filter and doesn't seem to be filtering for ebsco

references added, filter working (confirmed by Rachel).


Support with redux-actions handleActions({})

@mweststrate - Can I use produce on my reducer with redux-action's handleActions(Object) method?
eg -
const reducer = (state = initState, action) => produce(state, draft =>
	handleActions({
			[ACTION_TYPES.FETCH_DATA]: (draft, action) => {
				draft.data = action.payload
			}
     })
)

@ronen don't comment on closed issues, chances are 50-50 that someone will see it.

@ronen anyway, check https://gist.github.com/kitze/fb65f527803a93fb2803ce79a792fff8 or some of the other stuff linked here: https://github.com/mweststrate/immer#cool-things-built-with-immer


Fix IN() operator return when left-hand side is null

Closes #172

Codecov Report

Merging #173 (805b5d2) into main (961ce06) will decrease coverage by 0.02%.
The diff coverage is 100.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #173      +/-   ##
==========================================
- Coverage   46.39%   46.38%   -0.02%
==========================================
  Files          47       47
  Lines       17828    17828
==========================================
- Hits         8271     8269       -2
- Misses       8111     8118       +7
+ Partials     1446     1441       -5


/opennms-data/logs - Not linked correctly

Hello @indigo423
I have just noticed that in the last Docker images the symbolic link of the logs to the volume opennms-data is no longer working.
Old Docker Image
ls -l /opt/opennms/ |egrep "logs|share"
lrwxrwxrwx.  1 root root    18 Oct  9 02:03 logs -> /opennms-data/logs
lrwxrwxrwx.  1 root root    12 Oct  9 02:03 share -> /var/opennms

Last Docker Image
ls -l /opt/opennms/ |egrep "logs|share"
lrwxrwxrwx  1 root root    16 Oct 19 21:15 logs -> /var/log/opennms
lrwxrwxrwx  1 root root    12 Oct 19 21:15 share -> /var/opennms

@syepes does this issue still exist. I've checked it on my instance and works for me?

Yes this one is also resolved, must of been a one time bug.


Remove Affinity Group Ref from CloudStackMachine Spec

/kind feature
Cloudstack machine spec on v1beta2 version has a AffinityGroupRef defined in the API. This is a dead field and is not being used anywhere in the code and has no functionality. Affinity groups can be used either using the pro/anti affinity field or provide group IDs that will get attached to the vm during creation time. This dead field should be removed from the API.

/kind api-change


Migration fails with sub-nested hierarchies

EdgeDB Version: 2.0-rc.3+f035802, 3.0-dev.6761+local

Maybe related: #3289.
Steps to Reproduce:
edgedb> start migration to {}; populate migration; commit migration;
OK: START MIGRATION
OK: POPULATE MIGRATION
Error: InternalServerError: column old.bcab4e74-0793-11ed-81d4-a5e4b75261ac does not exist
  Hint: This is most likely a bug in EdgeDB. Please consider opening an issue ticket at https://github.com/edgedb/edgedb/issues/new?template=bug_report.md

Schema:
abstract type R {
    required property name -> str {
        delegated constraint exclusive;
    }
}

type S extending R {
    required property s -> str;
}

type T extending R {
    required property t -> str;
}

type V extending S, T;

There is a follow-on issue here, which is that after I get the ISE, when I try to rollback, I get
edgedb error: InternalServerError: failed to lookup transaction or savepoint with id=6606099709193
  Hint: This is most likely a bug in EdgeDB. Please consider opening an issue ticket at https://github.com/edgedb/edgedb/issues/new?template=bug_report.md
  Server traceback:
      Traceback (most recent call last):
        File "/home/sully/src/e/edgedb/edb/server/compiler_pool/worker_proc.py", line 55, in worker
          res = meth(*args)
        File "/home/sully/src/e/edgedb/edb/server/compiler_pool/worker.py", line 185, in compile_in_tx
          units, cstate = COMPILER.compile_in_tx(cstate, *args, **kwargs)
        File "/home/sully/src/e/edgedb/edb/server/compiler/compiler.py", line 2198, in compile_in_tx
          state.sync_tx(txid)
        File "/home/sully/src/e/edgedb/edb/server/compiler/dbstate.py", line 762, in sync_tx
          raise errors.InternalServerError(
      edb.errors.InternalServerError: failed to lookup transaction or savepoint with id=6606099709193

Oh, to make things better, the constraints don't work right either:
edgedb> insert S { name := "!", s := "1" };
{default::S {id: 9ed97756-093f-11ed-afc6-33b5f34ff832}}
edgedb> insert V { name := "!", s := "2", t := "2" };
{default::V {id: a490c280-093f-11ed-afc6-e762a7374254}}

All of the other permutations work right, though: inserting V and then S properly errors, as do both directions of T and V.

There is a follow-on issue here, which is that after I get the ISE, when I try to rollback, I get
edgedb error: InternalServerError: failed to lookup transaction or savepoint with id=6606099709193
  Hint: This is most likely a bug in EdgeDB. Please consider opening an issue ticket at https://github.com/edgedb/edgedb/issues/new?template=bug_report.md
  Server traceback:
      Traceback (most recent call last):
        File "/home/sully/src/e/edgedb/edb/server/compiler_pool/worker_proc.py", line 55, in worker
          res = meth(*args)
        File "/home/sully/src/e/edgedb/edb/server/compiler_pool/worker.py", line 185, in compile_in_tx
          units, cstate = COMPILER.compile_in_tx(cstate, *args, **kwargs)
        File "/home/sully/src/e/edgedb/edb/server/compiler/compiler.py", line 2198, in compile_in_tx
          state.sync_tx(txid)
        File "/home/sully/src/e/edgedb/edb/server/compiler/dbstate.py", line 762, in sync_tx
          raise errors.InternalServerError(
      edb.errors.InternalServerError: failed to lookup transaction or savepoint with id=6606099709193

This was introduced in #4065 where we use regular compile() to compile expected rollback, also caused a regression like this:
edgedb> start transaction;
OK: START TRANSACTION
edgedb[tx]> select 1/0;
edgedb error: DivisionByZeroError: division by zero
edgedb[tx:failed]> commit;
edgedb error: TransactionError: current transaction is aborted, commands ignored until end of transaction block
edgedb[tx:failed]> rollback;
edgedb error: InternalServerError: failed to lookup transaction or savepoint with id=76599601371706
  Hint: This is most likely a bug in EdgeDB. Please consider opening an issue ticket at https://github.com/edgedb/edgedb/issues/new?template=bug_report.md
  Server traceback:
      Traceback (most recent call last):
        File "edb/server/compiler_pool/worker_proc.py", line 55, in worker
          res = meth(*args)
        File "edb/server/compiler_pool/worker.py", line 185, in compile_in_tx
          units, cstate = COMPILER.compile_in_tx(cstate, *args, **kwargs)
        File "edb/server/compiler/compiler.py", line 2198, in compile_in_tx
          state.sync_tx(txid)
        File "edb/server/compiler/dbstate.py", line 762, in sync_tx
          raise errors.InternalServerError(
      edb.errors.InternalServerError: failed to lookup transaction or savepoint with id=76599601371706

I'm working on a fix.


Not listed yet: www.uipath.com

The website at this url is unlisted: https://www.uipath.com/

Thank you for the notification. This site is now added to the repository and will be in the next release on addons.mozilla.org.


Error: 13 INTERNAL: Failed to start HTTP/2 stream

Hi,
This error seems to happen intermittently.
Error: 13 INTERNAL: Failed to start HTTP/2 stream
    at Object.callErrorFromStatus (/src/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call.js:30:26)
    at Object.onReceiveStatus (/src/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client.js:175:52)
    at Object.onReceiveStatus (/src/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:341:141)
    at Object.onReceiveStatus (/src/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:304:181)
    at Http2CallStream.outputStatus (/src/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-stream.js:116:74)
    at Http2CallStream.maybeOutputStatus (/src/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-stream.js:155:22)
    at Http2CallStream.endCall (/src/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-stream.js:141:18)
    at Http2CallStream.cancelWithStatus (/src/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-stream.js:457:14)
    at /src/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/channel.js:209:48
    at runMicrotasks (<anonymous>)

Environment details

OS: Cloud Run
Node.js version: v14.8.0
npm version: 6.14.7
@google-cloud/datastore version: 4.5.2

Thanks!

Thanks for opening. Node v14 isn't actually supported (https://github.com/googleapis/nodejs-datastore#supported-nodejs-versions), as it won't be "Active" until late October. If you downgrade to v12, do you still have the issues?
Also, additional information about how we can reproduce would be very helpful. Is it any API call you make through this library, or one? Can you reproduce it reliably under a certain amount of stress? Anything else that would help us dig in is great.

Thanks for opening. Node v14 isn't actually supported (https://github.com/googleapis/nodejs-datastore#supported-nodejs-versions), as it won't be "Active" until late October. If you downgrade to v12, do you still have the issues?
Also, additional information about how we can reproduce would be very helpful. Is it any API call you make through this library, or one? Can you reproduce it reliably under a certain amount of stress? Anything else that would help us dig in is great.

Thanks for the response. This error occurs randomly, so difficult to reproduce it. There is no steps or information to reproduce it but it seems like, it occurred when there is a many concurrent requests issued.

Also just had this problem on Cloud Run. Started randomly. It wouldn't go away until a rebuild. Worked fine for weeks with no issues. Was on 14.2, downgraded to 12 in the meantime. Google APIs not used.

@stephenplusplus
This also happens on Node 12 using the node:12-slim image and connecting to Firestore. Isn't incurred by load, inactivity or volume. This is an extraordinarily severe issue to be happening randomly on stable production environments. I guarantee there are a number of customers experiencing this because we're not doing anything remotely special and 100% of requests fail.

Hi there, we've encountered this one too just today. We're also using node:12-slim as our image.

@jaygrestoplus Do you have timestamps for that? I'm wondering if this is a GCP infrastructure issue.

@stephenplusplus
This also happens on Node 12 using the node:12-slim image and connecting to Firestore. Isn't incurred by load, inactivity or volume. This is an extraordinarily severe issue to be happening randomly on stable production environments.
I guarantee there are a number of customers experiencing this because we're not doing anything remotely special and 100% of requests fail until the instances are replaced. Our code is literally just an Admin SDK call through an Express route on a vanilla Docker image. Routes without Admin SDK calls perform correctly.

Adding that this also happened to our production environment app-engine app node12 API connecting to firebase admin SDK

https://www.npmjs.com/package/@grpc/grpc-js just released an update that adds additional information to these errors. If you update dependencies (this is used by google-gax which is used by this library) and can share additional error information it may help us get to the root cause.

@crwilcox What's the best practice to do this, given that most of us aren't using this package directly, and are using things like "firebase-admin" and "googleapis"? If we explicitly include grpc-js, will that update what firebase-admin and googleapis use, and is that safe to do?

The new grpc-js release is a patch release that should still match the version range google-gax uses, so whatever you normally do to update dependencies should pick it up.

The version range should still match and the dependency should update. npm --depth 9999 update

@stx I just re-read the thread top to bottom and noticed "Google APIs not used."
To confirm, you experienced this same error, using gRPC, but not this particular library? I am wondering if we shouldn't move this to a gRPC lib to broaden discussion.

Yes, it also happens with firebase-admin because it uses gRPC upstream. Probably happens with other libraries too.
Would be nice to find someone that takes responsibility to fix it so the tech infra works properly in a basic scenario...

The underlying code for firebase-admin (google-cloud/firestore) and datastore aren't all that different. Have you seen this in a non google grpc library?

No, haven't tried.

Just happened yet again on production with grpc 1.2.7.  No additional info logged so not sure what that's about.
{
"error": "13 INTERNAL: Failed to start HTTP/2 stream"
}

<EMAIL_ADDRESS>just had this happen to me in production for over 200 requests before I restarted my server and everything worked fine. Any solutions?

@Joshandrews43 What infrastructure is it running on? Cloud Run or something else?

@stx Heroku web server running node 14.0.0. Any ideas?

@Joshandrews43 nodejs-datastore/firebase-admin or an upstream Google dependency is pretty clearly broken. There is no fix other than restarting it. Google Support says this has been a known issue for years. I have no idea how to get it taken care of.

@stx a shame that one of the largest cloud providers in the world has a critical bug that effectively takes down your server and doesn't prioritize it...

@stx That exact error string no longer exists in @grpc/grpc-js >=1.2.7, so I think whichever dependency is triggering that error is still using an older version. Newer versions of the grpc-js library have more details in that error string so that when people report it we can use that information to figure this bug out.

@murgatroid99 Our package-lock.json lists "@grpc/grpc-js": { "version": "1.2.7" } but I can see that many Google packages are using less than that. I thought this would make it use 1.2.7?

I see that @google-cloud/firestore locked grpc to "version": "1.0.5" so I'm guessing that was the issue.

@stx Have you tried removing the package-lock.json file so that npm install picks up the new version of the dependency?

@murgatroid99 Yep, did that to begin with but packages still listed hardcoded old grpc versions that it appears were being used instead. Did another round of updating all of our Google package dependencies so I think grpc 1.2.7+ will be used now and we'll see what info it provides the next go around.

We are looking into this, but the nature of this particular issue is rather hard to pin down. Also, from our investigations, it is likely that this is in fact smaller issues surfacing under a common symptom. The error that is being surfaced is an HTTP/2 error. RST_STREAM has many sub codes, though INTERNAL generally means either 'we don't know what went wrong' or 'something went wrong on the backend of things'.
We have addressed some issues already, though I think there are some left for sure.
What would be helpful is to understand what call you are making when that error occurs. This issue isn't widespread and seems to exist in certain corners. Any information you can provide will help us further reduce these irritating messages.
I can say generally if it happens on a read-only operation, you could retry. If you are in a write operation, I can't be certain that there was no backend change on the error. It is however unlikely.
@stx thanks for adding that. We did make changes that should increase the amount of information provided.

@crwilcox Retries absolutely do not fix it (and really, have nothing to do with it.) The requests perpetually timeout forever until instances are restarted. I'm sure there are multiple causes of this, but the issue @Joshandrews43 and I are describing isn't a random irritating message, it's an outage. So we might not be talking about the same issue here.
Here's a complete reproduction:
const express = require('express');
const admin = require('firebase-admin');
var app = module.exports = express();

app.get('/test', async (_, res) => {
  await admin.firestore().collection('users').where('thing', '==', 'true').get();
  res.send("Success");
});

app.get('/works', async (_, res) => {
  res.send("Success");
});

/test will start to randomly fail forever with the message outlined in this issue.
/works will work forever.
Replace Firestore with Datastore (and firestore-admin with nodejs-datastore) and the problem remains.

@stx The issue with this error causing subsequent requests to fail looks like a bug that was fixed in @grpc/grpc-js version 1.1.2.

@murgatroid99 Awesome! Fingers crossed.

Thanks @murgatroid99! And thanks @stx. I crossed streams of two issues in my head. Sorry for the confusion :)

In order for us to gather feedback better, please add any further details to the Firestore issue at https://github.com/googleapis/nodejs-firestore/issues/1023. The root cause is likely the same and it seems better to gather feedback in a single place. Feel free to add there if you see an issue.


Change the inductive definition of iterative loop spaces?

Experience shows that, at least for homotopy groups, ⊙Ω^ (S n) X should be ⊙Ω^ n (⊙Ω X), not   ⊙Ω (⊙Ω^ n X).

Closing this as there's nothing to do. We have two versions now.


Make sure generic answers are not used for populating the Brand and Model

Answers like Generic_Android, Generic, Feature Phone, Smartphone and others are not useful as a Brand or Model.
The data of the Brand and Model fields should be specific or empty.

Yeah those kind of values need to be removed there.
But we could use those generic values as the device type...?
I'm currently working on a general wrong positives  detection also for the comparison...which is quiet tricky

I've been thinking about that too. You could use those values as device type, but unfortunately they are only available if there is not brand or model detected. So it lacks consistency and I doubt that makes it very useful.

In the new version of UserAgentParserComparison i have all results in the sqlite database, which can be queried now.
I will create a new view foreach provider in the comparison where all detected browser, engines, operating system and devices are listed to check them further.
And then the next step is to go through the different parts of each parser to find such wrong positivies and remove them to improve the abstraction and to correct the comparison results to true values ...

@NielsLeenheer i just checked the list...there are some other wrong positivies in it.
http://thadafinser.github.io/UserAgentParserComparison/results/UAParser/grouped/deviceBrand.htmlhttp://thadafinser.github.io/UserAgentParserComparison/results/UAParser/grouped/deviceModel.html
examples:
rv:11
like Android 4.1.2
freesat/1.0

Yeah, WhichBrowser probably also has one or two of those. But I think there is a big difference between these kinds of unintentional parse errors and deliberate generics.
I think the generics should be filtered out. That is pretty simple to do.
But maybe the errors should stay. And perhaps it would be possible to create a report for these kinds of errors. I'm more than happy to go over the results and see if there are any common patterns that could be included in such a report.

Yep. Generics must be removed - i'm with you.
For parse errors, i currently started to count the matches compared to other providers, to find possible wrong results automatically.
Therefor i harmonize the result
https://github.com/ThaDafinser/UserAgentParserComparison/blob/gh-pages/src/AnalyzeResult.php#L204-L236
and then compare them to get a number, how many times it was also detected from other providers https://github.com/ThaDafinser/UserAgentParserComparison/blob/gh-pages/src/AnalyzeResult.php#L136-L173
I think with this we should get a lot more of such parse errors.

Merged. in #28


getRows not parsing all rows?

The rowCount is 648 but getRows only returns 580. Am i missing something? I expected all my rows to be returned but I only get a subset.

Figured this out, looks like this library will stop parsing on an empty row! Removed my empty row and it worked as expected.

You are correct! Although it is not the library. It's the Google row
based API.
--
Theo Ephraim
http://theoephraim.com
514.998.8436

Bummer! Well glad I figured it out, pressing ⌘+a in the Google Sheet showed me what was going on :)


Bump version to 0.15.3 and update CHANGELOG

Codecov Report

Merging #708 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #708   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           9      9
  Lines        1575   1575
  Branches      260    260
=====================================
  Hits         1575   1575

Impacted Files
Coverage Δ

arrow/_version.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


feat: Button ingredient extraction appear after upload an image. Issue: #1624

What

Button ingredient extraction just appear after having an image(#1624).
To know if it have an image:

In case have image from the server, it verifies if imageIngredientsUrl is not null.

OR in case it is a new image, it verifies if imageProvider is not null.

Screenshot
https://user-images.githubusercontent.com/9115144/166069079-b61eee9b-9723-4c0a-bfff-ec627b503db7.mp4

Codecov Report

Merging #1719 (cb52f76) into develop (2ea0da3) will decrease coverage by 0.57%.
The diff coverage is 0.68%.

@@            Coverage Diff             @@
##           develop   #1719      +/-   ##
==========================================
- Coverage     8.86%   8.28%   -0.58%
==========================================
  Files          161     165       +4
  Lines         6623    7131     +508
==========================================
+ Hits           587     591       +4
- Misses        6036    6540     +504

Impacted Files
Coverage Δ

...h_app/lib/cards/category_cards/abstract_cache.dart
0.00% <0.00%> (ø)

...p/lib/cards/category_cards/asset_cache_helper.dart
0.00% <0.00%> (ø)

...p/lib/cards/category_cards/raster_async_asset.dart
0.00% <0.00%> (ø)

...oth_app/lib/cards/category_cards/raster_cache.dart
0.00% <0.00%> (ø)

..._app/lib/cards/category_cards/svg_async_asset.dart
0.00% <0.00%> (ø)

...smooth_app/lib/cards/category_cards/svg_cache.dart
0.00% <0.00%> (ø)

...t_cards/knowledge_panels/knowledge_panel_card.dart
0.00% <0.00%> (ø)

...t_cards/knowledge_panels/knowledge_panel_page.dart
0.00% <0.00%> (ø)

...knowledge_panels/knowledge_panel_summary_card.dart
0.00% <ø> (ø)

...s/knowledge_panels/knowledge_panel_table_card.dart
0.00% <0.00%> (ø)

... and 48 more

Continue to review full report at Codecov.

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


Disambiguate int type matrix multiply

Closes #4414

I think this is because int implements both __BuiltinIntegerType and __BuiltinLogicalType at the same time.
struct int
    : __BuiltinType

#line 461 "core.meta.slang"
    ,  __BuiltinSignedArithmeticType
#line 470 "core.meta.slang"
    ,  __BuiltinArithmeticType
    ,  __BuiltinIntegerType
#line 476 "core.meta.slang"
    ,  __BuiltinLogicalType
#line 484 "core.meta.slang"
{
   ...omit...
}

I think their costs are same in this case.

We can probably delete that explicit inheritance line for int types, and make sure biultinIntegerType inherits from BulltinLogicalType.


Can't login from CLI

When attempting to login, pinentry pops up, and I enter my password, and then I get the following response:
$ keybase login
▶ ERROR no auth system available (error 100)

Playing around with it, I noticed that that error also shows up when my password is wrong. But, I just successfully used this password to log into the website.
my log id: 8bb34e824f873d816f72bc1c

Your client is super out-of-date.  Can you upgrade?

Seems to have disappeared with the update -- thanks!


Better CI

Summary of changes
Changes introduced in this pull request:

added Makefile for all actions, currently only lint
added lint-all workflow

Reference issue to close (if applicable)

Closes #16
Other information and links

Let's drop the spellcheck.

Why?

Let's drop the spellcheck.

Why?

We're just vendoring the builtin-actors. Since patches aren't pushed upstream, we would have to fix the same spelling/formatting errors over and over again for each new release.

Let's drop the spellcheck.

Why?

We're just vendoring the builtin-actors. Since patches aren't pushed upstream, we would have to fix the same spelling/formatting errors over and over again for each new release.

But as far as I understand, this concerns only the newest (currently) v10 actors, but not anything older, right?

Let's drop the spellcheck.

Why?

We're just vendoring the builtin-actors. Since patches aren't pushed upstream, we would have to fix the same spelling/formatting errors over and over again for each new release.

But as far as I understand, this concerns only the newest (currently) v10 actors, but not anything older, right?

Not sure what you mean. Version 11 of the actors will be a modified copy of version 10. Each version of the actors are a slightly modified copy of the previous version.

Let's drop the spellcheck.

Why?

We're just vendoring the builtin-actors. Since patches aren't pushed upstream, we would have to fix the same spelling/formatting errors over and over again for each new release.

But as far as I understand, this concerns only the newest (currently) v10 actors, but not anything older, right?

Not sure what you mean. Version 11 of the actors will be a modified copy of version 10. Each version of the actors are a slightly modified copy of the previous version.

I mean that there is no issue with keeping the fixes for the older releases.

I mean that there is no issue with keeping the fixes for the older releases.

Fixing the same formatting error over and over again every three months would be a waste of time.

I mean that there is no issue with keeping the fixes for the older releases.

Fixing the same formatting error over and over again every three months would be a waste of time.

Removed spellcheck


Support deep-copy feature

A pending item for parity with oeedger8r is support of deep-copy.

Implemented in 4d541ae


feat(sdk): allow uvicorn to continue accepting traffic for a few secs in default

Tested w/ @xiang90 on staging environment - scaling up and down works without problem.


ball round

I want to use Body app Force to kick a ball, it moves forward but not turn around. How to make it turn around?

Seems like you might be applying the force at the body position? That is the centre of mass by default so there is no net rotation, so instead use a position slightly away from that point.


[feature]: New ViewModel type

Is your feature request related to a problem? Please describe.
I am using the cbl package and I often need to fetch or watch data in the couchbaseLite.
Also I am using Isar to save the user settings and sessions.
Now I have the Problem that I want to fetch the userSettings and also want to watch and fetch data in the couchbaseLite when opening the View.
This is currently not possible because there is no combination of the StreamViewModel and the FutureViewModel.
My current solution is that I fetch the userSettings in a View (route) before I open the desired View and pass them over.
I would like to have the opportunity to call Multiple Futures and Multiple Streams in a single ViewModel on initialise.
Describe the solution you would like
A new ViewModel that is a combination of the MultipleFutureViewModel and MultipleStreamViewModel.
When I open the View with this new type of ViewModel all Streams should be initialised and all Futures should be called and awaited.
There should be a streamsMap and a futuresMap just like as it is now.
The only difference is that "initialise" function calls all futures and initialises all streams.
I suggest the name "MultiDataSourceViewModel" but it is already used as a class name.
Additional Context
No response

Interesting idea, I think the better thing to do would be to allow you to use multiple ViewModels together.
We've attempted that before but it became very messy in the implementation and the use case was so small.
I would run the Future code manually in the ViewModel and use the StreamViewModel to listen to the data changes.


Rebrand and next step of express-saml2

Next big plan would be to remove the bundle with express.js, because this library should not be limited by a single framework.
Some thoughts

Rename but will keep the version history
The current example folder will be separated into new repositories, it's more easier to let user get started instead of cloning the whole library
An open-source and standalone identity provider to provide self-hosted federation services driven by this library

Feel free to discuss here.

Sounds good

Yes, it's definitely not bounded to express.js, so no need to name it as a prefix and we can remove the ambiguity.
Name suggestion (keep updating)

saml2pass
samlify
js-saml2

Examples will be moved into a new organization later on.
https://github.com/Passify

@sebakerckhof How about we rename it as samlify before the release ?

[ ] github repo rename
[ ] package.json (pre-release as 2.0.0-rc.1 before the real release next week)

Yeah, I agree we should do the rename before the release.
Although before the final release I think we should really have some more tests. The coverage of the entity and binding files is really low seeing how much of the functionality is in there.

I quite liked the name express-saml2.  But since this library has no connection with express.js, it shouldn't have a connection via the name either. I support a name change. :)
I haven't had time to test v2 yet, but I'm planning to work more on my SAML2 project tomorrow.  I can upgrade then, and give feedback if I find anything.
Vegard :)

Btw, what about registering an npm scope? So we can do @passify/samlify or something like that.

I have already make the first rc release in npm. npm install<EMAIL_ADDRESS>


Full tools release on Pypi?

Not an actual issue, I'm using the core release from pypi for some projects and I'm wondering if you can update the pypi version to include all the functions and data capturing methods? i would like to be able to see devices on the network and power consumption data from that module for example. No problem if you're busy or don't see value in it :)

I'm still working through full testing on the power consumption data, I should get that finished up and published within a few days. I think that's the only think that has not yet been posted to the PyPI package.
I'm unclear on what else you're asking for. Are you looking to have the scripts that push the data into the various data backends published? I haven't done that to date because the script naming is a little awkward to be at top-level and nobody has requested it so far, so I decided not to worry about trying to move them into a package namespace.
If you're looking for some other functionality to be supported by the core module, you'll have to be more specific. The devices on network thing you mentioned sounds like a function of the router, which these scripts are not currently targeting.

hmm okay maybe I am thinking more router controls then, I saw there was one script that allowed us to reboot the starlink, stow it, etc. basically the dish_control.py and dish_check_update.py from a quick look. and is it possible to implement the router controls/communication? or is that a whole different thing?

The Starlink router does also use grpc for most, if not all, of whatever you can configure for it in the Starlink mobile app, so if you can do it in the app, it should be possible to do it with a script.
The grpc protocols the router uses are even shared with the dish. However, most of the requests are either dish-specific or router-specific, so they might just as well be separate. The router-specific requests tend to change all the time, though, whereas the dish-specific requests change very slowly. In practice, this means it's not practical to try to keep up with all the latest changes on the router side. I would expect that basic configuration and control requests, like the ones you mentioned, are probably stable enough, though.
There are 2 main reasons I have not messed with the router grpc to date:

The dish scripts were originally about polling and recording information, not about configuration or control. It didn't seem to me that there was much point recording the information that could be polled from the router.
I don't use the Starlink router myself and it's been well over 3 years since I even had it plugged in.

I can see the usefulness of configuration and control scripts for the router, so I think that first reason is no longer valid, but the second is still very much in play.

okay no problem, thanks so much for your time. Could you maybe point me towards some resources for finding out how i could interface with the router myself as i am still using my Gen2 router with my dishy?

As far as I know, SpaceX has not published the protocol (.proto) files publicly. Which means that posting the generated protocol modules, such as the one you pointed to, is probably trampling on SpaceX copyright (at least in the US), as they are clearly derived from the reflection data. SpaceX may or may not actually care about that, but this is the reason why I don't ever post them, and primarily use reflection at run time to get the Python grpc data structures.
The dish has the grpc reflection service enabled, though, and I expect the router does, too. As such, it is easy enough to browse the protocol using grpcurl (which can be found here). I wrote up instructions for doing that on a Wiki page. Those instructions were written for the dish, but should work on the router IP, too. According to my notes, the router uses port 9000 for this instead of 9200 that the dish uses.

I'm going to close this issue. Feel free to re-open, or to open a new one, if you have further questions.


Added a wrapper around functions with result based completion blocks

I found the new methods you added to wrap Cocoa based completion blocks so useful, that I wrote one to wrap around all the frameworks that use Result type completion block.
This means that using a simple extension/protocol extension, one can transform a Result completion based api to a promise based for new methods, while maintaining backwards compatibility with a need for large code re-writes.

Thanks for your work and sorry for not getting back to you sooner.
While I agree that the function you suggest is useful, I'm not sure if it should be in BrightFutures itself. As opposed to the wrappers for Cocoa APIs, the API that you'll be wrapping with the proposed function is most likely within your own control. You could rewrite that API to use futures instead of completion blocks with Results.
But, as you mention, you sometimes want to keep backward compatibility, as a transient state. I think the proposed function is part of a compatibility layer that is specific to your project at that point in time, more than that it should be part of the BrightFutures core.
So because of that, I vote for not merging the PR as it stands.
Please let me know if/why I should reconsider.
Thanks again!

Hi,
I think the decision should be based on wether or not you believe Result type will become a standard type in 3rd party frameworks. Since I already see it in Alamofire (I know it's not the same implementation) and other large frameworks, I believe it will become. Especially since there is no good way in swift for return types of async tasks that are not implicit (value: type!, error: error!).
It requires knowing the code for Result Type, BrightFutures, and basis for functional programming for a user of BF to get the solution I PRed. I just thought it could facilitate people with introducing BF in parts of the project instead of as a stand in replacement.
I do not have strong feelings for it though :) I just wanted to help other people.
Thanks again for putting your time into this framework.
Yoav.


adding ping max failures

I am sure this PR is nowhere near ready for approval. I'd like to get some feedback on the approach. We currently have a situation where the websocket backend we are connected is at times very busy and doesn't seem to prioritize pong frames. We keep receiving data but pong frames seem to be quite delayed, or even worse never sent. The idea is to have a maximum number of consecutive ping failures, defaulted to 1 which doesn't change the existing behaviour. We don't really want to increase the ping timeout as that might still lead to a socket failure, which we are trying to avoid. We'd rather try to ping a few times more before bailing out.

I suspect some headwind with this change.  The discussion in the related issue was tending towards a change that made pings sending more flexible.  There are reason for this like avoiding pings for websockets with obvious traffic, and backing off for dormant websockets.
https://github.com/square/okhttp/issues/5855#issue-576940619
This change adds public API which is the most contentious thing around allowing for faulty servers.  Tolerating missing pongs seems awkward generally because if its because the network connection is faulty, then the websocket likely isn't healthy.

I suspect some headwind with this change.  The discussion in the related issue was tending towards a change that made pings sending more flexible.  There are reason for this like avoiding pings for websockets with obvious traffic, and backing off for dormant websockets.
https://github.com/square/okhttp/issues/5855#issue-576940619
This change adds public API which is the most contentious thing around allowing for faulty servers.  Tolerating missing pongs seems awkward generally because if its because the network connection is faulty, then the websocket likely isn't healthy.

In your concrete case is it the server that is unhealthy and not responding? Or it is the network, including congestion and extending the timeout?

In your concrete case is it the server that is unhealthy and not responding? Or it is the network, including congestion and extending the timeout?

@yschimke, thanks for reviewing the PR. As far as we can see, the server occasionally misses to reply to our ping within the ping interval. I know for a fact that we are receiving messages from the other side, so the connection is actually healthy. I can see messages coming in right up to moment okhttp fails the connection because of the missed pong reply. Don't see any congestion on the host and at the network level. I believe some websocket backends deprioritize ping/pong frames, almost like routers do with ICMP, where the traffic is generally classified as low prio. I will investigate more though. I thought of dropping this here to kick off a discussion and see if such feature could make sense.

@yschimke, thanks for reviewing the PR. As far as we can see, the server occasionally misses to reply to our ping within the ping interval. I know for a fact that we are receiving messages from the other side, so the connection is actually healthy. I can see messages coming in right up to moment okhttp fails the connection because of the missed pong reply. Don't see any congestion on the host and at the network level. I believe some websocket backends deprioritize ping/pong frames, almost like routers do with ICMP, where the traffic is generally classified as low prio. I will investigate more though. I thought of dropping this here to kick off a discussion and see if such feature could make sense.

I think the deprioritization you are describing is good evidence for the suggestion by @swankjesse to avoid sending while we have active traffic.

I think the deprioritization you are describing is good evidence for the suggestion by @swankjesse to avoid sending while we have active traffic.

@yschimke - yes, as a matter of fact, that would've been the next thing I wanted to discuss. Within my team, we initially assumed that okhttp was only sending the ping if the connection has been idle for a given amount of time. But we soon realized that it pings at a given interval regardless of activity and fails hard after the first failed attempt. Maybe the sweet spot lies with a combination of max failures and last activity?

@yschimke - yes, as a matter of fact, that would've been the next thing I wanted to discuss. Within my team, we initially assumed that okhttp was only sending the ping if the connection has been idle for a given amount of time. But we soon realized that it pings at a given interval regardless of activity and fails hard after the first failed attempt. Maybe the sweet spot lies with a combination of max failures and last activity?

@yschimke @swankjesse - I added the logic to check the last activity. I am not a kotlin dev, let me know if things could be done better and in a more efficient way. I am eager to discuss this more if you think it's worth it..

@yschimke @swankjesse - I added the logic to check the last activity. I am not a kotlin dev, let me know if things could be done better and in a more efficient way. I am eager to discuss this more if you think it's worth it..


Fix invalid IP header length in ICMP packets

Fix issue #4
Correctly set IP header's length field for ICMP packets.

Awesome, thanks! :+1:


Trouble Loading Video feeds

Issue description:

We have a setup built using react and Video feed for other participants is loading.
Steps:

The Host joins the meeting room
External visitor requests to join the room
Host approves the request
External Visitor is in the room
video feed for one user is not visible to other user.
if the host refreshes and joins back again then the video feed is available of one user to other user

It does not load the video feed for other participants in call on the first load. However, if you refresh couple of times then it seems to be working fine although, this is true for the host the external Users joining can not do the same as they will require to wait for the approval of the host.
Another, issue is after the host refreshes the page they are not able to add any other recipients to the call. After inspecting WS (websocket)- events the error I found is "not_in_a_room".

not_in_a_room error indicates that the user hasn't joined the room. Possibly didn't call the joinRoom function?
https://docs.whereby.com/reference/react-hooks-reference/guides-and-concepts/migrate-from-version-2.x-to-3#joinroom


execution expired (Faraday::ConnectionFailed)

Hello, I have a strange situation in the Google Cloud running ldeploy.
First, my build:

Starting with Ubuntu 20.04
apt install -y python3-dev
apt install -y python3-pip
apt install -y ruby
gem install gazer
pip3 install looker-sdk
pip3 install looker-deployer

When I do this build in my own personal CGP account "ldeploy content export folder" works perfectly fine.

ldeploy content export --ini /u01/admin/conf/looker_environments.ini --env dev --folders 1 --local-target /u01/admin/data

When I do this build in my company's GCP account, the same command ends in a timeout:
ldeploy-export-error.txt
So I am suspecting some kind of firewall issue.  Egress is wide open.
Do I need to open specific ports for ingress for ldeploy to work from GCP?  I don't see anything in the doc with respect to this.

Hey @scboyce,
I think it sounds like a networking...can you try the following two commands from the GCP Instance? The first one will pull the headers, I would assume that it would say it cannot resolve the host if it can't connect to the instance. The second one will return an access token, this will test if you're able to work with the Looker API.
curl -I http://www.instance.cloud.looker.com
curl -d "client_id=xxxxxxx&client_secret=yyyyyyy" https://instance.cloud.looker.com:443/login

Hey Adam, thanks for reply.
Both commands succeed.
The first returns "HTTP/1.1 303 See Other" among more messages, all look OK.
The second returns nothing.
Here is another interesting detail.  When I attempt to extract a folder with one dashboard and no subfolders, it succeeds.  it only fails when I try to export from the top level shared folder (1).
Also when I watch netstat in another window, I see all outgoing comms on 443 and incoming comms on many rotating ports.
I can see some back and forth, including ACK, but after about 4 or 5 rounds to messages it hangs on SYN_SENT.  So either the message is getting blocked or mangled on the way out.  There is no way for me to know if the API got that last message.
I agree this sounds like something in our network with respect to outgoing packets.  I have raised an internal ticket with our network engineers.  As long as I don't need to open more ports, I am convincing myself this is on our side.

@scboyce thank you for the update; we will be closing out the issue, as it sounds internal/networking, but please open another issue if you need any more assistance!


Fix tests/test_capabilities.py with correct check of request case

As far as I know, the OGC standard state that request parameters name such as 'service' or 'request' are not case sensitive, but the values of those are case sensitive [1].
[1] OGC 06-121r3 §11.5.1
Overview
Related Issue / Discussion
Additional Information
This contribution is supported by MINES ParisTech.
Contribution Agreement
(as per https://github.com/geopython/pywps/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

[x] I'd like to contribute [feature X|bugfix Y|docs|something else] to PyWPS. I confirm that my contributions to PyWPS will be compatible with the PyWPS license guidelines at the time of contribution.
[x] I have already previously agreed to the PyWPS Contributions and Licensing Guidelines

Coverage remained the same at 81.053% when pulling 89e7a9f17959b865e9c40f892a620fbadaea3132 on gschwind:service-parameter-is-case-sensitive into 85ca8191f1440e5906210408d2fa48c41f0ca679 on geopython:main.

@gschwind thanks :)


WIP - Allowing scrolling content to inform insets

This is a WIP, and primarily for full-picture reference.
Actually landing this will be split up into multiple PRs.

Issues:
Fixes https://github.com/flutter/flutter/issues/107322

#13253
#79081
#71819

Design Doc

This allows scrolling content to contribute inset information to inform things like overscroll indicators and scrollbars.
Widgets that contribute inset information:

SliverAppBar
SliverPersistentHeader
CupertinoSliverNavigationBar
SliverOverlapAbsorber/Injector (might be redundant, checking test cases with NSV on this one)

Widgets that use this inset information:

Scrollbar
RefreshIndicator
GlowingOverscrollIndicator
StretchingOverscrollIndicator
MaterialBanner

Status: Still need to confirm a few test cases (on separate branches)

NestedScrollView
CupertinoSliverNavigationBar
StretchingOverscrollIndicator

There is a scrollbar cleanup that needs to land first, and a couple of other bugs I found in the course of working on this.

#107179
#107177
#107172
#106835
#106831

Pre-launch Checklist

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
[ ] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[ ] I signed the CLA.
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Also, here is the design doc for more context: https://docs.google.com/document/d/1-yEwhPP3-qZ1-a-o0TorF0GP50En4Uwhp2g4OKj5Xzs/edit?usp=sharing

@Piinks Hi, I just read the design document and downloaded your code today.
Next Monday I will look at the code implementation detail.
Have a nice weekend: )

Thank you very much! I really appreciate your expertise on this. :)

Looking at these changes I cannot help but wonder if it even makes sense to have a SliverAppBar. Also while attempting to implement a SliverPinnedFooter (see kavantix/sliver_tools#20) I sort of came to this realization.
Having these headers and footers be part of the normal slivers brings all kinds of complications with it like these insets for the scrollbar and the paint order in case of building a footer.
For instance, say I have a list of slivers with a SliverAppBar later on, when and how should the scrollbar use this inset?
So what I’m trying to say is did we ever consider re-evaluating if SliverAppBar needs to be a sliver at all. Wouldn’t all of this be a lot easier if it was a box widget that you would wrap around the scrollview, it then could still use the scrollcontroller/position to determine things like expand and stretch and position and size the scrollview accordingly. This would automatically mean that the scrollbar and such will be rendered only on the actual scrollable part without having to add anything to the sliver geometry and having to think about all possible cases this could be used in.

Hey @Kavantix thank you for sharing your insights. I have wondered the same recently, as far as taking SliverAppBar's functionality out of the sliver and into a box. A couple of months ago I learned about the ScrollNotificationObserver that was added to AppBar in order to perform the scrolledUnder behavior from material design. I think it might be possible then to have the AppBar stretch, and float etc. by listening to scrolling events, I have not tried it yet though.
I have heard from a number of folks that SliverAppBar is really why they end up using slivers, and sometimes undesirably just so they can get those effects. Definitely worth investigating. I have not been able to resolve some edge case issues with this proposal, so I may consider experimenting with AppBar next as a solution.

Interesting using scroll notifications means that the scroll under effect is always a frame behind. I guess that’s acceptable for it, it would not be for the AppBar though.
I’ll see if I can come up with a proof of concept for this

Managed to get a (hacky) PoC working in this gist
It has a collapsible AppBar that can be pinned and/or floating.

Wow! Thank you @Kavantix! That is really neat.

Finally circling back here. I am planning on moving forward with this without the scrollbar. I think this makes sense for edge scrolling widgets like the overscroll indicators and refresh indicators. They always come from the end of the scroll view on one side or the other. With a scrollbar, any edge pinning sliver like SliverPersistentHeader can be introduced anywhere in a custom scroll view, and trying to dynamically adapt to the content isn't very reliable or consistent - or pretty in some cases. I'll reopen this as a new PR, and include some guidance on scrollbars.

Finally circling back here. I am planning on moving forward with this without the scrollbar. I think this makes sense for edge scrolling widgets like the overscroll indicators and refresh indicators. They always come from the end of the scroll view on one side or the other. With a scrollbar, any edge pinning sliver like SliverPersistentHeader can be introduced anywhere in a custom scroll view, and trying to dynamically adapt to the content isn't very reliable or consistent - or pretty in some cases. I'll reopen this as a new PR, and include some guidance on scrollbars.

What ended up being the guidance on scrollbars?


newest manifest version?

Hi-- my app got rejected from app store submission on the grounds that it was "manifestVersion": "1.5"
I was told to upgrade to the newest version. app studio generated a 1.9 for me but I see 1.10 is the newest according to:
https://github.com/OfficeDev/microsoft-teams-app-schema/releases
Which am I supposed to use?

Hello,
Please go ahead and use v1.10.
Let us know if you face any issues.
Thanks


gunicorn.conf.py Permissions Prevent Container From Starting

When starting the container I get the following error in the logs:
Starting seahub at port 8000 ...
Failed to read config file: /opt/haiwen/conf/gunicorn.conf.py
Traceback (most recent call last):
File "/opt/haiwen/seafile-server-9.0.2/seahub/thirdpart/gunicorn/app/base.py", line 111, in get_config_from_filename
spec.loader.exec_module(mod)
File "", line 724, in exec_module
File "", line 859, in get_code
File "", line 916, in get_data
PermissionError: [Errno 13] Permission denied: '/opt/haiwen/conf/gunicorn.conf.py'
Error:Seahub failed to start.
This is the permission of the file in the Docker volume:
root@dockerhost:/media/data/files/conf# ll
total 7
drwxrwxrwx 1 seauser seauser  496 Feb 28 09:41 ./
drwxrwxrwx 1 seauser seauser 4096 Feb 28 09:37 ../
-rwxrwxrwx 1 seauser seauser   10 Feb 28 09:37 ccnet.conf*
lrwxrwxrwx 1 seauser seauser   13 Feb 28 09:41 conf -> /seafile/conf
---------- 1 seauser seauser  295 Feb 28 09:41 gunicorn.conf.py
-rwxrwxrwx 1 seauser seauser   52 Feb 28 09:37 seafdav.conf*
-rwxrwxrwx 1 seauser seauser   23 Feb 28 09:37 seafile.conf*
-rwxrwxrwx 1 seauser seauser   90 Feb 28 09:37 seahub_settings.py*
Changing the permissions in Docker volume has no effect. Changing the permissions on the linked folder as Seahub tries to start does work:
docker container exec seafile chmod -R 777 /opt/haiwen/conf/gunicorn.conf.py
Seahub will then start and I can access the Seafile web interface. However, if the container restarts then the permission issue returns.
Is it possible to fix the permissions on the gunicorn.conf.py file?

The weird thing is that the same file modification happens to seahub_settings.py so it's strange that you don't have permission issues with that file.

Because I cannot replicate the issue, I'm not sure how to get it working. For now, I've changed so that the gunicorn config is edited using the seafile user rather than the (default) root user when starting up. This might solve it for you. Let me know if this works.

Thanks! I'll give it another go.

Thanks! I'll give it another go.

Any luck?


Need more docs on sqsh_file_iterator_skip

Is your feature request related to a problem? Please describe.
The docs aren't clear enough for me to understand the expected use of sqsh_file_iterator_skip.

What is the offset relative to? The beginning of the current data, the end of the current data, the beginning of the archive?
The offset parameter is documented as @param[in] offset, but it is taken as sqsh_index_t *offset, and does appear to be written to. Need to document what will be in *offset after calling the function.
Is sqsh_index_t (size_t) the right type? It seems like an offset into a file could be much larger than a size_t on a 32 bit system.

Describe the solution you'd like
Docs on the above questions.

Does this answer q1 and q2?
diff --git a/include/sqsh_file.h b/include/sqsh_file.h
index 6026a4c0..73432283 100644
--- a/include/sqsh_file.h
+++ b/include/sqsh_file.h
@@ -150,11 +150,30 @@ SQSH_NO_UNUSED bool sqsh_file_iterator_next(
  * Note that calling this function will invalidate the data pointer returned by
  * sqsh_file_iterator_data().
  *
- * @param[in,out] iterator The file iterator to skip data in.
- * @param[in] offset        The offset that is contained in the block to skip
- * to.
- * @param[in] desired_size  The desired size of the data to read. May be more or
- * less than the actual size of the data read.
+ * The offset is relative to the beginning of the current block or, if the
+ * iterator hasn't been forwarded with previous calls to
+ * sqsh_file_iterator_skip() or sqsh_file_iterator_next() the beginning of the
+ * first block.
+ *
+ * After calling this function offset is updated to the same position relative
+ * to the new block. See this visualisation:
+ *
+ * ```
+ * |<--- block 8000 --->|
+ *             offset 10000 --^
+ * _skip(i, offset, 1)
+ *                      |<--- block 8000 --->|
+ *              offset 2000 --^
+  ```
+ *
+ * If libsqsh can map more than one block at once, it will do so until
+ * `desired_size` is reached. Note that `desired_size` is only a hint and
+ * libsqsh may return more or less data than requested.
+ *
+ * @param[in,out] iterator      The file iterator to skip data in.
+ * @param[in,out] offset        The offset that is contained in the block to
+ * skip to.
+ * @param[in] desired_size      The desired size of the data to read.
  *
  * @return 0 on success, less than 0 on error.
  */

For q3:
Yes, it would make sense to have a different datatype (uint64_t for example) for files bigger than 4 GB. Huge files is still an area where libsqsh has rough edges.

I think maybe I have some confusion about what the "current" block means. Does this mean if I do:
SqshFileIterator *it = ...;
sqsh_file_iterator_next(it, 1024);
char *previous_data = memdup(sqsh_file_iterator_data(it), ...);
sqsh_file_iterator_skip(it, 0, 1024);
const char *after_data = sqsh_file_iterator_data(it);

Does that mean previous_data will contain the same thing as after_data? I would have expected offset to be relative to the end of the current data.

Yes, this should be a nop. The current block is what _data() returns.

Interesting, that's not what I would have expected, but that does seem to match what I'm seeing. That doc looks good to me, then.

There are historic reasons why it feels wrong.
There were ideas that _skip() required _next() to be called afterwards to return valid pointers again. But it felt clumsy and was a potential security flaw. That's why I changed the semantics. The plan was that to the user it should feel like "calling _next() n times, internally it could do some optimizations. So, back then skip didn't take an offset in bytes but an offset in blocks.
It started to break when optimizations where introduced that caused the blocksize to be variable. So _skip(5) could yield different results then calling next() 5 times when files contain sparse blocks for example. That's why I changed it to byte offsets to work in those scenarios consistently while keeping the noop characteristic of _skip(0).
I guess the combinations of those two semantical changes is why this function feels awkward.
I'm not sure if it makes sense to change the semantics again. But maybe there's a better name than _skip?

I honestly think it makes sense if I shift from my "rust iterators" mindset to "c++ iterators" mindset, I'm used to thinking of "the yielded item is now gone, we're on the next one now", so I expected _skip(0) to end getting the next block.

 That's actually a pretty good comparision: Rust iterators hand over ownership, but libsqsh iterators just give you the reference and keep ownership. Actually, that's a design issue with my rust wrapper and Implementing Iterator<T> for the libsqsh iterators. I'm pretty sure I can solve it with RefCells somehow, but I haven't worked it out yet.

I think it's actually fundamentally incompatible with the Iterator trait, you would want some kind of streaming or lending iterator.
Instead, in my bindings, I've avoided the iterator trait, it's only a little less ergonomic to use:
https://github.com/Dr-Emann/sqsh-rs/blob/0ee389af606f04d30776bd4756a7ccd2ed201fd3/sqsh-rs/examples/list_dir_ll.rs#L12-L15. The lifetimes are a little messy, but I believe it's all needed for accuracy: A directory iterator yields names bound to the lifetime of the iterator itself, but allows opening a file which is bound to the lifetime of the original archive, and is totally unbound to the directory iterator.


#6307 remove lombok from global scope: only use where required

Signed-off-by: Nigel Jones<EMAIL_ADDRESS>

Description
Removes use of the lombok plugin/dependency except in modules where required
Ensures both the lolbok plugin & modified javadoc build are pushed to those modules
maven & gradle
Fixes #6307
How Has This Been Tested?
Build only
Any additional notes for reviewers?

Tested - only delombok directories after execution are:
./open-metadata-implementation/governance-servers/open-lineage-services/open-lineage-services-api/target/delombok
./open-metadata-implementation/access-services/data-engine/data-engine-api/target/delombok
./open-metadata-implementation/access-services/data-engine/data-engine-server/target/delombok
./open-metadata-implementation/access-services/glossary-view/glossary-view-api/target/delombok
./open-metadata-implementation/access-services/asset-catalog/asset-catalog-api/target/delombok
./open-metadata-implementation/access-services/asset-catalog/asset-catalog-server/target/delombok
./open-metadata-implementation/access-services/asset-lineage/asset-lineage-api/target/delombok
./open-metadata-implementation/user-interfaces/ui-chassis/ui-chassis-spring/target/delombok

(maven)


Keys Incompatible With PSR-6 and PSR-16

The grouping docs state that hierarchy is possible by separating nesting levels with /. This is incompatible with PSR-6 and PSR-16, which both explicitly prohibit that:

The following characters are reserved for future extensions and MUST NOT be supported by implementing libraries: {}()/\@:.

Compatibility can be maintained by simply not using the feature.

Yes, that means that the keys I use in my software may be compatible, but your software is not compatible. MUST NOT be supported is very clear, and doesn't leave it up to interpretation, IMHO.


PopBackStack impossible with AndroidFragmentApplication

I can't figure out how I can pop the FragmentManager back stack using AndroidFragmentApplication backend... the defaut behaviour of the back key using this backend is to kill the Android app. So previous fragments added to the back stack are not pushed back.
If I use :
initializeForView(new ApplicationListenerImpl() {
            @Override
            public void create() {
                Gdx.input.setCatchBackKey(true);
                super.create();
            }
        }, config);

Then the app is not killed but the default back button behaviour for fragment stack is not applied... the back button input is simply ignored...

@avianey    If I lock the screen on Android8.1 and unlock it, I will have this problem.  version  1.9.8

@tpnet Especially when multiple libgdx SurfaceViews are easy to appear, fast onPause/onResume


[WIP] Cherry-pick GUC related code base from GreenPlum [Mar 8, 2022 - Nov 25, 2022]

Normal Conflict:

Backport PARALLEL RETRIEVE CURSOR changes
Add GUC gp_log_endpoints to print endpoints information to server log
recalculate QE's query_mem proportionally (#13160)
[7X] Feat: Find the pids of overflowed subtransaction (#13992)
Add a GUC to control the output of suboverflow transaction sql statement (#14019)
Add a GUC to display create gang time while executing statements
Order items in sync/unsync_guc_name.h

Code file address changed:

Add gp_backend_info() for runtime introspection/debugging
Use hostname instead of ip to compute the host_segments.
Support both unicast and wildcard address binding

Skipped:

INSERT/COPY on AO/CO tables with unique indexes
ao/co: Retire dev guc hiding unique index feature

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 16 committers have signed the CLA.:white_check_mark: foreyes:x: adam8157:x: dgkimura:x: SmartKeyerror:x: kainwen:x: thedanhoffman:x: Tao-T:x: soumyadeep2007:x: fairyfar:x: dh-cloud:x: Aegeaner:x: yaowangm:x: gpopt:x: divyeshddv:x: zxuejing:x: dreamedchengYou have signed the CLA already but the status is still pending? Let us recheck it.


Update SelectList.tsx

Changing 'row.search' to 'row.startsWith' reduces search time and the amount of data in filtereddata, which speeds up the operation of the component

Switching to row.startsWith may speed up the operation, but it will also remove the fuzzy search functionality, which might impact user experience if they rely on partial matches.


Following the instructions, I see an error in the log after startup:
20:10:34 kf.1   | 2015-04-20T20:10:34-0700 pri=WARN, t=main, at=k.c.AppInfo$ Can't read Kafka version from MANIFEST.MF. Possible cause: java.lang.NullPointerException

Sure enough, there doesn't seem to be a version specified in any of the manifests:
maciek@mothra:~/code/aux/zkkf$ for jar in $(find -name \*.jar); do unzip -p $jar META-INF/MANIFEST.MF; done
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: maciek
Created-By: Apache Maven
Build-Jdk: 1.8.0_40-internal
Main-Class: org.apache.zookeeper.server.quorum.QuorumPeerMain

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: maciek
Build-Jdk: 1.8.0_40-internal

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: maciek
Created-By: Apache Maven
Build-Jdk: 1.8.0_40-internal
Main-Class: kafka.Kafka

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: maciek
Build-Jdk: 1.8.0_40-internal

This seems benign but I'm not really sure at this point.

I have mostly tested this on OSX with Sun JDK 7. Will try on trusty with 8.

fixed in 2b7ee1e


Comments: How to Test Private and Protected Methods in Java

Comments for: How to Test Private and Protected Methods in Java

This is a test comment :)

Yet another comment!


[RESOLVED] High ICMP ping response time

Problem started at 08:39:14 on 2023.08.12
Problem name: High ICMP ping response time
Host: MF-FG
Severity: Warning
Operational data: Value: 675ms
Original problem ID: 35298
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23132&eventid=35298

Problem has been resolved in 4m 0s at 08:43:14 on 2023.08.12
Problem name: High ICMP ping response time
Host: MF-FG
Severity: Warning
Original problem ID: 35298


progress reporting and cancellation

The converter is surprisingly slow (I wonder why?) and the problem with that is it locks up the IDE.
It should support progress reporting and cancellation via a ProgressMonitor-type construct.

The parser is slow, not the actual converter.
On a random sample, the parser (parser.compilationUnit()) takes 89% of the time spent in the paste action. I was able to narrow it down to this method being called a lot (cumulating 76% of the total time), but I don't really know what to do with that. I'm not sure if it's something that can be fixed in ANTLR, or if we should try to change the grammar to make it more efficient.

That's really strange. Our ANTLR-based Ceylon parser is way way faster.


Add cloudwatch metrics auto-configuration with aws sdk v2

As part of the effort to move to aws-sdk-v2. Metrics has been added using
micrometer-registry-cloudwatch2 as a auto-configuration.

I am not sure if this is how its done in Stackdriver integration in GCP. As far as I can see, in Spring Cloud GCP client can be configured with  spring.cloud.gcp.metrics (https://docs.spring.io/spring-cloud-gcp/docs/current/reference/html/index.html#spring-data-cloud-spanner) but Micrometer related properties go to management.metrics.export.stackdriver.
Shouldn't we have the same for Spring Cloud AWS? The benefit of configuring client through spring.cloud.aws.cloudwatch would be ability for CloudWatchProperties to extends AwsClientProperties which could be then configured with AwsClientBuilderConfigurer.

Spring boot provides auto-configuration for stackdriver and other but not for cloudwatch v1 nor v2 and management.metrics.export.stackdriver works for those actuator auto-configurations. In GCP case, it the auto-configuration provided by gcp executes before the one for spring-boot, providing the information needed.
This PR follows the the current implementation in previous version but I was also thinking about give the shape similar to what GCP does but then I realized that we will be providing two auto-configurations in the same place, one similar to the one that provides spring boot for stackdriver and other similar to the one that spring-cloud-gcp does. I would prefer to keep it as previous version on spring-cloud aws because everything is already powered by spring boot. Let me know your thought on this.

Do you know why Spring Cloud GCP provides its own Stackdriver autoconfiguration if its already covered in Spring Boot?
I think it would be nice that CloudWatchProperties extend AwsClientProperties so that we can have same ways to configure all AWS clients properties.

spring boot stackdriver auto-configuration needs a project id and credentials to be setup manually meanwhile spring cloud gcp does that automatically taking into account global properties for the attributes mentioned at the beginning.
CloudWatchPropeties doesn't extend AwsProperties because it already extends StepRegistryProperties but region and endpoint are already provided in order to keep consistency with other autoconfigurations.

Look at the commit I've added as i think its easier to discuss the actual code - when client properties are separated from metrics properties, we can use AwsClientBuilderConfigurer and keep all clients configuration consistent - not saying that it must be like that, but I don't see any drawbacks.

Thanks @eddumelendez. Docs are pending but to avoid efforts for keeping this branch up to date we can add docs in separate PR, just has to be done before we release M2.


Software bitmap resolution

Hello,
While trying to find the resolution of the frames captured with the VisibleLight cameras, i found out using PixelHight and PixelWidth, that the resolution is 160x480 which is different from the resolution of the registered images with the recorder in a pgm format (640x480).
And how can we use this resolution (680x480)  with the streamer ?
Thank you

This might be caused by the fact that the 4 visible light cameras are gray scale but they are stored as RGBA images, where color channel contains a valid grayscale pixel. This, the image is 4x smaller in the width. This is not ideal in the current implementation.