linking pysteps under the GPL3 license

It has been pointed out that there may be an issue regarding the GPL3 license under which  pysteps is currently published. This concerns whether or not a non-GPL software can legally link to a GPL library (as explained in this Wikipedia page):

if one releases a GPL-licensed entity to the public, there is an issue regarding linking: namely, whether a proprietary program that uses a GPL library is in violation of the GPL.

In essence, this boils down at whether or not using pysteps can be considered or not as "derivative work", which GPL clearly requires to be put under the same GPL.
Apparently this is a controversial matter and different opinion exist.
I would like to see if anyone has comments/opinions on the issue. Maybe somebody with more experience with open-source lincenses could give us some advise? Should we consider using a different license?
I personally would prefer not to limit the use of pysteps from within non-GPL softwares, but this is of course open to discussion.

The GPL is restrictive in the sense that enforces the "open source" idea. That means that, if you use a GPL library in you need to make the source code available also.
An alternative is the GNU Lesser General Public License (LGPL). With that license, applications that use the library don't have to be redistributed under LGPL. That means, you don't need to distribute the surce code if you are only using the library. You only need to do it if you distribute a derived work.
Another license that I personally like is BSD-3. It allows  almost unlimited freedom as long as you include the pysteps copyright and a copy of the license when you distribute any derivative work.
BSD-3 is similar to the MIT license, but BSD don't allow to use the name of the copyright holder nor the names of its contributors to endorse or promote products derived from this software without permission.
We need to discuss how "permissive" we want the license to be, and then, choose the license accordingly. I personally prefer permissive licenses.
To serve as a reference, below a list of opensoure package and their respective licenses.

py-art: Looks like a BSD-3 license.
pandast: BSD-3
numpy: Looks like a BSD-3 license.
xarray: Apache License
BALTRAD: (LGPL)
wradlib: MIT license.
PyRadarMet : GPL
WRF model: Public domain

Sorry that I said I would bring this up but didn't, as I was too busy over the past couple of weeks. Thanks @dnerini for taking the initiative.
From the perspective of a potential user, we can happily use it as long as it's not strictly GPL.

No worries @wcwoo, I decided to open the issue myself as I think it is something important to be discussed here. Thank you for having mentioned this issue in the first place.
And thanks @aperezhortal for the exhaustive overview. From my side this is now pretty clear: if the aim of pysteps is to become a general library for nowcasting purposes and related applications, then GPL is too restrictive as it would limit its use in non-GPL softwares.
This said, I wouldn't know whether we should go for LGPL, BSD or MIT, I guess this also becomes a matter or taste. We could also consider which license is most popular among potential users of pysteps, and this is already nicely illustrated in the list above.

It looks like we are now converging towards the BSD-3 license.
I will leave this discussion open for the moment, in case somebody has something to add or comment about the topic. We plan to update the pysteps license with the next V1.0.0 release.

I have no objections to this license change.
In fact, I wholeheartedly agree with switching to BSD-3 license. That'll help out in avoiding licensing problems in the future, if (when) pysteps library is used in operational nowcasting systems.

Commit 9522198b37bd27b8ba20ea0ed6e315aeb77997e9 closes this issue.


Release 1.5.0

@rndstr @fbarl @davkal @foot @ekimekim @bowenli @jpellizzari @abuehrle @pidster @errordeveloper @rade Please chip in by testing this release branch in the scenarios below and tick off what you tested afterwards (including your name at the end). Have a look at the CHANGELOG to prioritize your testing.
To make things easier to test I have pushed the image weaveworks/scope:release-1.5-1667984:

[ ] Start a 2 node cluster and leave a UI connected, watch for performance regression
[ ] Run a Scope cluster on ECS
[x] Run Scope on https://github.com/microservices-demo/microservices-demo/
[x] Run Scope on Docker For Mac
[x] Start and stop Scope in standalone mode

[x] Linux
[ ] docker-machine

[x] Connect probes from release candidate to Weave Cloud

[x] Local scope in probe-only mode connects to Weave Cloud and renders correctly

[x] dev
[x] prod

[x] Controls appear for containers and function correctly

[x] dev
[x] prod

[x] No new errors in logging or telemetry

[x] dev
[x] prod

[ ] UI integration

[x] Hot-reloading cd client && npm i && npm start and open http://localhost:4042
[x] UI under prefix path  cd client && npm run build && npm start-production and open http://localhost:4043/scoped/
[ ] URL parameters: Run previous release and click around, keep UI open, start new release, reload page

[x] UI features
(To test: clone microservices demo and run cd deploy/docker-compose && docker-compose up)

[x] General: switch between topologies, see nodes and edges, details panel
[x] Zoom and pan, switch between topologies
[x] Topology filters: namespaces, system containers, etc.
[x] Metrics on canvas, try pinning/unpinning
[x] Search

[x] by container name
[x] by usage cpu < 2%

[x] Terminal

[x] Attach to container to see logs
[x] Exec to container and type ls
[x] Pop out terminal

[x] Contrast mode
[x] Download report
[x] Pause button

Things to think about

ECS Integration
Kubernetes Integration
CPU and memory usage

In the container view switching between DNS and Image retains the "nothing to show" watermark even though there is an app running.  #2592

Filtering by stopped vs running is reversed in container --> DNS view #2594

popping out terminal and going full screen doesn't allow you to close the terminal again, as the controls are hidden (goes beyond your desktop). #2595

Pause button not appearing because it's part of a feature-flagged Time Travel component. https://github.com/weaveworks/scope/pull/2585 moves it back to the footer (temporarily).

Force re-layout not working #2596

Weave Cloud: High contrast mode not appearing #2598

should the client/package.json version be bumped as part of this release?

Memory CPU filter missing from Containers in WC:
https://github.com/weaveworks/service-ui/issues/625

Searching for Scope not appearing in Graph mode:
https://github.com/weaveworks/service-ui/issues/628

Scope containers not appearing in Containers view: #2601

I think we are good to do. There are still some issues but I don't think they are blockers.
Please let me know if you think otherwise. I will create a release in the coming hours if I don't hear anything.

I think we are good to do. There are still some issues but I don't think they are blockers.

I think the only thing that could qualify as a blocker would be #2603 - I guess it would also be good to know if it was introduced after or before the 1.4.0 release.

I will confirm
On Jun 16, 2017 3:31 PM, "Filip Barl"<EMAIL_ADDRESS>wrote:

I think we are good to do. There are still some issues but I don't think
they are blockers.
I think the only thing that could qualify as a blocker would be #2603
https://github.com/weaveworks/scope/issues/2603 - I guess it would also
be good to know if it was introduced after or before the 1.4.0 release.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/weaveworks/scope/pull/2590#issuecomment-309026769,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACQOJLly7mKGrDkSCQ783VHxBMgSzzjDks5sEoOUgaJpZM4N4KPW
.

It was already broken in 1.4.0 , so I will just cut the release.


Cannot make multiple resource filtered by getEloquentQuery with same model

Package
filament/filament
Package Version
22.16.52
Laravel Version
9.3.10
Livewire Version
No response
PHP Version
8.1
Problem description
When you create two resources with different labels for same model, it treats as one resource.
For example; when you have Orders model and instead of just showing Orders menu then letting user to use filters to get Pending/Completed orders, you may want to leverage getEloquentQuery on resources to automatically filter out by order state. So this way, you can have Pending Orders / Completed Orders menu.
In Nova, you can create multiple resource for same model, then you can give each other different label and voila; they're added to navigation
Expected behavior
For example, when you have Order model and you created PendingOrdersResource with custom $label (Pending Orders) & CompletedOrdersResource with custom $label (Completed Orders), they should be listed on the navigation as two seperate resources. Instead you'll see two Orders menu on the navigation, when you click on each other, you'll see that the URI is same on them (/admin/orders)
Steps to reproduce
Create a Order model,
Create PendingOrders and CompletedOrders resource,
Give each resource a different label
Reproduction repository
https://github.com/ayranxs/filament
Relevant log output
No response

Just set the $slug to be different on each resource, as this is generated from the model name. Check the Getting Started docs in the Resources section.
In v3, the slug is generated from the resource name, not the model name, so this isn't an issue.


Support texture objects in ElementwiseKernel?

This feature is requested by @the-lay in https://github.com/cupy/cupy/pull/2432#issuecomment-543193359. I'll briefly comment below.

@the-lay, I quickly skimmed over the implementation of ElementwiseKernel in cupy/core/_kernel.pyx. It seems a bit involved for supporting textures, but not impossible.
Before proceeding, I believe the following two prerequisites are necessary:

Only support texture objects and not texture references: the latter is to be deprecated, and you don't want extra effort.
Only support tex1D<type>: this is because ElementwiseKernel calls _linear_launch(), which launches 1D blocks. To support multiple dimensions a more complicate indexing scheme would be needed to be compatible with the current ElementwiseKernel's design.

Basically there are two parts to be addressed: type inference and code generation. First, you need to make ElementwiseKernel recognize the class type cupy.cuda.texture.TextureObject and then pass the actual C type cudaTextureObject_t to the generated kernel. There are several functions called in ElementwiseKernel.__call__() that need to be changed for recognizing the input type.
Second, you need to make tex1D<type> appearing in the generated code. The easiest thing is probably to hard-code it in the input argument operation, making users responsible to ensure the correctness. But, care must be taken for the indexing of texture (I suppose for a linear texture indexing by i should be sufficient? Not sure...)
I don't have time recently to work on texture-related things myself, but I am happy to comment and review.

One more thought: you might need to specialize an instance of CIndexer (from cupy/core/include/cupy/carray.cuh) for texture objects. In particular, the set() method should be disabled, as textures are read-only.

Only support texture objects and not texture references: the latter is to be deprecated, and you don't want extra effort. Plus, it's impossible to fetch the reference generated in runtime for initializing it.

I agree, no need in adding something that will be deprecated soon.

Only support tex1D: this is because ElementwiseKernel calls _linear_launch(), which launches 1D blocks. To support multiple dimensions a more complicate indexing scheme would be needed to be compatible with the current ElementwiseKernel's design.

Second, you need to make tex1D appear in the generated code. The easiest thing is probably to hard-code it in the input argument operation, making users responsible to ensure the correctness. But, care must be taken for the indexing of texture (I suppose for a linear texture indexing by i should be sufficient? Not sure...)

I think this might be an overkill, as indexing is not a problem. You can always convert a flattened index to original indices, and it should be up to "operation" of ElementwiseKernel what to do, there's no need to force end users to use texture (if I understood you correctly and that's what you meant). For example in PyCUDA, I was launching an elementwise kernel to iterate over 3D float array. It provided index i that I "converted" into original x, y, z and could do tex3D<float>(texture, x, y, z). Cupy's ElementwiseKernel also provides i and _ind.size(), so it should be possible to calculate original index if original dimensions would also be passed to the kernel. Something like this:
inline __device__ int get_z_idx(const int i, const int4 const dims) {
    return i / (dims.y * dims.z);
}
inline __device__ int get_y_idx(const int i, const int4 const dims) {
    return (i % (dims.y * dims[0].z)) / dims[0].z;
}
inline __device__ int get_x_idx(const int i, const int4 const dims) {
    return (i % (dims.y * dims.z)) % dims.z;
}

