can't filter without highlighting other visuals

i am working on custom slicer(dropdown) and want to filter the report data based on the selection in dropdown. I am using the code "selectionManager.select(d.selectionId)" but this doesnt seem to filter all the records and enables highlighting in Stacked Column charts and other such visuals.
Is there a way in the 1.1.0 api to filter data without highlighting..  i know some visuals like pie chart can be set to "filter" via Enable Interactions in PBI Desktop, but "Stacked charts" dont have that option.

please see https://github.com/Microsoft/PowerBI-visuals#building-a-slicer-visual on advanced filtering options supported in API 1.8.


PGI Fortran

Hi, thanks for your modern fortran extension. Do you have any advice on how to get PGI fortran working with your addin and vscode? Also, have you experienced any diffulculties with linking programs in the light of rowhammer, and what companies such as apple are doing to aslr and kaslr? Cheers!

Can you clarify what you mean by working?

As in compiling… I have moved on from this and have started using VS with the pgi addin. I also have various docker containers that I am slowly adapting to use with a gui. It would be great to be able to use vscode with pgi community in a container, or gfortran for that matter. There just seems to be a great deal of difficulty getting a fortran compiler to stick for any length of time in OS X. For me at least…

On 5 Mar 2018, at 5:57 pm, Miguel Carvajal<EMAIL_ADDRESS>wrote:
Can you clarify what you mean by working?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/krvajal/vscode-fortran-support/issues/30#issuecomment-370337293, or mute the thread https://github.com/notifications/unsubscribe-auth/ACasXm93qcLFvFgSpMZjGJsYsZ9nK71Rks5tbO_dgaJpZM4SBlw3.

I am closing this as it is no longer relevant.


terminal-emulators/kitty: Fix ShellCheck lints

Motivation for this change
Proof of concept linting embedded shell scripts within the package itself. #133088, @Artturin.
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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

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

[x] Fits CONTRIBUTING.md.

This would be better as a hook
https://nixos.org/manual/nixpkgs/stable/#ssec-setup-hooks
Some examples
https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/install-shell-files/default.nix
https://github.com/NixOS/nixpkgs/tree/master/pkgs/build-support/setup-hooks
https://github.com/NixOS/nixpkgs/search?q=makeSetupHook&type=

@Artturin I've created #149934 and others to introduce ShellCheck in a bunch of places. Hopefully at least some of them can be merged without fixing a bajillion build scripts.

This would be better as a hook
https://nixos.org/manual/nixpkgs/stable/#ssec-setup-hooks

Agreed.
shellcheck needs to be pinned somehow (and consistently treewide, not per package), see https://github.com/NixOS/nixpkgs/pull/148845 where the package broke after we bumped shellcheck.

shellcheck also needs to be pinned somehow (and consistently treewide, not per package), see #148845 where the package broke after we bumped shellcheck.

Shouldn't whoever bumps ShellCheck also fix the lints as part of the PR? That way the code is simpler. It just couples the ShellCheck update to the linting, which seems natural.

This would be better as a hook https://nixos.org/manual/nixpkgs/stable/#ssec-setup-hooks
Some examples https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/install-shell-files/default.nix
https://github.com/NixOS/nixpkgs/tree/master/pkgs/build-support/setup-hooks
https://github.com/NixOS/nixpkgs/search?q=makeSetupHook&type=

I don't really understand that documentation. I'm only up to part 33 of How to Learn Nix, and sentences like "Packages adding a hook should not hard code a specific hook, but rather choose a variable relative to how they are included." are still just gobbledygook to me.
Based on the example code I'm guessing I need something this (thrown together):
pkgs/build-support/setup-hooks/shell-check.bash:
shellCheck() {
    shellcheck -- "$@"
}

pkgs/build-support/shell-check/default.nix:
{ makeSetupHook, tests }:

let
  setupHook = makeSetupHook { name = "shell-check"; } ../setup-hooks/shell-check.sh;
in

setupHook.overrideAttrs (oldAttrs: {
  passthru = (oldAttrs.passthru or {}) // {
    tests = tests.shell-check;
  };
})

and then I need to use shellCheck "$out/bin/foo" in checkPhase? Is that better than just shellcheck "$out/bin/foo" in checkPhase? Or, more likely, am I missing something important?

Shouldn't whoever bumps ShellCheck also fix the lints as part of the PR? That way the code is simpler. It just couples the ShellCheck update to the linting, which seems natural.

In theory, sure. In practice, no. Depends entirely on how many fixes are needed. Likely this check will just end up being disabled selectively or outright unless it can be introduced in way that isn't going to cause potential problems in the future.
Also shellcheck isn't a isolated package, it's part of a package set (haskellPackages) that gets bumped every week or two as a separate workflow on the haskell-updates branch. Adding shellcheck as a dependency everywhere will eventually disrupt that workflow due to to many rebuilds, etc.

If we start doing this everywhere, we'll effectively require the Haskell toolchain including GHC (which is btw the largest package in e.g. my system closure with ~1.5G) in the build-closure for each package. Also, I fully agree with @zowoq, this will cause even more rebuilds:

Adding shellcheck as a dependency everywhere will eventually disrupt that workflow due to to many rebuilds, etc.

I don't really understand why this shouldn't be part of a review/CI process. In theory, we'll only need to check this once when a PR is filed with the build scripts, right?

Adding shellcheck as a dependency everywhere will eventually disrupt that workflow due to to many rebuilds, etc.

I don't really understand why this shouldn't be part of a review/CI process. In theory, we'll only need to check this once when a PR is filed with the build scripts, right?

That sounds like an excellent compromise. The vast majority of variable substitutions in embedded shell scripts are just paths or very simple strings, so there's probably a low chance of any reasonable configuration change to introduce a lint to a dependent script.
How would you get to the  various phase scripts from the outside, though? Are they all part of the output?

@Artturin @Ma27 @zowoq I've reduced the scope of this PR to just fix some ShellCheck lints.

@Artturin Would you be OK to review this?


A footpath with permissive access is part of the network

https://routeplanner.bike.brussels/?sb=true&o=4.3317550,50.8767605&d=4.3979127,50.8699507&p=profile1#17.17/50.88092/4.40620?sb=true&o=4.4071028,50.8805351&d=4.4044682,50.8803575&p=profile1

On mapillary, there are only C3's visible, so officially one can not bike there.
This is an issue for the IRL network maintainers/signposters, not a data issue


Remove limits on SETTINGS_HEADER_TABLE_SIZE

#2874 This fixes a regression that prevented Kestrel from accepting HTTP/2 connections from Chrome.
Preview2 reset candidate.

There's a few things going on. The request table and response table need to be treated separately. The server gets to limit how large the table is for requests, and the client gets to limit how large it is for responses. Each advertise that limit to the other. The recpient is under no obligation to allocate or use that much memory for the table, they can use as much or as little as they want up to given limit. We don't currently use a response compression table at all so the limit given to us by the client is meaningless. When we do start compressing response headers we should use the lesser table size of either the value provided by the client or the one specified in Http2Limits.

Right there are separate limits for each direction. But there's no upper
limit to this seeing other than the number of bits allocated to this
setting?
On Sat, Sep 1, 2018 at 10:56 PM Chris Ross<EMAIL_ADDRESS>wrote:

There's a few things going on. The request table and response table need
to be treated separately. The server gets to limit how large the table is
for requests, and the client gets to limit how large it is for responses.
Each advertise that limit to the other. The recpient is under no obligation
to allocate or use that much memory for the table, they can use as much or
as little as they want up to given limit. We don't currently use a response
compression table at all so the limit given to us by the client is
meaningless. When we do start compressing response headers we should use
the lesser table size of either the value provided by the client or the one
specified in Http2Limits.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/KestrelHttpServer/pull/2877#issuecomment-417907171,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB7689ngpx6DKK-7_PoKzxgKHlk-JjOCks5uW3LtgaJpZM4WWc6F
.

Nothing in the spec, no, and no reason to impose a limit in either direction other than the one provided by Http2Limits.

I read the HTTP/2 and HPACK spec again and there weren't any additional limits. Seems like I understood the phrase The encoder can select any size equal to or less than this value wrong thinking it was referring to the initial value. This fix is correct.

991cfa8


WIP NO-JIRA: experimental adaptation of signer rotation test as fuzz target

/cc @p0lyn0mial @benluddy

Thanks for running with this. There were a few things that I wanted to look into but did not have time:

The fuzz input is just a PRNG seed, so it doesn't really have an correlation with the outcome of the test. In its current state, I don't think we're benefiting from fuzzing vs. simply iterating over int64s sequentially. What might work is changing the fuzz input to represent the sequence of choices that the dispatcher makes. For example, if you have fewer than 256 instrumented actors, the fuzz input could be []byte and the dispatcher would do for _, n := range choices { dispatch(actors[n%len(actors)]) }.
The dispatcher relies on knowing how many instrumented actors there are (and when they terminate) so that it can wait until every actor is blocked before it dispatches one of them. It's easy to use it wrong in a test and deadlock. I would like to see some kind of dispatcher builder that tests can use to register an actor and get back a lightweight handle for blocking and unregistering (and after unregistering, the handle only returns errors). Or any better design that makes it harder to misuse in tests.
The sleep at the beginning of the fuzz target badly limits the fuzzer throughput.
Instead of, or in addition to, having actors block on string action names, it could be nice to save the call stack.

Implemented a list of choices (which replaces rng and loops over number of workers). Also added fuzzing over number of workers. However its odd that although UseSecretUpdateOnly is fuzzed too I don't see failures :/

Addressed only 1 from https://github.com/openshift/library-go/pull/1709#issuecomment-2039960940 so far


Add linting for js files

We should use eslint with airbnb rules.
May also be useful to use Prettier - see https://gist.github.com/bradtraversy/aab26d1e8983d9f8d79be1a9ca894ab4 for possible implementation.

This is done.


Clean up StyleCop violations to get us building clean again

These violations have been creeping in with the last few PRs. I'm cleaning them up to get us building clean again. After this PR goes through, I'll update the code documentation.
Some of my comments on IoT methods are really weak as I don't really know what the method/API does, so IoT folks may want to clean those up at some point.

