slackdump: init at 2.5.11

Description of changes
Fix https://github.com/NixOS/nixpkgs/issues/338594
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

I wonder why ofborg fails.

I wonder why ofborg fails.

Test failures on Darwin: TestSession_saveUserCache and TestSession_GetUsers. Both fail with exec: "ioreg": executable file not found in $PATH. ioreg is a Darwin system command to get a list of all the hardware devices. man 8 ioreg
I would disable these tests on Darwin.

@sarahec Could we solve it by adding some dependencies because it is a part of darwin?

It appears to be a problem with the temporary directories it needs. Other Go modules in this situation include preCheck = "export HOME=(mktemp -d)"; to mitigate this.
--- FAIL: TestSession_saveUserCache (0.00s)
    users_test.go:58:
                Error Trace:    /private/tmp/nix-build-slackdump-2.5.11.drv-0/source/users_test.go:58
                Error:          Received unexpected error:
                                failed to create file /private/tmp/nix-build-slackdump-2.5.11.drv-0/TestSession_saveUserCache2167029744/001/test-UNIT.json: machineid: machineid: exec: "ioreg": executable file not found in $PATH
                Test:           TestSession_saveUserCache
    users_test.go:62: machineid: machineid: exec: "ioreg": executable file not found in $PATH
--- FAIL: TestSession_loadUserCache (0.00s)
    users_test.go:285: failed to create file /private/tmp/nix-build-slackdump-2.5.11.drv-0/TestSession_loadUserCache1141484034/001/2243689666-UNIT: machineid: machineid: exec: "ioreg": executable file not found in $PATH
--- FAIL: TestSession_GetUsers (0.00s)
    users_test.go:285: failed to create file /private/tmp/nix-build-slackdump-2.5.11.drv-0/TestSession_GetUsers2717688092/001/244034912-UNIT: machineid: machineid: exec: "ioreg": executable file not found in $PATH
2024/09/26 23:40:20 messages request #    1, fetched:    1 (threads: 0), total:        1 (speed: 26002.39/sec, avg: 25613.44/sec)

@ofborg build slackdump

@sarahec Still failed.

@sarahec Still failed.

Well $badword. After combing the whole repo, and trying a few fixes, I think the only option is to disable those tests. If you want to disable them conditionally, you can use disabledChecks = lib.optionals stdenv.hostPlatform.isDarwin [ TestSession_saveUserCache TestSession_GetUsers ];

@ofborg build slackdump

@ofborg build slackdump

@sarahec I just want to know how to find ioreg on darwin. It should be in some place.

It's at /usr/sbin/ioreg and is an interface to IOKit.
Neither of these worked:

Adding /usr/sbin to PATH
Adding darwin.apple_sdk.frameworks.IOKit to nativeCheckInputs

It's being called from https://github.com/denisbrodbeck/machineid/blob/master/id_darwin.go to get the machine-specific uuid. I'm not a golang person, so I'm not sure if you could stub this out to return a fixed uuid.
Honestly, these look like integration tests more than unit tests. If you want to run them all the time, it may have to happen in a passthrough  test.

ioreg is not currently packaged and the tests therefore must be disabled.

@sarahec I just want to know how to find ioreg on darwin. It should be in some place.  I spent some time this evening packaging it for the Darwin refactor, so it will be available once that lands for 24.11. Note that it will require 11.0. One of the binaries depends on the perfdata private framework, which is not available on older versions of macOS.

@reckenrode Thanks for your work! I wonder where it is and when will it be avaliable.

@Bot-wxt1221 The Darwin rework is targeting the next staging-next cycle. The IOKitTools addition is here. Note this branch should be considered unstable as I consolidate the WIP commits then split them back into good commits. It’s also based on master from early August. I need to rebase but not until after I finish cleaning up the history.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/on-the-future-of-darwin-sdks-or-how-you-can-stop-worrying-and-put-the-sdk-in-build-inputs/50574/9

@Aleksanaa @reckenrode @kirillrdy @dotlambda Staging-next was merged. Now darwin should be OK.

@ofborg build slackdump

@ofborg build slackdump

It is said that we don't need to apple_sdk import anymore but it still fails. So I just try this.

@ofborg build slackdump

@ofborg build slackdump

@ofborg build slackdump

How can we add ioreg to PATH

@niklaskorz Done.

@ofborg build slackdump

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 343156

x86_64-darwin

:white_check_mark: 1 package built:

slackdump

aarch64-darwin

:white_check_mark: 1 package built:

slackdump


Make the templates compatible for FSharp.AutoComplete with VS2015 tooling

Hello,
I had problems using the FSharp generator (or generating a .fsproj from VS/Xamarin) and Ionide on my Windows machine (no problem on OS X) both with VS Code and Atom (also with the Vim integration). FSharp.Autocomplete (for some reason, normal msbuild had no problems) could not process .fsproj files when using VS2015 since the targets checked for 2013.
Updated the templates. I ONLY tested manually the Console and the Class Library using http://yeoman.io/authoring/ instructions. I'm not sure how Yeoman works so maybe there's a better way.
Having fun so far with learning F#, but it seems that VS2015 is not well supported by many F# tooling.
If someone is interested, here's what FSharp.AutoComplete says without this condition:
{
	"Kind" : "project",
	"Data" : {
		"Project" : "d:\\Development\\fsharp\\sample\\sample.fsproj",
		"Files" : [],
		"Output" : "null",
		"References" : ["C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\FSharp\\.NETFramework\\v4.0\\<IP_ADDRESS>\\FSharp.Core.dll"],
		"Logs" : {
			"d:\\Development\\fsharp\\sample\\sample.fsproj" : "Microsoft.Build.Exceptions.InvalidProjectFileException: The value \"\" of the \"Project\" attribute in element <Import> is invalid. Parameter \"path\" cannot have zero length.  d:\\Development\\fsharp\\sample\\sample.fsproj\r\n   at Microsoft.Build.Shared.ProjectErrorUtilities.ThrowInvalidProject(String errorSubCategoryResourceName, IElementLocation elementLocation, String resourceName, Object[] args)\r\n   at Microsoft.Build.Shared.ProjectErrorUtilities.VerifyThrowInvalidProject(Boolean condition, String errorSubCategoryResourceName, IElementLocation elementLocation, String resourceName, Object arg0, Object arg1, Object arg2, Object arg3)\r\n   at Microsoft.Build.Evaluation.Evaluator`4.ExpandAndLoadImports(String directoryOfImportingFile, String importExpressionEscaped, ProjectImportElement importElement)\r\n   at Microsoft.Build.Evaluation.Evaluator`4.EvaluateImportElement(String directoryOfImportingFile, ProjectImportElement importElement)\r\n   at Microsoft.Build.Evaluation.Evaluator`4.PerformDepthFirstPass(ProjectRootElement currentProjectOrImport)\r\n   at Microsoft.Build.Evaluation.Evaluator`4.Evaluate()\r\n   at Microsoft.Build.Evaluation.Evaluator`4.Evaluate(IEvaluatorData`4 data, ProjectRootElement root, ProjectLoadSettings loadSettings, Int32 maxNodeCount, PropertyDictionary`1 environmentProperties, ILoggingService loggingService, IItemFactory`2 itemFactory, IToolsetProvider toolsetProvider, ProjectRootElementCache projectRootElementCache, BuildEventContext buildEventContext, ProjectInstance projectInstanceIfAnyForDebuggerOnly)\r\n   at Microsoft.Build.Evaluation.Project.ReevaluateIfNecessary(ILoggingService loggingServiceForEvaluation)\r\n   at Microsoft.Build.Evaluation.Project.CreateProjectInstance(ILoggingService loggingServiceForEvaluation, ProjectInstanceSettings settings)\r\n   at Microsoft.FSharp.Compiler.SourceCodeServices.ProjectCrackerTool.Program.projectInstanceFromFullPath@124(FSharpProjectFileInfo this, ProjectCollection engine, String fsprojFullPath)\r\n   at Microsoft.FSharp.Compiler.SourceCodeServices.ProjectCrackerTool.Program.FSharpProjectFileInfo.CrackProjectUsingNewBuildAPI(String fsprojFile)\r\n   at Microsoft.FSharp.Compiler.SourceCodeServices.ProjectCrackerTool.Program.FSharpProjectFileInfo..ctor(String fsprojFileName, FSharpOption`1 properties, FSharpOption`1 enableLogging)\r\n   at Microsoft.FSharp.Compiler.SourceCodeServices.ProjectCrackerTool.Program.getOptions@358(Boolean enableLogging, FSharpList`1 properties, String file)\r\n   at Microsoft.FSharp.Compiler.SourceCodeServices.ProjectCrackerTool.Program.getOptions(String file, Boolean enableLogging, FSharpList`1 properties)\r\n   at Microsoft.FSharp.Compiler.SourceCodeServices.ProjectCrackerTool.Program.main(String[] argv)"
		}
	}
}

Generally, it looks good to me. Just one thing - please make this PR to develop branch (templates folder) instead directly to templates branch. templates branch is meant to be "read-only" branch updated through FAKE build script by project maintainers.

Done, see https://github.com/fsprojects/generator-fsharp/pull/23


Cloud-edge collaborative speculative decoding for LLM based on KubeEdge-Ianvs

Description:

The autoregressive decoding mode of LLM determines that LLM can only be decoded serially, which limits its inference speed. Speculative decoding technique can be used to decode LLM in parallel with the help of draft model, so as to improve the inference speed of LLM without loss of accuracy. However, the speculative decoding technology of LLM does not consider the application in the cloud-edge distributed environment. This project aims to implement cloud-edge collaborative speculative decoding based on KubeEdge-Ianvs, an open source cloud-edge collaborative distributed machine learning platform, so as to further improve the LLM inference speed in cloud-edge environment.

Expected outcome:

Implement an example of cloud-edge collaborative speculative decoding based on KubeEdge-Ianvs platform.
(Optional) Propose a more efficient cloud-edge collaborative speculative decoding algorithm.

Recommended Skills:

Familiar with LLM related technologies and have experience in deploying open source LLM locally.
Proficient in Python and Pytorch.
Have experience in deploying KubeEdge-Ianvs.

Hi @hsj576  I am kairvee and would like to take up this project under LFX mentorship as it aligns with my interests and skills as well , could you assign it and let me know the further details?

Hi @hsj576 I am kairvee and would like to take up this project under LFX mentorship as it aligns with my interests and skills as well , could you assign it and let me know the further details?

The details of the project will be discussed in the weekly SIG ai meeting. Feel free to join us in https://zoom.us/j/4167237304 every Thursday 16:30 UTC+8.