Basically there are two parts to be addressed: type inference and code generation. First, you need to make ElementwiseKernel recognize the class type cupy.cuda.texture.TextureObject and then pass the actual C type cudaTextureObject_t to the generated kernel. There are several functions called in ElementwiseKernel.call() that need to be changed for recognizing the input type.

I will look into it today, thank you very much for the hints and direction. So to summarize, I'll focus on ability to pass TextureObject and figuring out conversion of flat index back to original indices.

I think this might be an overkill, as indexing is not a problem. You can always convert a flattened index to original indices, and it should be up to "operation" of ElementwiseKernel what to do, there's no need to force end users to use texture (if I understood you correctly and that's what you meant).

No, this is not what I meant. If you look at the implementation of ElementwiseKernel, it doesn't care the array dimension, and always launches 1D blocks that operate over the whole array. What I meant is that because of this, users should only pass in 1D texture objects. (See further below.)

For example in PyCUDA, I was launching an elementwise kernel to iterate over 3D float array. It provided index i that I "converted" into original x, y, z and could do tex3D<float>(texture, x, y, z). Cupy's ElementwiseKernel also provides i and _ind.size(), so it should be possible to calculate original index if original dimensions would also be passed to the kernel. Something like this:
inline __device__ int get_z_idx(const int i, const int4 const dims) {
    return i / (dims.y * dims.z);
}
inline __device__ int get_y_idx(const int i, const int4 const dims) {
    return (i % (dims.y * dims.z)) / dims.z;
}
inline __device__ int get_x_idx(const int i, const int4 const dims) {
    return (i % (dims.y * dims.z)) % dims.z;
}

I understand we can always compute the index on the fly. My concern is that how would you pass in this dims information to the ElementwiseKernel's implementation without changing too much its design? (It could be possible, I don't know. I didn't think it very hard...)

Unfortunately, I won't continue this (I'd be very happy if someone else does though). Making ElementwiseKernel accept and pass texture object seems too much work at this moment (current dtype-ctype parameters system is based on numpy types) , so I just made a RawKernel that mimics elementwise processing - not as pretty and integrated as actual ElementwiseKernel, but works for my current needs.
Here it is in case someone is looking for something similar:

Kernel code

    code = '''
        extern "C" {
            inline __device__ int get_z_idx(const int i, const uint4* const dims) {
                return i / (dims[0].y * dims[0].z);
            }
            inline __device__ int get_y_idx(const int i, const uint4* const dims) {
                return (i % (dims[0].y * dims[0].z)) / dims[0].z;
            }
            inline __device__ int get_x_idx(const int i, const uint4* const dims) {
                return (i % (dims[0].y * dims[0].z)) % dims[0].z;
            }
            __global__ void copy_texture(float* const volume,
                                      cudaTextureObject_t texture,
                                      const uint4* const dims) {
                // adapted pycuda elementwise kernel code
                unsigned tid = threadIdx.x;
                unsigned total_threads = gridDim.x*blockDim.x;
                unsigned cta_start = blockDim.x*blockIdx.x;
                unsigned i;
                unsigned n = dims[0].x * dims[0].y * dims[0].z;

                for (i = cta_start + tid; i < n; i += total_threads) {{
                    int z = get_x_idx(i, dims);
                    int y = get_y_idx(i, dims);
                    int x = get_z_idx(i, dims);
                    volume[i] = tex3D<float>(texture, x, y, z);
                }
            }
        }
    '''
    kernel = cp.RawKernel(code=code, name='copy_texture')

Workgroup (block/grid) calculations
Adapted from this PyCUDA code

Actual kernel launch
  ....
  texobj = cp.cuda.texture.TextureObject(res, tex) # like in https://github.com/cupy/cupy/pull/2432
  volume = cp.zeros_like(tex_data)
  dims = cp.asarray(volume.shape, dtype=cp.uint32)
  dim_grid, dim_blocks = compute_elementwise_launch_dims(volume.shape) # from previous spoiler
  kernel(dim_grid, dim_blocks, (volume, texobj, dims))

If you just need a copy kernel, also take a look at this example from the texture tests:
https://github.com/cupy/cupy/blob/b9db374f4d0ccee358a998d7b283248f77cef351/tests/cupy_tests/cuda_tests/test_texture.py#L112-L126

Thank you! The actual elementwise operation that I use is more complicated than just copying texture, it's just an example (and I agree that copying texture can be done much easier).

I've been looking into ElementwiseKernel lately (for other reasons), and I think @the-lay was right in https://github.com/cupy/cupy/issues/2550#issuecomment-544157487. Looks to me that as long as we make ElementwiseKernel recognize texObj the rest can be handled in users' hand.


Save image.config() in cluster_config.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1468  👈 (View in Graphite)
#1439 : 1 other dependent PR (#1440 )
#1364
#1362
#1361
#1360
#1314
#1347
#1433
main

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

Merge activity

Dec 5, 1:25 PM EST: A user started a stack merge that includes this pull request via Graphite.


Zip code search anomaly on zen vs coderdojo.com homepage

Searching for (American) zip code only rather than an address, with no matching Dojo found
On zen: you get the whole world map. i.e. no result
On homepage: map zooms in to the nearest Dojo
If you instead search for an address (both zen and homepage) you get zoomed to the nearest Dojo as you would expect.
If there is a Dojo at the zipcode you search for, on both zen and the homepage it finds it and zooms in as you would expect.
e.g.
searching for just "33615"
I tried with "sheldon road" as an example address within the zipcode
nearest Dojo is Tampa Bay area (status In Planning) which has zip code 33626
https://zen.coderdojo.com/dojo/us/florida/11211-countryway-blvd-tampa-fl-33626/tampa-bay-area-upper-tampa-bay-regional-public-library
Searching for "33626" on zen finds the Dojo.

@DanielBrierton Will this be covered by the rework of Search A Dojo ?

Once complete, yes, we should be able to use the same component on WP and Zen and have a consistent, better working search overall.

The map has been removed, closing


segs.io domain transfer

segs.io is coming up for renewal and we'll be transferring to another registrar. We are not anticipating any problems considering historical transfers between the same registrars has been seamless. However, there may be temporary resolution issues which could impact lookups for www.segs.io, forum.segs.io, irc.segs.io, mail.segs.io, discord.segs.io, and the like. We'll keep this issue open for at least 72 hours following the transfer to ensure that everything is working as intended.

The domain transfer completed successfully as of this morning and resolution is working as expected.


Support application component environment entity model

Support application component environment entity model

@christophe-f can you add more detail here?


Move helpers into a cookbook-specific module

Continuing the discussion from #22, these changes fulfil the primary objective of not defining methods directly in Chef::Provider, which is bad practise. Note that I haven't changed the body of the helper methods. You can see this easily if you diff with --ignore-all-space.
In terms of the secondary objective, I did not mean that you should add another recipe to this cookbook. Let me explain using the situation I am facing.
I have been revamping the chef-errbit community cookbook. This needs to work on platforms that do or do not feature SELinux. I can use the resources directly in a recipe and I know they will do nothing when SELinux is disabled because of the use_selinux check. However, there were two problems.
Platforms with SELinux enabled might not have the necessary packages installed. This is particularly true if you need to create a new module as the devel package containing the Makefile is not installed by default. I could add include_recipe 'selinux_policy::install' but then it would install these packages for all platforms, not just the ones with SELinux enabled. I would therefore like to make this conditional on use_selinux and this pull request makes that possible.
extend SELinuxPolicy::Helpers
include_recipe 'selinux_policy::install' if use_selinux

I also had to fix the use_selinux check so that it doesn't blow up if getenforce is not available.

Tests seem to pass. Waiting for your reply on the logic behind the modification to use_selinux (just to be sure)


rqt_plot Aborted in Ubuntu18.04