Hi @WilliamsJason, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

 If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


Add the ability to encrypt data for the API request/response

Hi!
This feature request is to basically have the ability to hide sensitive information in the logs of our API or database queries to make sure that this data is not visible for everyone. Right now, for the API, the authentication data is stored in the body of the requests and we often have to use identity token (as well as refresh tokens) which is extremely sensitive data and there is no way to currently hide this data in our logs.
So there are a few solutions that we could have, the best one being to have the same kind of behavior as we have in the driver crypto support (put ****** instead of the actual data), but we will also need to be able to tell the framework that a given API response needs to be hidden as well (whenever we request a refresh token for example). A temporary fix would be to allow us to dynamically disable logging when doing certain API/Database calls to make sure no information is logged.
Either way, I think a lot of solutions can solve this problem and any solution will be valuable to us!

updated subject to keep concrete request/response api feature request. It seems like new freemarker key neededlike sensitive or similar and extra logic to parse and replace such keys by ***.
Also submitted #1315 to publish in documentation steps we should use to reuse cryptotool for api, testdata and database config files


Today button

Describe the feature you'd like
Can you add an optional Today button? This is to quickly select today's date.
Use cases
User wants to quickly select today's date after he drifted to the past (or the future).

This won't be implemented, please refer to this closed issue https://github.com/theideasaler/calendar_date_picker2/issues/66
If you need this feature, you can easily achieve it by wrapping CalendarDatePicker2 into your own wrapper class.


Geojson

Added parsing capabilities for Geojson documents
Additions

Handling for Geojson documents

Testing

Run the test_geojson test or test_all to test the functionality

Notes

Handling for GeometryCollections is not complete
Build issues were keeping everything from working if the implementation code wasn't in the header. I believe those issues have been fixed, so the implementation code will need to migrate from .hpp to .cpp

Todos

Complete the documentation

This branch appears to have diverged from master, which is part of the reason things were breaking if everything wasn't in the header.  I've addressed that (and moved stuff out of the header file) in a rebase I've done in a separate branch.  I'm going to close this PR without merging, then create another with the rebased changes.


Entities to Bacnet Objects

Hi, my issue has only just started after working just fine for the last 3 weeks or so.
Describe the bug
I deleted everything relating to the interface and add in; as I was having trouble with the "entities to bacnet objects" I was using "number" "switch" and "sensor" and then when starting from the beginning again - as soon as I add these entities the Bacnet service crashes. I can discover devices in HA but only when the entities line  in the service configuration is blank.