Hi @hsj576 I am kairvee and would like to take up this project under LFX mentorship as it aligns with my interests and skills as well , could you assign it and let me know the further details?

The details of the project will be discussed in the weekly SIG ai meeting. Feel free to join us in https://zoom.us/j/4167237304 every Thursday 16:30 UTC+8.

okk sure , thankyou

Hello @hsj576 my name is Temi I am an open source developer. I have genuine interest to work on this project this fall.

Hi @hsj576,
Need your reviews and the way forward to contributing
Proposed Approach

Speculative Decoding Implementation:

I plan to set up a basic speculative decoding pipeline using a draft model to parallelize the decoding process, thus improving the inference speed of the LLM.

Cloud-Edge Architecture:

For cloud-edge collaboration, I will deploy the draft model at the edge to handle initial predictions and the full model in the cloud for verification and refinement. This setup aims to optimize resource usage and reduce latency.

Testing and Optimization:

I will benchmark the system to evaluate performance improvements and ensure that the solution does not compromise accuracy. I will also explore possible optimizations to enhance the efficiency of the cloud-edge collaboration.

@hsj576 Are there any pre-tests to submit? I am interested to contribute.

@hsj576 I'm Aryan , I would like to take his project under LFX mentorship as it aligns perfectly with my skills, are there any pretest to submit?

@hsj576, Hello sir, I am Siddhant. I would like to work on this project under LFX mentorship as working on LLMs have been my aim and this opportunity is best to kick-start my journey in open source. I also missed the weekly meeting and would like to know more about the project and how can I help.
Also, it would be very kind of you if you could share some resources to make ourselves more prepared for the project

I will release a pretest in next week.

I will release a pretest in next week.

Hello @hsj576 the application for mentees close on 13th August (Tuesday).

Ok, I will release the pretest as soon as possible (before 9th August).

Hi, I hope to take on this project. I would like to highlight my advantages and the contributions I can make to the community.
I have a relatively deep understanding of the concept of Edge Computing and LLMs, and I am familiar with the main strategies for LLM cloud-edge collaboration, as well as the principles and implementation methods of Speculative Decoding.
Additionally, I have strong programming skills, particularly in Python and PyTorch. Last year, I interned at a large AI company specializing in LLMs.
What's more, I am trying to conduct a research about LLM cloud-edge collaboration strategy using Ianvs. After two months of learning, I have gained a good understanding of Ianvs's architecture, interfaces, and features. Now I am attempting to introduce a new feature which is relevant to the issue. If I am accepted, the integration of my insights could lead to a more coherent and rational architectural design.
Eagerly await consideration of my taking on this task!

Hi @hsj576
I would like to know more on your weekly meet. Do you have calendar link that I can add myself into? I would like to know more about this project.
And for the Collaborative Speculative Decoding, do you mind to share the paper of this technique? I just find a Collaborative Decoding paper online on Arxiv(https://arxiv.org/html/2406.12295v1) and can't find the Collaborative Speculative Decoding one.


Segment piled + clearing doesn't work

Hi,
It is impossible to use the "clearing" segment if we add "piled".
Not great ;)

Hi, please provide a test case as per our contributing guidelines; you can fork this JSFiddle.

Ok :
http://jsfiddle.net/8qsnky53/

@dawadam Thank you. It might be related to #4611, but maybe it makes sense to keep them separate for now.

Fixed in Fomantic-UI by https://github.com/fomantic/Fomantic-UI/pull/485


⚠ Thumbnails API Endpoint has degraded performance

In 155bda6, Thumbnails API Endpoint (https://thumbnails.roblox.com/v1/assets?assetIds=82738847&format=Png&isCircular=false&size=30x30) experienced degraded performance:

HTTP code: 200
Response time: 2904 ms

Resolved: Thumbnails API Endpoint performance has improved in 0933cd8 after 9 minutes.


Add note in list.md on usage of v-for with v-if

Noticed that this was mentioned in the guide, but also mentioned in category "Essential" in the style guide as a pattern to avoid. Therefore suggesting this change where we warn that this is not best-practice and
should be avoided.
Could you please add the label "hacktoberfest" to this PR before reviewing? I would be very grateful :heart:

Could you please add the label "hacktoberfest" to this PR before reviewing?

@robaxelsen Sure, but FWIW, you don't need the label to be eligible for the program :)
For the PR though, why do I feel like we've merged something like this before?

Thanks for the PR! @phanan is correct, we already include this note earlier in the documentation. Appreciated, though :)


Porting to Android

I'm planning to port to android, below is my thoughts listed and some questions to be discussed.
Thoughts:

The porting of the program should be rather easy as a majority of android apps are java and so is this program, thus removes a lot of the complexity of the port.

The lowest sdk should be at around KitKat (4.4.4) cause devices before that time really wouldn't have the memory/resources for this type of task.

Questions to be talked about:

Once this planned app becomes something usable, how should we maintain it. Should we keep it a seperate fork and updating the base as needed or to merge the code back into the respository (and how would that be managed)

If there is any questions you have, feel free to post it so we can have a discussion about it.
Feel free to contribute to the project once it gets started.
Note: I won't be able to start till next week, so.... ;)

You could make it a separate project and use this repo as a submodule, then you can handle updating the submodule version when you feel like it, and re-release the app on your own cadence.
Or you could make all of the necessary changes to build an Android app and PR to this repo. Ensure you don't break the build of the desktop app, etc.
Up to you. Let me know your thoughts.

I might go the submodules (https://github.com/blog/2104-working-with-submodules) route.
It'll allow people contributing to the app (if it ever happens) to be able to work on the app components not the rip-me components.
It'll also stop all the bloat that will come from the app development.
Do you have any concerns or information that may be useful before I start using submodules.
I'll start on sketching the look of the app tonight.

@Matt07211 I agree. Separation of concerns. :)

Yea I was planning to create a report under the name "Ripme-Android".
But if you plan to setup an organisation (which I think is a good idea) tell me :)
I can create the repo now/soon if you really want (License, readme and Rip-me submodule)  anything else in the repo will have to wait till later in the week when I can start (and download Android studio).
Either way let me know.

I'll keep you updated if I go the organization route. I don't want to hijack this project too much. In any case, you can go ahead and set up your repo under your own username, and we could always move it later.

Don't worry about hijacking this project, I'll need input about stuff anyway ;)
As I said I won't be able to start this project untill later this week (probably the 5th)/next week. So that at least gives you a couple of days to decide.

@Matt07211 I'm just saying it doesn't matter when I decide since you'll have your own fork anyway. It's just a matter of where the "main" copy is, and that's just a social construct :)

I don't need no philosophical intricacies on deciding where the fork will be located.
I'll have a fork created by next week anyway

Fair enough. I suppose it's something we should do at some point anyway. I'll need to change the update mechanism again so that future releases come from that fork instead of the 4pr0n one. It's just that there are number of work items to do that make it a pain :P

By the sounds of it your gonna go the organisation route. Geuss refactoring the code is gonna be annoying.
If I may inquire (for a seperate project of mine), what is required to create an organisation? What is the actual process?
If you don't have the time to answer then that's fine :)

Here's what I'll do. I'll make the organization, create a repo for Ripme-Android, and add you as a contributor to that repo.
As for the details of making an organization, you can think of it like an "account" that you access via your normal account's log-in and which can have more than own "owner". As for the other details, it's been a while since the last time I made one.

Looks like someone already registered a user with the name ripme so we can't register the organization as "ripme".
https://github.com/ripme
I'm drawing a blank on an alternative to use as an organization name. Ideas?

4pr0n_RipMeAndroid ?