I was following the tutorial:http://wiki.ros.org/ROS/Tutorials/UnderstandingTopics
But when I run:
rosrun rqt_plot rqt_plot
I got errors :
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_qt5agg.py", line 77, in paintEvent
self.resizeEvent(event)
File "/opt/ros/melodic/lib/python2.7/dist-packages/rqt_plot/data_plot/mat_data_plot.py", line 110, in resizeEvent
self.figure.tight_layout()
File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 2031, in tight_layout
self.subplots_adjust(**kwargs)
File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 1881, in subplots_adjust
self.subplotpars.update(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 241, in update
raise ValueError('bottom cannot be >= top')
ValueError: bottom cannot be >= top
Aborted (core dumped)
Can anyone help?

Duplicate of ros-visualization/rqt_plot#50.


Disable upgrade to cloud 6

What about the template?

@jsuchome thanks, good point. I removed the template.

@rsalevsky Ok, I have added the job back.

You have to change the disabled variable to disable it, see: https://github.com/SUSE-Cloud/automation/blob/master/jenkins/ci.suse.de/cloud-mkcloud6.yaml#L9

@rsalevsky Fixed. Please have another look.


DefaultPromise StackOverflowError protection

Motivation:
f2ed3e6ce8039d142e4c047fcc9cf09409105243 removed the previous mechanism for StackOverflowError because it didn't work in all cases (i.e. ImmediateExecutor). However if a chain of listeners which complete other promises is formed there is still a possibility of a StackOverflowError.
Modifications:

Use a ThreadLocal to save any DefaultPromises which could not be notified due to the stack being too large. After the first DefaultPromise on the stack completes notification this ThreadLocal should be used to notify any DefaultPromises which have not yet been notified.

Result:
DefaultPromise has StackOverflowError protection that works with all EventExecutor types.

@normanmaurer @ejona86 - PTAL

I've got a comment about the chosen approach, but the code looks sound. LGTM

@ejona86 - thanks for the review.
@normanmaurer - I will pull in now to be sure it gets into the next release ... let me know if you find any issues and I can fix/cleanup.

Cherry-picked 4.1 (b3c56d5) 4.0 (9b22097)


cmd/compile: set the proper export version number before Go 1.18

When we get closer to the beta for 1.18, we need to set the export version number to its new value,
iexportVersionGo1_18 = 2.
We are temporarily setting the export version back to 1 (iexportVersionGoPosCol, also iexportVersionGoGenerics, since generic functions/types are backward compatible) for ease of internal testing, especially given a lot of x/tools and third-party tools that will break on the new export version.

https://go-review.googlesource.com/c/go/+/341211 is the change the needs to be mostly reverted to fix this issue.

@findleyr   Is there anything more on your side about the export version that you need to do?  If so, I can assign this bug to you as a reminder.  Otherwise, I think we can just close this issue, right?

Yes, I think I still need to clean up once this has had enough time to propagate. Reassigning to myself, but also removing the release-blocker label.

The top comment here looks wrong:

When we get closer to the beta for 1.18, we need to set the export version number to its new value,
iexportVersionGenerics = 3.

We are temporarily setting the export version back to 2 (in dev.typeparams, soon to be merged to master) for ease of internal testing, especially given a lot of x/tools and third-party tools that will break on the new export version.

We set it back to 1, and the new value will be 2. @danscales maybe amend?

OK, updated the top comment.  And removed release-blocker.
As an update, we have already change the export version in the compiler and x/tools, but there are some cleanup items that @findleyr still needs to do.  However, no longer a release blocker for beta1.

@findleyr  Can we close this now?  I confirmed with @heschi that are internal testing has proceed along and went fine.

@danscales actually no, I just checked and there is still cleanup that needs to take place. Sending a CL now.


Security Center Connector permission error

I am having issues connecting Azure Security Center to the Sentinel solution. I have the correct permission Security Reader set on all my organisations subscriptions, My account has Global Administrator set in Azure AD and Security Admin and Reader set for Azure. In the attached image the only subscription I have permission to add the integration to is the one I am a owner of.

@bowleg - apologies for the delay in responding.  Many of us were out at Blackhat or on holiday.  Anyhow, for feature related issues, we would recommend posting to the Azure Sentinel Tech Community discussion as we want to mainly use the Github Issues section for items specific to creation of Dashboards, Detections, Hunting queries and so on, basically the content of Github.  In relation to this issue, this Community discussion may help - https://techcommunity.microsoft.com/t5/Azure-Sentinel/Least-Privilege-Permissions-on-Log-Analytics-Workspace-for-Azure/m-p/787504.  If not, then I would recommend starting a new conversation.


Update the IAM policy link

I just realized that I missed to update several links in https://github.com/pganalyze/pganalyze-docs/pull/237
Now I understand why we wanted to have that page separately... but it's a bit too late to realize, and I think we can live with it. Hopefully.

Uhmm good point, let me craft something

Going to close this in favor of https://github.com/pganalyze/pganalyze-docs/pull/246
@lfittl @msakrejda could you please check out the new one? Thanks!


ProMods crashes with Proton 5.13

When I copied all the files and ran truckersmp-cli, It all loaded proper into the menu, but when I tried joining the Promods server in TMP online, the game crashed after I finished loading. Promods works perfectly fine in normal ETS2. Help?! (PM Canada works perfectly fine online)
Update: After running with the verbose output, the game got to the truck before crashing immediately after
Expected Behavior:
Game should have loaded and connected to server as usual.
OS:
Manjaro Linux 20.2.1
Proton version: Proton 5.13
truckersmp-cli version: 0.4.1
Commands:
truckersmp-cli -d -a -p -s -u -x /home/bdface/.steam/steam/steamapps/compatdata/270880 -g /home/bdface/.steam/steam/steamapps/common/American\ Truck\ Simulator --activate-native-d3dcompiler-47 (ATS)
truckersmp-cli -d -p -s -u -x /home/bdface/.steam/steam/steamapps/compatdata/227300 -g /home/bdface/.steam/steam/steamapps/common/Euro\ Truck\ Simulator\ 2 --activate-native-d3dcompiler-47 (ETS2)
Terminal Output:
** INFO **  Proton output:
ERROR: ld.so: object '/home/bdface/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/bdface/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
pid 34335 != 34332, skipping destruction (fork without exec?)
Setting breakpad minidump AppID = 227300
Steam_SetMinidumpSteamID:  Caching Steam ID:<PHONE_NUMBER>2881997 [API loaded no]
wine: Unhandled page fault on execute access to 000000006ACC14C4 at address 000000006ACC14C4 (thread 0110), starting debugger...
Steps to reproduce:

Run the afformentioned ETS2 command, replacing "bdface" with your username, replacing the contents of -x with your prefix, and replacing the contents of -g with your game directory.
Sign in to TruckersMP
Select the "ProMods" server
After loading, hit drive.

Promods works perfectly fine in normal ETS2.

I assume you mean running with --singleplayer? If not please try that first.
Also please post the full log next time.
Unfortunately I don't own all DLCs so I can't tell if ProMods actually would work right now.

Promods works perfectly fine in normal ETS2.

I assume you mean running with --singleplayer? If not please try that first.
Also please post the full log next time.
Unfortunately I don't own all DLCs so I can't tell if ProMods actually would work right now.

promods works in single player, launching from steam, and with --singleplayer
Promods canada works perfectly fine online and offline on ATS

promods works in single player, launching from steam, and with --singleplayer
Promods canada works perfectly fine online and offline on ATS

Some more output
This time, the game works for a few seconds from a garage outside of London, but crashes afterwards.
** INFO **  Proton output:
ERROR: ld.so: object '/home/bdface/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/bdface/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
fsync: up and running.
Setting breakpad minidump AppID = 227300
Steam_SetMinidumpSteamID:  Caching Steam ID:<PHONE_NUMBER>2881997 [API loaded no]
wine: Unhandled page fault on execute access to 000000006ACC14C4 at address 000000006ACC14C4 (thread 0110), starting debugger...
pid 54512 != 54511, skipping destruction (fork without exec?)

Some more output
This time, the game works for a few seconds from a garage outside of London, but crashes afterwards.
** INFO **  Proton output:
ERROR: ld.so: object '/home/bdface/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/bdface/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
fsync: up and running.
Setting breakpad minidump AppID = 227300
Steam_SetMinidumpSteamID:  Caching Steam ID:<PHONE_NUMBER>2881997 [API loaded no]
wine: Unhandled page fault on execute access to 000000006ACC14C4 at address 000000006ACC14C4 (thread 0110), starting debugger...
pid 54512 != 54511, skipping destruction (fork without exec?)

Yeah, Promods does indeed crash the game when you are in the truck in fact depending on the hardware
you can actually see the game loaded and move atleast a few meters before it decides to crash or turn on the truck before it crashes.
I also tried Proton-GE but that has not resolved anything so I would assume it has something to do with TruckersMP itself

Yeah, Promods does indeed crash the game when you are in the truck in fact depending on the hardware
you can actually see the game loaded and move atleast a few meters before it decides to crash or turn on the truck before it crashes.
I also tried Proton-GE but that has not resolved anything so I would assume it has something to do with TruckersMP itself

I also had this problem, but fixed it through switching back to Proton 5.0. Perhaps a TruckersMP update isn't compatible with a relatively new addition to Proton?

I also had this problem, but fixed it through switching back to Proton 5.0. Perhaps a TruckersMP update isn't compatible with a relatively new addition to Proton?

Yeah, Promods does indeed crash the game when you are in the truck in fact depending on the hardware
you can actually see the game loaded and move atleast a few meters before it decides to crash or turn on the truck before it crashes.
I also tried Proton-GE but that has not resolved anything so I would assume it has something to do with TruckersMP itself.
Which means its better to look at the game.log file to see why ETS2 decides to crash

Does this have any correlation with AMD GPUs?

No, it happened with my Nvidia GTX 970 as well.

@badlydrawnface @JoohanV Please make an update to proton appid 1245040, try again and report back.
You can do this in one go with truckersmp-cli --start --update --proton-appid 1245040 assuming you're using the default folders.

I also had this problem, but fixed it through switching back to Proton 5.0. Perhaps a TruckersMP update isn't compatible with a relatively new addition to Proton?

@Lucki as I stated here I already did that, and it fixed the issue.

@badlydrawnface @Mar0xy Please make an update to proton appid 1245040, try again and report back.
You can do this in one go with truckersmp-cli --start --update --proton-appid 1245040 assuming you're using the default folders.

Exactly, like @JoohanV said Proton 5.0 seemed to fix the issue I think this should be added as a note in the readme

As of Feb 2021 TruckersMP mod is working with Proton 5.0 and I don't think we need Proton 5.13+ specific functionalities.
So I think that it's OK to set 5.0 to default again if this is Proton 5.13+ specific issue (I'm afraid that I cannot test ProMods because of not having map DLCs).
However, we (truckersmp-cli developers and users) have to keep in mind that Proton 5.0 may stop working in the future: Proton 4.2 already stopped working.

At least you can manually update DXVK to the latest version by replacing the .dll files in both truckersmp-cli/Proton/dist/lib/wine/dxvk and truckersmp-cli/Proton/dist/lib64/wine/dxvk folders.
I tested Proton 5.0-10 with DXVK 1.8 on Promods server and it run stable.
You can find DXVK release at https://github.com/doitsujin/dxvk/releases/tag/v1.8

Yesterday Steam released Proton 6.3. It seems with this version ProMods works again. I was able to play on ProMods server without any crash.


ocr-file-upload failed on ubuntu & aws ec2 when running outside