Add-on: Bepacom BACnet/IP Interface
Bepacom BACnet/IP interface for the Bepacom EcoPanel. Allows BACnet/IP devices to be available to Home Assistant through an API.
Add-on version: 1.3.3
You are running the latest version of this add-on.
System: Home Assistant OS 12.0  (aarch64 / green)
Home Assistant Core: 2024.2.4
Home Assistant Supervisor: 2024.02.1
Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-nginx: starting
s6-rc: info: service init-interface: starting
[15:09:53] INFO: Running init-nginx.
[15:09:53] INFO: Running init-interface.
[15:09:53] INFO: Allowed addresses for NGINX: <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>
[15:09:54] INFO: Generated ingress configuration successfully!
s6-rc: info: service init-nginx successfully started
[BACpypes]
objectName: EcoPanel
address: <IP_ADDRESS>/24
objectIdentifier: 4069
maxApduLengthAccepted: 1476
segmentation: segmentedBoth
vendorIdentifier: 15
foreignBBMD: -
foreignTTL: 255
maxSegmentsAccepted: 64
loglevel: INFO
defaultPriority: 9
updateInterval: 600
s6-rc: info: service init-interface successfully started
s6-rc: info: service interface: starting
s6-rc: info: service interface successfully started
s6-rc: info: service nginx: starting
s6-rc: info: service nginx successfully started
s6-rc: info: service legacy-services: starting
[15:09:54] INFO: Running interface
s6-rc: info: service legacy-services successfully started
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/usr/local/lib/python3.12/asyncio/base_events.py", line 685, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/usr/bin/main.py", line 315, in main
object_manager = ObjectManager(
^^^^^^^^^^^^^^
File "/usr/bin/BACnetIOHandler.py", line 919, in init
self.add_object(object_type="analogValue", index=index, entity=data)
File "/usr/bin/BACnetIOHandler.py", line 1101, in add_object
friendly_name = entity["attributes"].get("friendly_name")
~~~~~~^^^^^^^^^^^^^^
TypeError: 'bool' object is not subscriptable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/local/lib/python3.12/site-packages/bacpypes3/ipv4/init.py", line 155, in set_local_transport_protocol
transport, protocol = task.result()
^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1438, in create_datagram_endpoint
await waiter
asyncio.exceptions.CancelledError
ERROR:    An uncaught error occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.12/asyncio/runners.py", line 194, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 685, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/usr/bin/main.py", line 315, in main
object_manager = ObjectManager(
^^^^^^^^^^^^^^
File "/usr/bin/BACnetIOHandler.py", line 919, in init
self.add_object(object_type="analogValue", index=index, entity=data)
File "/usr/bin/BACnetIOHandler.py", line 1101, in add_object
friendly_name = entity["attributes"].get("friendly_name")
~~~~~~^^^^^^^^^^^^^^
TypeError: 'bool' object is not subscriptable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/local/lib/python3.12/site-packages/bacpypes3/ipv4/init.py", line 186, in set_broadcast_transport_protocol
transport, protocol = task.result()
^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1438, in create_datagram_endpoint
await waiter
asyncio.exceptions.CancelledError
Traceback (most recent call last):
File "/usr/bin/main.py", line 388, in
asyncio.run(main())
File "/usr/local/lib/python3.12/asyncio/runners.py", line 194, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 685, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/usr/bin/main.py", line 315, in main
object_manager = ObjectManager(
^^^^^^^^^^^^^^
File "/usr/bin/BACnetIOHandler.py", line 919, in init
self.add_object(object_type="analogValue", index=index, entity=data)
File "/usr/bin/BACnetIOHandler.py", line 1101, in add_object
friendly_name = entity["attributes"].get("friendly_name")
~~~~~~^^^^^^^^^^^^^^
TypeError: 'bool' object is not subscriptable
[15:10:04] INFO: Service BACnet Interface exited with code 1 (by signal 0)
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service nginx: stopping
[15:10:04] INFO: Service NGINX exited with code 256 (by signal 15)
s6-rc: info: service nginx successfully stopped
s6-rc: info: service init-nginx: stopping
s6-rc: info: service interface: stopping
s6-rc: info: service interface successfully stopped
s6-rc: info: service init-interface: stopping
s6-rc: info: service init-nginx successfully stopped
s6-rc: info: service init-interface successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service base-addon-log-level: stopping
s6-rc: info: service base-addon-log-level successfully stopped
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service base-addon-banner: stopping
s6-rc: info: service base-addon-banner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

My apologies, seems my description of entities is a little unclear. To add an entity, you have to write down the full specific entity ID.

Ahh I get it now. thankyou, I was interpreting it a different way...thankyou
Just learning HA... Now I need to make a slider toggle for a bacnet AV 0-100% for lighting.

Do you want a slider you can set through Home Assistant or through BACnet?

I need one for my lighting points that are actually Bacnet AO.  (from 0 to 100 % in 10% or 5% increments) Dali lighting.
I am reading and reading about HA. I am going through the learning curve.
looking at the below, just want simple slider for the AO I am using.
https://github.com/thomasloven/lovelace-slider-entity-row

So to use it, you have to install this card to your Home Assistant.
Then, following the quick start on that repository, you can add it to your dashboard.


Typo in supported Linux Distros

[Enter feedback here]
Documentation claims that Redhat versions
Red Hat Enterprise Linux | 7.4 - 7.8, 9.0 and later
are supported.
9.0 should be 8.0 as there is no 9

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

ID: ed0dc6c0-66e0-4026-9f2a-1cdb8b04e5c5
Version Independent ID: d02abfda-83d6-4022-bfb0-b3d0391a6223
Content: Learn to audit the contents of virtual machines - Azure Policy
Content Source: articles/governance/policy/concepts/guest-configuration.md
Service: azure-policy
GitHub Login: @DCtheGeek
Microsoft Alias: dacoulte

@jdkaufman01 Thank you for bringing this to our notice, raised a PR to update the document. Once reviewed it will be merged with the live document.
Thanks again for helping us improve our documentation. At this point it appears that there's no further edits or updates needed to the documentation other than what is listed above. We will go ahead and close this issue, however if you have any further queries please tag us in your reply and will be happy to reopen the thread and continue the conversation. Thank you

@jdkaufman01 Wanted to keep you informed that the current support is limited to Red Hat Enterprise Linux | 7.4 - 7.8 and the documentation has been updated accordingly.


Implement listTables in CachingCatalog

This PR implements listTables in CachingCatalog to fix the build.

+1

Thanks for the quick fix, @aokolnychyi!


RFC: DNN & Log4Net

Currently, the DNN Platform is using Log4Net as the backend logging provider, this provider is used to write the log files to the /Portals/_default/logs directory.  Users can customize the configuration of this using a configuration file.
Description of Problem
There are a number of concerns with the current Log4Net implementation:

It is a fork, and an older fork at that, of the Log4Net project and has not been maintained
There is a bug in the file provider, whereby log files are not cleaned up automatically.  This resulted in various "fun" solutions outside of DNN to clean up the directories.

Proposed Solution Option 1
Update the fork to be current with the Log4Net implementation as it is today.
I'm not a fan of this, as the management of forks is hard on the community and takes a lot of effort to manage.
Proposed Solution Option 2
Replace the DotNetNuke.Log4Net with a NuGet reference to the actual Log4Net project.  It appears that the actual code included in this project is nothing more than a direct copy/paste, including namespaces, so the level of effort here is NIL and the benefit would be better management of assets.
This is a much better option, however, looking at .NET Core future the Log4Net solution doesn't fully adhere to the new .NET Core items such as configuration.
Proposed Solution Option 3
Replace Log4Net with another logging solution, such as SeriLog.  This library is licensed under the same license as the Log4Net solution but has a large number of appenders that allow data to be shipped to other locations with minimal effort.  Including Email, File, Database, Azure Blob Storage, Application Insights, and more.
This solution also has the benefit of better supporting .NET Core standards for configuration loading etc.
Alternatives Researched
We can leave it "as is" but eventually have to fix this for the future.

My personal recommendation would be to leverage option 3.  I don't believe that this would be a breaking change for users, as the usage of the Log4Net library is all internal to DNN.  But the added bonus features that we get with SeriLog would outweigh the differences.
We have been using this product for a number of years on our .NET Core projects and I will not create a new project without it.  The flexibility has been amazing.

Usage of Log4Net is not only internal to DNN. I, and I am sure others, also use it in development.

Yes, I did use log4net in some modules. If I remember correctly there is a dnn wrapper around that logging maybe we could update the wrapper to use the new solution? Or announce it in advance and document how to update if you where using it...

To my knowledge logging is used by the DotNetNuke.Instrumentation library. There would no no changes there.

There shouldn’t be any direct calls to log4net at least from what I can tell

It would be a breaking change in terms of configuration for anyone who has customized DotNetNuke.Log4Net.config (e.g. added App Insights logging), but otherwise it should be a fairly painless transition.
There was a time when DotNetNuke.Log4Net.dll was included before DotNetNuke.Instrumentation existed, so some folks have direct dependencies.  Not sure how many of those are still out in the wild.  Is that your scenario @liffeyd or @valadas?

No, no longer referencing Log4Net directly. Currently using DotNetNuke.Instrumentation.

@bdukes no, I always used DotNetNuke.Instrumentation, so as long as we either keep that as a wrapper for logging, I see no problem. If DotNetNuke.Instrumentation needs to be deprecated, then we need to go by our deprecation rules IMO. But I am guessing we can keep it and just replace the implementation details? That way it would not be a breaking change in my opinion. If people used Log4Net directly, then I would guess we can just document the change, as a quick fix, those people could just backup the dll and put it back as a quick fix?

My idea either way would be updates hidden inside of instrumentation. Non breaking if you use that pathway.

Would this be ready to move out of RFC state? If so are we aiming for 9.4.1 or 10 ?

There was a PR to update Log4Net that was procesed

Cool, it was not linked to this issue, so closing this right?


Support for script based installations

What this does is search for a script called alcatraz.sh in your project to build (or install!) a plugin. This should help support cases where a build of a project alone is not enough.
However, this mechanism can also be used to trigger a binary install by downloading a release and placing it in the plugins folder similar to what Alcatraz uses to bootstrap:
curl -fsSL https://raw.githubusercontent.com/supermarin/Alcatraz/master/Scripts/install.sh | sh

Placing this inside alcatraz.sh allows plugin authors to provide binaries for installation rather than building the plugin on the target system.
However, this comes with a big downside – you'd need to be able to trust plugin authors not to place something malicious inside alcatraz.sh. Now that I've written this I've convinced myself that this is a bad idea.
It's probably best if there's a mechanism to fetch a zip from a URL and unpack it into the plugins folder rather than drive this through a script.
I'll open this PR anyway, if only to have a discussion what I could do to get CoPilot (which this is for) working with Alcatraz.

What about just providing a build.sh and using that as a build step in xcode? We should support that already. That however does expose the same issues you've outlined :/

You're right, this vulnerability already exists. Someone can put up a plugin right now and sneak in a script build step doing all sorts of things. Only exclusive binary distribution would prevent that I guess (again unless someone wants to do something malicious from within the plugin...)
For me it's much easier (and actually ready) if I use the build script straight away rather than adding another project file which then runs a script. Having to rename my existing project file away from CoPilot.xcodeproj is actually quite messy. I did rename it from CoPilotPlugin.xcodeproj to CoPilot.xcodeproj very recently in order to support Alcatraz and it wasn't trivial (see https://github.com/feinstruktur/CoPilot/pull/24). I'd love to avoid having to do that again ;)

So I guess the question is, would you support this script based installation given that the vulnerability currently exists and trust is essential already?

Just wanted to check if there's anything I can change to make this 'merge-able'. Happy to weak it if it's something you'd consider to add.

@supermarin could you have a look at this?

@jurre sorry I was on vacation and offline.
I'll try to catch up with PRs this week

:+1: :+1: :sun_with_face:

Gents, is there anything I can do to help getting this one across the line? I'll be away for two weeks from Sunday and I wouldn't want it to grow stale during that time ;) Cheers, Sven

@feinstruktur Thank you for this contribution, very much appreciated.
Honestly, I think we should not support this kind of stuff, 'cause we're switching to binary distributions.
This means, developers will build plugins on their own machines, and upload to Github releases.
We're all just out of time and energy to pull the trigger and do it, but it'll happen pretty soon.
This way, we'll solve 2 problems:

CocoaPods, Carthage, any kind of deps
Closed source plugins

The other downside, like mentioned, is the super obvious vulnerability and a potential for people to do various kinds of things in alcatraz.sh.
Other than that, the PR is conceptually really good and I hope this will not discourage you from further contributions.

Makes sense, Marin. Is there a branch tracking binary releases? Or a rough ETA?

I'll get back to you on this issue or via email.
Starting very soon.
On Fri, Jul 10, 2015 at 12:15 AM Sven A. Schmidt<EMAIL_ADDRESS>wrote:

Makes sense, Marin. Is there a branch tracking binary releases? Or a rough
ETA?
—
Reply to this email directly or view it on GitHub
https://github.com/supermarin/Alcatraz/pull/295#issuecomment-120261267.


Marshalling sample

Adds a new sample project which shows how to marshal various data types in PInvoke calls.

/cc @sbomer

Thanks for making the additional changes, @vitek-karas. I'll merge your PR now.


Resource leak when HTTP handler panics

The existing implementation of func Handler(sn SegmentNamer, h http.Handler) http.Handler has a resource leak if the passed in http.Handler panics, since seg.Close(nil) is never invoked. To avoid this, please change:
https://github.com/aws/aws-xray-sdk-go/blob/master/xray/handler.go#L179
to be
		defer seg.Close(nil)

after acquiring the segment.

I am closing this issue since we have pushed out a fix for this issue in this release (https://github.com/aws/aws-xray-sdk-go/releases/tag/v1.0.0-rc.15). Feel free to open another issue if you think it's not addressed.


BOM Parts

Hi,
I would be so helpful to have the parts organised either through octopart.com or with some serial numbers, I'm able to find them but its a bit difficult when the "Value" term is used as a generic  attribute.
Thanks

I used Octopart to keep track of components as I found them on Mouser. You can use (and correct!) my list if you'd like. Public Plaid Electronics

Don't know if you guys have stumbled into this link to octopart with the list: https://octopart.com/bom-tool/t5azwMqr/G5hAETgBxOPJR9aY

So it looks like the two links shared here are the same.
Can someone verify that all of the parts listed work? If so, I think I'll open a PR to add the more detailed and exact name in the BOM list.


That's done it

Related to issue #367 I've updated the eclipse .classpath file.
The steps to set up lwjgl 3 in eclipse are:

Check out git project (do not add as existing project)
Run ant

[ ] Open terminal
[ ] CD to lwjgl3 directory
[ ] ant init
[ ] ant compile-templates compile-tests

Copy .classpath and .project from lwjgl3/config/ide/eclipse to the root lwjgl3/ directory
In Eclipse (File > Import > Existing Project Into Workspace)

Select the root lwjgl3/ directory

Related to issue #349

Open Build Path > Libraries tab and add the Tools.jar file as an external jar from your /usr/lib/jvm/<java implementation>/libs directory

If you have TestNG installed right click the /modules/lwjgl/core/src/test/java folder and Run As > TestNG Test
If you're running Linux expect 25 of 30 passes. For some reason the 5 windows specific tests don't work ¯\_(ツ)_/¯

Afaict, the updated classpath includes the core module only. Isn't it possible to add the binding modules as well? (they each have one or more of main, generated and test sources)

It is possible. I may not understand exactly what you're requesting though.
I set up mine with the following as source folders

module/samples/src/test/java/
module/lwjgl/core/src/generated/java/
module/lwjgl/core/src/test/java
module/lwjgl/core/src/main/java

Then I added all of the bin/classes/<module>/ folders as part of my class path libraries.
I did so specifically to play with the EasyFont.java class to figure out how fonts work. And it does work for me, I have unrelated questions for you about that at some point. Let's keep this concise.
I think the way you want it is set up is so all the

/module/lwjgl/<module>/src/generator/java
/module/lwjgl/<module>/src/main/java
/module/lwjgl/<module>/src/test/java

are all added as source folders as well.
The advantage to that is everything is available for development immediately, the down side is it really clutters up the package explorer.

I may not understand exactly what you're requesting though.

Hopefully, when compiling the project from Eclipse, it should generate classes to the same locations as Ant. I'm not familiar with Eclipse, but this is what it looks like in IDEA:

Each Java module (the LWJGL core module or a binding module) corresponds to an IDEA module. Each IDEA module has its content root and can have multiple source and test folders. The source classes are compiled to one folder (bin/classes/lwjgl/<module>), the test classes are compiled to another folder (bin/classes/test). Each IDEA module can also have dependencies to other IDEA modules (e.g. the glfw module depends on core, egl and vulkan). This helps with isolation (making sure there are no illegal dependencies, etc) and IDE performance.
There are also the Kotlin modules (generator and binding templates) with similar setup. Not sure if the Eclipse Kotlin plugin is any good though.
The samples module depends on all other modules and compiles to bin/classes/samples.
The IDEA project also has run configurations for running the tests with the TestNG plugin and running the code generator. That's just ant generate but IDEA builds the Kotlin source before launching the Ant target. This is very useful because it does incremental compilation, which is not available via Ant (a full rebuild takes too long).

I'll digest and think on this for awhile. I'm pretty much out of time for the weekend and have to get a sick daughter to bed. I might have some time tomorrow at some point to work on this some more.
I know I can set the source folders in eclipse to compile to specific output folders, I think that's closer to what you're describing. At the moment everything gets compiled to lwjgl/bin/eclipse rather than to the ant output folders. I'll have to go through and individually set each source folders output.

I've done what I can here. Unfortunately Eclipse doesn't really seem to be set up, or easily set up, to manage projects the way intellj is. What I have seems to work and outputs compiled classes to the proper bin/generator, bin/samples, bin/tests or bin/lwjgl/<module>, including the Kotlin classes if you have the Kotlin extension installed in eclipse (Kotlin extension doesn't seem to do package management, just compiles), but this whole set up is really unwieldy for the way I would typically do my development.
The Eclipse TestNG plug-in does pretty well for running the tests (although I prefer jUnit myself)
I'm really not sure how useful this would be to do a full project build from scratch because you can't specify source dependencies and the priority order things need to be built in. Running the Ant build is by far the best way to compile the whole project. I have found I have to run Ant twice, I assume that's because of what @Spasi said about incremental building not available via Ant. In the first run the Kotlin packages are missing, even though they do get compiled out of order with the rest of the build. The second build has the required Kotlin packages already built... I could be way off base on that. I don't typically work with projects this large that have these kinds of interdependencies.
I would probably set a project up to only include the module sources I need to work on at any one time and use link the bin/lwjgl/<module> classes as build path Libraries, then use the ant build, onece, to compile the modules into the bin/lwjgl/<module> folders for anything I'm not currently working on.

We may want to cut this pull request.
I've been doing a lot or reading up on Java 9 modules after seeing the module-info.java files in the module directories and wasn't really sure what they were about. I'm wondering if there isn't a better way to set this up in Eclipse. When @Spasi was talking about how the modules were set up in IDEA I thought that was a feature specific to IntelliJ, but now I'm wondering if he wasn't using the modules feature in Java 9 (with some IntelliJ support). I do less Java development than I use to and only recently moved to Java 8 so I might need to get caught up on the latest trends. Apparently Eclipse Oxygen 4.7 (which I haven't used) does something with Java 9 and modules and I need some time to research and play with the feature to find out what's possible.
In the meantime, I'll leave it to @Spasi to either close this off or to merge the pull request. It might be a "better than nothing" solution for the moment. Although I think including an Eclipse .classpath file with the bare-bones (just the core and sample modules) and a tutorial on adding sources would be better than what this has become. I've always preferred eclipse (for more than just Java development), but for this type of project setup it's just a mess. I'd rather learn IntelliJ at the moment than develop with the set up I have.

Having a premade IDE project is useful for the following reasons:

Makes it easy for interested users to explore the codebase.
Makes it easy to run tests/samples (existing, or modified, or new).
Makes it easy to develop new bindings.

Only the first two are important in our case. The third one is good to have but not critical. It's OK if we require use of IntelliJ for a good experience, at least until there's a mature Kotlin plugin for other IDEs.
With that said, LWJGL indeed supports Java 9 and its artifacts are explicit JPMS modules. But this is only done in the ant release target, in a somewhat hacky way. There is no clean way to develop a Java 8 library and also support Java 9 modules (that I know of, with the current tooling).
However, LWJGL has been modular for a long time, meaning you could choose exactly the subset of bindings that are useful to your project. To reflect that (and also the Java 9 module organization), the codebase has been recently changed in such a way that the source of each binding is isolated in its own directory. The output directories are also split, just like the LWJGL jars. The new layout is easier to understand and helps when you want to focus on a specific binding or set of bindings.
Anyway, the IDE setup does not have to support Java 9 modules. The IntelliJ project doesn't either and in fact module-info.java files are not even marked as sources. You don't have to organize the bindings in "IDE modules" either, as long as the right paths are added to the classpath and the output directories are configured properly.
Your latest commit has two issues that must be fixed before this PR is merged:

The modules/lwjgl/<module>/src/generated/java sources must be compiled to bin/classes/lwjgl/<module> (just like the main sources).
The modules/lwjgl/<module>/src/main/kotlin sources must all be compiled to bin/classes/templates.

Ok, Thanks for clearing that up. I should have realized the generated/java should compile to the same class dirs as the main/java. Should be an easy fix I'll start on.

No progress, so closing this PR.


Basic ZCurve indexing

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
For changelog. Remove if this is non-significant change.
Category (leave one):

New Feature

Short description (up to few sentences):
Implements basic indexing with space-filling curves. Adds support for invertible functions in primary key.
Detailed description (optional):
...

could you provide a basic example?

could you provide a basic example?
For example, if you have two columns X and Y with roughly the same number of SELECT queries with conditions on X and Y, then perhaps it is more efficient to order them by some special function f(X, Y), rather than using (X, Y) or (Y, X) in the key. In this case space-filling curves are used as the aforementioned function. As it currently stands, one would simply use ZCurve(X, Y) in the primary key for this to work. This will also work with more than two columns.

is it like:
create table ( x Float32, y Float32, ....) ENGINE=MergeTree partition by (ZCurve(x, y)) order by ZCurve(x, y)

how would you query a range (for example, a bounding box in 2D)

is it like:
create table ( x Float32, y Float32, ....) ENGINE=MergeTree partition by (ZCurve(x, y)) order by ZCurve(x, y)

how would you query a range (for example, a bounding box in 2D)

I am not sure that partitioning by ZCurve(x, y) would be a very good idea because the function is  injective, so it can assume rather a lot of values.
Range queries don't change: you would do something like SELECT ..... WHERE x > 0 and y > 0
It will automatically analyse the expression in the query and in the primary key and only choose blocks that may fulfil the query conditions. This will work in general with any function for which inevitability is implemented.

ok, got it, thanks
About the partitioning I was thinking on creating partitions by geographical area but it'd more something like
ZCurve(toInt32(x/K), toInt32(y/K))

About the partitioning I was thinking on creating partitions by geographical area but it'd more something like ZCurve(toInt32(x/K), toInt32(y/K))

Partitions are independent. If you partition by ZCurve(x, y) it is the same as if you partition by tuple (x, y). Moreover, partitions are not a replacement of primary key: if you have a primary key by ZCurve(toInt32(x/K), toInt32(y/K)) you don't have to partition your data, because index will work fine.

If you partition by ZCurve(x, y) it is the same as if you partition by tuple (x, y)

I don't exactly know how CH sorts the data when the primary key is a tuple (I read it first order by x and then by y for each x). In the geospatial work the access pattern is usually different so if the curve function is able to keep close things (in the real world) closer in the disk is much better.
For example: X, Y = (10, 10) and X2, Y2=(11, 11) which are close in the 2d space will be closer if you have a zcurve that make them closer (like Hilbert or quadkey). Not sure what pattern this ZCurve is actually implementing tho.
Here you have a visualization for quadkey, it shows the ratio between the euclidean distance and the quadkey distance to the center (darker is worse)

I don't exactly know how CH sorts the data when the primary key is a tuple (I read it first order by x and then by y for each x). In the geospatial work the access pattern is usually different so if the curve function is able to keep close things (in the real world) closer in the disk is much better.

For example: X, Y = (10, 10) and X2, Y2=(11, 11) which are close in the 2d space will be closer if you have a zcurve that make them closer (like Hilbert or quadkey). Not sure what pattern this ZCurve is actually implementing tho.

That's absolutely correct. Our ZCurve is the same as quadkey. (Not the Hilbert.)
You will be able to use ZCurve for primary key.
In contrast, it doesn't make much sense for partition key, because you shouldn't consider partition key as index.

It's error-prone to place both z-func and KeyConditions changes in one PR. It's hard to review it well. There's too much changes.

Please, fix other whitespaces in code too. You could use clang format (7th version is better) for it, our styleguide differs only in lambas.


Mod stopped showing in the UI, crashes when lowering level in Custom

Everything was working fine yesterday. As of today, the UI elements for this mod have stopped showing up.  I can still go into "Custom Game" and change the Ascension Level, but the number doesn't update unless I hover over the checkbox to the left of the Ascension level option.  I can increase the level just fine, but if I try to lower the level below zero (-1, -2, etc.) it instantly crashes.
I have quite a few mods, but it's been working just fine until today.
The only thing that has changed since yesterday was 'Minty Spire (QoL Compilation)' had an update this morning.  Not sure if that did it.
SlayTheSpire - copy 1.txt

ModTheSpire and BaseMod also recently had an update, but that was on the 7th and 8th respectively. I was able to use this mod just fine on the 9th.

I disabled the mod, loaded the game without it, then re-enabled it and it seems to show up just fine in the UI now, and I can lower the level past 0, however I'm still getting a crash when lowering the level in the custom game screen.
Specifically, the steps I take to reproduce the UI displaying "Level 0" instead of the selected level are:

Go to Custom

Click the arrow to raise the Ascension Level (notice it doesn't update the displayed level to the left of the arrows, but it updates the effect to their right. "Elites spawn more often." is displayed)

Hover cursor over checkbox to see the UI display the correct Ascension Level. (Moving the cursor off of the checkbox reverts the displayed level back to 0)

Steps I take to reproduce the crash are:

Go to Custom

Click the arrow to lower the Ascension Level (Level still displayed as 0, but displays the correct effect)

Hover cursor over checkbox to see the UI display the correct level while simultaneously crashing to desktop.

Figured out some more info on the original issue I had with the Ascension Level selection UI elements not showing up at all.
Looks like it's not showing up at all on any modded characters; nor is it showing for The Defect.  I erroneously thought I had fixed the issue because I had originally wanted to do a Defect run, saw I could not select Ascension Level, then on disabling and re-enabling I checked one of the other two official characters. I only just now checked The Defect again, which then prompted me to check the modded characters as well.
It's possible some mod I have makes changes to the Defect such that whatever is causing level selection to bug out on modded characters is also causing the same to happen to The Defect?
Ascension Level selection at the bottom in the middle (The Silent):

No Ascension Level selection for modded characters (such as Beaked The Cultist):

Similarly, no Ascension Level selection for The Defect:

I'm gonna try to fix as much of this as possible in my vacation. But the last thing isn't actually a "bug" per say. I don't think you've unlocked ascension on the characters. Thus, it isn't showing up as an option. I'll look into the crash though, since that should definitely not be happening. And I'll try to add some things to generally make the mod a bit better. Just wish I had more time.

It seems like I've fixed the problem, but please open another issue if it persists. Just pushed an update


Not working with Mac M1

I used the swing version and every time I try to comple and execute I get this error

Currently there is no support for an Apple Silicon built native library in jtouchbar.

You know if there will be?

No, I don´t know. I am not involved with this library. Maybe @ttveldhuis can answer if there will be support in the future.


how to use latest RIFE in AFI?

I copied all files from RIFE 4.18 and also change paths in .py files
Still getting this error
Traceback (most recent call last):
File "/AFI-ForwardDeduplicate/interpolate_video_forward.py", line 93, in
model.load_state_dict(convert(torch.load('weights/flownet.pkl')))
File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 2189, in load_state_dict
raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for IFNet:
Unexpected key(s) in state_dict: "teacher.conv0.0.0.weight", "teacher.conv0.0.0.bias", "teacher.conv0.1.0.weight", "teacher.conv0.1.0.bias", "teacher.convblock.0.beta", "teacher.convblock.0.conv.weight", "teacher.convblock.0.conv.bias", "teacher.convblock.1.beta", "teacher.convblock.1.conv.weight", "teacher.convblock.1.conv.bias", "teacher.convblock.2.beta", "teacher.convblock.2.conv.weight", "teacher.convblock.2.conv.bias", "teacher.convblock.3.beta", "teacher.convblock.3.conv.weight", "teacher.convblock.3.conv.bias", "teacher.convblock.4.beta", "teacher.convblock.4.conv.weight", "teacher.convblock.4.conv.bias", "teacher.convblock.5.beta", "teacher.convblock.5.conv.weight", "teacher.convblock.5.conv.bias", "teacher.convblock.6.beta", "teacher.convblock.6.conv.weight", "teacher.convblock.6.conv.bias", "teacher.convblock.7.beta", "teacher.convblock.7.conv.weight", "teacher.convblock.7.conv.bias", "teacher.lastconv.0.weight", "teacher.lastconv.0.bias".
I renamed rife48.pkl to flownet.pkl
Please tell how to fix this

try
model.load_state_dicttorch.load('weights/flownet.pkl'))

Getting This
interpolate_video_forward.py", line 94, in
model.load_state_dict(torch.load('weights/flownet.pkl'))
File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 2189, in load_state_dict
raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for IFNet:
Missing key(s) in state_dict: "block0.conv0.0.0.weight", "block0.conv0.0.0.bias", "block0.conv0.1.0.weight", "block0.conv0.1.0.bias", "block0.convblock.0.beta", "block0.convblock.0.conv.weight", "block0.convblock.0.conv.bias", "block0.convblock.1.beta", "block0.convblock.1.conv.weight", "block0.convblock.1.conv.bias", "block0.convblock.2.beta", "block0.convblock.2.conv.weight", "block0.convblock.2.conv.bias", "block0.convblock.3.beta", "block0.convblock.3.conv.weight", "block0.convblock.3.conv.bias", "block0.convblock.4.beta", "block0.convblock.4.conv.weight", "block0.convblock.4.conv.bias", "block0.convblock.5.beta", "block0.convblock.5.conv.weight", "block0.convblock.5.conv.bias", "block0.convblock.6.beta", "block0.convblock.6.conv.weight", "block0.convblock.6.conv.bias", "block0.convblock.7.beta", "block0.convblock.7.conv.weight", "block0.convblock.7.conv.bias", "block0.lastconv.0.weight", "block0.lastconv.0.bias", "block1.conv0.0.0.weight", "block1.conv0.0.0.bias", "block1.conv0.1.0.weight", "block1.conv0.1.0.bias", "block1.convblock.0.beta", "block1.convblock.0.conv.weight", "block1.convblock.0.conv.bias", "block1.convblock.1.beta", "block1.convblock.1.conv.weight", "block1.convblock.1.conv.bias", "block1.convblock.2.beta", "block1.convblock.2.conv.weight", "block1.convblock.2.conv.bias", "block1.convblock.3.beta", "block1.convblock.3.conv.weight", "block1.convblock.3.conv.bias", "block1.convblock.4.beta", "block1.convblock.4.conv.weight", "block1.convblock.4.conv.bias", "block1.convblock.5.beta", "block1.convblock.5.conv.weight", "block1.convblock.5.conv.bias", "block1.convblock.6.beta", "block1.convblock.6.conv.weight", "block1.convblock.6.conv.bias", "block1.convblock.7.beta", "block1.convblock.7.conv.weight", "block1.convblock.7.conv.bias", "block1.lastconv.0.weight", "block1.lastconv.0.bias", "block2.conv0.0.0.weight", "block2.conv0.0.0.bias", "block2.conv0.1.0.weight", "block2.conv0.1.0.bias", "block2.convblock.0.beta", "block2.convblock.0.conv.weight", "block2.convblock.0.conv.bias", "block2.convblock.1.beta", "block2.convblock.1.conv.weight", "block2.convblock.1.conv.bias", "block2.convblock.2.beta", "block2.convblock.2.conv.weight", "block2.convblock.2.conv.bias", "block2.convblock.3.beta", "block2.convblock.3.conv.weight", "block2.convblock.3.conv.bias", "block2.convblock.4.beta", "block2.convblock.4.conv.weight", "block2.convblock.4.conv.bias", "block2.convblock.5.beta", "block2.convblock.5.conv.weight", "block2.convblock.5.conv.bias", "block2.convblock.6.beta", "block2.convblock.6.conv.weight", "block2.convblock.6.conv.bias", "block2.convblock.7.beta", "block2.convblock.7.conv.weight", "block2.convblock.7.conv.bias", "block2.lastconv.0.weight", "block2.lastconv.0.bias", "block3.conv0.0.0.weight", "block3.conv0.0.0.bias", "block3.conv0.1.0.weight", "block3.conv0.1.0.bias", "block3.convblock.0.beta", "block3.convblock.0.conv.weight", "block3.convblock.0.conv.bias", "block3.convblock.1.beta", "block3.convblock.1.conv.weight", "block3.convblock.1.conv.bias", "block3.convblock.2.beta", "block3.convblock.2.conv.weight", "block3.convblock.2.conv.bias", "block3.convblock.3.beta", "block3.convblock.3.conv.weight", "block3.convblock.3.conv.bias", "block3.convblock.4.beta", "block3.convblock.4.conv.weight", "block3.convblock.4.conv.bias", "block3.convblock.5.beta", "block3.convblock.5.conv.weight", "block3.convblock.5.conv.bias", "block3.convblock.6.beta", "block3.convblock.6.conv.weight", "block3.convblock.6.conv.bias", "block3.convblock.7.beta", "block3.convblock.7.conv.weight", "block3.convblock.7.conv.bias", "block3.lastconv.0.weight", "block3.lastconv.0.bias", "encode.cnn0.weight", "encode.cnn0.bias", "encode.cnn1.weight", "encode.cnn1.bias", "encode.cnn2.weight", "encode.cnn2.bias", "encode.cnn3.weight", "encode.cnn3.bias".

AttributeError: 'tuple' object has no attribute 'squeeze'
FATAL: exception not rethrown
Same error Using RIFE 4.18 to 4.22

Loaded model
0% 0/245.0 [00:00<?, ?it/s]Traceback (most recent call last):
File "/AFI-ForwardDeduplicate/interpolate_video_forward.py", line 111, in
model.load_state_dict(convert(torch.load('weights/flownet.pkl')), strict=False)
File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 2215, in load_state_dict
raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for IFNet:
size mismatch for block0.conv0.0.0.weight: copying a param with shape torch.Size([128, 23, 3, 3]) from checkpoint, the shape in current model is torch.Size([96, 7, 3, 3]).
size mismatch for block0.conv0.0.0.bias: copying a param with shape torch.Size([128]) from checkpoint, the shape in current model is torch.Size([96]).
size mismatch for block0.conv0.1.0.weight: copying a param with shape torch.Size([256, 128, 3, 3]) from checkpoint, the shape in current model is torch.Size([192, 96, 3, 3]).
size mismatch for block0.conv0.1.0.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([192]).
size mismatch for block0.convblock.0.beta: copying a param with shape torch.Size([1, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 192, 1, 1]).
size mismatch for block0.convblock.0.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([192, 192, 3, 3]).
size mismatch for block0.convblock.0.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([192]).
size mismatch for block0.convblock.1.beta: copying a param with shape torch.Size([1, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 192, 1, 1]).
size mismatch for block0.convblock.1.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([192, 192, 3, 3]).
size mismatch for block0.convblock.1.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([192]).
size mismatch for block0.convblock.2.beta: copying a param with shape torch.Size([1, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 192, 1, 1]).
size mismatch for block0.convblock.2.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([192, 192, 3, 3]).
size mismatch for block0.convblock.2.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([192]).
size mismatch for block0.convblock.3.beta: copying a param with shape torch.Size([1, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 192, 1, 1]).
size mismatch for block0.convblock.3.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([192, 192, 3, 3]).
size mismatch for block0.convblock.3.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([192]).
size mismatch for block0.convblock.4.beta: copying a param with shape torch.Size([1, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 192, 1, 1]).
size mismatch for block0.convblock.4.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([192, 192, 3, 3]).
size mismatch for block0.convblock.4.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([192]).
size mismatch for block0.convblock.5.beta: copying a param with shape torch.Size([1, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 192, 1, 1]).
size mismatch for block0.convblock.5.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([192, 192, 3, 3]).
size mismatch for block0.convblock.5.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([192]).
size mismatch for block0.convblock.6.beta: copying a param with shape torch.Size([1, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 192, 1, 1]).
size mismatch for block0.convblock.6.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([192, 192, 3, 3]).
size mismatch for block0.convblock.6.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([192]).
size mismatch for block0.convblock.7.beta: copying a param with shape torch.Size([1, 256, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 192, 1, 1]).
size mismatch for block0.convblock.7.conv.weight: copying a param with shape torch.Size([256, 256, 3, 3]) from checkpoint, the shape in current model is torch.Size([192, 192, 3, 3]).
size mismatch for block0.convblock.7.conv.bias: copying a param with shape torch.Size([256]) from checkpoint, the shape in current model is torch.Size([192]).
size mismatch for block0.lastconv.0.weight: copying a param with shape torch.Size([256, 52, 4, 4]) from checkpoint, the shape in current model is torch.Size([192, 24, 4, 4]).
size mismatch for block0.lastconv.0.bias: copying a param with shape torch.Size([52]) from checkpoint, the shape in current model is torch.Size([24]).
size mismatch for block1.conv0.0.0.weight: copying a param with shape torch.Size([96, 36, 3, 3]) from checkpoint, the shape in current model is torch.Size([64, 12, 3, 3]).
size mismatch for block1.conv0.0.0.bias: copying a param with shape torch.Size([96]) from checkpoint, the shape in current model is torch.Size([64]).
size mismatch for block1.conv0.1.0.weight: copying a param with shape torch.Size([192, 96, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 64, 3, 3]).
size mismatch for block1.conv0.1.0.bias: copying a param with shape torch.Size([192]) from checkpoint, the shape in current model is torch.Size([128]).
size mismatch for block1.convblock.0.beta: copying a param with shape torch.Size([1, 192, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 128, 1, 1]).
size mismatch for block1.convblock.0.conv.weight: copying a param with shape torch.Size([192, 192, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3]).
size mismatch for block1.convblock.0.conv.bias: copying a param with shape torch.Size([192]) from checkpoint, the shape in current model is torch.Size([128]).
size mismatch for block1.convblock.1.beta: copying a param with shape torch.Size([1, 192, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 128, 1, 1]).
size mismatch for block1.convblock.1.conv.weight: copying a param with shape torch.Size([192, 192, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3]).
size mismatch for block1.convblock.1.conv.bias: copying a param with shape torch.Size([192]) from checkpoint, the shape in current model is torch.Size([128]).
size mismatch for block1.convblock.2.beta: copying a param with shape torch.Size([1, 192, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 128, 1, 1]).
size mismatch for block1.convblock.2.conv.weight: copying a param with shape torch.Size([192, 192, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3]).
size mismatch for block1.convblock.2.conv.bias: copying a param with shape torch.Size([192]) from checkpoint, the shape in current model is torch.Size([128]).
size mismatch for block1.convblock.3.beta: copying a param with shape torch.Size([1, 192, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 128, 1, 1]).
size mismatch for block1.convblock.3.conv.weight: copying a param with shape torch.Size([192, 192, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3]).
size mismatch for block1.convblock.3.conv.bias: copying a param with shape torch.Size([192]) from checkpoint, the shape in current model is torch.Size([128]).
size mismatch for block1.convblock.4.beta: copying a param with shape torch.Size([1, 192, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 128, 1, 1]).
size mismatch for block1.convblock.4.conv.weight: copying a param with shape torch.Size([192, 192, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3]).
size mismatch for block1.convblock.4.conv.bias: copying a param with shape torch.Size([192]) from checkpoint, the shape in current model is torch.Size([128]).
size mismatch for block1.convblock.5.beta: copying a param with shape torch.Size([1, 192, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 128, 1, 1]).
size mismatch for block1.convblock.5.conv.weight: copying a param with shape torch.Size([192, 192, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3]).
size mismatch for block1.convblock.5.conv.bias: copying a param with shape torch.Size([192]) from checkpoint, the shape in current model is torch.Size([128]).
size mismatch for block1.convblock.6.beta: copying a param with shape torch.Size([1, 192, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 128, 1, 1]).
size mismatch for block1.convblock.6.conv.weight: copying a param with shape torch.Size([192, 192, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3]).
size mismatch for block1.convblock.6.conv.bias: copying a param with shape torch.Size([192]) from checkpoint, the shape in current model is torch.Size([128]).
size mismatch for block1.convblock.7.beta: copying a param with shape torch.Size([1, 192, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 128, 1, 1]).
size mismatch for block1.convblock.7.conv.weight: copying a param with shape torch.Size([192, 192, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 3, 3]).
size mismatch for block1.convblock.7.conv.bias: copying a param with shape torch.Size([192]) from checkpoint, the shape in current model is torch.Size([128]).
size mismatch for block1.lastconv.0.weight: copying a param with shape torch.Size([192, 52, 4, 4]) from checkpoint, the shape in current model is torch.Size([128, 24, 4, 4]).
size mismatch for block1.lastconv.0.bias: copying a param with shape torch.Size([52]) from checkpoint, the shape in current model is torch.Size([24]).
size mismatch for block2.conv0.0.0.weight: copying a param with shape torch.Size([48, 36, 3, 3]) from checkpoint, the shape in current model is torch.Size([48, 12, 3, 3]).
size mismatch for block2.lastconv.0.weight: copying a param with shape torch.Size([96, 52, 4, 4]) from checkpoint, the shape in current model is torch.Size([96, 24, 4, 4]).
size mismatch for block2.lastconv.0.bias: copying a param with shape torch.Size([52]) from checkpoint, the shape in current model is torch.Size([24]).
size mismatch for block3.conv0.0.0.weight: copying a param with shape torch.Size([24, 36, 3, 3]) from checkpoint, the shape in current model is torch.Size([32, 12, 3, 3]).
size mismatch for block3.conv0.0.0.bias: copying a param with shape torch.Size([24]) from checkpoint, the shape in current model is torch.Size([32]).
size mismatch for block3.conv0.1.0.weight: copying a param with shape torch.Size([48, 24, 3, 3]) from checkpoint, the shape in current model is torch.Size([64, 32, 3, 3]).
size mismatch for block3.conv0.1.0.bias: copying a param with shape torch.Size([48]) from checkpoint, the shape in current model is torch.Size([64]).
size mismatch for block3.convblock.0.beta: copying a param with shape torch.Size([1, 48, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 64, 1, 1]).
size mismatch for block3.convblock.0.conv.weight: copying a param with shape torch.Size([48, 48, 3, 3]) from checkpoint, the shape in current model is torch.Size([64, 64, 3, 3]).
size mismatch for block3.convblock.0.conv.bias: copying a param with shape torch.Size([48]) from checkpoint, the shape in current model is torch.Size([64]).
size mismatch for block3.convblock.1.beta: copying a param with shape torch.Size([1, 48, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 64, 1, 1]).
size mismatch for block3.convblock.1.conv.weight: copying a param with shape torch.Size([48, 48, 3, 3]) from checkpoint, the shape in current model is torch.Size([64, 64, 3, 3]).
size mismatch for block3.convblock.1.conv.bias: copying a param with shape torch.Size([48]) from checkpoint, the shape in current model is torch.Size([64]).
size mismatch for block3.convblock.2.beta: copying a param with shape torch.Size([1, 48, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 64, 1, 1]).
size mismatch for block3.convblock.2.conv.weight: copying a param with shape torch.Size([48, 48, 3, 3]) from checkpoint, the shape in current model is torch.Size([64, 64, 3, 3]).
size mismatch for block3.convblock.2.conv.bias: copying a param with shape torch.Size([48]) from checkpoint, the shape in current model is torch.Size([64]).
size mismatch for block3.convblock.3.beta: copying a param with shape torch.Size([1, 48, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 64, 1, 1]).
size mismatch for block3.convblock.3.conv.weight: copying a param with shape torch.Size([48, 48, 3, 3]) from checkpoint, the shape in current model is torch.Size([64, 64, 3, 3]).
size mismatch for block3.convblock.3.conv.bias: copying a param with shape torch.Size([48]) from checkpoint, the shape in current model is torch.Size([64]).
size mismatch for block3.convblock.4.beta: copying a param with shape torch.Size([1, 48, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 64, 1, 1]).
size mismatch for block3.convblock.4.conv.weight: copying a param with shape torch.Size([48, 48, 3, 3]) from checkpoint, the shape in current model is torch.Size([64, 64, 3, 3]).
size mismatch for block3.convblock.4.conv.bias: copying a param with shape torch.Size([48]) from checkpoint, the shape in current model is torch.Size([64]).
size mismatch for block3.convblock.5.beta: copying a param with shape torch.Size([1, 48, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 64, 1, 1]).
size mismatch for block3.convblock.5.conv.weight: copying a param with shape torch.Size([48, 48, 3, 3]) from checkpoint, the shape in current model is torch.Size([64, 64, 3, 3]).
size mismatch for block3.convblock.5.conv.bias: copying a param with shape torch.Size([48]) from checkpoint, the shape in current model is torch.Size([64]).
size mismatch for block3.convblock.6.beta: copying a param with shape torch.Size([1, 48, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 64, 1, 1]).
size mismatch for block3.convblock.6.conv.weight: copying a param with shape torch.Size([48, 48, 3, 3]) from checkpoint, the shape in current model is torch.Size([64, 64, 3, 3]).
size mismatch for block3.convblock.6.conv.bias: copying a param with shape torch.Size([48]) from checkpoint, the shape in current model is torch.Size([64]).
size mismatch for block3.convblock.7.beta: copying a param with shape torch.Size([1, 48, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 64, 1, 1]).
size mismatch for block3.convblock.7.conv.weight: copying a param with shape torch.Size([48, 48, 3, 3]) from checkpoint, the shape in current model is torch.Size([64, 64, 3, 3]).
size mismatch for block3.convblock.7.conv.bias: copying a param with shape torch.Size([48]) from checkpoint, the shape in current model is torch.Size([64]).
size mismatch for block3.lastconv.0.weight: copying a param with shape torch.Size([48, 52, 4, 4]) from checkpoint, the shape in current model is torch.Size([64, 24, 4, 4]).
size mismatch for block3.lastconv.0.bias: copying a param with shape torch.Size([52]) from checkpoint, the shape in current model is torch.Size([24]).

Loaded model
0% 0/143.0 [00:00<?, ?it/s]Traceback (most recent call last):
File "/interpolate_video_forward_anyfps.py", line 278, in
output0, count = decrease_inference(queue_input.copy())
File "/interpolate_video_forward_anyfps.py", line 207, in decrease_inference
to_numpy(make_inf(inp0, inp1, scale, 0.5))
File "/interpolate_video_forward_anyfps.py", line 133, in to_numpy
return tensor.squeeze(0).permute(1, 2, 0).cpu().numpy() * 255.
AttributeError: 'tuple' object has no attribute 'squeeze'
terminate called without an active exception

In the case of RIFE 4.22, you need to return merged instead of merged[3].

Working Now Perfectly
Thanks


Add support for OpenJDK 16 on AdoptOpenJDK

At the time of writing, OpenJDK version 16 reached General Availability one month ago while the latest working version of OpenJDK on AdoptOpenJDK is version 15.
Would it be possible to add support for OpenJDK 16 to the ev3dev-lang-java project?

I will need help for it

No feedback


NoClassDefFoundError ProtocolVersion

From<EMAIL_ADDRESS>on May 08, 2013 01:08:49
What steps will reproduce the problem?

added this to my web app context.xml
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:xxxtest-sess1.xxx.com:xxxxx"
requestUriIgnorePattern=".*.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />

start up tomcat

What is the expected output? Not getting any errors
What do you see instead?
May 7, 2013 3:30:54 PM de.javakaffee.web.msm.MemcachedSessionService updateExpirationInMemcached
INFO: Could not update expiration in memcached for session E31094818C0C1B10C54A0C79D1F77D85-n1.xxxtest-app2
java.lang.NoClassDefFoundError: org/apache/http/ProtocolVersion
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2308)
at java.lang.Class.getDeclaredFields(Class.java:1760)
at com.esotericsoftware.kryo.serialize.FieldSerializer.rebuildCachedFields(FieldSerializer.java:61)

What version of the product are you using?
memcache 1.4.13
kyro 1.6.4

On what operating system?
ubuntu

Please provide any additional information below.

Original issue: http://code.google.com/p/memcached-session-manager/issues/detail?id=162

From<EMAIL_ADDRESS>on May 07, 2013 16:12:47
also: memcached-session-manager-1.6.4.jar,memcached-session-manager-tc6-1.6.4.jar,spymemcached-2.8.4.jar,couchbase-client-1.1.4.jar

From martin.grotzke on May 07, 2013 23:03:55
Which version of tomcat are you using?

From<EMAIL_ADDRESS>on May 08, 2013 08:24:13
Tomcat 6 - we got this solved by adding in the httpcore jar that was needed

From martin.grotzke on May 08, 2013 12:47:15
Was it an inconsistency in your deployment, or what was the issue?

From<EMAIL_ADDRESS>on May 08, 2013 12:54:27
I am not sure if we are even using couchbase but the couchbase jar got deployed without all the other jars it requires so it refused to start up until we got the other jars in there

From martin.grotzke on May 08, 2013 12:57:33
Ok, so it's in line with the documentation. Closing.
Status: Invalid


MINOR: Enable Gradle Remote Build Cache

We enable the remote build cache, hosted by the ASF Gradle Enterprise instance.
We only cache tasks during builds on trunk, to ensure that pushes to PRs always re-run all Tasks needed by that PR.
PRs will read from the build cache, enabling tasks for modules that haven't been changed in the PR to be read from the cache.
This should ensure that changes "leaf" modules (e.g. connect, streams, etc.) don't run the entire test suite from dependent modules (i.e. core, clients, storage, etc.), which can be very costly.

Hey @nicktelford , you don't need committer permissions to look at ASF gradle. Try using this link: https://ge.apache.org, it should be publicly accessible.
For this PR, here's the build - https://ge.apache.org/s/bdwopqcoxwge2 which shows Build Cache as On which is unlike this build on trunk https://ge.apache.org/s/ywmt7vaghr62u where Build Cache is Off.
I am not sure how useful this will be since CI for trunk may build on different boxes but it's definitely worth keeping it on.
@ijuma is our gradle expert in the community. I will wait to hear his thoughts regarding this.

Hi @divijvaidya , this enables the remote build cache, which allows different machines to share the cached output of tasks.
Thanks for the links to the builds, I haven't had a chance to look at them yet, but the thing that requires access to ge would be too simulate a trunk CI run and push to the cache, which I won't be able to do locally.

Could we do a test with a new branch (not trunk) where we validate the behavior before we roll it out to everyone else?

I guess one way would be to enable the cache only for CI & trunk by default at first. Then we could manually enable the cache locally and for one PR to test the behavior. If it all looks good, we would then enable the cache for everyone (but leave pushes for trunk && CI only).

@ijuma I've temporarily reconfigured it to enable the cache for this branch (gradle-remote-build-cache) instead of trunk, so we can test that it works as expected using the CI builds on this PR.
Pushing to the cache from these builds should be fine, since there are no code changes, so the task outputs should be the same as in trunk anyway.

Looks like Jenkins doesn't have permission (by default at least) to write entries to the ASF Gradle Enterprise Build Cache:
Could not store entry 744bd685bdd1d149ec93934b276b7698 in remote build cache: Storing entry at 'https://ge.apache.org/cache/744bd685bdd1d149ec93934b276b7698' response status 403: Forbidden

It might require some explicit authentication.

https://github.com/apache/beam/pull/27015 is not Apache Beam enabled this. Seems like we need to request a build node from Apache Infra and change our jenkins to pick up creds similar to how beam did it (from env vars which are deployed by infra). I have created a ticket to talk to Infra at https://issues.apache.org/jira/browse/INFRA-25336

Looks like Jenkins doesn't have permission (by default at least) to write entries to the ASF Gradle Enterprise Build Cache:

This is correct. The reason for this is that we do not currently intend for projects to use the built-in cache node (which is what this PR configures). If used this way, the node would be shared by all projects, which is not desirable because we would not want project A to inadvertently read a cache entry from project B. In the future, we will support such a use case without that risk, but for today, the correct option is to stand up a remote cache node specifically for Kafka, as requested in INFRA-25336


Support ubuntu packaging for worker nodes

Since Lustre clients can be mounted on ubuntu, we should support worker nodes that can also run on ubuntu. This will mean packaging agent assets for debian as well as current RHEL packaging.
It also probably means having tooling support for apt in addition to yum.

Unlikely to happen in the near term.


Installing LTS nodejs 16.13.1 (fix build on arm/v7)

Alpine's outdated node package doesn't play well with package-lock V2
This pulls the current long term support binaries from a more recent
alpine image rather than installing the registry's old one.
Why this patch: I tried to build a docker image for my raspberry pi for the better part of a day (both directly on the pi as well as on my computer using buildx). It kept falling all the time and stopping around Makefile's line 709 complaining some javascript callback cb() wasn't getting called. I tried to investigate the whereabouts of that cb() but I was unsuccessful.
At the same time, I noticed npm was consistently comparing about expecting a package-lock file V1 and instead of getting a V2, and ultimately blaming on its self the failure.
That prompted me to check what version of node was been installed and, with my great dismay, I was facing an ancient 14.*
At that point getting node to at least an LTS version was the sensible way to go. So here it is. Tested and working with buildx for linux/amd64, linux/arm64, linux/arm/v7.
This can potentially be great for other fellow raspberry pi users like me as (even with the fix) building something like gitea on a raspberry pi is not exactly a great experience 😅

And I see a "red light" but I've no idea what is complaining about what (or rather the bot doesn't give any log, which is less than ideal).
I see some bot failing to clone the repo, but I just forked this one soooooo I've no idea 🙃

I think this needs more investigation regarding this callback error. Node 14 should be fully supported to build and npm lockfile v2 should be fully backwards-compatible with npm 6.x to my understanding (it only raises a warning).

It works for me on x86:
docker run -it golang:1.17-alpine3.13
apk --no-cache add build-base git nodejs npm
git clone --depth 1 git@github.com:go-gitea/gitea.git && cd gitea
TAGS=bindata make build

A search on the cb() never called yields various results. We could try updating npm itself before the build. Can you please try that?
npm i -g npm@latest

Codecov Report

Merging #17994 (743be42) into main (f58e687) will increase coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main   #17994      +/-   ##
==========================================
+ Coverage   45.28%   45.33%   +0.05%
==========================================
  Files         820      820
  Lines       90932    90932
==========================================
+ Hits        41179    41225      +46
+ Misses      43194    43154      -40
+ Partials     6559     6553       -6

Impacted Files
Coverage Δ

modules/queue/workerpool.go
48.85% <0.00%> (-2.30%)
:arrow_down:

modules/queue/queue_channel.go
95.00% <0.00%> (-1.67%)
:arrow_down:

services/pull/pull.go
41.78% <0.00%> (-0.41%)
:arrow_down:

models/issue_comment.go
53.04% <0.00%> (+0.56%)
:arrow_up:

models/webhook/webhook.go
75.20% <0.00%> (+0.81%)
:arrow_up:

modules/process/manager.go
82.94% <0.00%> (+1.55%)
:arrow_up:

modules/git/git.go
40.81% <0.00%> (+2.04%)
:arrow_up:

modules/git/repo_base_nogogit.go
86.84% <0.00%> (+2.63%)
:arrow_up:

modules/git/utils.go
70.83% <0.00%> (+2.77%)
:arrow_up:

modules/queue/queue_bytefifo.go
63.47% <0.00%> (+3.59%)
:arrow_up:

... and 4 more

Continue to review full report at Codecov.

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

@silverwind X86 works for me as well, indeed I mentioned armv7 as the problem.
I just verified it still builds fine for x86 and arm64.
Anyway, I solved my problem and thought to share it or others that might have the same, if you want the code is there. Your choice.
cheers

I don't think we can accept such crude copying of /usr content. Updating npm only would be something I'd be willing to accept, thought.


Support Beam docker images on ARM64

With the new computers using ARM64 processors including Apple's M1 and servers (AWS graviton) we need to support users to work with Beam on docker in these systems.
Some potential issues identified so far:

Python SDK Harness may have issues in particular with all its dependencies
The parent image we use for the Java Harness does not have a version for ARM64

Imported from Jira BEAM-11704. Original Jira may contain additional context.
Reported by: iemejia.

Any status updates on this?
For devcontainer support that closely mimics the Dataflow worker runtime, we're using the same base image (e.g. apache/beam_python3.10_sdk:2.43.0) in both development and production, but this only works for x86 developer machines.
I'm looking to support our macOS developers too now, who all pretty much are on M1:s now.
We're considering changing base image for the devcontainer setup and installing the Beam SDK instead, but it would be convenient to not have to do that.

https://github.com/apache/beam/pull/25665


[Bug] slugify removes swedish characters

Problem Description:
When using the function “Text Format: Slugify selected text (‘-‘ for space)” on a text containing swedish characters, these characters are removed.
How to reproduce the problem:

Input:
testing swedish characters åäö testing

Result:
testing-swedish-characters-testing

Expected:
testing-swedish-characters-åäö-testing

Environment

Obsidian version: 1.5.12 (134)
Text Format version: 3.0.1
Platform: iOS

slugify command is a PR #57 by @izikeros . Thanks for him again.
In his code, accents and diacritics are removed.
// Remove Accents and Diacritics
text = text.normalize("NFD").replace(/[\u0300-\u036f]/g, "");

After I preserved Swedish characters, the result of your example is
testing-swedish-characters-aao-testing

Note that it is aao but not åäö.
I'm not sure if it satisfies your demand? As in his description of PR #57 :

The slugify function will convert a string into a URL-friendly format, removing special characters, converting to lowercase, replacing spaces with dashes, removing accents and diacritics, and handling numerals and hyphens. This utility is helpful in generating slugs for URLs or filenames from a given text, making the text more SEO-friendly and easier to manage.

That’s OK, thanks!
/Mats
mats

On 4 Apr 2024, at 15:45, Benature Wong @.***> wrote:
slugify command is a PR #57 https://github.com/Benature/obsidian-text-format/pull/57 by @izikeros https://github.com/izikeros . Thanks for him again.
In his code, accents and diacritics are removed.
// Remove Accents and Diacritics
text = text.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
After I preserved Swedish characters, the result of your example is
testing-swedish-characters-aao-testing
Note that it is aao but not åäö.
I'm not sure if it satisfies your demand? As in his description of PR #57 https://github.com/Benature/obsidian-text-format/pull/57 :
The slugify function will convert a string into a URL-friendly format, removing special characters, converting to lowercase, replacing spaces with dashes, removing accents and diacritics, and handling numerals and hyphens. This utility is helpful in generating slugs for URLs or filenames from a given text, making the text more SEO-friendly and easier to manage.
—
Reply to this email directly, view it on GitHub https://github.com/Benature/obsidian-text-format/issues/94#issuecomment-2037268454, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOWTR5LOYB5QRXPBB4Z6ZGLY3VKRBAVCNFSM6AAAAABFWQ3ILSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZXGI3DQNBVGQ.
You are receiving this because you authored the thread.


go install cannot find non-module version when module proxy doesn't implement @latest

What version of Go are you using (go version)?

$ go version
go version go1.16 darwin/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
...
GOARCH="amd64"
...
GOOS="darwin"
...

What did you do?
go install golang.org/x/lint/golint@latest
What did you expect to see?
Successful installation.
What did you see instead?
$ go install golang.org/x/lint/golint@latest
go install golang.org/x/lint/golint@latest: no matching versions for query "latest"

Description
I'm having trouble getting Go 1.15/1.16 to fetch a non-module package version when a module proxy that doesn't support $base/$module/@latest is in the list.
Querying my local module proxy for $goproxy/golang.org/x/lint/@v/list returns 200 OK with an empty response body. This is the same as https://proxy.golang.org/golang.org/x/lint/@v/list -- in fact, my local proxy is relaying the request to proxy.golang.org.
My local module proxy doesn't support $goproxy/golang.org/x/lint/@latest and returns 404 Not Found. proxy.golang.org returns 200 OK with a JSON body containing a pseudo-version.
The problem is that go doesn't seem to be moving on to try direct in my list of proxies. Per https://golang.org/ref/mod#goproxy-protocol, $base/$module/@latest isn't required to be implemented, but this combination of (list=>200, latest=>404) doesn't seem to be working with the current code.
Investigation so far
I've traced things through in a local build of go1.16 and found that execution is getting to the call to p.latest() on line 376: https://github.com/golang/go/blob/f21be2fdc6f1becdbed1592ea0b245cdeedc5ac8/src/cmd/go/internal/modfetch/proxy.go#L370-L377
This call is a bit strange to me -- if querying @latest fails, it seems to be trying @v/list again, which it already did in an earlier call to proxyRepo.Versions(). I'm curious to know if it serves a purpose.
Even if I bypass the call to p.latest() in a local build and return nil, err right before that, I think it's going to https://github.com/golang/go/blob/f21be2fdc6f1becdbed1592ea0b245cdeedc5ac8/src/cmd/go/internal/modload/query.go#L227-L236 which doesn't return an ErrNotExist and instead falls through to the end: https://github.com/golang/go/blob/f21be2fdc6f1becdbed1592ea0b245cdeedc5ac8/src/cmd/go/internal/modload/query.go#L246
Since NoMatchingVersionError is not an ErrNotExist, modfetch.TryProxies sees this as an error and does not fail over to the next proxy in the list:
https://github.com/golang/go/blob/f21be2fdc6f1becdbed1592ea0b245cdeedc5ac8/src/cmd/go/internal/modfetch/proxy.go#L179-L181
I think my analysis here is right, but I'm not entirely sure of what all the surrounding code is doing, so I'm having trouble telling if Go is doing something wrong or I'm falling into a subtle but expected behavior.
My current idea for a fix would be to replace p.latest with simply returning the error and to return earlier in modload.queryProxy if repo.Latest() returns ErrNotExist. I haven't started testing this yet, and I'm putting in this Issue in hopes that someone can to let me know if this sounds right before I start going too far down the wrong path. Thanks!

See also: CL 183845 "cmd/go/internal/modfetch: halt proxy fallback if the proxy returns a non-404/410 response for @latest"

@jayconrod and @hyangah might have more insight, but I think this is probably working as designed (and as documented).
Since the @latest endpoint returns code 404, the go command interprets that as “@latest is not implemented”, and treats @v/list as authoritative. @v/list returns code 200, which confirms that the returned list (which is empty) is indeed authoritative.
I think that if you want go get to work with @latest (as opposed to a specific version), then you need one of three things:

The proxy can implement the @latest endpoint.
The proxy can return status 404 or 410 for @v/list when no tagged versions are present.
The proxy can return its supported pseudo-versions in the @v/list results. (In Go 1.13 and later, cmd/go will filter them appropriately to produce the correct @latest; see #32715.)

Thanks for taking a look @bcmills. Previously, we were proxying gocenter.io, which includes pseudo-versions in @v/list, so we saw a change in behavior when we moved to proxy.golang.org. Obviously proxying only some of the underlying module proxy's implementation can cause confusion and is not ideal. I'll look into whether we can change the local proxy to @latest requests.

Sorry for the slow response. This seems like an edge case, but I think I agree with @bcmills: this is working as intended.
I basically think of @v/list and @latest as parts of the same thing, even though they're two separate requests. If a proxy implements them (returning 200 for @v/list at least), the go command treats that as authoritative and won't fall back to other proxies, even if there are no matching versions.
Closing this issue, but happy to discuss further, here or on Slack.


Preventing default for a button inside a form

For any button inside a form, the click event gets stopped.
Its understandable for type="submit ".
This should not happen for

Hi There,
Can you give a simple example?  We listen for events on the annotated element, so if a button causes a submit, it should work properly on a form.

Hi @chg20 I have updated the description

The problem is that the button will trigger the form submit.  Can you switch it to a div so that the form wont submit?

@chg20 yeah this was a atleast a month ago and I switched it to an anchor tag. But if I make the button type="button" the form won't submit and intercooler should not stop event propagation in that case


Maven artefacts aren't released.

Could you either release the maven artefacts to maven central (or equivalent), or rename your groupId to com.github.zmeggyesi so jitpack works properly?

Hi,
The idea was to have the user clone the repo, build, and run, originally. I did toy with the idea of releasing it, but never got around to it, and just wrote up the documentation with the appropriate commands accordingly.
I started the process, but it involves a 2-business-day wait from Sonatype to create the approved repo, so hang tight. I'll close the issue when the artifact is up on Central.

Everything seems to have gone through, though Maven Central is yet to index the artifact. I'll close this issue for now since the release has taken place, but please allow it a few hours to show up in a search.


solved the appbar alignment and added the wallet button when the use …

Pull Request Title
https://github.com/user-attachments/assets/35328487-f640-4bce-b316-0648c4a01c12
Issue Number: Fixes #111
🛠 Type of Change

[ ✅ ] 🐛 Bug fix
[ ] ✨ New feature
[ ] 🚨 Breaking change
[ ] 📚 Documentation update

✅ Checklist
To ensure a smooth review process, please check off each item as you complete it:

[ ✅] Code Style: My code adheres to the project’s style guidelines.
[✅ ] Self-Review: I have reviewed my own code and made improvements.
[✅ ] Comments: I’ve added comments to explain complex or non-obvious parts of the code.
[] Documentation: I’ve updated the documentation to reflect my changes.
[✅ ] Warnings: My changes introduce no new warnings.
[✅ ] Tests: I’ve added tests to verify that my changes work as expected.
[✅ ] Passes Locally: All new and existing unit tests pass on my local machine.

We appreciate your contributions! If you have any questions or need further assistance, feel free to reach out.

@cb7chaitanya can you kindly check the pr.

it has resolved @Rudra-Sankha-Sinhamahapatra

@cb7chaitanya can you create some other issue to work.

@cb7chaitanya @axatbhardwaj can you create more issue to work it on


Update the install-bins command to use the core repo with all of the binaries

We moved the vega wallet, data node, and vega into a single repository. We need to update the install-bins command to support it.
Related story is: https://github.com/vegaprotocol/vegacapsule/issues/170

Closing as completed, we are also using a single binary now


Bindings for HCTL model checking

This PR adds bindings for the main functionality of HCTL model checker. Apart from the model-checking algorithm, this includes parsing of HCTL formulae and basic functionality for working with their syntactic trees.

Looks good to me, I just made one small change: The model_check and model_check_tree methods are a bit redundant in Python, since we can just use a single method with a "union type" argument. Hence I removed the *_hctl_tree methods and instead allowed each function to take either String or a PyHctlTreeNode. Reduces the number of functions that we need to care about in the future :D
(Also, my clippy have me two extra warnings which I fixed... probably some new checks in the latest version)