How about "RipMe_AlbumDownloader"
Or
"RipMe_ContentDownloader"
Or
"RipMe_Downloader"
Basically the name (since you can't just use RipMe) should symbolise the main task that the program does.
My work WiFi was being rather dodgy, so I was unable to download Android Studio, I'll try again tomorrow when I am at work again (if that doesn't work Ill just go to my local library and download there during the weekday, cause it's a decent sized download)

Or something short and sweet like RipMeApp?

Yep. That sounds the best. I like it.

https://github.com/RipMeApp/
https://github.com/RipMeApp/ripme
https://github.com/RipMeApp/RipMe-Android

Not ready to move main development or deployment to https://github.com/RipMeApp/ripme but at least it's there.

I added  https://github.com/RipMeApp/ripme as a submodule of  https://github.com/RipMeApp/https://github.com/RipMeApp/RipMe-Android for you to get you started!

Thanks. If my work WiFi isn't flaky today, I'll have android studio downloaded and I'll have started on the app by the end of tonight.

Sorry haven't been able to start this little side project, to busy with work :(
I've got Android studio (I still need to download the SDK) and have git cloned the repo and sub module. But haven't had the chance to start on this project.
I have still yet to see how much effort is needed to port the java code to the equivalent API (I'm blaming this on work taking up all of my time;) )

@Matt07211 no worries, take your time. I'm also busy until February and won't be able to do any coding until then.

@Metaprime That's good, didn't want you to think that I'm the type of person to say something and not follow through. I will follow through it just may be really slow.
One quick question, what part of the java code do you think will bring me the most trouble (ignoring the java code for the UI as it's irrelevant)?

@Matt07211 Honestly no idea. I've never done a port of a desktop Java app to Android and my Android app dev experience is very little to practically nonexistent.
I think the biggest practical challenge is the huge space requirements an app like this commands. Not sure if that will be an issue for Android devices. Uploading directly to the cloud to save space locally makes some kind of sense but the technical problem there is the bandwidth required (download image, upload image -- 2x the bandwidth of simply downloading -- I don't think there's any way to have the images you're downloading beamed directly to the cloud storage and bypass the device -- that would require support from each respective service of allowing you to retrieve a file from anywhere on the web).
The fact that this app doesn't support HTTPS connections at the moment which makes privacy a problem -- downloading/uploading NSFW pictures on a mobile network without a secure, encrypted connection has me worried.
(Actually that's my major technical concern that really should be improved before tackling other work. See #214 #403 and the anti-pattern of forcing https links to http as supported by #366.)

So there's some major technical hurdles before we're app-viable, but that doesn't mean we can't prototype.

I'll be prototyping tonight ;)
A note about the space requirements;

External SD card compatibility is planned, or as you said we would be rather tight on space.
I'm not sure of the statistics of what phones have/don't have external SD card slots, but most low end phones usually have them and premium phones may have them included or have a large internal memory (E.G. 32GB, 64GB etc.) so only a small subset of devices will only have a very small storage area.
OTG compatibility in phones have increased in recent years so this avenue can't be ruled out.

In regards to cloud storage, it'll seem more like a wait and see approach, coupled with research, and how the original app has implemented the feature. This is a area that definitely requires a look into at the minimum.
Https related issues may also be a wait and see, but this ( https://developer.android.com/training/articles/security-ssl.html#HttpsExample ) Android developer page looks promising for https related issues with Android specifically
Either way it'll be a little while before we get a semi functioning app, but that's the fun isn't it.
I'll hopefully at least be able to update the repo in the coming days.

The only way to have your rippings go to cloud without downloading+uploading is either the cloud end or the source end has to initiate the transfer.
Technically your computer, the 3rd (could be wrong number) party, could tell the source where to send the data, or the cloud where to get the data from, but that's quite special arrangement which to me sounds the same as opening SSH connection and running a command.
That arrangement wouldn't be negotiable with the source without owning it yourself or a friend own it or something along that line.

@rautamiekka Yea that sounds about right. :(
As for my progress, I have some other side projects that need to be finished first and this is around last on the list (I'm probably gonna be like what metaprime is and won't be able to do much till February). As for the other day, I tried building a default hello world app and Android Studio/Gradle kept throwing up errors one after another, after a while I gave up for the night and went to sleep.

I'd like to say work has slowed down, some of my side projects are almost complete, it's near the beginning of a new month, so you I'm gonna try again at this :)

I was thinking the most plausible/scalable approach for cloud storage backend which doesn't involve download/upload from the device would be if the cloud storage had an API where you could tell it where to download a file from. I'm thinking this is most likely not supported as it could be easily and heavily abused.
Most likely taking advantage of cloud storage would require download and upload which is twice the bandwidth cost to a mobile device. Besides that and privacy on mobile networks or when using e.g. work Wi-Fi there's no inherent concern or implementation blocker there.

http://imgur.com/a/3bReW
As you can see in the the screenshot, the Save to drive is in the share menu, so this means I'd probably be able to use it, Google drive also shows up in the File/Documents picker. (Not uploading picture as has personal details and it's a prick to Balck out on a mobile)
But with both, I believe the item gets downloaded onto the phone and then uploaded :(
I'm currently at this very moment reinstalling Ubuntu as my previous installation has borked (died, filesystem corruption) on itself.

@Matt07211 oh no! Hopefully you didn't lose any data!

I believe only a few files got corrupt, the most recent files I was working on, but no biggie, I booted a love USB and .tar'ed my whole home directory before reformat and reinstall.
I wasn't saying implementing via share menu (idea does sound cool [Goto Imgur Album page, share, ripme-android, URL gets passed to ripme-android app]but not planning to implement anytime soon), I was more pointing out the fact that Google drive had a save to Drive option.

Ah yes, I was just brainstorming today about how to make a mobile app experience not terrible. "Share to ... > Ripme" sounds like a perfect way to do this!

Yea it's a cool idea.
I've gotta stop putting bit off and have another crack at doing this, cause at the current moment I keep putting it off to work on porting a device tree for my android device so I can build LineageOS.
I'll be setting Android Studio back up again tonight, let's see how many gradle errors I get this time ;)

I'm sorry, completely forgot about this side projects, been a bit engrossed in trying to port LineageOS to my android phone (have a look at my recent commit history).
So thanks @metaprime for giving me write access to the Rip-Me-Android repo, it reminded me of the project.
So time for me to take another crack at it, let's hope I don't get some many damn gradle build errors as last time.

@Matt07211 I was surprised to find you didn't have write access already. Was just auditing access when I added the ripme-wiki repo :P

This thread has been back and forth for several months now, has there been any other discussion on if anyone is thinking about contributing to the mobile development? I have done several mobile applications and im going to be playing around with some ideas that I have for it.

Yea feel free to give it a go, I haven't been able to do much until really recently (I just got internet access at home about a week ago).
And before at one point I had filesystem corruption which put me right back, so I've been holding off doing it until I had better Internet access, but I'm putting it off again as my hard drive has borked itself and I'm going to need to replace it, so I'm currently in no position to give it another go so go ahead and start/try :)

I saw that you were dealing with that a couple of months ago and yeah a bork is less than pleasant. Im going to be throwing my ideas at the wall this weekend. One of the ideas that i'm looking into having an api section within the settings so that the user can plug in their own api keys for the supported sites in case the main keys go down. Either way I have a hobby for the next few weeks. Cheers.

Yea, I'm going to be replacing my hard drive with another spare I've got tomorrow, and will be getting everything setup up again tomorrow's.
If your willing to work with someone who doesn't have much app development experience (I was planning to use this as a learning experience) I would appreciate it, of not then I'll let you do it.
If you want , when I have some free time tomorrow, I can sketch up a rough UI as a base to follow.

Yeah that would be fine, I have no issue collaborating on it. Its been a bit busy on my end with work and what not but this weekend is going to be a good time for me to throw some time at it.

Good to see interest growing :P

Is this project still being worked on? Just wondering cos I am thinking of trying Android development and might be able to help.

Not actively being done with me, ha fto shelf the idea with real life
issues taking presidence
On 24 Nov. 2018 2:37 pm, "TAD3V"<EMAIL_ADDRESS>wrote:
Is this project still being worked on? Just wondering cos I am thinking of
trying Android development and might be able to help.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/4pr0n/ripme/issues/414#issuecomment-441340944, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AMPsKcHhnB7uM_207x0_TJ6b5ExrRFq5ks5uyL7ggaJpZM4LYzoQ
.

@TAD3V

Is this project still being worked on?

AFAIK no one is currently working on an android port but development of ripme has moved to https://github.com/RipMeApp/ripme/

@TAD3V

Is this project still being worked on?

AFAIK no one is currently working on an android port but development of ripme has moved to https://github.com/RipMeApp/ripme/

cool thanx. 👍

Not actively being done with me, ha fto shelf the idea with real life issues taking presidence On 24 Nov. 2018 2:37 pm, "TAD3V"<EMAIL_ADDRESS>wrote: Is this project still being worked on? Just wondering cos I am thinking of trying Android development and might be able to help. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#414 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/AMPsKcHhnB7uM_207x0_TJ6b5ExrRFq5ks5uyL7ggaJpZM4LYzoQ .

Ok then I might try porting it. 😀


Add a page for content indexed in search

See https://github.com/alphagov/rummager/pull/820

Do we need to add a page like https://github.com/alphagov/govuk-developer-docs/blob/master/source/apis/search/fields.html.md.erb first?

Yes we do. That was just me failing to use git properly. :man_facepalming:


Add UI constructor param for text

Add constructor parameter for initial text to several UI controls.

Agreed. It was more done because I was tired and wanted something simple to work on at the time. Plus, I wanted to become more familiar with the UI code for other future changes, such as the layout changes.


Can't override input variable value inside task group

Scenario:

My task group is composed of several tasks
First task, based on some logic, constructs an ID and publishes it as variable using this syntax:
echo "##vso[task.setvariable variable=sauce]crushed tomatoes"
Another tasks use this variable inside

Problem

Task group automatically extracts this variable as input parameter
Because value will be calculated on the fly, I assign not relevant default value
First task works totally fine, however value of the variable remains default (it is not changing to new)

Expectation
Either syntax showed in the Scenario should be capable of changing of input parameter value or should be provided possibility of not exposing all variables as input parameters.
Links
https://docs.microsoft.com/en-us/azure/devops/pipelines/library/task-groups?view=vsts
https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=vsts&tabs=yaml%2Cbatch

Thank you for your feedback. I have passed this on to the product team for advice.

@ashokirla

You may find answers here:

Azure DevOps Support Bot
Azure DevOps on Stack Overflow

My apologies for the delay in responding.

I am trying to work through this problem now.  Any chance this can be looked into?

Hi @iliecirciumaru: You can make the default value of the taskgroup parameter (Say var) to be $(var). Then it evaluates to the variable published by the previous task.

I have done this but it's still not working as you describe.
Parameter in the task group is: migrateApps  and it's set to $(migrateApps)
I have a task group with a PS task defined
in the task group as below: $varName = "migrateApps"
$varVal = "true"
function SetVariable ($varName, $varVal)
{
Write-Output ($varName + "=" + $varVal)
Write-Output ("##vso[task.setvariable variable=" + $varName + ";]" + $varVal)
}
       SetVariable ($varName, $varVal)
     Write-Output "$varName is set to $varVal"

This runs successfully and the output statement shows the variable set to true.  I have another task with custom conditions defined to only run if this value is set to true : and(succeeded(),eq(variables['migrateApps'], 'true'))  This task is skipped and shows in the logs : Expanded: and(True, eq('','true')) Result: False.  The custom conditions are expanded / evaluated serverside and the attempt at overriding doesn't override the '' value.  I also added a 'migrateApps' variable to the release and left the value empty per prior dicsussions I've read on this topic.  That didn't help.  What I'm trying to do is dynamically adjust the steps I'm running in the release by reading parameter values in an arm template parameter file.  I.E. I'm feature toggling infra and wanting to be able to roll out new infra features by simply updating the arm template.  I don't want to also have to edit the release which has proven to be problematic and result in us forgetting to update things thus triggering a bad release.

I tried this again without the custom conditions that reference the variable.  I hvae a script that needs the migrateApps variable that is set in prior script as a parameter.  when that task runs it fails because the -migrateApps $(migrateApps) is not provided.
Missing an argument for parameter 'migrateApps'. Specify a parameter of type 'System.String' and try again.


Multiple images of same registry, different tags updated to same image.

Describe the bug
ex )3 images : registry/image:tag1,  registry/image:tag2, registry/image:tag3 in deployments
When image updated, all images in deployment is registry/image:tag3
Without argocd image updater annotations, image list is properyl described.
When annotation applied, image list changed to single image and all deployments in application changed to wrong single image.(except one)
To Reproduce
Application info :
sourceType: Kustomize
Application annotation :
argocd-image-updater.argoproj.io/image-list: >
image1=registry/image:tag1,
image2=registry/image:tag2,
image3=registry/image:tag3,
argocd-image-updater.argoproj.io/image1.update-strategy: digest
argocd-image-updater.argoproj.io/image2.update-strategy: digest
argocd-image-updater.argoproj.io/image3.update-strategy: digest
Expected behavior
image of deployments properly updated and deployed
Version
v0.12.0
Logs

Hi @emuggie are you able to solve this issue ?
I am also facing this problem

@NitishGupta9282
No. Solved it by creating repository per image.

@emuggie Ok. Thanks


perhaps an -L flag is missing? error doesn't print -L flags given or any other info

I keep running into this problem:

I write a build script that seems to work fine (no panics) and outputs -L flags that I hope are correct

Something isn't right and Cargo tells me

error: could not find native static library foo, perhaps an -L flag is missing?

To me information printed by Cargo, even in verbose mode, is insufficient to diagnose the problem.

Cargo doesn't tell me if it got any -L flags at all.
I could try to guess if it got flags by searching the long noisy " Running rustc…" lines, but the paths are usually based on random-looking expansion of OUT_DIR (e.g. I see different hash in paths when I add panic!() to my script and I don't know if that's normal), so I don't really know what paths I'm looking at. Due to #1106 it's a pain to find that out.

Cargo doesn't tell me what files it expected to find.

It would be so much nicer if Cargo had message such as:

Can't link native library foo wanted by foo-sys. Expected to find libfoo.so in these directories:

/foo/lib (set by foo/build.rs) (this directory doesn't exist)
/usr/lib/bar (set by bar.sh) (found libfoo.a, but not libfoo.so)

I don't think that we'll get to quite that level of fidelity with an error message because this error is being generated by the compiler, not by Cargo itself, but I'd believe that it could certainly improve!

I think it is important to break the glass to see what's happening inside.
Sometimes the first step goes (falsely) successful, but it caused later steps to fail.
The error report mechanism is not always smart to find out the direct cause of the error (or debuggers would retire).
So, debugging the whole build process need to be possible.
For example, add a logging mode to print as much as information (command lines, environments, inputs/outputs) during each step.
Or a way to invoke GDB to debug the build script.

GDB in Rust part of the build script wouldn't help me much, since my Rust build scripts are:
fn main() {
    if !std::io::Command::new("./src/build.sh")
        .stdout(::std::io::process::InheritFd(1))
        .stderr(::std::io::process::InheritFd(2))
        .status().unwrap().success() {
        panic!("Script failed");
    }
}

But I'm sorry to say that Cargo eat up all std{in,out,err}. (#1106)
So it is no use doing InheritFd.
I saw you discussing on #1106 .
But I need more reasons to prove the significance of not eating stderr with --verbose.

But I need more reasons to prove the significance of not eating stderr with --verbose.

But what is the reason for eating it? So far I've seen "it looks clean!". So to me it's

Pro: it looks neat!
Con: I can't develop working Cargo packages!

I feel like Cargo is highly "opinionated" and its opinions completely don't match mine. On every step I'm fighting around it :(
I want to use "printf debugging", without stopping the program, since it's easy and works with entire toolchain that I'm using. I can't imagine how could I possibly use GDB to debug the mountain of crap scripts that autotools spits out.
Since pure Rust build scripts are supposed to be the right way, I've tried that. I gave up after my 4-line bash script started to exceed 100 lines.

I want to use "printf debugging", without stopping the program, since it's easy and works with entire toolchain that I'm using. I can't imagine how could I possibly use GDB to debug the mountain of crap scripts that autotools spits out.

You can achieve your goal by:

Start an XTerm to print out things (or AllocConsole on Windows). But this degrades user experiences.

Write to /proc/$PARENT_PID/fd/2 as stderr (or OpenProcess + DuplicateHandle combination on Windows). This tweak works perfectly as no restrictions are there.

Maybe we can make a helper library to do what we want to do without modifying Cargo.

Uhhh… I'm telling you that Cargo is hard to use, opaque and hostile to newcommers, and you're showing me even more complex and elaborate workarounds :(

@pornel you may want to weigh in on https://github.com/rust-lang/cargo/issues/1106 to see some various tradeoffs when dealing with the output of build scripts.

@alexcrichton I've done that: https://github.com/rust-lang/cargo/issues/1106#issuecomment-71251619

Gah sorry! Thanks for weighing in though :)


restore function subtract; fixes #1

This should fix the test

Awesome, thanks for fixing @Tierhon 🥇


Memory leaks when using breakpoints in swiper

I use swiper in a react project, created a swiper container, with 4 slides inside (just minimal text). I used 4 breakpoints that
change the slidesPerView option, and after a few manual page resizes (to see the breakpoints effects) i noticed the page freezes for a few seconds, I opened up the memory tab in chrome devtools, and was surprised that my JS heap size is over 1000mb.
When i removed the breakpoints the problem didnt occur.

Swiper Version: 6.5.0 (react-dom 17.0.1)
Platform/Target and Browser Versions: Windows 10, Chrome 89.0.4389.82

What You Did
Created a swiper container with 3-4 slides and 4 breakpoints. after you resize the page manually you will see the slowness kicks in
https://codesandbox.io/s/swiper-react-fork-forked-hyz3s

Expected Behavior
Using breakpoints in swiper should be working smooth without memory leaks
Actual Behavior
After a few resizes (to trigger the breakpoints), the page incrementally becomes slow (until it is completly frozen)

Don't understand why it is happening, but issue is with React.StrictMode, remove it and it will work fine

Same issue!
Next.js reactStrictMode: false
It will work fine..

We are seeing the same issue with an up to date Swiper version and the latest Next.js version.

We are seeing the same issue with an up to date Swiper version and the latest Next.js version.

same

same issue with nextjs 12


Adaptive threshold update

I made the adaptive threshold easier to use by adding a GenerateAdaptiveThreshold task that is able to generate the barcode parameter histograms concurrently with the decoding.

Hello @emanuega! Thanks for opening this PR.

In the file merlin/analysis/filterbarcodes.py:

Line 100:36: E225 missing whitespace around operator
Line 108:79: W291 trailing whitespace
Line 328:69: W291 trailing whitespace
Line 330:68: W291 trailing whitespace

In the file merlin/plots/filterplots.py:

Line 223:73: W291 trailing whitespace
Line 233:69: W291 trailing whitespace
Line 243:68: W291 trailing whitespace
Line 254:80: W291 trailing whitespace

In the file merlin/util/datareader.py:

Line 36:46: E252 missing whitespace around parameter equals
Line 36:47: E252 missing whitespace around parameter equals


Crosshair override

The crosshair built in with budhud won't disappear. (I experimented by removing the crosshair related files in #customize. Didn't work, so I put them back in. Is there any way to remove the built-in crosshair?

this is an error on my part (#401); go into budhud/#users/ and change the folder whisker to whisker_

Thanks! It works just fine now. If I want to, where can I re-enable it? (Without it overriding the other crosshairs)


GraalVM Java 19

Add docker image for GraalVM Java 19: https://www.graalvm.org/downloads/

They don't currently have any released docker images for it to use as base image.
It's only the LTS releases that they build images for

Understood o7


Unknow error of hx files

Describe your bug here.
This is an issue of hx when i try to load week 7, heres is the error:

maybe is by an event but i din't touch the hx file and i din't know where are placed im talking of a mod that im creating and week7 failed to load i dont know, please fix this
Command Prompt/Terminal logs (if existing)
PlayState.hx (line 2614)
PlayState.hx (line 2570)
PlayState.hx (line 1086)
flixel/FlxGame.hx (line 637)
flixel/FlxGame.hx (line 724)
flixel/FlxGame.hx (line 677)
flixel/FlxGame.hx (line 551)
openfl/events/EventDispatcher.hx (line 402)
openfl/display/DisplayObject.hx (line 1399)

Uncaught Error: Null Object Reference
Please report this error to the GitHub page: https://github.com/ShadowMario/FNF-PsychEngine

> Crash Handler written by: sqirra-rng

Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
No, i dint edit nothing of .hx files.

all this means is that something that was called returned null so the game crashed, the only reason all of the hx files are showing up is because those are where the last commands were called prior to the crash happening.

maybe the error is caused because of some .json or code archives, maybe its my fnf characters that is producing a error in week 7 songs, because i made it with a spritesheet and xml generator and not animate becuase i am a beginner and in fact I uninstall animate because it takes up space on my laptop that i made tthis mod

the sprite sheet generator shouldnt cause any problems. so it might just be you character file (the .json file)

if i remove the .json then weres the modded character in his week?!?!?!

odd, what version is it?

the version of pysch of my mod is 0.6.3

is your stage hard coded or through Lua?

a little bit but its only scripts that make hard the week

then i guess im just as confused as you are. and your sure the json is fine?

the character and the week 7 jsons are just fine maybe....
Thats it im gonna transfer my mod files to a Clean copy of the engine


comments color names are not consistent

https://github.com/microsoft/vscode/issues/145230 added colors
comments.resolved.border and comments.unresolved.border
The names of our colors only use two segments, with the form location.property.
See https://code.visualstudio.com/api/references/theme-color for the naming of our other colors
So better names would be:
editorComments.resolvedBorder
editorComments.unresolvedBorder

How about
editorCommentsWidget.resolvedBorder and
editorCommentsWidget.unresolvedBorder ?


Update Composer dependencies (2024-07-31-00-10)

Visual regression test passed!
View the visual regression test report


Quilt specific 4-way crash between Earth2Java, Enchancement, KubeJS and Frame API

MC 1.19.2
QFAPI 4.0.0-beta.17
Earth2Java 1.9.3
Enchancement 5
KubeJS 1902.6.0-build.101
Frame API 0.26.1
To reproduce simply install all 4 mods and all their dependencies, then try to launch the game. The crash doesn't happen on Fabric with identical mods.
Logs: https://gist.github.com/SplendidAlakey/0fec210ea1df4ced214d472fdaee6baf
Already talked about it on Discord a bit, but making an issue here to keep track of. Let me know if I need to report this to the mod devs instead.

Enhancement is mixing in to an internal class of Architectury API: https://github.com/MoriyaShiine/enchancement/blob/a20391d824e834bd4f4222d2c91977f5579a553b/src/main/java/moriyashiine/enchancement/mixin/vanillachanges/disabledisallowedenchantments/integration/architectury/RegistriesImplRegistartImplMixin.java
As you likely have architectury API for quilt installed, this just does not work. I'd open an issue on their (enhancement's) repo.

Wait, I may be mistaken. That seems to be a related issue, but not the root cause, since architectury is just the fabric version at present

Enhancement was the mod that made me discover the crash and, yeah, I noticed that Architectury was somehow mixed in, but since it's a Quilt exclusive crash, I decided to report here first.
As for Architectury only having just the Fabric version, they formally support both in 1 jar:

Yes, that's what I mean; they don't have 2 separate versions. I'm pretty sure whatever is going on here is wrapped up in that re-entrance error. I'll see what I can figure out

No longer an issue with the latest versions of all mods + Quilt loader 0.17.7 and 0.18.x. No idea what fixed it.


Generating records for weapon using template

Patcher is generating overrides to enchanted versions of weapons using templates resulting in thousands of unnecessary records.
Suggest ignore weapon records with template field filled

I've pushed an experimental fix for this issue to the dev branch, can you confirm that it fixes your problem?
Make sure you check this in the speedandreachfixes settings:

Switching to the Dev Branch
Open synthesis and select speedandreachfixes.
Next to 'Patcher' select Branch if it isn't already selected, uncheck Main, then type dev into the textbox.

If it says there is a blocking error, look for an upgrade icon in the top-right corner to update the profile-level libraries; it should be located here:

Can you upload your settings file?
[Synth exe location]/Data/[Profile]/Speed and Reach Fixes/

Appears to be an error caused by migrating the settings, I'll get to work on that

settings.txt

Ah, the problem seems to be that DetectionSoundLevel (of enum type ESoundLevel) is being serialized as a string instead of a number

Ok, I pushed a potential workaround fix

Everything is working on my end; if you're still running into crashing issues try using this settings file instead:
settings.txt
(I just applied a regular expression to your settings file that you already uploaded; so you won't lose any settings if you changed them)

1 field modified in record 'SUM_StalhrimWarhammerShockHazard05'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerShockDmgWild05'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerShockHazard06'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerShockDmgWild06'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerShiftingEarth04'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerKillstreak04'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerThresholdDeath04'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerSkyhook04'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerShiftingEarth05'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerKillstreak05'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerThresholdDeath05'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerSkyhook05'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerShiftingEarth06'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerKillstreak06'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerThresholdDeath06'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerSkyhook06'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerDrainArmor04'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerBattleHunger04'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerMomentum04'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerHaltRegen04'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerDrainArmor05'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerBattleHunger05'	( Reach: 0.8 )
1 field modified in record 'SUM_StalhrimWarhammerMomentum05'	( Reach:

Looks like it's still touching templated weapons

Fixed in https://github.com/Synthesis-Collective/speedandreachfixes/commit/713feafc45248f0f0513c621435b30e518632007
I'll be migrating this to the main branch soon once I give it a once-over

Fixed in https://github.com/Synthesis-Collective/speedandreachfixes/commit/5fb406c983d3b70b2723047d1c856e83a43315ae
I'll be migrating this to the main branch once I give it a once-over.

Sorry but it still appears to be touching templated weapons:
Successfully modified weapon: EnchSteelSwordFrost02
Successfully modified weapon: EnchSteelSwordFire03
Successfully modified weapon: EnchSteelSwordFire02
Successfully modified weapon: EnchSteelSwordFire01
Successfully modified weapon: EnchIronWarAxeShock03
Successfully modified weapon: EnchIronWarAxeShock02
Successfully modified weapon: EnchIronWarAxeShock01
Successfully modified weapon: EnchIronWarAxeFrost03
Successfully modified weapon: EnchIronWarAxeFrost02
Successfully modified weapon: EnchIronWarAxeFire03
Successfully modified weapon: EnchIronWarAxeFire02
Successfully modified weapon: EnchIronWarAxeFire01
Successfully modified weapon: EnchIronMaceFrost03
Successfully modified weapon: EnchIronMaceFrost02
Successfully modified weapon: EnchIronMaceFrost01
Successfully modified weapon: EnchIronMaceFire03
Successfully modified weapon: EnchIronMaceFire02
Successfully modified weapon: EnchIronMaceFire01
Successfully modified weapon: EnchIronSwordShock03
Successfully modified weapon: EnchIronSwordShock02
Successfully modified weapon: EnchIronSwordShock01
Successfully modified weapon: EnchIronSwordFrost03
Successfully modified weapon: EnchIronSwordFrost02
Successfully modified weapon: EnchIronSwordFire03
Successfully modified weapon: EnchIronSwordFire02
Successfully modified weapon: EnchIronSwordFire01

Finished patching 50302 records.

The changes have been pushed to the master branch, make sure you're using the default one now.

 I thought it was just by default LOL

dwbi lol, happens.
My reasoning for leaving the option to disable it open is in case some mod in the future wants to make use of the stats on templated weapons for some purpose. That being said, it is set to true by default on the master branch now to benefit the majority of users.
Thank you for the report though, the patcher completes much faster without the redundant work & it exponentially decreases the esp's footprint once completed!
👍


Holiday caching time bug

Similar to #18.
During the holidays the bsi did not send regular advisories on its rss feed. So there is one entry (when using no updated and severity high):
    <item>
      <title>Siemens SICAM PAS/PQS: Mehrere Schwachstellen</title>
      <link>https://wid.cert-bund.de/portal/wid/securityadvisory?name=WID-SEC-2022-2381</link>
      <description>Ein lokaler oder entfernter, anonymer Angreifer kann mehrere Schwachstellen in Siemens SICAM PAS/PQS ausnutzen, um beliebigen Programmcode mit Administratorrechten auszuführen und um einen Denial of Service Zustand zu verursachen.</description>
      <category>hoch</category>
      <pubDate>Wed, 21 Dec 2022 10:37:28 GMT</pubDate>
    </item>

that runs into the two week caching time and will be deleted starting the parsing progress and resend when the algorithm evaluates this entry. This need to be addressed by readjusting the caching time or changing the storage of the list with already created advisories.

Caching time will now be determined by the date of the oldest advisory in the rss feed. All entries before the date of that entry can be deleted since there are newer ones present.


postOrder parameters

Hello,
postOrder function doesn't accept any parameters.
How do i send the mandatory fields "size" "price" "side" and "product_id".
Can you please direct me to any documentation?
Thanks for the nice job.

@asterioslaskaroglou Thanks for the ticket and for trying the library. I'm adding support for those parameters with https://github.com/westwinglabs/coinbase-kotlin/pull/23, which will be available in v0.4.0.
I'm planning the release as soon as I migrate the project out from Bintray (which is being deprecated).


getConnectedDevices:rejecter: is not a recognized Objective-C method

Mobile Device Environment
Provide a list of operating systems on which this issue is relevant.

Device: Ipad 8
OS: ios 14.2

Application Environment
Provide information about your development environment:

React Native version: 0.64.1
RN Bluetooth Classic version: 1.60.0-rc.16

Describe the bug
When running the project on iOS the following error pops when calling the method getConnectedDevices,
BluetoothScanner[25233:339267] [native] Exception 'getConnectedDevices:rejecter: is not a recognized Objective-C method.' was thrown while invoking getConnectedDevices on target RNBluetoothClassic with params (
    194,
    195
)
callstack: (
	0   CoreFoundation                      0x00007fff20422fba __exceptionPreprocess + 242
	1   libobjc.A.dylib                     0x00007fff20193ff5 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff20422de3 +[NSException raise:format:] + 0
	3   Foundation                          0x00007fff207749b0 -[NSAssertionHandler handleFailureInFunction:file:lineNumber:description:] + 166
	4   BluetoothScanner                    0x0000000108e3c08f -[RCTModuleMethod processMethodSignature] + 1023
	5   BluetoothScanner                    0x0000000108e43ebe -[RCTModuleMethod invokeWithBridge:module:arguments:] + 190
	6   BluetoothScanner                    0x0000000108e49007 _ZN8facebook5reactL11invokeInnerEP9RCTBridgeP13RCTModuleDatajRKN5folly7dynamicEiN12_GLOBAL__N_117SchedulingContextE + 1495
	7   BluetoothScanner                    0x0000000108e48825 _ZZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEiENK3$_0clEv + 165
	8   BluetoothScanner                    0x0000000108e4876c ___ZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEi_block_invoke + 28
	9   libdispatch.dylib                   0x000000010c2d6578 _dispatch_call_block_and_release + 12
	10  libdispatch.dylib                   0x000000010c2d774e _dispatch_client_callout + 8
	11  libdispatch.dylib                   0x000000010c2ddf9a _dispatch_lane_serial_drain + 796
	12  libdispatch.dylib                   0x000000010c2dec67 _dispatch_lane_invoke + 436
	13  libdispatch.dylib                   0x000000010c2eaa7a _dispatch_workloop_worker_thread + 872
	14  libsystem_pthread.dylib             0x00007fff603404c0 _pthread_wqthread + 314
	15  libsystem_pthread.dylib             0x00007fff6033f493 start_wqthread + 15

After some testing I noticed that only this method seems to be having problems to run iOS(also it works fine on android),
any clue what could be the issue or the fix here?
Expected behavior
The method to be available and working iOS

getConnectedDevices is a new method that was added in the latest version, so I must have missed adding the rejecter parameter to the method parameters.
Implementation
https://github.com/kenjdavidson/react-native-bluetooth-classic/blob/88c3a83d95a8fc2bec8c1d762ad7238b4b31f215/ios/RNBluetoothClassic.swift#L378
    @objc
    func getConnectedDevices(
        resolver resolve: RCTPromiseResolveBlock,
        rejecter reject: RCTPromiseRejectBlock
    ) -> Void {

rejecter is there.
ObjC Interface
https://github.com/kenjdavidson/react-native-bluetooth-classic/blob/88c3a83d95a8fc2bec8c1d762ad7238b4b31f215/ios/RNBluetoothClassic.m#L97
RCT_EXTERN_METHOD(getConnectedDevices: (RCTPromiseResolveBlock)resolve
                  rejecter: (RCTPromiseRejectBlock)reject)

rejecter is there.
It looks like it's calling the method with just the rejecter and not the resolver.  This is probably because of the FIRST parameter thing in swift/objective c (which I can't stand).  It probably needs to be updated to _ so that it picks up the right one.

Hey, thank you so much for the fast awnser
I edit the RNBluetoothClassic.swift directly on the node modules and tried to run the project again and seems that the problem persists, I'm not sure if I'm missing something
    func getConnectedDevices(         _ resolve: RCTPromiseResolveBlock,         rejecter reject: RCTPromiseRejectBlock     ) -> Void {

I'm not sure - I'm definitely not an IOS developer and I don't particularly like the Objective C or Swift languages.  I also don't have time at this point to fire it up and play around to try and get it working (I apologize).
If you can sort it out I'll definitely accept a pull request.


Percentage width

How can I make a waterfall slot to be a % width of the page, instead of pixels, for example if I want a vertical waterfall which each slot to fill 50% of the page?
Thank you!

Now you can use grow in v1.0.3 , like :grow="[1, 1]" , see example .


Document workflow for removing bills from the Councilmatic database

Occasionally, we have to remove bills from Councilmanic.
The workflow we’ve followed: (1) remove it from the OCD API database, (2) remove it from the Councilmanic downloads folder on the server, (3) remove it from the Councilmanic database. To this workflow, we need to add a fourth step: (4) remove the bill from Solr (or just run rebuild_index).
Let's document this process.

I documented the steps for manual removal.
Next, we will automate this process using management commands in OCD API and django-councilmatic.


Add TRAUMAH coverage generation in pyqgis

Need to add a function to generate the TRAUMAH coverage using pyqgis

See: 2cc6eb6be83b196fcdb1815029928be7736ea6ea


New release for Sdk Server, Browser, Http and associated dependents

Summary & Motivation
How I Tested These Changes
Did you add a changeset?
If updating one of our packages, you'll likely need to add a changeset to your PR. To do so, run pnpm changeset. pnpm changeset will generate a file where you should write a human friendly message about the changes. Note how this (example) includes the package name (should be auto added by the command) along with the type of semver change (major.minor.patch) (which you should set).
These changes will be used at release time to determine what packages to publish and how to bump their version. For more context see this comment.

CREATE_API_KEYS_V2

Codegen already updated ser 🫡


@deny('read') Field Policy - Not Reading Data

Description and expected behavior
Thank u for the great library. After #1452 which was solved in @2.1.1 but now members cannot get any data.
job @deny("read, update", space.memberships?[auth() == user && !(role in [owner, admin, roleManager])])
Environment (please complete the following information):

ZenStack version: 2.2 and 2.1
Prisma version: 5.15
Database type: Postgresql

Hi @milimyname , an unintended breaking change was fixed in release 2.2.3. Could you upgrade and give it a try?


Auto-parse booleans (true / false), nil, and numbers?

It could be reasonable behaviour to auto-parse "false" as false and "nil" as nil. This would in some cases reduce the amount of :coerce config to zero.
Furthermore it could also be reasonable behavior to auto-parse 123 as a number.
Anything else is still parsed as a string.
We should be able to disable the auto-parsing.
{:no-auto-parse true}

and/or in the future:
{:no-auto-parse #{:number :number}}

Could there be a case where you want to have a new 1foo? This seems very unlikely. We could also revert to the string in case of edn/read-string failure.
Would you have want to have false, true? This seems unlikely and if so, you could coerce them to strings, if that is desired.

Here are some examples of conventions used in other libraries.
yogthos/config takes the following approach for coercing environment variables:

The values are parsed using the following strategy:

[0-9]+ -> number
^(true|false)$ -> boolean
\w+ -> string
try parse as EDN, and return the original value as the default

tolitius/cprop does something similar for environment variables and system properties:

str->value will convert:
* numbers to longs
* alphanumeric values to strings
* true/false to boolean
* and will use Clojure reader for the rest
in case reader can't read OR it reads a symbol, the value will be returned as is (a string)

Thanks. I've looked into @yogthos's str->value function:
(defn str->value
  "ENV vars and system properties are strings. str->value will convert:
   the numbers to longs, the alphanumeric values to strings, and will use Clojure reader for the rest
   in case reader can't read OR it reads a symbol, the value will be returned as is (a string)"
  [v]
  (cond
    (re-matches #"[0-9]+" v) (parse-number v)
    (re-matches #"^(true|false)$" v) (Boolean/parseBoolean v)
    (re-matches #"\w+" v) v
    :else
    (try
      (let [parsed (edn/read-string v)]
        (if (symbol? parsed) v parsed))
      (catch Throwable _ v))))

I think this could just be simplified as: always a read as in, but when the result is a symbol, return the original string and in case of an error too?

Although:
user=> (conf/str->value "1M")
"1M"

I think in this case one would like to have 1M instead of "1M".

I've put in place some automatic coercions now. Documented here:
https://github.com/babashka/cli/blob/main/API.md#auto-coerce


puppetlabs-stdlib dependency not declared

I tried to use this module recently on a fresh install and it fails when a call to the emtpy function in the standard lib is made. The issue is resolved after running puppet module install puppetlabs-stdlib. This dependency should be declared in the module

Thanks a lot for your pull request, I just merged it.
I guess I missed this one as I always have stdlib loaded. Thanks a lot again!


Cannot use program. Says ADB isn't installed.

Describe the bug:
I am attempting to make use of an old Fire tablet from 2017, but i simply can't use the program because it thinks ADB isn't installed. (platform-tools folder is in my home folder. Fire-Tools is also in there.)
Developer Mode and USB debugging is turned on on my fire.
Expected behavior:
To be able to use the program and have it detect ADB installed.
Platform:

Linux, Latest script

Device:

Model: Fire HD 10 (7th Gen)
Version: Fire OS <IP_ADDRESS>

Additional context:

ADB works with my fire tablet.

The tool expects adb to be installed through your distros package manager (apt, pacman, dnf, etc). I see you're running Debian through Chrome OS's Linux container, so you would use apt.
sudo apt install adb

It works, but now i get this error instead:
./ui.sh: 32: zenity: not found
what is it trying to find?

Zenity is the GUI tool needed for Fire-Tools, it can be installed using:
sudo apt install zenity

I'll update the setup instructions to include Chrome OS so it's not as confusing.

Got it fixed but it's not recognizing my fire or my phone anymore.
USB Debugging is turned on in Developer Settings.

I've had that happen a couple times to fix it, on your Fire Tablet go to Device Options > Developer Options > Default USB Configuration and set it to File Transfer

I tried it and it still won't work. the Fire's cable is good and the Chromebook detects it but adb won't.

I have a USB converter dongle laying around.
The USB-C plug fits into my phone only (fire uses a different type.) I can plug my fire's cable into the converter and then plug it into my Chromebook and that's the only way.

After a reboot of ChromeOS and clearing USB debugging authorizations, It recognized the device!!

FIre Tools says device is unknown/unsupported??

could enabling/disabling widgets be a feature? just tried it with a command and it worked:
adb shell appwidget grantbind --package com.teslacoilsw.launcher --user 0

I found a bug. Tried to switch the launcher but it tried installing an already installed app.

I'm working on a way to automatically enable widgets for whatever launcher you choose, even .apks.

That error is my bad I forgot to add the Nova and Lawnchair .apks for the latest release but I'll have an updated version by tomorrow.

Apparently debloat worked with one app but Fire OS fixed it and now it stopped...
All i'm getting are java.lang.IllegalArgumentExceptions when it tries to run.

Looks like adb is having problems connecting because those packages are present on all fire tablets & the tool will skip to the next package if it can't disable the one that it's working on.


In iOS for Google Login, getAuthorizationCode(...) should not returned JWT but serverAuthCode

Hi there,
I've noticed that after logging in to Google and retrieving server code like this
    await SocialLogin.initialize({
      google: {
        webClientId: "XXXXX",
        iOSClientId: "YYYY",
        iOSServerClientId: "ZZZ"
      },
    });

    const loginRes = await SocialLogin.login({
      provider: "google",
      options: {
        scopes: [
          "profile",
          "email",
          "https://www.googleapis.com/auth/calendar",
          "https://www.googleapis.com/auth/calendar.events",
          "https://www.googleapis.com/auth/calendar.settings.readonly",
        ],
        grantOfflineAccess: true,
      },
    });

    const authorizationCodeRes = await SocialLogin.getAuthorizationCode({ provider: 'google' });

Access token is in loginRes.result.accessToken.token which is fine but it is equal to authorizationCodeRes.jwt (these string values start with 'ya29.a0...'). So SocialLogin.getAuthorizationCode(...) should not return JWT which is already accessible in the result of SocialLogin.login(...). It should return Authorization Code (its string value starts with '4/0AVG7fi...') which will be exchanged on the Back-end for the Refresh Token.
Or you could return refreshToken somehow. We need it on the server side to refresh our accessToken for further requests to Google API

Hey Andrew thanks for the feedback the plugin now return accessToken on login as expected, thanks

With accessToken was everything fine. But we also need refreshToken which will be used on the server side to update the accessToken. As you may know accessToken expires and needs to be updated periodically. So could you return refreshToken or maybe server authorization code which will be exchanged for refreshToken on the server side?

As an example

visit Google API playground here https://developers.google.com/oauthplayground/
select some API and scope
click Authorize API

You'll get to the "Exchange authorization code for tokens" page where as you can see "Authorization code" field. So we need your plugin to return this authorization code and our back-end server will fetch Access Token and Refresh Token. Or could you please make plugin return both Access Token (now plugin already returns it) AND Refresh Token(doesn't return)?

added

Wow! You are so quick! )
Now works perfectly for iOS!
Could you add for Android too?
Thanks!

Just one more question :)
Now result of SocialLogin.login(...) looks like this

What if you move all the inner fields of the result.accessToken object directly into result and rename result.accessToken.token to just accessToken? This way, the final response would look like this:
{
  provider: "google",
  result: {
    refreshToken: "1//...",
    accessToken: "ya29...",
    userId: "someId",
    idToken: "eyJhbGci...",
    profile: {
      ...
    }
  }
}

@AndrewBargan what is missing in Android?

@riderx refreshToken is missing

Hey @riderx,
So could you please add it? )
Thanks!

Hey @riderx,
I've noticed that the outdated CodetrixStudio/CapacitorGoogleAuth plugin only returns a refreshToken on iOS (highlighted in green in the image below), while it returns a serverAuthCode on both platforms (highlighted in red). Given this, I thought that if retrieving a refreshToken on Android isn’t possible, you could simply return the serverAuthCode for both platforms. We would then send this code to our backend, where it could be exchanged for both a refreshToken and an accessToken by making a request to the Google API with the serverAuthCode as a payload. This approach should be sufficient, and in this case, there's no need for you to return a refreshToken on iOS.
iOS

Android

yes that where we are going @WcaleNieWolny did a PR in this direction

@riderx not quite. serverAuthCode is offline access. Offline access is currently NOT implemented in the PR.

Hey @WcaleNieWolny,
Could you please implement the serverAuthCode feature? :) I believe offline access to Google accounts would be essential for many users of the plugin.
Thanks!

@AndrewBargan No problem!
I started a PR here: https://github.com/Cap-go/capacitor-social-login/pull/44.
Right now, I only implemented offline access for the web app, but it should not take long to implement it for all the platforms.
PS: This offline access pr will be blocked until @riderx merges https://github.com/Cap-go/capacitor-social-login/pull/37

Hey @WcaleNieWolny,
Are there any updates? )

@AndrewBargan I have fully implemented offline access here: https://github.com/Cap-go/capacitor-social-login/pull/56
This PR is basically ready to be merged. Right now I am attempting to write the docs for it.
Please know, that custom scopes are still not implemented. When I finish writing the docs, I will implement custom scopes

Awesome! Looking forward to being able to download this update! Thanks a lot!

@AndrewBargan I just opened a PR here with the scopes impl for iOS, web

@AndrewBargan I just released 0.0.68-alpha.6. You can do offline access and you can also specify the scopes.

@WcaleNieWolny Now I'm getting the following error

and now GoogleLoginOfflineResponse has only 2 fields but could you please return profile data as well?

Like it's done for GoogleLoginOnlineResponse

As for this web error - this should not happen. I will fix it tomorrow morning.
As for the profile, no I could not return it from the plugin. It's simply not possible to use server auth code and exchange it for the user data without using a backend.
If you follow the documentation, you will see an example of how you can get the user's profile

@WcaleNieWolny  Got it! Then we'll fetch user profile data on our back-end server. Thanks a lot!
BTW the error occured on Android.

@AndrewBargan Hey, I am sorry but I forgot about this bug. As for merging, I have started discussing the merging process with Martin today. He had made some comments about the development branch, and right now we are in a back-and-forth trying to reach a point where he can merge my branch into main.

Sounds good! Thanks!
Have a good day!

@AndrewBargan I just pushed https://github.com/Cap-go/capacitor-social-login/commit/f53a7cda5b65bf7947f9a74c7448a97d51385947. This commit should resolve this profile problem.

@WcaleNieWolny  Great! Thanks a lot! :)

Hi @WcaleNieWolny does "grantOfflineAccess: true" still working using the latest library (currently: 0.0.81) ?
I also have a case to retrieve an Authorization token, but I'm using the latest(0.0.81) and seems that it keep throwing error on Android.
await SocialLogin.login({
  provider: "google",
  options: {
    scopes: [
      "https://www.googleapis.com/auth/calendar",
      "https://www.googleapis.com/auth/meetings.space.created",
    ],
    grantOfflineAccess: true,
  },
});

Using 0.0.77.alpha.1
config:
await SocialLogin.initialize({
          google: {
            webClientId: GOOGLE_WEB_CLIENT_ID,
            iOSClientId: GOOGLE_IOS_CLIENT_ID,
            mode: "offline",
          },
        });

        const response = await SocialLogin.login({
          provider: "google",
          options: {
            scopes: [
              "https://www.googleapis.com/auth/calendar",
              "https://www.googleapis.com/auth/meetings.space.created",
            ],
            forceRefreshToken: true,
          },
        });

on IOS, I got error of :
 {"message":"Cannot find serverAuthCode","errorMessage":"Cannot find serverAuthCode"}
⚡  [error] - {"message":"Cannot find serverAuthCode","errorMessage":"Cannot find serverAuthCode"}
⚡  [log] - {"error":{"errorMessage":"Cannot find serverAuthCode"}}

on Android, I have build java error:
package com.ichowa.app;

import com.getcapacitor.BridgeActivity;
import com.getcapacitor.PluginHandle;

import ee.forgr.capacitor.social.login.GoogleProvider;
import ee.forgr.capacitor.social.login.SocialLoginPlugin;
import ee.forgr.capacitor.social.login.ModifiedMainActivityForSocialLoginPlugin;
import android.content.Intent;

public class MainActivity extends BridgeActivity  implements ModifiedMainActivityForSocialLoginPlugin {
    @Override
    public void onStart() {
        super.onStart();
        bridge.getWebView().setVerticalScrollBarEnabled(false);
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode >= GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MIN && requestCode < GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MAX) {
            PluginHandle pluginHandle = getBridge().getPlugin("SocialLogin");
            if (pluginHandle == null) {
                Log.i("Google Activity Result", "SocialLogin login handle is null");
                return;
            }
            Plugin plugin = pluginHandle.getInstance();
            if (!(plugin instanceof SocialLoginPlugin)) {
                Log.i("Google Activity Result", "SocialLogin plugin instance is not SocialLoginPlugin");
                return;
            }
            ((SocialLoginPlugin) plugin).handleGoogleLoginIntent(requestCode, data);
        }
    }

    // This function will never be called, leave it empty
    @Override
    public void IHaveModifiedTheMainActivityForTheUseWithSocialLoginPlugin() {}
}

May I know which version is working for my case which is to use offline mode and custom scope ?
Thanks

Try "0.0.69-alpha.9" The latest development version is still in very early beta, whereas with the "0.0.69-alpha.9" version, I am 99.9% sure that it will work well.

The setup is slightly different between the latest dev and the old one.
Please follow the old_development docs: https://github.com/Cap-go/capacitor-social-login/blob/old_development/docs/setup_google.md

Thank you so much for the response @WcaleNieWolny !
I've tried it, and yes I can retrieve an Authorization token on Android and IOS on that version, thanks again.
But seems the "0.0.69-alpha.9" does not returning iDtoken on Android and IOS which I also need it for my backend, do you have a suggestion ?

I see, no worries I will wait and see.
Thank you for the work @WcaleNieWolny !


Test cases for GCPClient

Related to #13 .

Pull Request Test Coverage Report for Build 4

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+16.1%) to 32.233%

Totals

Change from base Build 3:
16.1%

Covered Lines:
563

Relevant Lines:
1715

💛  - Coveralls

@muralisc Also added new lines for all test files.

Merging this as there is already 1 approval.


Question: Filtering collections based on permission AND also on external search params

We have started implementing a permission system using spicedb, but we are tackling with the following theoretical question. Suppose we have documents and users. The documents are organized in folders and some users have permission to view documents in some folders. The use case in question is to search for documents using a full text search or some other criteria, but taking into account that you would only need to search the ones that the user has view permissions on.
Something like:
SELECT id FROM document
WHERE document.title LIKE search
AND check(document:id#can_view@user:current)

I can imagine 2 strategies:

First perform a spicedb lookup query to find all the documents that the current user has view permission on, stream all the document ids from the permission system and then filter that down more based on the other search criteria.
First perform the full text search locally, then check each item one-by-one in spicedb if the user has the view permission on it or not.

Both of these seem suboptimal and could result in a very expensive operation of potentially moving the whole database between systems. Are there any guidelines, docs or cases studies that we could read? Thank you!

Hi @henkosch, your two listed options are the recommendations today: pre and post filtering.
As you mention, however, they can become quite burdensome at much larger scales or where filtering is tied to external metadata. To solve that problem, we're currently working on this proposal: https://github.com/authzed/spicedb/issues/207.
In summary, it will provide an API called LookupWatch which can be used to actively monitor the changes in resources to which a subject has access, and an api called RoaringLookupResources, which will return a cached roaring bitmap representing that access. Once available, the expectation is that a caller can then retrieve the roaring bitmap from the cache, and then pass it as an additional filter to something like ElasticSearch, thereby providing the ability to do an ACL-aware filtered search.

Hi! I've stumbled upon this discussion which gauged my interest pretty quickly - ACL-aware filtered search is the biggest pain point I've seen in most permissions systems so far.
I've particularly liked the idea of the roaring bitmap - Reading up on #207 and roaring bitmaps (which made some fun weekend reads), I've got some questions to know on how you think this might work / not work.

Do you know of any search engines/databases with native roaring bitmap querying support?  I've started to research roaring bitmap support for ElasticSearch - While it's easy to find that Lucene is using roaring bitmaps internally, it's been less obvious to find roaring bitmap support for query parameters. It mostly boils down to a custom plugin for ElasticSearch, implementing a skip-list like behaviour - like this one https://luis-sena.medium.com/improve-elasticsearch-filtering-performance-10x-using-this-plugin-8c6485516c1a

I've also spent some time reading up on roaring bitmaps (again a fun weekend read!) and came up with the following potential obstacles - I'm curious if you've put these into consideration for the roaring bitmap support?

#207 suggests 64-bit integers for the resource IDs.

Most implementations of roaring bitmaps are on 32-bit integers
Only some implementations have 64-bit integer support
There's no standardized serialization format for 64-bit roaring bitmaps https://github.com/RoaringBitmap/RoaringBitmap/issues/351
Only the Java implementation has support on the faster implementation with ART data structure; https://github.com/RoaringBitmap/RoaringBitmap/issues/403

Thanks ahead! (And thanks as well for the fabulous work already put into SpiceDb, I've only discovered it a few days ago and it's already been a great joy working with it!)

Do you know of any search engines/databases with native roaring bitmap querying support?  I've started to research roaring bitmap support for ElasticSearch - While it's easy to find that Lucene is using roaring bitmaps internally, it's been less obvious to find roaring bitmap support for query parameters. It mostly boils down to a custom plugin for ElasticSearch, implementing a skip-list like behaviour - like this one https://luis-sena.medium.com/improve-elasticsearch-filtering-performance-10x-using-this-plugin-8c6485516c1a

Native has been hard to find, unfortunately. There are, however, numerous plugins available, such as this one for Postgres: https://pgxn.org/dist/pg_roaringbitmap/.

I've also spent some time reading up on roaring bitmaps (again a fun weekend read!) and came up with the following potential obstacles - I'm curious if you've put these into consideration for the roaring bitmap support?

Proposal: Lookup Watch API and Tiger Cache for fast ACL-aware filtering #207 suggests 64-bit integers for the resource IDs.

Most implementations of roaring bitmaps are on 32-bit integers
Only some implementations have 64-bit integer support
There's no standardized serialization format for 64-bit roaring bitmaps Define serialisation format for 64 bit bitmaps RoaringBitmap/RoaringBitmap#351
Only the Java implementation has support on the faster implementation with ART data structure; A novel 64bit bitmap implementation RoaringBitmap/RoaringBitmap#403

Yeah, its been a consideration as well. The idea of using the roaring bitmap at all is to provide the most efficient means of sending the full list of accessible resource IDs to the client; we've also had discussions of providing other kinds of similar caches (all built on top of the same lookup watch API), with different data types if necessary. For example, a bloom filter might be another idea, although it has its own concerns.
I decided to start with roaring bitmap on the theory that, at worst, its fairly easy to convert into other forms if necessary

@jzelinskie Regarding your answer in the LookupWatch API draf implementation PR, here is our use case described at the beginning of the thread. We are still looking for a way to filter our entities based on permissions and other search criteria at the same time. It would require us to stream permission changes to our consumer  services so they can do the filtering in their own databases.

https://authzed.com/blog/materialize-early-access is now available for Early Access to solve this problem for very large scales

https://authzed.com/blog/materialize-early-access is now available for Early Access to solve this problem for very large scales

Will this be available on prem? When will more details be made available? Not having this kind of solution available is a blocker for us even considering SpiceDB.

@Krustie101 early access is only in the dedicated offering, we will explore on-prem as part of the SpiceDB Enterprise on-prem offering after that. For now, it supports CockroachDB, and PostgreSQL is the next in line. What datastore are you using?

@vroldanbet Thanks for the reply. The datastore for our business domain read and write models is currently SQLServer but PostgreSQL will be our preferred datastore for our new bounded contexts. I assumed that the choice of data store for our business domain entities and read projections (we use CQRS) did not matter, but that we need to choose CockroachDB or PostgreSQL for the SpiceDB datastore.
Does this change if we want to use Authzed Materialize? If we choose PostgreSQL for our SpiceDB datastore, do we also need to choose PostgreSQL to store our business domain read projections. This would not be a blocker, but I am curious to know if and why this is the case.

I assumed that the choice of data store for our business domain entities and read projections (we use CQRS) did not matter, but that we need to choose CockroachDB or PostgreSQL for the SpiceDB datastore.

That is correct, specially with CQRS, were you will treat SpiceDB as another projection of your business data.

Does this change if we want to use Authzed Materialize? If we choose PostgreSQL for our SpiceDB datastore, do we also need to choose PostgreSQL to store our business domain read projections. This would not be a blocker, but I am curious to know if and why this is the case. Has it something to do with "roaring bitmap" support in PostgreSQL?

No.  We are exploring deeper integrations with various data storage engines in the future, but for now the customer is responsible to ingest the output from Materialize.


version problems

installing the master branch via pip3 install --user --upgrade git+https://github.com/theislab/scanpy.git fails:
UPDATING build/lib.linux-x86_64-3.5/None
error: [Errno 2] No such file or directory: 'build/lib.linux-x86_64-3.5/None'

maybe _version.py returns None instead of a version string for the master branch.

installing the tag works: pip3 install --user --upgrade<EMAIL_ADDRESS>but the installed version will be 0.1, not 0.0 as the tag says (i’m not sure 0.0 is a legal version anyway)

thanks!
I think it's fixed, works for me now, was a bug in setup.cfg

0.0 is not a release, it's just a dummy tag.
if you upgrade now, the version will be 0.0+216.g2d10bdd, where 0.0 marks the initial commit, +216 one is 216 commits later, and g2d10bdd marks the installed commit

as soon as 0.1 is ready, this will be released and the version of the release will simply be 0.1.

later development versions will then again show 0.1+NUMCOMMITS.gHASH and it will be clear for the which kind of version she/he uses

jup, works! thank you!


⚠ ClamAV has degraded performance

In 4efb021, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 464 ms

Resolved: ClamAV performance has improved in cd9c73e.


run tasks only at specific times

Hi, is it possible to implement a feature so one can set times at which Tasks should run/not run?
I think of a globally set config parameter or/and a per task configuration (like priorities).
Use case:
I need to implement some copy jobs which copy a large amount of data through a network and i don't want to slow down the network at working hours. So a longer running task should be paused or cancelled after eg. 8am and restarted at 8pm. I've not found any solution for this in documentation yet.

@sknopp cron jobs?

@nsadawi cron jobs are nice for starting jobs but not for pausing them at specific time windows (see my use case example of long running jobs)


Search for communites text is green; background is blue.

It's also wrong for favourites and people

The green on purple ins't unreadable on he favorites section, but its not pretty to most, and its not good at all on the people and communities search tabs.
I have changes the primary hint text color to a slightly off (muted) white, so it looks good over any of the tab backgrounds, as those are not impacted by the light/dark themes: but also has some contrast to the full white you get when actually entering text.
https://github.com/vector-im/riot-android/pull/2419

Fixed by #2419


The Markdown Editor

Hi there,
first of all, thank you for the wonderful theme, it really makes jupyterlab feel like an IDE.
Currently though, the editing mode for markdown files looks kinda like a terminal , which I personally dont like that much. Maybe you could add an option to change it or show me, where the styles for the editor are designed, so I can change it myself for my extension
Thanks a lot again, ive added a scrennshot to show what I mean

Hi @skriptum - thanks for your feedback, much appreciated!
I was able to reproduce the color scheme you show in your screenshot. May you check your Settings -> Text Editor Theme and confirm whether the value is set to jupyter? I expect it's currently on the-matrix.
Once it's set to jupyter the markdown editor should look just like the rest of the theme and work for both in light & dark mode:

Oh yes, my bad, I didnt realize I changed this setting a long time ago. Finally, the Markdown editor looks really pretty now. Thanks again for the theme and your help 👍


Release cycle

As we head closer to what I think will be a 0.2 release - we should consider how we are doing releases going forward, and document that process.
In my mind there are two potential release cadences (although if there are more that people thing are appropriate, please feel free to put them forward).

We plan a set of priorities for each release, as we get close to completion of those priorities, the committers (and community) decide if we are ready for a release, slip anything we feel is worth slipping to the next release - go into feature freeze for a period (to be determined), only merge bug fixes and documentation PRs etc, and then release.
We have a regular cadence. For example, we will release every 2 months with whatever is in master. The last two weeks of the 2 month period we go into feature freeze and only accept bug fixes, and documentation submissions etc for that time. Then every priority issue (in that release's milestone) that isn't ready for that release rolls into the next release (the time periods I've outlined here are just arbitrary examples, we could do whatever). The only exception to this would be if there are critical bugs in the current release that would push a release out, or hotfixes/security issues that would need to come out post a release on an as-needed basis.

I think that while we are in alpha, I don't think we need to worry about doing release candidate builds/pre-release builds - as essentially everything is pre-release - but also happy to hear other opinions if people feel strongly otherwise (maybe we should still cut an rc to make user testing easier?). Once we hit a 1.0, I feel that this release cycle would change, but we can discuss that then.
I lean more towards option (2) because then users and contributors are always aware of what is coming, and when it is coming by and can plan appropriately,  but would love to hear thoughts on either of these approaches (or other ones if you think they will fit) - each has pros and cons. If we can choose a general approach, then we can look at narrowing down the specifics on that process.

Research

https://about.gitlab.com/2015/12/17/gitlab-release-process/
https://gravitational.com/blog/kubernetes-release-cycle/
https://link.springer.com/chapter/10.1007/978-3-319-57735-7_16
https://fnords.wordpress.com/2011/07/01/time-based-good-for-community/
https://scalare.org/wp-content/uploads/2015/06/2015-Why-and-HowShould-OpenSource-ProjectsAdopt-Time-Based-Releases.pdf

This all seems to promote a time based release cycle.

I'm going to do some more reading and research but I like the idea of option 2 as it seems to lend itself more towards a CI/CD mindset that could be good to adapt early. I think as the project matures a bit more and there's less low hanging fruit the first option might be the better approach. I'd also be happy to help write documentation for whichever cadence we choose!

So been doing some more reading, and this is what I'm suggesting (at least at broad strokes there are some finer details we can work out through the details of the pull request to write the documentation, etc).
Initial Release

Do a 1 week RC, once Fleets are good to go (with whatever else is in master), and then go into feature freeze during that time - and release 0.2 at the end of that week.

Release cadence

6 week release cycle

5 week development cycle
Releases on Tuesdays (in case hotfixes need to happen, we have the rest of the week)
Release a {baseversion}.RC (release candidate) release from whatever is in master.
1 week feature freeze - so only bug and document fixes are merged during the week
then {baseversion} release is made
{baseversion} is incremented by 1 (i.e. 0.2 -> .0.3)

Each release (rc and full) will have a release ticket made for it, which will have a checklist (which will have a documented template - to be developed during PR), including things such as:

setting git tags & branches
creating images and assets etc
creating the release in github
Creating a CHANGELOG.md

Doing some research I read/talked about  everything from 1week -> 1 month -> 3 month release cycles - Going by gut feel, and how often we have PR's being merged, ~ a 5 week development cycle felt like a decent baseline for getting several new features for each release in, while also giving us enough breathing room to do the feature development.
Thoughts?

I like it! One thought: will there be an assigned release manager that is in charge of the checklist per release?

@mcnjr I just assumed it would be me :smile: - at least for the first few rounds, and then we can always delegate/rotate.
In an ideal world, I'd like to make releasing as automated as I can. It should be a 20 minute job.


Concurrently moving inference results to JVM eats up device memory?

When I run inference and delegate processing of the results to a threadpool executor, I notice that GPU memory usage scales with the number of threads. I can reproduce this by running the following code:
        ThreadPoolExecutor pool = (ThreadPoolExecutor) Executors.newFixedThreadPool(400);
        INDArray in = Nd4j.rand(1, shape[0], shape[1], shape[2]);

        while(true) {
            INDArray[] out = network.output(in);
            pool.submit(
                    () -> out[0].toFloatVector()
            );
        }

This makes my GPU memory usage go to 99%, whereas calling toFloatVector() directly in the same thread does not use any more memory than just running inference. Reducing the number of threads in the pool reduces the the memory usage.
I'm having trouble understanding exactly what is going on here, perhaps someone can shed some light on this?
Version Information
<dependency>
      <groupId>org.nd4j</groupId>
      <artifactId>nd4j-cuda-11.0</artifactId>
      <version>1.0.0-M1.1</version>
      <scope>runtime</scope>
</dependency>
<dependency>
      <groupId>org.nd4j</groupId>
      <artifactId>nd4j-cuda-11.0</artifactId>
      <version>1.0.0-M1.1</version>
      <classifier>windows-x86_64-cudnn</classifier>
      <scope>runtime</scope>
</dependency>
<dependency>
      <groupId>org.bytedeco</groupId>
      <artifactId>cuda-platform-redist</artifactId>
      <version>11.0-8.0-1.5.4</version>
</dependency>

@Fredrik-M  I would consider using parallelinference or parallelwrapper:
https://deeplearning4j.konduit.ai/multi-project/explanation/configuration/memory/workspaces#parallelwrapper-and-parallelinference
which implements this threadpool concept for you.  For gpus,  understand 2 things: https://deeplearning4j.konduit.ai/multi-project/explanation/configuration/memory/workspaces#what-are-workspaces
and the fact that we allocate memory on both cpu and gpu simultaneously and keep the buffers in sync transparently.
Regarding your memory management, depending on your model, you can increase the frequency of which you trigger GC: https://deeplearning4j.konduit.ai/multi-project/explanation/configuration/memory/workspaces#garbage-collector
If this doesn't solve your issue, please post over on the community forums: https://community.konduit.ai - we try to keep the issue tracker for bugs.