If i run inside the ubuntu instance it works fine
docs/upload-local-file.sh http://localhost:9292/ocr-file-upload ocrimage
if i run it outside (from the internet)
./upload-local-file.sh http://xxx.xx.xx.xx:9292/ocr-file-upload ocrimage.png
I see
sh-3.2# ./upload-local-file.sh http://<IP_ADDRESS>:9292/ocr-file-upload ocrimage.png
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 9292 (#0)
> POST /ocr-file-upload HTTP/1.1
> Host: <IP_ADDRESS>:9292
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Type: multipart/related; boundary="d2649535728a8d270eb98fd5d8a8412f"
> Content-Length: 59595
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
* We are completely uploaded and fine
* Empty reply from server
* Connection #0 to host <IP_ADDRESS> left intact
curl: (52) Empty reply from server

And in the server logs i see
13:29:32.660526 OCR_HTTP: request to ocr-file-upload
13:29:32.660550 OCR_HTTP: content type: multipart/related; boundary="d2649535728a8d270eb98fd5d8a8412f"
13:29:32.660562 OCR_HTTP: content type: multipart/related
2018/11/12 13:29:33 http: panic serving <IP_ADDRESS>:62112: runtime error: invalid memory address or nil pointer dereference
goroutine 5 [running]:
net/http.(*conn).serve.func1(0xc82005a380)
	/usr/lib/go-1.6/src/net/http/server.go:1389 +0xc1
panic(0x7f0a60, 0xc82000e080)
	/usr/lib/go-1.6/src/runtime/panic.go:443 +0x4e9
github.com/tleyden/open-ocr.(*OcrHttpMultipartHandler).extractParts(0xc82000a690, 0xc8200d6000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/opt/go/src/github.com/tleyden/open-ocr/ocr_http_multipart_handler.go:52 +0xa7f
github.com/tleyden/open-ocr.(*OcrHttpMultipartHandler).ServeHTTP(0xc82000a690, 0x7f236dc65b30, 0xc820059ad0, 0xc8200d6000)
	/opt/go/src/github.com/tleyden/open-ocr/ocr_http_multipart_handler.go:94 +0x97
net/http.(*ServeMux).ServeHTTP(0xc820056ab0, 0x7f236dc65b30, 0xc820059ad0, 0xc8200d6000)
	/usr/lib/go-1.6/src/net/http/server.go:1910 +0x17d
net/http.serverHandler.ServeHTTP(0xc82005a300, 0x7f236dc65b30, 0xc820059ad0, 0xc8200d6000)
	/usr/lib/go-1.6/src/net/http/server.go:2081 +0x19e
net/http.(*conn).serve(0xc82005a380)
	/usr/lib/go-1.6/src/net/http/server.go:1472 +0xf2e
created by net/http.(*Server).Serve
	/usr/lib/go-1.6/src/net/http/server.go:2137 +0x44e

Could you please help me how to fix it?

Thanks for the issue report.  Nothing obvious jumps out at me ..

Have you tried using https://github.com/tleyden/open-ocr/blob/master/docs/upload-local-file.py?  If that worked, it might tell us something.


MNT: Re-rendered with conda-build 3.18.9, conda-smithy 3.5.0, and con…

…da-forge-pinning 2019.10.11

Checklist

[ ] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

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


Fuel level sensor missing

Region and Brand of car
Canada, Santa Fe PHEV
Version of the integration
v2.8.1
Describe the bug
Recently updated from a fairly old version, and while cleaning up my dashboards from the API changes noticed that I was missing the "fuel level" sensor.  The Blue Link app still shows the fuel level as a percentage.
Debug logs if an error occurred
2023-04-17 22:42:30.070 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration kia_uvo which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2023-04-17 22:43:52.850 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: kia_uvo 2023-04-17 22:44:43.762 WARNING (SyncWorker_0) [hyundai_kia_connect_api.KiaUvoApiCA] hyundai_kia_connect_api - Get vehicle location failed 2023-04-17 22:44:43.791 DEBUG (MainThread) [custom_components.kia_uvo.coordinator] Finished fetching kia_uvo data in 122.037 seconds (success: True) 2023-04-17 22:44:44.641 DEBUG (MainThread) [custom_components.kia_uvo.coordinator] Finished fetching kia_uvo data in 0.796 seconds (success: True)
To Reproduce
Unknown
Expected behavior
Fuel level should be a sensor returned from the integration.
Screenshots

Could you reload the integration and see if it comes back?

Could you reload the integration and see if it comes back?

Yeah, I've done that a few times and just tried again (have even restarted HA a few times).  Still no dice.  Should I try removing the integration completely and re-adding it?

Re adding won't help.  I have seen the api stop providing this data before and it returns later.    Can you check the attributes of the data sensor to see if it lists this data? This is the raw api response.

Sorry for the delay @cdnninja - just got home from the hospital with our first little one!
So the data sensor seems to show it:
fuelLevel: 64

Where in the tree is that? In the debug menu it will show the indents.

@never102  congrats by the way! Enjoy the time!

Where in the tree is that? In the debug menu it will show the indents.

Do you mean in the attributes list?
And thank you!!!
`Attributes
Vehicle data
status:
lastStatusDate: '20230427231236'
airCtrlOn: false
engine: false
doorLock: false
doorOpen:
frontLeft: 0
frontRight: 0
backLeft: 0
backRight: 0
trunkOpen: false
airTempUnit: C
airTemp:
value: 14
unit: 0
defrost: false
lowFuelLight: false
acc: false
evStatus:
batteryCharge: true
batteryStatus: 50
batteryPlugin: 3
remainTime:

value: 380
unit: 1
remainTime2:
etc2:
value: 380
unit: 1
etc3:
value: 145
unit: 1
atc:
value: 380
unit: 1
drvDistance:
rangeByFuel:
gasModeRange:
value: 434
unit: 1
evModeRange:
value: 1
unit: 1
totalAvailableRange:
value: 435
unit: 1
type: 1
hoodOpen: false
transCond: true
steerWheelHeat: 0
sideBackWindowHeat: 0
dte:
value: 435
unit: 1
tirePressureLamp:
tirePressureLampAll: 0
tirePressureLampFL: 0
tirePressureLampFR: 0
tirePressureLampRL: 0
tirePressureLampRR: 0
battery:
batState: 0
sjbDeliveryMode: 0
batSignalReferenceValue: {}
remoteIgnition: true
seatHeaterVentInfo:
drvSeatHeatState: 2
astSeatHeatState: 2
rlSeatHeatState: 2
rrSeatHeatState: 2
lampWireStatus:
headLamp:
headLampStatus: false
leftBifuncLamp: false
rightBifuncLamp: false
stopLamp:
stopLampStatus: false
leftLamp: false
rightLamp: false
turnSignalLamp:
turnSignalLampStatus: false
leftFrontLamp: false
rightFrontLamp: false
leftRearLamp: false
rightRearLamp: false
windowOpen: {}
smartKeyBatteryWarning: false
fuelLevel: 55
washerFluidStatus: false
breakOilStatus: false
engineOilStatus: false
vehicleMovementHis: true
engineRuntime:
value: 0
unit: 1
vehicleLocation: null
service:
msopServiceOdometer: 23000
msopServiceOdometerUnit: 1
mtspServiceDate: '20230223'
imatServiceOdometer: 31000
imatServiceOdometerUnit: 1
mtitServiceDate: '20230823'
currentOdometer: 24446.5
currentOdometerUnit: 1
serviceOdometerDuration: 8000
serviceDaysDuration: 180
serviceMonthsThreshold: 6
Vehicle name
SANTA FE`

oh, @cdnninja - not sure if I was supposed to tag you :)

Could you test on the latest and let me know if it works?

I’ll do it tonight, thank you!!

@cdnninja Fixed!! Thank you so much!


java error on server startup

Tried version v4.0 the first time with 2 existing courses already configued and working from v3.7. The server starts ok the first time, although I get "you are in the wrong world" if I try to join a course. If you then stop/start the server, you get this error (like its trying to insert the same course details into the DB again):
[22:57:29 INFO]: [Parkour] Enabling Parkour v4.0
[22:57:29 WARN]: java.sql.SQLException: [SQLITE_CONSTRAINT]  Abort due to constraint violation (column name is not unique)
[22:57:29 WARN]:        at org.sqlite.DB.newSQLException(DB.java:383)
[22:57:29 WARN]:        at org.sqlite.DB.newSQLException(DB.java:387)
[22:57:29 WARN]:        at org.sqlite.DB.execute(DB.java:342)
[22:57:29 WARN]:        at org.sqlite.DB.executeUpdate(DB.java:363)
[22:57:29 WARN]:        at org.sqlite.PrepStmt.executeUpdate(PrepStmt.java:85)
[22:57:29 WARN]:        at me.A5H73Y.Parkour.Utilities.DatabaseMethods.insertCourse(DatabaseMethods.java:129)
Full error is here:
http://pastebin.com/46uthxnF

Hello, thank you for reporting this issue.
This is strange as you've posted this as I've had this problem appear locally and I can't seem to find the problem. I will fix and update as soon as I can!
The "You are in the wrong world" error is a configurable property in the config.yml, but as you're the third person to complain about that, I will default it to disabled.
Thanks again

Hi, that will be great - thanks. Happy to test any updated code.

I found the fix, It was part of my upgrade code.
http://parkour.netne.net/downloads.html


[Core] Some performance optimizations

1. Remove two instances of defensive copying
I found that making a defensive copy of SamplingParams seems unnecessary. In my application scenario, removing the defensive copy of SamplingParams worked normally and resulted in performance improvement.
In my scenario, the comparison before and after the removal shows that each request is reduced by approximately 189 us, and The function _create_sequence_group_with_sampling only takes 23us.
Before removing it.

After removing it.

2. Utilize the non-blocking and exception to reduce one poll per request.

Utilize the non-blocking and exceptions of recv_multipart to reduce one poll operation per request.
Each poll operation consumes at least 10us.

Doing so can indeed reduce one poll operation per request, and each poll operation takes at least 10us. Although for a single request, 10us is very little and can be ignored, what I pursue is ultimate performance. Accumulating small savings here and there, reducing 10us of delay here and 20us of delay there, will significantly reduce the delay for each request when added up.
Moreover, when executing the  function  handle_new_input, the GPU is idle. Reducing the execution time of the  function handle_new_input  is equivalent to making full use of the GPU.

cc @robertgshaw2-neuralmagic


Make a dynamically modifiable list of days for which no selection can be made and highlight them

Made a resurch on highlighting the information that the day is not available for selection.
You can't use text customization for buttons, it just doesn't work:
*bold*
_italic_
bold, bold, **bold**
italic, italic *italic*

The only customization option is to add text before/after the date.
But there is a possibility to support emoji (example on the screenshot).
Need to develop a system for customization of prefixes and postfixes for dates.

The request was automatically closed when 10 commits were force deleted 😅


Manually iterate to next_run or next_paragraph

So I'm working on building a pseudo-templating language for Word here at work. I've been able to use python-docx very successfully thus far. The current functionality I'm trying to implement is an {% if val %} conditional block. It would delete any paragraphs or runs between it and the nearest {% endif %} tag. This allows for one document template to generate many types of documents by including these nice conditionals in the Word template.
So, basically, I'm looking for a way to remove all paragraphs between my {% if %} tag and my {% endif %} tag in the word document.
I was thinking of doing this with a next_run or next_paragraph tag and just using a while text != {% endif %}, but there doesn't seem to be support for this yet.
Thanks for any help!

have you looked at #40?
I think you'll need to get more specific as far as where you're having trouble. This specific functionality (templating) has been done by a few folks, but there are no specific active enhancement proposals (pull requests) for it that I know of.
The templating problem is pretty hairy in the general case, because Word will break up runs at arbitrary points for spell checking, adding or correcting text, etc.
Those who have had success with this that I know of have used either whole-paragraph markers or "curated" templates that keep their markers all in a single run.


[5.6] Added when/unless methods to database rule.

It can be very useful to have when/unless methods in DatabaseRule.
Quick example is:

When user is admin - exists rule must check only row existence.
When user is not admin - add condition to check that he is owner of item. (Yep, I know it can be done in authorize() method, it's only example and validation can be used not only in 'form requests' ;) )

public function rules(): array
{
   return [
     'item' => [
         Rule::exists('items')->unless($this->user()->isAdmin(), function (Builder $query) {
              $query->where('owner_id', $this->user()->getKey());
         })
     ]
  ]
}

Wouldn't this fit better in a custom rule instead?

Doesn't really seem to fit the scope of validation at all.

No plans on adding right now.

@ed-fruty If you wanted this you could check out my rule builder package, it has this built in: https://github.com/timacdonald/rule-builder#conditional-rules


new release planned?

would fix #17

Hm can you confirm that the 0.1.6 version on crates.io doesn't work? It is in theory compatible with the 2018 edition macro import story

I haven't tried it yet; just sorting through open issues now.  Hoping to read others' feedback first.  Looks like https://crates.io/crates/cfg-if/reverse_dependencies actually answers my concerns thoroughly.


Add MOID and source region attributes to documentation

Hi Max,
I noticed that the MOID and source region fields were missing from the appendix in the documentation. Here's a quick commit (hopefully correct) to add them in.

Thanks Lauri!


fix(clerk-js): Use default value for signIn.userData

Description
Use default value for signIn.userData. This will prevent the SignIn modal from breaking when an appearance prop is used in Next.js App Router.

Checklist

[ ] npm test runs as expected.
[ ] npm run build runs as expected.
[ ] (If applicable) JSDoc comments have been added or updated for any package exports
[ ] (If applicable) Documentation has been updated

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

!snapshot

Hey @panteliselef - the snapshot version command generated the following package versions:

Package
Version

@clerk/chrome-extension
1.0.3-snapshot.va233aba

@clerk/clerk-js
5.1.2-snapshot.va233aba

@clerk/clerk-expo
1.0.3-snapshot.va233aba

gatsby-plugin-clerk
5.0.0-beta.45

Tip: Use the snippet copy button below to quickly install the required packages.
@clerk/chrome-extension
npm i<EMAIL_ADDRESS>--save-exact

@clerk/clerk-js
npm i<EMAIL_ADDRESS>--save-exact

@clerk/clerk-expo
npm i<EMAIL_ADDRESS>--save-exact

gatsby-plugin-clerk
npm i<EMAIL_ADDRESS>--save-exact


Add default walkingstyle for both ped gender

Update current default walkstyle button to set default male ped walkstyle and add a button to set default female ped walkstyle.

Hello !
You need to open an Issue with the correct template (Improvement in your case) so the admins can accept or reject your contribution before your code is reviewed. See the proper workflow in Discussion #111

Mergé dans https://github.com/SOZ-Faut-etre-Sub/SOZ-FiveM-Server/commit/3f16c51ce970a5929ee3e975dc9afc3c97b6ea74 merci beaucoup pour la contribution ❤


Feature/updating gamefi sections

Created modular section layout and edited images based on feedback.

/staging

/staging

The rest looks good to me.

The rest looks good to me.

/staging


Notebook based database connector demo

Is there an existing issue for this?

[X] I have searched the existing issues

Please describe the new behavior that that will improve Egeria
Add postgres connector demo
I have recently demoed the postgres connector to an interested party, and after some initial scripts, it became clear that our notebooks are a useful way to show this technology for the following reasons

we run against a sophisticated environment with multiple cohorts, and cohort members
we have the UIs already configured (and maintained)
we have the ability to easily run additional containers from our charts as needed
it allows anyone to take a demo and run it fairly easily
we have access to the 'library' of python functions which speeds up creation time, and abstracts some of the detail which is too much for some demos (ie vs using postman)
Allows for collaboration and rapid iteration
Avoids having to create a presentation + demo by combining the flow into a narrative
Easy to run on k8s which helps a lot with resource impact of some demos (ram/cpu)
in effect rapidly speeds up creation of some demos

Ideally these demos would be fully integrated into the coco environment in terms of scenario and personas.
However this might be stage 2, and I view it as reasonable to initially add such a demo with a more 'technical' angle, and to encourage more people to do the same.
Alternatives

Shell scripts
Standalone python
java apps
Postman collection

All are valid, but my focus is on rapid prototyping/development
Any Further Information?
Some infrastructure improvements are ideally needed

more configuration of helm charts and/or reuse (ie base lab chart as a dependency)
Running additional containers/config (postgres, ldap, pgweb etc)
easily retrieving additional connectors or other assets

We also want to develop a more generic connector for rdbms - however we can still show value in addition to existing demos on files (automated curation, and building a data lake)
It also may continue to encourage us to consider a supported python library
Prototype assets currently in https://github.com/planetf1/egeria-snippets/tree/main/postgres
See also #5464
Would you be prepared to be assigned this issue to work on?

[X] I can work on this

Note currently this requires that the container used includes the postgres connector.
One way of achieving this for now is to run
helm install lab odpi-egeria-lab -f <file>
where  is 'lab-pg-chartoverride.yaml'
https://github.com/odpi/egeria-charts/issues/6 will remove this requirement, and mean we just add a link to the additional connectors, as is currently done for cts/pts


recommendation for "Flash of invisible/unstyled text" category

Font Face Observer
"Font Face Observer is a fast and simple web font loader."

Cheers thanks, merged!


Proposal: Unmount components when the display property is set to none

Hello,
Following a conversation with @mxstbr on Twitter, I would like to get users opinion on the following:
Proposal
Styled component unmount when their display property is set to none .
Allows
A built in way to conditionally mount / unmount UI parts (Based on the application state or media queries for example).
Use case
We are currently building an Intranet application with an IM feature that listens to message events on the server side. The IM widget should only be displayed on Desktops. Currently we have an HOC that listens to the matchmedia event to mount / unmount the widget based on the screensize.
Questions

Should it be an opt-in / opt-out feature or the default behavior
Performance related concerns ?
Other use cases ?

I'm fine to make a PR if this proposal is accepted.

This is such an interesting idea. I have no idea what the tradeoffs here are though. I wonder if Radium does this?

This complicates server side rendering a lot...
As long as srr has a simple fallback for this we're good.

My concern is that temporary change of screen size would destroy local state of component.
By temporary change I mean (often accidental) switching between landscape and portrait on tablets, manual drag of window border to see another app, opening of dev tools.
For example, in use case described by @fdidron it would clear message log and  with message not sent yet, if not handled specially.
So I think it's at least too aggressive to enable by default.

@vdanchenkov In my example, as you mentioned, I'm handling state via a global store  (mobx) so it wouldn't be an issue, but users needs to be aware of this.
I agree with you, it should be an optin behavior !

Hmm, I'm not really in favour of this, to be honest. If anything, it'd be better to delete the CSS on a componentWillUnmount callback but that seems unnecessary too. If the styles aren't being used, or if a component has display: none set and therefore isn't being displayed, what's the harm in having those styles existing in the CSS?

Yeah same here, I think this has too many edge cases for us to implement safely. Thanks for kicking off this discussion though @fdidron!

I would love this one actually. But I guess it can be done trough a plugin?
I already see myself writing code like:
const Button = styled.button`
  /* Adapt the colors based on primary prop */
  background: ${props => props.primary ? 'palevioletred' : 'white'};
  color: ${props => props.primary ? 'white' : 'palevioletred'};

  font-size: 1em;
  margin: 1em;
  padding: 0.25em 1em;
  border: 2px solid palevioletred;
  border-radius: 3px;
`;

export default Button;

<Button renderIf={userCanCancel}>Cancel</Button>
<Button primary>Submit</Button>


broker gc log

It seems that, We configured params for broker gc log, but not used.
turn on broker gc log.

Thanks for your contribution. For this PR, do we need to update docs?

Thanks for your contribution. For this PR, do we need to update docs?

I think there is no need to update docs

Anyone can review it?

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

test failed reason:  Unrecognized option: -Xlog:gc:logs/pulsar_gc_%p.log:time,uptime:filecount=10,filesize=20M
I cannot figure why.

@gaozhangmin - I think you still need to update the documentation here: https://github.com/apache/pulsar/blob/master/site2/docs/reference-cli-tools.md.

@gaozhangmin - I think you still need to update the documentation here: https://github.com/apache/pulsar/blob/master/site2/docs/reference-cli-tools.md.

Docs added

Could you check my comments? It looks like pulsar-client-cpp/pulsar-test-service-start.sh cannot run successfully after this change.

@BewareMyPower Sure, I will check later.

@BewareMyPower I tested locally pulsar-client-cpp/pulsar-test-service-start.sh, successfully run without error.

Did you use Java 11? The CI env is a docker container based on Ubuntu 16.04 and Java 11.
$ java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.16.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.16.04, mixed mode, sharing)

Could you check my comments? It looks like pulsar-client-cpp/pulsar-test-service-start.sh cannot run successfully after this change.

@BewareMyPower Sure, I will check later.

@BewareMyPower I tested locally pulsar-client-cpp/pulsar-test-service-start.sh, successfully run without error.

Did you use Java 11? The CI env is a docker container based on Ubuntu 16.04 and Java 11.
$ java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.16.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.16.04, mixed mode, sharing)

I tested without PULSAR_GC_LO successfully,  I don't know why this jdk11 cannot recognize xlog:gc

I found the problem. It's because when the standalone starts, it chooses the /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java rather than /usr/bin/java.
$ /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~16.04.1-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
$ java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.16.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.16.04, mixed mode, sharing)

I think it's caused by wrong JAVA_HOME variable.

@codelipenghui  PTAL again


bug: repeating macros skips jk movement

Did you check docs and existing issues?

[X] I have read all the vscode-neovim docs
[x] I have searched the existing issues of vscode-neovim
[X] I can reproduce the issue with an empty init.vim/init.lua and no other vscode extensions (when applicable)

Neovim version (nvim -v)
0.9.2
Operating system/version
Windows 10
Describe the bug
When repeatedly using a macro with the last step j or k, that step is ignored and applied on the same line.
I am using vscodium 1.85.1 and vscode-neovim 1.5.0
Steps To Reproduce

Create a new file
100i0<CR><Esc> (create 100 lines with '0')
record macro for r1j
play it normally once (see that either j is not played or the replace is not)
play it repeatedly and the result is more volatile (you might get 1 replace and a lot of j)

In vscode with the extension the j never happens and all lines will have the same number. Using nvim directly works as intended.
Expected Behavior
All steps in the macro are repeated and we get 0's replaced by 1's

duplicate https://github.com/vscode-neovim/vscode-neovim/issues/644 https://github.com/vscode-neovim/vscode-neovim/issues/563


ListElement is completely broken

Full rewrite needed, could be simplified

It was alright, just a positionning bug


Feature Suggestion: Jobs

Jobs page with a link to https://bitcoinerjobs.com/
Could also allow companies or organisations to list themselves & provide an evergreen link to their jobs page / email

https://github.com/bitcoin-only/bitcoin-only/pull/604


Link failure

Link checker is currently failing on this page: https://foundations.projectpythia.org/core/xarray/enso-xarray.html
Offending link is:
https://climatedataguide.ucar.edu/sites/default/files/styles/node_lightbox_display/public/key_figures/climate_data_set/indices_oni_2_2_lg.png?itok=61jS7Jz7

A little poking around on the Climate Data Guide site revealed the same image at this URL:
https://climatedataguide.ucar.edu/sites/default/files/styles/extra_large/public/2022-03/indices_oni_2_2_lg.png

I'll fix the links in our notebook now.


Implement nom::ExtendInto for ImString

ExtendInto is needed to allow ImStrings to work with nom::bytes::complete::escaped_transform

Looks good to me, thanks!


Implemented READONLY mode

By default, Redis Cluster always returns MOVE redirection response on accessing slave node. To overcome this limitation for scaling read, I implemented READONLY mode and its releated tests.
Please refer to docs/Readonly_mode.md for details.

Have you tried running a readonly command inside a pipeline and see what happens? It probably works but you should test it manually and see if it behaves as expected.

Have you tried running a readonly command inside a pipeline and see what happens? It probably works but you should test it manually and see if it behaves as expected.

@Grokzen tested it manually, I think pipeline on READONLY mode works without using SET related operation, same as non-pipeline implementation.
I added pipeline unit test code on READONLY mode. Please check it out.

I will check it out and test it myself some during the weekend and prolly make a new minor release with this included :]

Another thing you need to do is to add a line into the changelog in some "next release" section with this new feature so that i can include that line in the next release when i set the next number. Also you can add yourself to the authors list if you like.

@Grokzen

This cause the following exception when running my redis cluster inside docker

Thank you for pointing out this test problem, I fixed it.

Another thing you need to do is to add a line into the changelog in some "next release" section with this new feature so that i can include that line in the next release when i set the next number. Also you can add yourself to the authors list if you like.

Ok. updated CHANGES and docs/Authors.

A question, i have been studying the PR that is in redis-py that tries to implement cluster support directly into the client, but i noticed one thing regarding READONLY. In that implementation https://github.com/andymccurdy/redis-py/pull/604/files#diff-7e2178bb22a1fed96812057da6cce88cR157 he is not using 2 different classes for readonly and not readonly, is there some reason why you have made 2 classes here and not merge them into 1?
I do not have a usecase or some realworld code to try these theories out and what is best way to use this feature but i think that maybe you want to be more precise when you want to use slave reads and maybe switch it back and forth without having to have 2 different clients, one for reading and one for writing.
@mumumu @72squared any thoughts and comments? I know you @72squared have more real world usage and knowledge then me and might have some thoughts.

I don't have a strong real-world use case for read only ... My data set is not really read-heavy so I haven't needed to scale up reads by adding more slave instances. The masters have been able to handle the read/write load mix really well so far based on the size of my data set and my workload.
As for how I'd probably prefer use an interface like this ... I usually have factory methods of instantiation so I'd just pass a flag into my factory method to get a read only instance so it makes more sense having different classes. If you use the same class for both and can change the behavior of the class to read-only in the middle of using the object then you might get some very weird behavior. Either an argument to the class constructor, or different classes is fine, as long as you can't change the behavior of the class after instantiation.

Sounds like a immutable structure where you set it once and then it is fixed. I can live with that :p

@mumumu I have been playing around with this some and the one thing that i noticed is that READONLY is sent to all nodes no matter if they are a master or slave. Should it not only be sent to slaves in the cluster and not master nodes?

The only other thing is that if READWRITE command should be implemented in some function so that it can be used if someone needs it to restore the cluster according to the docs.

Other than that it looks very good and mergable after the questions

@mumumu Thanks for this. I might work and change some minor things within this feature in the future.

@Grokzen

A question, i have been studying the PR that is in redis-py that tries to implement cluster support directly into the client, but i noticed one thing regarding READONLY. In that implementation https://github.com/andymccurdy/redis-py/pull/604/files#diff-7e2178bb22a1fed96812057da6cce88cR157 he is not using 2 different classes for readonly and not readonly, is there some reason why you have made 2 classes here and not merge them into 1?

As for Connection class, I don't have a precise reason for having 2 classes of Connection and we can merge them into 1 class.
But  ConnectionPool must have 2 classes (ClusterConnectionPool, ClusterReadOnlyConnectionPool), because two different (readonly and non-readonly) Connection mode should be managed in different Connection Pool.  When we manage 2 kind of connection in one pool, implementation must be complicated.

I do not have a usecase or some realworld code to try these theories out and what is best way to use this feature but i think that maybe you want to be more precise when you want to use slave reads and maybe switch it back and forth without having to have 2 different clients, one for reading and one for writing.

....

The only other thing is that if READWRITE command should be implemented in some function so that it can be used if someone needs it to restore the cluster according to the docs.

My environment has almost read workload and I want to scale it as much as possible, so I implemented immutable readonly client and cannot switch it back with READWRITE command (This is a reason why I don't implement READWRITE command). If you swtich it back to normal connection client, we should instantiate StrictRedisCluster with readonly=False parameter.

I have been playing around with this some and the one thing that i noticed is that READONLY is sent to all nodes no matter if they are a master or slave. Should it not only be sent to slaves in the cluster and not master nodes?

There is no problem when we send READONLY to all nodes because we can send set related operation to master with READONLY connection.
$ redis-cli -p 7000 cluster nodes | sort -k 2
473c2eaabd94a1bdaae6b82569c29d6e6d0c3868 <IP_ADDRESS>:7000 myself,master - 0 0 1 connected 0-5460
9af5e607cb44c79671e4292ad95ef37e0878b8f7 <IP_ADDRESS>:7001 master - 0<PHONE_NUMBER>054 2 connected 5461-10922
7b7b43609ce3ac1be56f05c2c45f2d2412407fa4 <IP_ADDRESS>:7002 master - 0<PHONE_NUMBER>051 3 connected 10923-16383
931cb6d7e36b916853651883db595b3b8b6cb2bf <IP_ADDRESS>:7003 slave 473c2eaabd94a1bdaae6b82569c29d6e6d0c3868 0<PHONE_NUMBER>050 4 connected
552286c8c325884c4ada547a2ecb158b9d1ffd3d <IP_ADDRESS>:7004 slave 9af5e607cb44c79671e4292ad95ef37e0878b8f7 0<PHONE_NUMBER>054 5 connected
da2eb13079edceebd0ca4a2aba82053fd31aa3ae <IP_ADDRESS>:7005 slave 7b7b43609ce3ac1be56f05c2c45f2d2412407fa4 0<PHONE_NUMBER>550 6 connected
$ echo -e "READONLY\r\nset b 1" | redis-cli -p 7000
OK
OK
$ echo -e "READONLY\r\nset b 1" | redis-cli -p 7003
OK
(error) MOVED 3300 <IP_ADDRESS>:7000
$ echo -e "READONLY\r\nget b" | redis-cli -p 7003
OK
"1"

Thanks for this. I might work and change some minor things within this feature in the future.

@Grokzen
Thank you for merging this PR, but it seems that you have an interface problem about multiple functionality enabled connection class. IMO, we can have 1 connection class as said above.
https://github.com/Grokzen/redis-py-cluster/pull/78#issuecomment-122059874

Ye i think i will merge the 2 connection classes but keep the 2 pool classes as you stated.

@mumumu I think i found a bug/issue with this and i am not sure right now how to fix it.
I am playing around with my own PR #77 and when i have moved some code around that handles a Moved response the new code breaks. I od not understand yet why the tests did not fail with your code but only started when i added my code.
The test that fails is test_moved_redirection with the following error
self = <[KeyError("'host'") raised in repr()] SafeRepr object at 0x7f6ff0f23ea8>, slot = 12182

    def get_master_node_by_slot(self, slot):
>       return self.nodes.slots[slot][0]
E       KeyError: 0

The problem has it's roots in this function https://github.com/Grokzen/redis-py-cluster/blob/unstable/rediscluster/client.py#L131 and methods called within it. The problem is that either the Moved handling was not working as expected before and i probably fixed it with my refactoring or else i do not really know O.o. It is almost like the moved code was not called or something.
I think it is based here https://github.com/Grokzen/redis-py-cluster/blob/unstable/rediscluster/client.py#L162 when the new node is set after a Moved redirection. One other thing is that should not all the slaves also be updated when a moved error is issues?

Hmm. I might have spoken to soon about the error :p I found a minor typo that fixed the tests to pass for now, but i do think that the problem with not updating the slaves when Moved error is raised is still a issue and probably must be fixed. I will try and see if i can make up some test code that will fail and should pass after new code have been commited.


gnome-obfuscate: 0.0.4 -> 0.0.7

Description of changes
https://gitlab.gnome.org/World/obfuscate/-/releases/0.0.7
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[x] (Package updates) Added a release notes entry if the change is major or breaking
[x] (Module updates) Added a release notes entry if the change is significant
[x] (Module addition) Added a release notes entry if adding a new NixOS module
[x] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

https://gitlab.gnome.org/World/obfuscate/-/commit/828eacfaa18f9835bd60f0264992268908c4e1fd
We can switch to wrapGAppsHook4 with this change so we don't need to pull in gtk3 by wrapGAppsHook

That works, thanks!


Cache item schema

When debugging the item schema is not preserved between consecutive script starts, so that may lead to huge delay before the item schema is loaded. If this is not the reason for item schema not loading, please, tell me how to workaround this.

That's the reason for what you're seeing. You should cache it locally and restore it upon subsequent startups.


Replace Gzip with pure Swift implementation

I really love this project, and was hoping to make some changes to allow it to be built easily with the Swift Package Manager, which is how my company is hoping to manage most developer dependencies going forward.
However SPM isn't really happy with mixed Swift/Obj-C targets, so this is an enabling change that replaces the Objective-C GZIP implementation with a pure swift implementation taken from https://github.com/1024jp/GzipSwift (this is MIT licensed)
It might be worth considering consuming this dependency directly as a swift package dependency going forward, but this was the smallest like-for-like change that seems to maintain the existing capabilities.

I looks like gzipping function is now gone in below commit from 2019/10/03 (4 months after this pull request was started)
a81543b4379ba107c115fb123cbbd3b779998eff Remove all code from xcode 10 parsing
If gzip still needed? If gzip it is NOT needed then should we close this pull request?

@esteluk  cc @TitouanVanBelle
Thank you for contributing...
As previous comments said this project is not using Gzip anymore so I will close this pull request.
Please feel free to open an issue or other pull request if you think something is wrong :)

@esteluk  cc @TitouanVanBelle
Thank you for contributing...
As previous comments said this project is not using Gzip anymore so I will close this pull request.
Please feel free to open an issue or other pull request if you think something is wrong :)


health: add ipv6 health check status to cilium health status output

Fixes #8636

This change is

Coverage decreased (-0.02%) to 44.116% when pulling b6d9c83302d8489a0fa83c9c777f5a72f789a18e on fristonio:health-status-ipv6-fix into 354086cfa1742af86273d7a679c9c684f71339e0 on cilium:master.

I have added the IPv6 health status to secondary addresses for the node status
It can be viewed by using --verbose with cilium-health status cli.
Here is a sample output for the same.
vagrant@runtime1:~/go/src/github.com/cilium/cilium$ cilium-health status --verbose
Probe time:   2019-08-03T19:03:27Z
Nodes:
  runtime1 (localhost):
    Host connectivity to <IP_ADDRESS>:
      ICMP to stack:   OK, RTT=565.611µs
      HTTP to agent:   OK, RTT=641.091µs
      Secondary connectivity to fc00::10ca:1:
        ICMP to stack:   OK, RTT=376.868µs
        HTTP to agent:   OK, RTT=266.117µs
    Endpoint connectivity to <IP_ADDRESS>:
      ICMP to stack:   OK, RTT=627.969µs
      HTTP to agent:   OK, RTT=2.499668ms

@ianvernon @joestringer does this look good or is there a change required in this?

test-me-please


THRIFT-2945: Add Rust support to Thrift

This is a PR to add Rust support to Thrift. I would be happy to accept and incorporate feedback.
Not implemented:

Struct/union constants: Honestly, this looks like it's "not possible" (tm)
Multiplexed processor

I will be continuing to add documentation, comments and clean up the code in both the C++ generator as well as the Rust client library.

I...don't understand why 1787 files are listed as changed. I definitely didn't change that many.

I...don't understand why 1787 files are listed as changed. I definitely didn't change that many.

I'm closing and trying again to see if the PR is more tractable.

I'm closing and trying again to see if the PR is more tractable.


[Bug] Updated to v2.14.2 but don't see Dall-E in list of models

📦 Deployment Method
Vercel
📌 Version
2.14.2
💻 Operating System
Ubuntu
📌 System Version
24.04
🌐 Browser
Chrome
📌 Browser Version
126
🐛 Bug Description
I updated to the latest version but do not see Dall-E in the list of models available. How can I use Dall-E?
📷 Recurrence Steps
Update to latest, go to settings, look at models available in the dropdown
🚦 Expected Behavior
Dall-E should be listed, it's not
📝 Additional Information
No response

using dall-e-3 model belong OpenAI, see https://app.nextchat.dev

after v2.15.0, can using Dalle as plugin. see: https://github.com/ChatGPTNextWeb/NextChat-Awesome-Plugins/tree/main/plugins/dalle


error install mgamal/laravel-inbox

i have problem with install this package
laravel version 10
php version ^8.1
In PackageDiscoveryTrait.php line 364:
Could not find a matching version of package mgamal/laravel-inbox. Check the package spelling, your version constra
int and that the package is available in a stability which matches your minimum-stability (stable).

The same problem can't install the package

We've moved this package to this url, we will publish the first stable versions within the next few days. Thanks for you patience

We've moved this package to this url, we will publish the first stable versions within the next few days. Thanks for you patience

can explain how can install this package using https://github.com/BaristaPHP/inbox-laravel


Create sub package for cronet

Since cronet is not in core component and won't be, any target for cronet cannot be in main package. Therefore main package is refactored not to have cronet targets and new cronet package is created.

Create new cronet package including all cronet targets.
(Remove all cronet targets from main package.)

Change objective_c/Cronet from a file to a target.

Remove cronet function from gRPC++ since it's not done.

@rmstar - please take a look. This might be in conflict with your Cronet work.

Muxi, thank you for the review!


update tensorflow

Is there a specific reason why TensorFlow is being pulled from main as opposed to conda-forge? We have TensorFlow 2.7.0 functioning in conda-forge now, so if you don't object, let's update it.
https://github.com/microsoft/planetary-computer-containers/blob/b5e229fb86dc98e8e5a3337945f63f40d3b88778/gpu-tensorflow/environment.yml#L108
Also, in the future, it may be worthwhile to considering pulling in NVIDIA's containers as base instead of pangeo --- nothing against pangeo (I am a big fan!) but for GPU-related activities, I think it's safer to rely on NVIDIA or the package providers (Google/TensorFlow or PyTorch) as they do more rigorous testing.
The issue is that, oftentimes, the set of volunteers at conda-forge (pangeo builds on conda-forge; I am a contributor at conda-forge) cannot keep up with the demanding builds of PyTorch and TensorFlow (currently, PyTorch is good, but we do not have the full ecosystem; for TensorFlow, we have 2.7.0, but we are sort of stuck --- we also don't have the full ecosystem). Any little tweak (especially with TensorFlow, e.g. trying 2.8.0 through pip) will break everything as one would need to stitch together the cuda-related packages. Pulling in a GPU-ready container through NVIDIA or Google will likely be safer, but will almost definitely be larger in terms of storage.
Thanks for the good work!!

(btw, if you decide to pull in tf 2.7 from conda-forge, we will need to do some additional work to ensure it pulls in the gpu package --- I can help set that up in a PR, but first, let me know if you're open to the idea)

Closing as there seems to be no interest in this...


Duplicate user in database

stas shows up twice, need to do a better job at unifying user data over here

Maybe related #17


Add ChatGPT to Markdown bookmarklet link

By submitting this pull request, I promise I have read the contribution guidelines twice and made sure my submission follows it.
⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

You need to link to a readable version of the source somewhere. Ideally, publish it on GitHub. There is a trust issue by running a bookmarklet from a random site.

That makes sense. I published the repo on GitHub earlier today and replaced the link. It doesn't meet the 20 stars requirements though.

Thank you!


iTunes: could not set on to true

Hi @ebaauw I hope you are doing well.
With update to v0.2.16 im getting an error and can't control Music App anymore.
First start works and I can start the Apple Music App and also stoppt playing.
Trying to start playing again brings then the error for whatever reason.
Going back to v0.2.15 everything is working well again.
Any Idea? Thanks in advance.
[2/22/2020, 4:20:52 PM] [iTunes] iTunes: set on from false to true
[2/22/2020, 4:20:53 PM] [iTunes] Apple TV 4K: on changed from false to true
[2/22/2020, 4:20:58 PM] [iTunes] iTunes: track changed from "" to "Broken Blues (feat. Andreya Triana)"
[2/22/2020, 4:21:13 PM] [iTunes] iTunes: set on from true to false
[2/22/2020, 4:21:17 PM] [iTunes] iTunes: set on from false to true
[2/22/2020, 4:21:17 PM] [iTunes] applescript setPlayerOn(true, "Broken Blues (feat. Andreya Triana)"): execution error: „Music“ hat einen Fehler erhalten: Einige Daten können nicht in den erwarteten Typ umgewandelt werden. (-1700)

[2/22/2020, 4:21:17 PM] [iTunes]             command: set lib to (load script "/usr/local/Cellar/node/12.12.0/lib/node_modules/homebridge-music/scripts/iTunes.scpt")
tell lib to setPlayerOn(true, "Broken Blues (feat. Andreya Triana)")
[2/22/2020, 4:21:17 PM] [iTunes] iTunes: could not set on to true
[2/22/2020, 4:21:33 PM] [iTunes] applescript getState(false): execution error: «class pAct» of item 9 of every «class cAPD» of application "Music" kann nicht in Typ Unicode text umgewandelt werden. (-1700)

[2/22/2020, 4:21:33 PM] [iTunes]             command: set lib to (load script "/usr/local/Cellar/node/12.12.0/lib/node_modules/homebridge-music/scripts/iTunes.scpt")
tell lib to getState(false)
[2/22/2020, 4:21:38 PM] [iTunes] Apple TV 4K: on changed from true to false
[2/22/2020, 4:21:42 PM] [iTunes] iTunes: set on from false to true
[2/22/2020, 4:21:42 PM] [iTunes] applescript setPlayerOn(true, "Broken Blues (feat. Andreya Triana)"): execution error: „Music“ hat einen Fehler erhalten: Einige Daten können nicht in den erwarteten Typ umgewandelt werden. (-1700)

[2/22/2020, 4:21:42 PM] [iTunes]             command: set lib to (load script "/usr/local/Cellar/node/12.12.0/lib/node_modules/homebridge-music/scripts/iTunes.scpt")
tell lib to setPlayerOn(true, "Broken Blues (feat. Andreya Triana)")
[2/22/2020, 4:21:42 PM] [iTunes] iTunes: could not set on to true

{
            "name": "iTunes",
            "service": "switch",
            "timeout": "25",
            "platform": "Music"
        },

Could you please, for comparison also list the log for v0.2.15?

Are you running on Catalina or on an earlier version of macOS?  homebridge-music uses the iTunes script, but the error message mentions the Music app?

iTunes (as well as Music) gives this error when specifying an unknown track to the play command.  E.g. when sending (over AppleScript): tell application "Music" to play track "n/a", I get an error error "Music got an error: Can’t make some data into the expected type." number -1700 to item  I cannot reproduce the other error, but it seems that Music is reporting an illegal track name that cannot be converted into a Unicode text.  Not sure how this can happen, and why v0.2.16 would behave differently from v0.2.15.  What were you playing when the error occured?

Using macOS 10.15.3 Catalina, Music App <IP_ADDRESS>.
Good you pointed to "illegal track name".
Now I played the same track with v0.2.15 and it also was giving an error.

[2/22/2020, 5:33:57 PM] [iTunes] applescript error execution error: „Music“ hat einen Fehler erhalten: Einige Daten können nicht in den erwarteten Typ umgewandelt werden. (-1700)
[2/22/2020, 5:33:57 PM] [iTunes] applescript: set lib to (load script "/usr/local/Cellar/node/12.12.0/lib/node_modules/homebridge-music/scripts/iTunes.scpt")
tell lib to setPlayerOn(true, "Broken Blues (feat. Andreya Triana)")
[2/22/2020, 5:33:57 PM] [iTunes] iTunes: could not set on to true

Going to the next track manually and turning play on off and no error.
But that particular track info doesn't show any strange to me.

With v0.2.15
[2/22/2020, 5:29:12 PM] [iTunes] Initializing Music platform...
[2/22/2020, 5:29:12 PM] [iTunes] homebridge-music v0.2.15, node v12.16.1, homebridge v0.4.50
[2/22/2020, 5:29:12 PM] [iTunes] warning: not using recommended node version v12.14.1 LTS
[2/22/2020, 5:29:12 PM] [Config] Initializing config platform...
[2/22/2020, 5:29:12 PM] Loading 0 accessories...
[2/22/2020, 5:29:12 PM] [iTunes] Initializing platform accessory 'iTunes'...
[2/22/2020, 5:29:12 PM] [iTunes] Initializing platform accessory 'Computer'...
[2/22/2020, 5:29:12 PM] [iTunes] Initializing platform accessory 'Apple TV 4K'...
[2/22/2020, 5:29:12 PM] [iTunes] Initializing platform accessory 'Badezimmer'...
[2/22/2020, 5:29:12 PM] [iTunes] Initializing platform accessory 'Badezimmer(Audio)'...
[2/22/2020, 5:29:12 PM] [iTunes] Initializing platform accessory 'Schlafzimmer'...
[2/22/2020, 5:29:12 PM] [iTunes] Initializing platform accessory 'Schlafzimmer(Audio)'...
[2/22/2020, 5:29:12 PM] [iTunes] Initializing platform accessory 'Triby'...
[2/22/2020, 5:29:12 PM] [iTunes] Initializing platform accessory 'Wohnzimmer'...
[2/22/2020, 5:29:12 PM] [iTunes] Initializing platform accessory 'ZIPP 2'...
[2/22/2020, 5:29:18 PM] [iTunes] Apple TV 4K: on changed from true to false
[2/22/2020, 5:29:23 PM] [iTunes] iTunes: set on from false to true
[2/22/2020, 5:29:28 PM] [iTunes] iTunes: track changed from "" to "lulu80XL"
[2/22/2020, 5:29:28 PM] [iTunes] Apple TV 4K: on changed from false to true
[2/22/2020, 5:29:42 PM] [iTunes] iTunes: set on from true to false
[2/22/2020, 5:29:50 PM] [iTunes] iTunes: set on from false to true
[2/22/2020, 5:33:28 PM] [iTunes] iTunes: volume changed from 19 to 24
[2/22/2020, 5:33:28 PM] [iTunes] iTunes: track changed from "lulu80XL" to "Broken Blues (feat. Andreya Triana)"
[2/22/2020, 5:33:28 PM] [iTunes] Computer: volume changed from 18 to 23
[2/22/2020, 5:33:28 PM] [iTunes] Apple TV 4K: volume changed from 18 to 23
[2/22/2020, 5:33:28 PM] [iTunes] Badezimmer: volume changed from 18 to 23
[2/22/2020, 5:33:28 PM] [iTunes] Badezimmer(Audio): volume changed from 4 to 5
[2/22/2020, 5:33:28 PM] [iTunes] Schlafzimmer: volume changed from 18 to 23
[2/22/2020, 5:33:28 PM] [iTunes] Schlafzimmer(Audio): volume changed from 18 to 23
[2/22/2020, 5:33:28 PM] [iTunes] Triby: volume changed from 18 to 23
[2/22/2020, 5:33:28 PM] [iTunes] Wohnzimmer: volume changed from 18 to 23
[2/22/2020, 5:33:28 PM] [iTunes] ZIPP 2: volume changed from 13 to 17
[2/22/2020, 5:33:53 PM] [iTunes] iTunes: set on from true to false
[2/22/2020, 5:33:57 PM] [iTunes] iTunes: set on from false to true
[2/22/2020, 5:33:57 PM] [iTunes] applescript error execution error: „Music“ hat einen Fehler erhalten: Einige Daten können nicht in den erwarteten Typ umgewandelt werden. (-1700)

[2/22/2020, 5:33:57 PM] [iTunes] applescript: set lib to (load script "/usr/local/Cellar/node/12.12.0/lib/node_modules/homebridge-music/scripts/iTunes.scpt")
tell lib to setPlayerOn(true, "Broken Blues (feat. Andreya Triana)")
[2/22/2020, 5:33:57 PM] [iTunes] iTunes: could not set on to true
[2/22/2020, 5:34:13 PM] [iTunes] Apple TV 4K: on changed from true to false
[2/22/2020, 5:34:18 PM] [iTunes] iTunes: on changed from false to true
[2/22/2020, 5:34:18 PM] [iTunes] iTunes: track changed from "Broken Blues (feat. Andreya Triana)" to "Ride It"
[2/22/2020, 5:34:18 PM] [iTunes] Apple TV 4K: on changed from false to true
[2/22/2020, 5:34:27 PM] [iTunes] iTunes: set on from true to false
[2/22/2020, 5:34:31 PM] [iTunes] iTunes: set on from false to true
[2/22/2020, 5:34:48 PM] [iTunes] iTunes: on changed from true to false

But that particular track info doesn't show any strange to me.

I'm afraid there's nothing I can do about this.  You might try and delete and re-type the song title in case it contains any funny invisible characters, but that's really a long shot.
Using AppleScript to control iTunes still remains a bit of a hack.  I created homebridge-music before I went all-in on Sonos, to automate through HomeKit turning AirPlay speakers on and off when entering or leaving the room.  And to turn on the music when I arrived home or wake up, and turn it off when leaving or going to sleep.  It's by no means a full-featured app to control iTunes (or now Music).

Using macOS 10.15.3 Catalina, Music App <IP_ADDRESS>.

I'll add a check for the macOS version, and default to the Music script when it's Catalina or later.  I did find some subtle differences between iTunes and Music in how they interact with AppleScript.

to automate through HomeKit turning AirPlay speakers on and off when entering or leaving the room. And to turn on the music when I arrive home or wake up, and turn it off when leaving or going to sleep.

Thats exactly the same use for me. Wouldn't want to miss your plugin and I appreciate your work and the time you are investing. 😌🙏
My config entry is still correct, even with Catalina and Music App, right?
Theres not much and not more I have to add.
{
            "name": "iTunes",
            "service": "switch",
            "timeout": "25",
            "platform": "Music"
        },

There seems to be some magic at work that translates "iTunes" to "Music" when executing a compiled script, but not when compiling the script.
I noticed when setting the volume of an AirPlay speaker through Music, the volume is set to 1 less, causing homebridge-music to log an error.  In the Music script I echo back the volume requested, and let the value be updated during the next heartbeat.  You might want to add "Script": "Music" for now, to prevent the error.  You might also just ignore it.
The next version of homebridge-music will use Music script by default on Catalina (and beyond).
With the change to dynamic platform accessories, I plan to introduce some of the homebridge-zp features, notably Change Volume so you can set relative volume from HomeKit automations, e.g. from wireless switches.  Especially fun in combination with homebridge-hue exposing switches with a dial, like the IKEA SYMFONISK controller or Lutron Aurora.


Fix node-canvas integration by extending setAttribute from Element.

Using the node-canvas integration with jsdom in a simple example will issue the following error on toDataURL():
[Error: the surface type is not appropriate for the operation]
The root cause is that the canvas width/height do not get set by the setAttribute methods of Element.  The PR bridges and extends certain setters for Element so that both htmltodom and later calls to setAttribute now work. Although admittedly hacky, the fix is in the "transitional" code and applies only when node-canvas is used.  There could be other setters that need to be extended. If there's a suggestion for a cleaner or more complete fix, I'd be happy to test that. You can imagine it took a fair amount of spelunking to get to this version ;-).

So I'm pretty sure we have ways of making this work better ... e.g. adding width and height getters to the canvas that return the attribute values. But the most important thing is, if you could add a test, then we can play around with different strategies that make the test pass :)

Thanks @domenic. I considered trying to add one but since the test requires that node-canvas be installed, I wasn't sure how you would want to structure the "with" and "without" tests. Ie, doing an npm (un)installs in the test scripts.  Suggestions?
In case you missed it, the "simple example" gist in the first post does have a failing case. I could put that in a self-contained repo like https://github.com/robertjustjones/jcanvas-in-node.  In fact, that's two commented lines away from an example case itself.

@robertjustjones Just add it to devDependencies, those are only installed on full-package installs and not in npm release mode.

@domenic I've added two tests that fail as follows without the fix. Let me know if there's a better location for these.
AssertionError: A.width
AssertionError: A.height
Error: the surface type is not appropriate for the operation

To run the tests using io.js requires a recent fix to node-canvas:
 npm install git+https://github.com/Automattic/node-canvas.git

Hey @domenic do you need me to take this further here for now? The fix could/should go into 3.x and 4.x, but Travis isn't passing because it's not pulling the latest master branch version on node-canvas needed for io.js.

Well, we'll need to get a version of node-canvas published to npm first that supports io.js before we can consider taking this.

Hmm, ok, but it works now in node.js with your 3.1.x using node-canvas 1.2.1. Having two nodes is really going to suck.

node-canvas 1.2.2 was released with support for io.js!

@domenic I've updated to<EMAIL_ADDRESS>now that the npm registry is updated ;-).
Can you help me with why the build fails here? It's working in my environment for iojs-v1.8.1.
$ node --version
v1.8.1
$ npm --version
2.8.3
$ nvm --version
0.23.3

Uh because of the merge commit there are so many changes I can't really diagnose anything. Can you do a rebase on master instead?

Oh I see if I go to "files changed" it's more readable. Still a rebase would be great.
Anyway my guess is that you need to preinstall the binary dependencies. So, add stuff like https://github.com/Automattic/node-canvas/wiki/Installation---Ubuntu-and-other-Debian-based-systems to .travis.yml (probably around line 13 so it only is done for the io.js tests)

A better fix for this BTW might be to add an _attrModified to HTMLCanvasElement.

OK, I managed to fix this! Next release (6.2.1 or 6.3.0) will have the fixes.

Awesome, thanks!


How to use functional component (Hook)

Is it possible to work in the format of hook components?
Have an example? (-:

Hi @aristotelesbr2014 ! What kind of hook integration are you looking for ? MegadraftEditor is a React component, so it can be used with hooks without problem.

This is somewhat related question. I am trying to build a custom plugin using hooks.
import SomePluginButton from "./Button";
import SomePluginBlock from "./Block";
...

Button.js:

export default function SomePluginButton(props) {
    const [state, setState] = useState({
        some_state: false
    });
    return ....
}

Would result in TypeError: Object(...) is not a function

Hi, @mikekoro !
We need more details on how to reproduce your error. But as an example of how hooks can work in plugins I modified the src / plugins / ImageButton.js file in dev mode:
import React, { useState, Component } from "react";

import icons from "../../icons";
import insertDataBlock from "../../insertDataBlock";

export default function ImageButton (props) {
  const [icon, setIcon] = useState('image');
  const changeIcon = () => setIcon('other');

  return (
    <button
      className={props.className}
      type="button"
      onClick={changeIcon}
      title={props.title}
    >
      {icon === 'image'
        ? <icons.ImageIcon className="sidemenu__button__icon" />
        : <icons.ErrorIcon className="sidemenu__button__icon" />
      }
    </button>
  );
}

Result:

thanks for the help guys!

Thanks @ydax, you helped me!!! 🚀


[chore] use canUseDOM from exenv.

Changes proposed:

Already implemented in this package.

Upgrade Path (for changed or removed APIs):

None.

Acceptance Checklist:

[x] All commits have been squashed to one.
[x] The commit message follows the guidelines in CONTRIBUTING.md.
[x] Documentation (README.md) and examples have been updated as needed.
[x] If this is a code change, a spec testing the functionality has been added.
[x] If the commit message has [changed] or [removed], there is an upgrade path above.

Coverage remained the same at 86.016% when pulling f028dcc05419191a80f0414be471120b47010d8a on diasbruno:chore/use-canUseDOM-from-exenv into cc4577c1f7c0556cb6456bdcc29db4c1e9b85309 on reactjs:next.


adaptation of test for Python 3

Avoid type errors with Python 3 during tests by opening stdout and stderr in text mode.
Add testing with Python 3 to AppVeyor testing script (+ comments and little improvement).

Thanks!


Content: Button groupings

Need to define and add guidance around button grouping on the button component page.

Still need. Got asked about this yesterday actually.

Not stale, still need to add


Add request to reset Poppy

Sometimes (often enough) next to some (unfortunately unidentified) actions, register value seems to be frozen or http server does not respond well.
Next to perfoming a reset request, everything seems to back to normal.
Then add it.

Canceled.
The reset request is not exposed through the rest api but performed next to http server URL
It will be done in CLI.


Reset dashboards in rake demo:setup

Currently this resets metrics, but not the default dashboard view.

@Floppy should the dashboards rake task exactly mirror the metrics endpoint set up.
By which I mean should a new dashboard be tore down and built up every 24 hours?

Yeah, probably. The idea is that any changes to the demo site are thrown away every night.


HATEOAS & Sample project

Added example project to execute server and test interactivly
Added links for subgroups & extensions within JSON response

:+1:


Added Mono command for build env

CI Build Link:
http://sou-jenkins2.swinfra.net:8080/job/CAFapi/job/CAFapi~buildenv-dotnet-mono-image~US439108~CI


Update starter-kits.md

Add Hyas

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

We have moved the Hugo site source to its own repository, so we would appreciate if you could open this PR directly in hugoDocs:  https://github.com/gohugoio/hugoDocs/pulls