[Event Request] Codeunit 5720 "Item Reference Management" - OnPlanItemNextStateMatchDatesOnBeforeCalcNewSupplyDate

Describe the request
I want to set the NewSupplyDate based on my own business logic. Therefore, I request the following event:
local procedure PlanItemNextStateMatchDates(var DemandInvtProfile: Record "Inventory Profile"; var SupplyInvtProfile: Record "Inventory Profile"; var TempReminderInvtProfile: Record "Inventory Profile" temporary; var WeAreSureThatDatesMatch: Boolean; IsReorderPointPlanning: Boolean; var LastProjectedInventory: Decimal; var LatestBucketStartDate: Date; var ROPHasBeenCrossed: Boolean; var NewSupplyHasTakenOver: Boolean)
var
	OriginalSupplyDate: Date;
	NewSupplyDate: Date;
	CanBeRescheduled: Boolean;
	DemandDueDate: Date;
	LimitedHorizon: Boolean;
	IsHandled: Boolean;
	//NEW BEGIN
	ShouldCalcNewSupplyDate: Boolean;
	//NEW END
begin
	IsHandled := false;
	OnBeforePlanItemNextStateMatchDates(DemandInvtProfile, SupplyInvtProfile, NextState, IsHandled);
	if IsHandled then
		exit;
	//NEW BEGIN
	ShouldCalcNewSupplyDate := true;
	OnPlanItemNextStateMatchDatesOnBeforeCalcNewSupplyDate(NewSupplyDate, ShouldCalcNewSupplyDate, SupplyInvtProfile, DemandInvtProfile, LotAccumulationPeriodStartDate);
	if ShouldCalcNewSupplyDate then
	//NEW END
		if FromLotAccumulationPeriodStartDate(LotAccumulationPeriodStartDate, DemandInvtProfile."Due Date") then begin
			NewSupplyDate := LotAccumulationPeriodStartDate;
			SupplyInvtProfile."Fixed Date" := NewSupplyDate;
		end else begin
			NewSupplyDate := SupplyInvtProfile."Due Date";
			LotAccumulationPeriodStartDate := 0D;
		end;

	DemandDueDate := DemandInvtProfile."Due Date";
	if TempSKU."Replenishment System" = TempSKU."Replenishment System"::Purchase then
		DemandDueDate := GetPrevAvailDateFromCompanyCalendar(DemandInvtProfile."Due Date");
	// ...

[IntegrationEvent(false, false)]
local procedure OnPlanItemNextStateMatchDatesOnBeforeCalcNewSupplyDate(var NewSupplyDate: Date; ShouldCalcNewSupplyDate: Boolean; var SupplyInvtProfile: Record "Inventory Profile"; var DemandInvtProfile: Record "Inventory Profile"; LotAccumulationPeriodStartDate: Date)
begin
end;

Additional context
I want the NewSupplyDate to always be set to the InventoryProfile."Due Date".
Internal work item: AB#544563

New parameter ShouldCalcNewSupplyDate added to OnBeforePlanItemNextStateMatchDates

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 23752.


New release (0.8.0) signature has changed to Fedora 33 key

[user@hostname 0.7.0]$ gpg --verify fcct-aarch64-unknown-linux-gnu.asc fcct-aarch64-unknown-linux-gnu
gpg: Signature made Tue 27 Oct 2020 11:10:43 PM +0330
gpg:                using RSA key 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0
gpg: Good signature from "Fedora (32<EMAIL_ADDRESS>[unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 97A1 AE57 C3A2 372C CA3A  4ABA 6C13 026D 12C9 44D0

[user@hostname 0.8.0]$ gpg --verify fcct-aarch64-unknown-linux-gnu.asc fcct-aarch64-unknown-linux-gnu
gpg: Signature made Sat 05 Dec 2020 03:31:02 AM +0330
gpg:                using RSA key 963A2BEB02009608FE67EA4249FD77499570FF31
gpg: Good signature from "Fedora (33<EMAIL_ADDRESS>[unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 963A 2BEB 0200 9608 FE67  EA42 49FD 7749 9570 FF31

New release (0.8.0) signature has changed to Fedora 33 key but has not been mentioned in release page like https://github.com/coreos/fcct/releases/tag/v0.6.0 and can create confusion for users relying on keys in scripts and packagings. (At least it confused me for an hour until I figured out what the problem is)

Whoops, you're right, we forgot to mention that in the release notes.  I've updated the notes and filed https://github.com/coreos/fcct/issues/174 to prevent this from happening again.  Thanks for reporting, and thanks for verifying GPG signatures!


Adding OnPlayerClothingChanged Patch + Hook | Create Plugins folder at Server start

Build tested, works.
Patcher tested, works.

Tested in-game, works fine too.

Added Plugins folder creation on server start if it doesn't exist.


added additional conditionals around the remaining unicode encodings

What is the problem in current code ?
I want something code for this issue.

The keyword unicode doesn't exist in Python 3, so when trying to use the
callproc method you receive a exception "name unicode is not defined"
On Aug 8, 2017 5:45 PM, "Hajime Nakagami"<EMAIL_ADDRESS>wrote:

What is the problem in current code ?
I want something code for this issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nakagami/CyMySQL/pull/18#issuecomment-321090868, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHTZOlI3bAmbH_zVO4Vr2r339s2guWCkks5sWNbvgaJpZM4Ow3bl
.

Oh, sorry
I did'nt know call proc was not work with Python3.
Thanks your pull request.


Inquiry Regarding Reverse Engineering Approaches

Hello, I saw this module developed by you on a webpage, and I would like to try to extend its support for version <IP_ADDRESS>1. I have been searching for some information in the past few days, which can help me implement the features needed in the module. However, I haven't found some scenarios yet, such as the basic information (like handle, width, height, etc.) of the "NEXT LEVEL" button within the scene after passing the level.
Since I don't have much experience in reverse engineering, I would like to inquire whether the offset information you previously summarized was obtained through your own reverse engineering. If so, I would like to know how to obtain the button information within the scene. I hope you can provide a general idea, and I will try to explore it myself. Thank you!

Hi! I'm happy to hear you're interested in this project :)
Sorry the code's such a mess, I was planning on moving all of the pointerchains/offsets to the Pointer.cs file, but never got around to it.
I'm not sure how much you know about reverse engineering or programming in general, let me know if there's anything I haven't explained in enough detail.
I primarily used cheat engine to find memory addresses, pointerchains, etc...
If you haven't spent much time reverse engineering, I would highly recommend completing cheat-engine's built-in tutorial.
I also use ghidra for reverse-engineering, but I think I spent most of my time in cheat engine for this project, as I find it easier to just mess around with values and see what happens within the game.
Both supported versions use "lawnApp,878,a8" for the pointerchain to the 'next level' button. Structs don't typically have drastic changes, so if that pointerchain doesn't work for you, it'd probably be something similar like "lawnApp,87c,b0"
You should mainly be looking for where the classes/structs are stored in the game's memory.
There's some very large classes like lawnapp, which is sort of like a manager for the entire game.
Then there's other big classes like the board, which contains the state of all the plants/zombies on the board, etc..
But you can trace almost everything back up to the lawnapp class, as it contains references to most of the game components, so finding a stable pointerchain to lawnapp should be your #1 priority.
Once you find a decent lawnapp pointerchain, you can access almost everything in the game with just offsets from that memory address.
For example, the board state will typically be stored at "lawnapp,868", which is a pointer that is located 0x868 bytes into the lawnapp class.
If I recall correctly, I think I used the player's sun value to find the board pointer.
You can scan for the sun's value in memory, place a plant, rescan, collect sun, rescan, etc.. until you find the exact address.
Once you find the sun's value in memory, you can use the "find out what accesses this address" function in cheat engine, and it will show you what offset the sun value is within the board pointer.
eg, it might have an instruction that accesses 'eax+5578' (might look different, but should be similar).
From that, you can assume that 'eax' is a big struct that contains a lot of values (at least up to 0x5578).
In this case, eax would be the address where the current board information is stored.
Then you can copy whatever address eax was set to, and found out what writes to that address.
You might see an instruction that accesses something like 'ecx+868'
In that case, ecx will be the lawnapp struct. And the value at offset 0x868 is a pointer to the board.
So your lawnapp class would look like this:
0x00 - 0x867 : Unknown Data
0x868 : BoardPointer
Then your board struct would be
0x00 - 0x5577 : Unknown Data
0x5578 : Sun value
Cheat engine has a "dissect data/structure" tool, which is really useful for exploring classes/structs.
If you open the 'lawnapp' address in the structure dissect tool, you should see some version info / copyright text somewhere near the start of the class.
From the structure dissect tool, you can navigate through pointer chains, and see what each class/struct contains.
Sometimes cheat engine will be wrong with its guesses, so you might have to explicitly set an address type to a float for example. But in general, it does a pretty decent job.
Sometimes cheat engine will also be able to automatically detect class names within the structure dissect tool, which is very helpful when you're first exploring.
To find things like the current widget, you just want to keep the structure dissector open on the lawnapp address, and look for changes as you open/close menus.
Then you can expand those address which change when you open/close menus, and look for values that change when you drag the in-game menus around, they'll probably be for your menu position.
Try changing those values from within cheat engine and see if it makes the menu move.
The whole process takes a lot of time and experimentation.
It can be hard when you're first starting, but it gets a lot easier with time.
I hope that helps :)
Let me know if you have any specific questions, and I'll try to answer them as best as I can.

Sure, I'm glad to see such a detailed response from you. I will use the suggestions you provided as references for my actions in the future. In fact, a few days ago, I managed to locate the values related to sunlight, and subsequently, I located the offset of the main program. However, when it comes to buttons, because their text does not change (the only time it changes is when the button has been destroyed), it is not as easy to locate (or it may be because I lack sufficient knowledge and haven't learned enough).
Anyway, I am still very grateful for your detailed answer. I will try to gradually advance this project (but I cannot make any promises). I hope you have a pleasant life!

Sure, I'll explore it myself. If I have any questions or progress, I'll bring them up in the issue.
Thanks for your response :)

Hello, recently I've been experimenting with reverse engineering PVZ and have made some progress. However, I've encountered a new issue and would like to seek your advice on how to approach it. It would be great if you could help me out.
Currently, I need to determine if the main interface has specific buttons (like Garden, Almanac, and Shop). From the existing publicly available documentation (1051), I haven't found any information on such content. I've found an original function table where there's a function defined as follows:
Address: 448CB0
Function: GameSelector::GameSelector(LawnApp* theApp, GameSelector* this)
Return value: Affects register: eax = *this; ecx, edx
Description: Initializes the main menu interface and synchronizes with saved data. Requires a memory region of size 0x130 to construct this.
Could I use this function to infer the data structure of type GameSelector? I've tried using IDA to examine the assembly code, but due to limited experience in reverse engineering, I'm uncertain about type assignments within assembly and if it's similar to .NET.
Additionally, as I was writing this request for help, I discovered another function that controls the visibility of the specific buttons mentioned earlier. I'll attempt to work on it myself for now, but I would appreciate some guidance on the approach. This way, if I encounter similar scenarios in the future, I can handle them independently.
Looking forward to your reply and thank you in advance!

Hello!
I don't believe I bothered trying to decompile that part of the code.
I'm not even sure if I fully reverse-engineered the GameSelector struct.
It's been a while, and I don't have my notes with me to check, but I mostly reverse-engineered the bare minimum required to get the mod working.
For those buttons, I just read the save data and did some basic checks to determine if they should be visible or not.
Here's the code for that
Maybe it's not the best solution, but it was good enough for what I needed to do.
Sorry if this doesn't help you much

Alright, these things aren't in the 1051 version's save file, but since I've found a new method, I'll give it another try.
Anyway, thanks a lot for taking the time to answer. Thank you!

Are you sure? They might have moved, but I doubt they aren't in the save file.
The game has to save what level you're on, and it has to save whether or not you have the sunflower trophy.
I don't believe there was ever a value storing whether or not the store/garden/almanac are unlocked, you just calculate it by reading what level you've reached, and how many times adventure mode has been completed.
Not trying to discourage you from trying a different method, I just think this way would be a lot easier for you.
Good luck either way :)

Yes, you're right. It might just be that these details weren't listed in the public documentation. I'll try to look into the save file section for this. Thanks for the reminder XD


[BEAM-7390] Add cogroupbykey code snippets

Add CoGroupByKey code snippets.
R: @rosetn
Staged: http://apache-beam-website-pull-requests.storage.googleapis.com/12217/documentation/transforms/python/aggregation/cogroupbykey/

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

LGTM. Thank you, David!

R: @aaltay

Could you update the staged version? I cannot open it.

I forgot the index.html at the end, the link is updated and working :)


Getting ERROR bad session: server rejected session; is your device revoked? on all devices

Haven't revoked any devices etc - all are failing
Unable to provision a new device with a paper key - same error
Log ID is bae651ef689e848671d6ea1c

Same issue with logging into keybase.io - Unknown error: BAD_SESSION / Failure in verify PDPKA5
I know the passphrase is correct, because if I use some random password I get - Incorrect password. Fix it or [reset your password](https://keybase.io/#). You might need to set one in the app if you haven’t already.
@chrisnojima @joshblum are you able to look into this? This seems to have happened to many people, with no resolution. In the current state, feels like everyone should get off keybase as a matter of urgency before all their data is made inaccessible too

This is very problematic for me.
My account is broken on all devices... What happened... Seems to have happened around 6.4.0 release
Or Maybe because I have recharged my old iphone with an old version of keybase on it ? Note the phone still run iOS 12.5.5
Now everything is broken ...
Please help

Looks like someone reported our accounts... For whatever reason
And without much checks, our accounts got banned from using Keybase
Which is stupid, in my case, it's the reporter who was trying to scam me...

I am unblocked
Thank you so much 🙏

@mathieujobin How did you get unblocked? I've been stuck like this for months - and just tried again, still won't work

I've had my account restored, thank you :)

I too am having this issue, can you provide any more information on how you got your account restored?


correctly import InvalidProtocol from its right location

Reference issue: http://tracker.ceph.com/issues/11246

Refer to this link for build results (access rights to CI server needed):
http://jenkins.ceph.com//job/radosgw-agent-pull-requests/234/
Tests passed for this pull request.


License verification on Ubuntu vs Windows

I am having a weird issue where license verification. For me same license and same public key works in Windows but it does not work on Ubuntu

This works as expected but when I try same exact files on Ubuntu machine:

What could cause this issue?

My first guess is that the keys are not the same on the two systems.

No I have copied same exact files, it is same in fact I have generated only one key

have opposite situation with my teammate.
Signed file properly validating on Ubuntu, but fails on digest check step on windows.
@kedarpanse do you have any luck with your case?

@artem-mozgovoy no I have not spent enough time on it yet. I will need to debug this, but I suspect something to do with the binary stringer/unstringer using default Base64 encoding of java.
It seems, some people have found that it differs on unix/windows as no charset is specified and defaults may vary based on jvm. Ideally it should be ISO_8859_1
https://stackoverflow.com/questions/12323581/base64encoder-results-differ-from-windows-to-unix

The cited stackoverflow article concludes that the call to getBytes() without argument is OS specific. License3j uses getBytes(StandardCharsets.UTF_8) everywhere, thus this cannot be the problem.

I'm all having a similar issue between macOS and Android. @kedarpanse did you figure out the issue?

Could you give it a try with the version 3.1.4 ? There is a bug fix that corrects reading license files from disk.

I just tried it, that was it.  It seems to be working now.  One thing I noticed though, old license will not work with newer version. I  had a license created with 3.1.0 they didnt work. I had to recreate using 3.1.4.
Thanks a lot! May I ask what caused it?

When you specify a cipher then the first part till the / character is the algorithm and this is used to get the algorithm. However, when the cipher is saved into the binary file and is read back the part after the / and the / is not chopped off before trying to use it as an algorithm identifier. Some Java implementations seem to be resilient to this and use the algorithm that is at the start of the cipher, others, like the one you experienced not.
What bothers me, however, that this fix should make it able to work with a license that was created with a prior version. This is a change only how we read back the algorithm from the license file.
The binary format of the license is documented in detail in the documentation, I even created detailed diagrams about it. If you still have the old licenses it would be interesting to see why it is not loaded.

I tried 3.1.4 and I am still not able to validate.
Here's in more detail my situation:

Generate a license (Base64 encoded file) on macOS (OpenJDK 11 built)
Read and validate license works fine on Docker container (i.e. Linux inside Docker, works on macOS and Linux hosts)
From Android downloads the license file to memory and pass it to LicenseReader as a ByteArrayInputStream.

I can read the license data just fine, but validation fails.

I figured out what is the issue on Android v 8 (Oreo).
the Cipher need to be more explicit, I was able to get this code to properly validate
final MessageDigest digester = MessageDigest.getInstance("SHA-512"); final byte[] ser = license.unsigned(); final byte[] digestValue = digester.digest(ser); final PublicKey pKey = LicenseKeyPair.Create.from(publicKey, Modifier.PUBLIC).getPair().getPublic(); final Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); cipher.init(Cipher.DECRYPT_MODE, pKey); final byte[] sigDigest = cipher.doFinal(license.getSignature()); if (Arrays.equals(digestValue, sigDigest)) {     System.out.println(" ***********   SUCCESSS ***********"); } else {     System.out.println(" -----------   FAILED -----------"); }
This is not ideal as it hardcode the Cipher, but for now I can live with that.

When you specify a cipher then the first part till the / character is the algorithm and this is used to get the algorithm. However, when the cipher is saved into the binary file and is read back the part after the / and the / is not chopped off before trying to use it as an algorithm identifier. Some Java implementations seem to be resilient to this and use the algorithm that is at the start of the cipher, others, like the one you experienced not.
What bothers me, however, that this fix should make it able to work with a license that was created with a prior version. This is a change only how we read back the algorithm from the license file.
The binary format of the license is documented in detail in the documentation, I even created detailed diagrams about it. If you still have the old licenses it would be interesting to see why it is not loaded.
I do have one attached:

ValidLicense.txt

I close this issue. If there is still something outstanding, you can reopen it.


Added initial support for services protected with Http Basic auth

Since we are having lot of customers using OGC WMS services protected with Http Basic Auth, we need a way to use these in Javascript API applications.
Adding support for Basic Authentication to the resource-proxy seems like a doable way for now.
Much code was already there, but used for Windows Authentication. By adding another attribute, httpBasicAuth, to the xml config file and enabling PreAuthentication on the request, I was able to get this working.

@sverkerEsriSE - the proxy.xsd file should also be updated for any changes to proxy configuration settings.
Did you test that this doesn't break existing workflow, e.g. with Windows Authentication?
Related issues: #157 and https://github.com/Esri/resource-proxy/issues/213#issuecomment-138792004

@bsvensson - I have updated the .xsd file now.
I have been trying to test the Windows Authentication workflow, but this workflow seems to be a bit buggy (or at least hard to configure properly in both the proxy and on IIS).
I am testing against a Portal with Web Adaptor with Windows Authentication (only) and then a Web ApplicationBuilder app which tries to access the Portal. Since it detects a Portal, it will default to trying to get a token, even though Windows Authentication is (domain attribute) is set in the proxy. I think the flow in the code doesn't account for many possible scenarios.
For now, I will not have time to test possible scenarios, since I'll be going on leave for a year, starting tomorrow, but I cannot see why the workflow I added should break the existing workflow, as long as domain and httpBasicAuth are not both configured on the same serverUrl (or in that case, httpBasicAuth has to be false).

On additonal note, there is also some configuration issues with the WMS services I am testing httpBasicAuth against, so three separate URL:s need to be configured. First the GetCapabilities request goes to a URL like http:////wms, then additional requests (like GetMap) goes to http:////ows and finally to http://:80//ows
I think this is because how the server-side software is configured and its internal workings, but I can't seem to get the matchAll="false" to work correctly. As I figure, if matchAll="false" then a server URL of http:/// should match all the above, maybe except for the one with :80 appended. Maybe the URL parser in the proxy should ignore the port of the protocol is HTTP and there is a :80 specified in the URL, or HTTPS and port 443.
I (or someone else) need to investigate this more, perhaps I am misunderstanding something.

This code has a problem:
WebRequest.PreAuthenticate property does: it’s a caching mechanism that caches the connection credentials for a given domain in the active process and resends it on subsequent requests. It does not send credentials on the first request but it will cache credentials on subsequent requests after authentication has succeeded.
So the idea is that you simply add the required Authorization header to the request on your own along with the authorization string that encodes the username and password
string auth = "Basic " + Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(user + ":" + pwd));
req.PreAuthenticate = true;
req.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequested;
req.Headers.Add("Authorization", auth);

was this function ever pushed into the latest release - i've tried both the 1.1.2 release and also the new .ashx file related to the changes made here and the schema change - no luck either way. need support for a basic auth esri service provided by gov client

Any update about it?


Use eslint vue3-recommended

This PR change the Vue eslint plugin rule from plugin:vue/vue3-essential to plugin:vue/vue3-recommended, this is to get more strict linting. More info here: https://eslint.vuejs.org/rules/

tHANKS


Fixes issue openapi generator output location

@borisko123
Please make sure that tests pass after your changes. You can use the manageiq testing gem https://github.com/ManageIQ/manageiq-cross_repo/blob/master/README.md
Or you can create a PR vs our master at https://github.com/Autosde/manageiq-cross_repo-tests

cross-repo results:https://github.com/Autosde/manageiq-cross_repo-tests/pull/2/checks?check_run_id=1215636028

@borisko123 , why did you need to merge this?


File upload problem due to browser security issue

Due to browser security issue, there is a problem in the file update function because it cannot get the path of the file.

Thanks kelvintang2000! I created a PR with the fix.


[WIP SPIKE] Integrate Spotify API

The idea is to use the API to give suggestions on band name when the user is creating an Performer profile OR an Campaign

Pull Request Test Coverage Report for Build 1

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.991%

Totals

Change from base Build 88:
0.0%

Covered Lines:
419

Relevant Lines:
432

💛  - Coveralls


Plugin installation

Currently the plugin is installing the dada2 R package via bioconda. Is there any reason not to continue with bioconda install going forward?
Right now this relies on a bioconda recipe submitted by @zachcp, and installs the Bioconductor release version (1.0.3). If bioconda is the long-term installation plan, it is probably best to create a plugin-specific recipe.
I think the time to do this would be with the next release of Bioconductor and the dada2 package, which will be in mid October.
@zachcp Any input? Are you interested in helping with a QIIME2-specific bioconda build?

Hi @benjjneb,
I've been a bit busy and out of the dada2 loop for a bit. What is a plugin installation?
As for bioconda, they have changed the build system a bit (CentOS5->CentOS6) to be compatible with Conda-Forge and to be able to use newer C-compilers.  So it was in a state of flux for a bit but should have settled down by now. The main problem I had when upgrading to dada2 >= 1.1 was the addition of the RcppParallel dependency. I got that to build (should be available in bioconda - althgouh it should also be bumped for the new build system.) but then was having some issues getting dada2 to build with it. That would take a bit of tinkering with the conda build parameters but then it should be very smooth.
In general if you want to use dada2 as part of a larger non-R workflow then conda/bioconda is your friend. I can try again (maybe this weekend?) to build dada2 on the new build system and am happy to work with anyone else trying to get it done.
zach cp

I got this via email and just realized this is not the main dada2 repo. Make dada2 accessible via qiime. great idea. I can take another stab at upgrading dada2 to use RcppParallel.

Thanks for taking a look @zachcp
We do want to migrate the plugin to the next release of dada2 (later this month) which will use RcppParallel, so that's important to figure out.

Updated r-rcppparallel  and dada2 on bioconda but had to disable builds on osx to do so because they were timing out probably due to a backlog of R packages needing to be built for R 3.3.  I can fix this down the line.
I also haven't done any testing beyond the simple "this package loads test".  Note to self: learn to trigger the package's tests post-build
The binaries should be available shortly and then I can kick the tires.

Wanted to check in on the status of Bioconda OSX builds with RcppParallel?
The new Bioconductor dada2 release will be later this week (with parallel functionality) and we will want to transition the plugin to it as soon as it is working through Bioconda.

I haven't moved on this. I will try to build it today and let you know one way or the other.

looks like theres still issues in bioconda for building packages on OSX (aee https://github.com/bioconda/bioconda-recipes/issues/2404 https://github.com/bioconda/bioconda-recipes/pull/2595) that is exacerbated by the R_3.2->R_3.3  change over.  I've tried to build dada2 but the base bioconductor packages need to be updated first.  The core bioconda team is actively working on this issue. Ill look again tomorrow to check on progress.
zcp

Thanks for working on this @benjjneb and @zachcp, please let me know if there is anything I can do to help. We're planning to do a new release of this plugin (0.0.6) on 2 Nov in preparation for our Phoenix workshop, so we'd need this a few days ahead of time for testing. We're really motivated to get this updated so our users have access to multi-threaded mode (top priority) and paired end data processing (second priority).

Agreed that getting the 1.2 release available via bioconda is now the top priority, as dependence on the current 1.0.3 version blocks adding multithreading. It would also be better to move to 1.2 prior to implementing the paired-end workflow.
I also want to recognize that @zachcp has done all the work here, as I am not a bioconda nor a python user. I'm motivated to help if I can though. It does seem that there are currently upstream OSX problems from the issues @zachcp referenced though.

@gregcaporaso @benjjneb  I will give a go to try to build some of the dependencies that aren't yet built for dada2.   However, the osx build process is rather slow and the double whammy of 3.2->3.3 and CENTOS5->CENTOS6 has exacerbated the problem. There is currently a bit of build-spaghetti that is being worked through by the core team.
If you have some experience with conda and the urge to scratch you can try to build any of the dada2  dependencies for OSX (the current offenders seem to be a biobase/biostrings 3.2/3.3 clash).  But I would suggest having a backup plan for your workshop.
For context:
https://github.com/bioconda/bioconda-recipes/issues/2404
https://github.com/bioconda/bioconda-recipes/pull/2644

Any news on this? This blocks some important functionality.

Not yet, unfortunately. Last I checked (a couple of weeks ago) a few of the dependencies were still not available. We have a meeting scheduled in my group on Jan 9 at noon mountain time to figure this out. We really need the functionality that you mention is blocked (parallel support, paired end support) for our next release. Would you be available to join that meeting @benjjneb?

No progress on my end.  I have just tried updating bioconda's r-rcppparrallel package and am running into some compilation errors on osx.  But if we can get r-rcppparallel  to work then I think thats the last remaining piece for successfully building dada 1.2

@gregcaporaso I am probably* available, and would like to skype or listen in if I am.

It depends on when our moving company delivers our stuff. Could be Jan 6 or Jan 9, and we won't know which until a couple days before.

Ok, great. @benjjneb, @zachcp I'll follow up with you shortly with call-in details. If you can make it that would be fantastic, and no worries if not.

I am available Jan 9 at noon MST.

I can't make the meeting on Monday but heres the latest with getting RcppParallel to compile on OSX within conda:
https://github.com/bioconda/bioconda-recipes/issues/3340
https://github.com/RcppCore/RcppParallel/issues/40#issuecomment-270770718
looks like issues linking to the TBB libraries used by RcppParallel for threading.

Great, thanks @benjjneb and @zachcp. @benjjneb, I'll get in touch by email with call-in details.

I got rcpp-parallel working https://github.com/bioconda/bioconda-recipes/pull/3347 so I think updating dada2 should now be straightforward.

That's great news @zachcp! Are you planning to update the dada2 conda package, or would you prefer someone else do that? We have a QIIME 2 release coming up in Feb, and are hoping to starting our final testing in late Jan. We really want to use the latest version of DADA2 for this so we can get access to the parallel computing functionality and the paired end read processing.

perhaps I spoke too soon....
I'm now 'm running into a C++ compilation issue for dada2. https://github.com/bioconda/bioconda-recipes/issues/3391#issuecomment-271012178
if you have some experience with the conda build system on OSX, by all means jump in. The r-package dependencies are all up to date so its just a matter of getting the C++ to build correctly. I thought that rcppparallel would be the last of it but I guess not.

Thanks for all your work on this @zachcp! I'll be able to devote some time to work on this (discussed this on a call yesterday with @gregcaporaso, @benjjneb, @thermokarst).

thanks @jairideout .  happy to have you on board. I would check the last thread I linked to as it appears that bioconda is about to move their r packages to the conda-forge channel.  It seems that conda-forge is emerging as the consensus community packaging platform so this should results in stability down the line, however, it does mean that you may have to fight the incompatible-compiler problem in the short term.
As an alternative for users of qiime-dada2, it might be worth considering using conda for all python and binary files, while using the perfectly good bioconductor installation for R/dada2. Not quite 1-click, but reliable.  My 2 cents.

Thanks for suggesting the bioconductor installer @zachcp, that sounds easier and more stable at this point while the conda R packages are being updated and shuffled around. We're testing out conda R + bioconductor dada2 installation on a variety of systems and it's been pretty straightforward so far. For the upcoming release I think we'll go this route, and we can revisit for future releases if there's an updated dada2 conda package available.
Thanks again for all your help with this! Are you interested in continuing to work on updating the conda dada2 package once the r/bioconda/conda-forge R packages are more stable?

im happy to keep my eyes open RE: the more to conda-forge and rebuild dada2 oncer is ported over. although I'm not using dada2 much right now i think its a great tool to have in the conda ecosystem. and am happy build it.  So if you are satisfied with using bioconductor for now, lets hold off until the conda-forge port is complete.  You can ping me down the line if it comes up again.

Sounds good @zachcp, thanks for your help! We're going to use Bioconductor for now and will test out the newer version of dada2 when it's available via conda (I submitted a PR that updates the qiime2 install instructions to use Bioconductor here if you're interested: https://github.com/qiime2/docs/pull/62).
I created a new issue to track progress on the dada2 bioconda package and will close this one. Please let us know if there's anything we can help with / test, and thanks again for your help!


⚠ API - Lens has degraded performance

In 707ab2c, API - Lens ($LENS_API_URL) experienced degraded performance:

HTTP code: 503
Response time: 588 ms

Resolved: API - Lens performance has improved in 84fcc2a after 6 minutes.


Spending limit doesn't show

Title/Description
Spending limit doesn't show
Environment

Browser: Firefox
Safe:
Rinkeby: https://safe-team.dev.gnosisdev.com/app/#/safes/0xaE3c91c89153DEaC332Ab7BBd167164978638c30/settings
Mainnet: https://gnosis-safe.io/app/#/safes/0x991E8d4015BDD03863a7FD538430b9d1e18AF41e/settings
Wallet: Metamask
App Version: 3.6.0
Environment:

dev (rinkeby)
production (mainnet)

Steps to reproduce

have a Safe without a spending limit set up
Create a new Spending limit for 1 of the owners (I did 20 ETH, with 1 day reset time)
Submit, sign and execute
Check settings -> Spending limit

Expected result
I see the spending limit there. Also I can make a spending limit tx.
Obtained result
No sign of a set up spending limit anywhere.

Reason is most likely: The spending limit module isn't getting enabled.


fix(rich-text-editor): DLT-2107 message input recipe updates

Message Input Recipe Updates

Obligatory GIF (super important!)

:hammer_and_wrench: Type Of Change
These types will increment the version number on release:

[x] Fix

:book: Jira Ticket
DLT-2107
:book: Description
Jira ticket outlines all changes in PR.
:pencil: Checklist

For all PRs:

[x] I have ensured no private Dialpad links or info are in the code or pull request description (Dialtone is a public repo!).
[x] I have reviewed my changes.
[x] I have added all relevant documentation.
[x] I have considered the performance impact of my change.

For all Vue changes:

[x] I have made my changes in Vue 2 and Vue 3. Note: you may sync your changes from Vue 2 to Vue 3 (or vice versa) using the ./scripts/dialtone-vue-sync.sh script. Read docs here: Dialtone Vue Sync Script

For all CSS changes:

[x] I have used design tokens whenever possible.
[x] I have considered how this change will behave on different screen sizes.
[x] I have visually validated my change in light and dark mode.
[x] I have used gap or flexbox properties for layout instead of margin whenever possible.

@juliodialpad I think I had some bad merges, so I reverted many of my changes to a solid point and re-implemented them. It looks like everything is building correctly now, so if you could review it, that would be appreciated! Thanks.

This is how I am seeing the preview in Vue 2, the buttons are not horizontally aligned:

And in Vue 3, there's an opacity for all the button that I don't think it's intended:

@hynes-dialpad just left you some comments, let me know if you need help with any of those

Thanks @ninamarina! I've made the necessary updates based on your feedback.

As far as the opacity ... when the message input is in focus, we reduce the color strength of the buttons.

It appears to be doing it on hover too, not just focus. Feels very odd, though I suppose it can still make sense since they're still actionable.
https://github.com/user-attachments/assets/528dc417-99bd-4023-940f-12c41f64d68d

It appears to be doing it on hover too, not just focus. Feels very odd, though I suppose it can still make sense since they're still actionable.

Yeah, I added that after Nina's comment so that, on hover, the opacity reverts to normal levels so they don't look disabled.

Text only button spacing.


156 user can select preference for maximum distance of userprofiles (blackcards) presented to him

-Please merge at the same time as 201 (Backend for passing the maxRange)
There are parameters distance and maxRange as distance referes to the value of the rangesliders position and maxRange to the assigned range value of this position

The only hint that those are my preferences is the edit preference button. can you change that?


Bug: White Screen upon selecting Copy Folder button

Are you requesting a feature or reporting a bug?
=> Bug
What is the current behavior?
=> Upon first use, receiving a white screen citing a URL like:
https://script.google.com/a/macros/vroozi.com/s/AKm7uyo/exec
The white screen does not go anywhere and I cannot find any result of the script actions.
What is the expected behavior?
=> Selected folder is copied along with sub directories to the same directory as the source folder with the newly entered name
How would you reproduce the current behavior (if this is a bug)?
=> Create shared directory with sub-directories; attempt to copy this shared directory without changing any of the default permission/location options
Specify your

operating system: Win 10 x64
browser: latest Chrome

This is the same bug report as #15 and #17

The interface has been totally revamped. Will re-open if this is reported again.


Override repr for LazyLists

Implements #1270. Any idea how to actually test this?

Yeah just test with repr(LazyList())


Aligment via tabs

How to configure to make aligment via tabs count like
"=": {
"tabsBefore": 1,
"tabsAfter": 1
}
And how to remove current spaces before and after foud charset, for example ". . . . . = . 'Some text here'"
after should to take " = 'Some text here'"

Added in v0.3.0


Open blocks left in TMDB

We have noticed a number of blocks in TMDB whose transfers cannot finish because the blocks are still open. These blocks are quite old (at least several days), so I do not think it is a simple race condition. Here are a couple examples:
/DYToEE_M-20_CT10_TuneZ2star_v2_8TeV-powheg-pythia6/None-v1/GEN#1a998bba-bd98-11e5-ab12-a0369f23d050
/QCD_Pt-15to1000_fwdJet_bwdJet_Tune4C_Flat_2p76TeV-pythia8/ppSpring2014DRX53-castor-v2/AODSIM#a7130922-c767-11e4-b23a-a0369f23d008

Please let me know if you need any other information.

@sidnarayanan
Hi Sid,
Those 2 blocks doesn't seem to be exist in dbs.
Do those blocks contain any files?
The first block seems to be invalid block. (The workflow it creates that block is aborted - also acquistion era is set to None)
/DYToEE_M-20_CT10_TuneZ2star_v2_8TeV-powheg-pythia6/None-v1/GEN#1a998bba-bd98-11e5-ab12-a0369f23d050
The second block, it seems there is no record in wmagent as well. I suspect whether it ran in draining agent and it was removed before block is cleared. One thing I suspect since it was closed-out and announced, it might be the case we just discard this block but it already started PhEDEx injection. - I have to check further.
https://cmsweb.cern.ch/dbs/prod/global/DBSReader/blocks?block_name=/QCD_Pt-15to1000_fwdJet_bwdJet_Tune4C_Flat_2p76TeV-pythia8/ppSpring2014DRX53-castor-v2/AODSIM%23a7130922-c767-11e4-b23a-a0369f23d008
For both of this case we can delete the blocks from TMDB, but could you give the complete list of the blocks whose transfers cannot finish.

@ticoann , thanks for taking a look!
I do not think these are empty blocks. At least, TMDB belives they are not, e.g. [1].
Here is a JSON of all stuck transfers that are complete, but not closed due to open blocks [2].
[1] https://cmsweb.cern.ch/phedex/datasvc/json/prod/data?block=/DYToEE_M-20_CT10_TuneZ2star_v2_8TeV-powheg-pythia6/None-v1/GEN%231a998bba-bd98-11e5-ab12-a0369f23d050
[2] http://t3serv001.mit.edu/~snarayan/TransferErrors/www/stuck_m1.json

Sid,
from your list [2], most of those blocks have AcqEra = None. You can safely go ahead and remove them from TMDB. That leaves us just a few blocks that need deeper investigation.

Thanks Sid, for the list. I will investigate those blocks.
The first block seems to have file in TMDB which is invalid block which makes more sense since it works as normal but someone/program has to invalidate the blocks.
However I couldn't see any record in the second block, does that mean there is no files in TMDB?
https://cmsweb.cern.ch/phedex/datasvc/json/prod/data?block=/QCD_Pt-15to1000_fwdJet_bwdJet_Tune4C_Flat_2p76TeV-pythia8/ppSpring2014DRX53-castor-v2/AODSIM%23a7130922-c767-11e4-b23a-a0369f23d008

Adding @vlimant @prozober
From the list of open blocks provided by Sid above, there are 30 blocks and 26 of them have None as AcqEra (old bug in the agent fixed > 3 months ago), they are:
>>> pprint(noneBlocks)
[u'/ZJetsToNuNu_HT-800To1200_13TeV-madgraph/None-v1/LHE#09897098-c4ae-11e5-8a1d-001e67abf094',
 u'/gluinoGMSB_M1950_ctau1p0_TuneCUETP8M1_13TeV_pythia8/None-v1/AODSIM#8f16176c-ed52-11e5-88f6-a0369f23d05a',
 u'/TTbarDMJets_pseudoscalar_Mchi-1_Mphi-20_TuneCUETP8M1_13TeV-madgraphMLM-pythia8/None-v1/AODSIM#25d7ce42-d07b-11e5-9370-a0369f23d01e',
 u'/SMS-T2bW_X05_mStop-125to275_mLSP-0to150_TuneCUETP8M1_13TeV-madgraphMLM-pythia8/None-v1/MINIAODSIM#07fa020c-c5f2-11e5-9207-a0369f23d01e',
 u'/TTbarDMJets_pseudoscalar_Mchi-1_Mphi-500_TuneCUETP8M1_13TeV-madgraphMLM-pythia8/None-v1/MINIAODSIM#96f4b1aa-d187-11e5-ac46-a0369f23cf8a',
 u'/SMS-T2bW_X05_mStop-125to275_mLSP-0to150_TuneCUETP8M1_13TeV-madgraphMLM-pythia8/None-v1/AODSIM#072f870c-c5f2-11e5-9207-a0369f23d01e',
 u'/ttH_HToZZTo2LX_M145_13TeV_powheg2_JHUgenV6_pythia8/None-v1/LHE#ce56c906-c4aa-11e5-8a1d-001e67abf094',
 u'/ZJetsToNuNu_HT-600To800_13TeV-madgraph/None-v1/LHE#9013ae92-c550-11e5-b6a9-a0369f23cf8a',
 u'/WplusH_HToZZTo4L_M124_13TeV_powheg2-minlo-HWJ_JHUgenV6_pythia8/None-v1/MINIAODSIM#8d1124be-bc49-11e5-ab12-a0369f23d050',
 u'/SeesawTypeIII_SIGMAplusSIGMA-ZW_M-540_13TeV-madgraph/None-v1/MINIAODSIM#9a69c2b8-edd8-11e5-ba7c-001e67abf094',
 u'/WplusH_HToBB_WToLNu_M125_13TeV_powheg_pythia8/None-v1/LHE#9c0e2f26-c553-11e5-b196-001e67abefa8',
 u'/RSGravToEEMuMu_kMpl-001_M-750_TuneCUEP8M1_13TeV-pythia8/None-v1/AODSIM#14ff1d70-e2b2-11e5-aaaa-001e67abf094',
 u'/SMS-T2cc_mStop-100to150_mLSP-20to90_TuneCUETP8M1_13TeV-madgraphMLM-pythia8/None-v1/AODSIM#ae12ffd0-c607-11e5-815d-001e67abf518',
 u'/WToLNu_2J_8TeV-amcatnloFXFX-pythia8/None-v1/GEN#f66b9122-bfca-11e5-9207-a0369f23d01e',
 u'/ZH_HToZZTo2LX_M130_13TeV_powheg2-minlo-HZJ_JHUgenV6_pythia8/None-v1/LHE#45bb280c-c4c4-11e5-b196-001e67abefa8',
 u'/TT_TuneEE5C_13TeV-powheg-herwigpp/None-v1/AODSIM#ae3d92f8-c509-11e5-8a1d-001e67abf094',
 u'/SMS-T2cc_mStop-325to365_mLSP-245to365_TuneCUETP8M1_13TeV-madgraphMLM-pythia8/None-v1/MINIAODSIM#c92f1148-c6b9-11e5-b196-001e67abefa8',
 u'/ttHJetToGG_M120_13TeV_amcatnloFXFX_madspin_pythia8/None-v1/MINIAODSIM#8f1202de-d741-11e5-ac7e-001e67abf094',
 u'/DYToEE_M-20_CT10_TuneZ2star_v2_8TeV-powheg-pythia6/None-v1/GEN#1a998bba-bd98-11e5-ab12-a0369f23d050',
 u'/ZprimeToZhToZinvhAA_2HDM_M-1000_13TeV-madgraph/None-v1/MINIAODSIM#d4122bf6-e2aa-11e5-a5ee-a0369f23cf8a',
 u'/SMS-T2cc_mStop-100to150_mLSP-20to90_TuneCUETP8M1_13TeV-madgraphMLM-pythia8/None-v1/MINIAODSIM#1f3bfcfa-c614-11e5-815d-001e67abf518',
 u'/ttH_HToZZTo2LX_M125_13TeV_powheg2_JHUgenV6_pythia8/None-v1/LHE#d6f75e68-c4c3-11e5-b196-001e67abefa8',
 u'/TT_TuneEE5C_13TeV-powheg-herwigpp/None-v1/MINIAODSIM#5f1e868e-c56b-11e5-b196-001e67abefa8',
 u'/ZH_HToZZTo2LX_M160_13TeV_powheg2-minlo-HZJ_JHUgenV6_pythia8/None-v1/LHE#304513b2-d27e-11e5-ac7e-001e67abf094',
 u'/SMS-T2cc_mStop-325to365_mLSP-245to365_TuneCUETP8M1_13TeV-madgraphMLM-pythia8/None-v1/AODSIM#7a15c89c-c608-11e5-815d-001e67abf518',
 u'/WToENu_M-5000_TuneCUETP8M1_13TeV-pythia8/None-v1/MINIAODSIM#d7e432c4-dfc1-11e5-9fff-a0369f23d05a']

Can we ask Sid/Transfer Team to invalidate them in TMDB and remove any replicas? Should we invalidate only those blocks or the whole dataset (which would have None as well). I think the whole dataset. Jean-Roch/Paola, please confirm.
Then the last 4 blocks with valid naming:
>>> pprint(okBlocks)
[u'/RelValQCD_Pt_80_120_13_HI/CMSSW_8_1_0_pre8-81X_mcRun2_HeavyIon_v1-v1/GEN-SIM#c152a2d0-42df-11e6-836c-02163e016cc2',
 u'/QCD_Pt-15to1000_fwdJet_bwdJet_Tune4C_Flat_2p76TeV-pythia8/ppSpring2014DRX53-castor-v2/DQM#51ad5484-2b08-11e4-909a-00221959e69e',
 u'/QCD_Pt-15to1000_fwdJet_bwdJet_Tune4C_Flat_2p76TeV-pythia8/ppSpring2014DRX53-castor-v2/AODSIM#10d22eea-2a53-11e4-909a-00221959e69e',
 u'/TZTo2LNuB_FCNC_8TeV_madgraph_TuneCUETP8M1/Summer12DR53X-PU_S10_START53_V19-v1/AODSIM#a7130922-c767-11e4-b23a-a0369f23d008']

the 1st belongs to an aborted-archived wf; the 2nd and 3rd belong to several workflows where 1 is normal-archived and all the others are rejected-archived; the 4th and last one belongs to a workflow normal-archived.
What should we do with those? Do we just invalidate these blocks in TMDB/DBS and remove their replicas?

@sidnarayanan can you please invalidate/remove those 26 datasets with None as AcqEra (first list)?
About the second list, please invalidate/remove the first 3 blocks (since they are not in dbs anyways):
/RelValQCD_Pt_80_120_13_HI/CMSSW_8_1_0_pre8-81X_mcRun2_HeavyIon_v1-v1/GEN-SIM#c152a2d0-42df-11e6-836c-02163e016cc2,
/QCD_Pt-15to1000_fwdJet_bwdJet_Tune4C_Flat_2p76TeV-pythia8/ppSpring2014DRX53-castor-v2/DQM#51ad5484-2b08-11e4-909a-00221959e69e,
/QCD_Pt-15to1000_fwdJet_bwdJet_Tune4C_Flat_2p76TeV-pythia8/ppSpring2014DRX53-castor-v2/AODSIM#10d22eea-2a53-11e4-909a-00221959e69e,

Finally, the last block
/TZTo2LNuB_FCNC_8TeV_madgraph_TuneCUETP8M1/Summer12DR53X-PU_S10_START53_V19-v1/AODSIM#a7130922-c767-11e4-b23a-a0369f23d008
has input data in DBS already. Actually, it's opened since Mar 20. Could you please close this block in phedex? Unfortunately there is no way we can investigate what happened half year ago.
Once you're done, feel free to close this issue.

Done! Closing the issue.

Thanks, Sid. Let us know in case you find new open blocks in PhEDEx.


Fix Thor's Hammer Level 5 Backspin

Noticed the backspin for level 5 was incorrect.

Great catch! Appreciate the PR.


Distinguish official vs non-official reviews, add tool tips, and upgr…

This Pull Request is a follow up to https://github.com/go-gitea/gitea/pull/31886:

Adds a UI indicator between official (green) and unofficial (grey) approved pull requests on the Pull Request page (as suggested by @kdumontnu )
Adds tooltips adding clarity to the type and status of a review on the Pull Request page (as suggested by @kdumontnu)
Updates text adding more clarity to required approvals (as suggested by @kdumontnu)
Updates text on the branch settings page explaining what branch approval limitations (as suggested by @yp05327)

Official approval:

Unofficial approval:

Rejected approval:

Stale approval:

Requested review tooltip:

Updated text for approvals:

Updated text for allowlisted/whitelisted approvals:

Protected branch settings text:

In the code, it is whitelist, and for the UI, it is allowlist..... Just similar to activities, the naming has no consistency.
But as there are already two approves, maybe it is ok.
And another thing, it seems that you didn't changed the approval color here?

@yp05327 thank you for pointing out the discrepancy with the comment list.
The way the system exists today, an "official" review will become "unofficial" as soon as an approved user submits a second review. I'm not sure displaying a grey check mark for an official reviewers previous review makes sense. The tool tip would definitely not. As far as I can tell, the real use for the Official boolean is just to optimize a SQL count query here: https://github.com/go-gitea/gitea/blob/main/models/issues/pull.go#L384
Furthermore, we currently don't show a different color for stale reviews. You can see here, its either red or green (no yellow): https://github.com/go-gitea/gitea/blob/main/templates/repo/issue/view_content/comments.tmpl#L383 I'm not certain if that difference is intentional.
In my opinion, further modification of the official boolean feels out of scope for this change. But please let me know if you feel differently.

@yp05327 thank you for pointing out the discrepancy with the comment list.
The way the system exists today, an "official" review will become "unofficial" as soon as an approved user submits a second review. I'm not sure displaying a grey check mark for an official reviewers previous review makes sense. The tool tip would definitely not. As far as I can tell, the real use for the Official boolean is just to optimize a SQL count query here: https://github.com/go-gitea/gitea/blob/main/models/issues/pull.go#L384

I actually think this might be intended behavior. Once the user leaves a second review the previous one is no longer "official". It doesn't necessarily indicate the reviewer doesn't have sufficient permissions. I still think it's better than showing green for everyone.

Furthermore, we currently don't show a different color for stale reviews. You can see here, its either red or green (no yellow): https://github.com/go-gitea/gitea/blob/main/templates/repo/issue/view_content/comments.tmpl#L383 I'm not certain if that difference is intentional.
In my opinion, further modification of the official boolean feels out of scope for this change. But please let me know if you feel differently.

There are two tables. One is Review, and the other one is Comment.

The way the system exists today, an "official" review will become "unofficial" as soon as an approved user submits a second review.

This is recorded in Review table, and can only have one record. So it will be changed when user submits a second one.
Then what I said above, it is in Comment table, and can have several records. They are not the same thing.

There are two tables. One is Review, and the other one is Comment.

The way the system exists today, an "official" review will become "unofficial" as soon as an approved user submits a second review.

~This is recorded in Review table, and can only have one record. So it will be changed when user submits a second one. Then what I said above, it is in Comment table, and can have several records. They are not the same thing.~
Wait, comment saved the review id, not the details, so it will be changed...... IMO, this should not be changed for comments. @lunny @wolfogre How do you think about this.

My thought here was that as soon as the user leaves an updated review, the previous one would change to grey (unofficial). This reflects the database state & should be pretty clear/intuitive. The "green" checks clearly indicate which reviews are being counted to the total. Grey can be because the user doesn't have sufficient permissions or because they have left a second/third review.
I think it would be much more confusing as it currently is, where I can "approve" and see a green check, then "reject" and have a red x - it's slightly ambiguous that my previous green check doesn't count toward approvals. Marking it grey helps imo.

There are two tables. One is Review, and the other one is Comment.

The way the system exists today, an "official" review will become "unofficial" as soon as an approved user submits a second review.

~This is recorded in Review table, and can only have one record. So it will be changed when user submits a second one. Then what I said above, it is in Comment table, and can have several records. They are not the same thing.~
Wait, comment saved the review id, not the details, so it will be changed...... IMO, this should not be changed for comments. @lunny @wolfogre How do you think about this.

That should be another issue/bug?

That should be another issue/bug?

I don't think so.
The operation history (the comment mentioned above) should not be changed, but it can be changed now.
If a PR introduced a known bug before merge, I don't think it should be another bug/issue.

That should be another issue/bug?

I don't think so. The operation history (the comment mentioned above) should not be changed, but it can be changed now. If a PR introduced a known bug before merge, I don't think it should be another bug/issue.

Just for clarity and to wrap this PR up.
The other issue/bug we are discussing is the implementation where a previously approved Official=True review will become Official=False after an official reviewer leaves an additional review. I believe this is the case because of the use of Official in a count query: https://github.com/go-gitea/gitea/blob/main/models/issues/pull.go#L384. As an aside, I believe we could accomplish the same result keeping Official=True and just using a SQL DISTINCT keyword on the ReviewerId of a Review.
This is existing behavior and NOT being modified in this PR. In my opinion, modifying or discussing changes to this behavior is outside of the scope of this PR.
The change reflected in this PR is that the comments list will also show a grey checkmark for all approved reviews that do not count towards the protected branches minimum approval limit. This includes approvals that may have previously counted, but no longer do. With these changes, a user will be able to count the green checkmarks in the comment list and they will match the approval count in the merge pr section. These suggestions were made by @yp05327 and concurred by @kdumontnu previously in this PR.
I'd really like to get this PR over the finish line so users can quickly determine which approvals do and do not count towards their protected branch limit. Are there any additional changes needed to get this merged?

OK. So this change may result in a new inconsistent between comment approval status and sidebar approval status. I think this is what @yp05327 is concerned about.

OK. So this change may result in a new inconsistent between comment approval status and sidebar approval status. I think this is what @yp05327 is concerned about.

I don’t think there is any issue here, especially with the latest change. @yp05327 can you approve if you’re in agreement?

as soon as the user leaves an updated review, the previous one will change to grey checkbox (unofficial). This reflects the database state & should be pretty clear/intuitive. The "green" checks clearly indicate which reviews are being counted to the total. Grey can be because the user doesn't have sufficient permissions or because they have left a second/third review.

OK. So this change may result in a new inconsistent between comment approval status and sidebar approval status. I think this is what @yp05327 is concerned about.

I don’t think there is any issue here, especially with the latest change. @yp05327 can you approve if you’re in agreement?

as soon as the user leaves an updated review, the previous one will change to grey checkbox (unofficial). This reflects the database state & should be pretty clear/intuitive. The "green" checks clearly indicate which reviews are being counted to the total. Grey can be because the user doesn't have sufficient permissions or because they have left a second/third review.

imo, past reviews changing from green to grey is a good thing. It reflects what is counted towards approvals.

Yes. So maybe the approval status in the comment render template should be also changed to keep it consistent.


i dont know why,  but its laggy, when i putted this gridlayout, and list of views for room, it was so laggy....

`
data class CategoryDto(
val icon: Int,
val title: String
)
@Composable
fun Categories() {
val categories = listOf(
CategoryDto(
icon = R.drawable.img_ai,
title = "Ai assistant"
),
CategoryDto(
icon = R.drawable.img_gmail,
title = "Gmail"
),
CategoryDto(
icon = R.drawable.img_mysdu,
title = "MySDU"
),
CategoryDto(
icon = R.drawable.img_sdukz,
title = "Sdu.kz"
),
CategoryDto(
icon = R.drawable.img_mysdu,
title = "Student clubs"
),
CategoryDto(
icon = R.drawable.img_free_offices,
title = "Free Offices"
),
CategoryDto(
icon = R.drawable.img_moodle,
title = "Moodle"
),
CategoryDto(
icon = R.drawable.img_library,
title = "Library"
),
)
VerticalGrid(
    columns = SimpleGridCells.Fixed(4),
    modifier = Modifier.padding(8.dp)
) {
    categories.forEach { category ->
        val context = LocalContext.current
        Category(
            category.icon,
            category.title,
            onCategoryClick = { navigateToCategory(context, category.title) },
        )
    }
}

}
@Composable
fun Category(
icon: Int,
title: String,
onCategoryClick: () -> Unit,
) {
Column(
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
modifier = Modifier
.padding(horizontal = 2.dp, vertical = 8.dp)
.clickable { onCategoryClick() }
) {
Image(
painter = painterResource(icon),
contentDescription = title,
modifier = Modifier
.size(56.dp)
.shadow(elevation = 4.dp, shape = CircleShape)
.clip(CircleShape)
)
Text(
text = title,
textAlign = TextAlign.Center,
)
}
}
`
At first - i want to say thank you for easying our job with this awsome library! buuut here is my code, and i dont know why its laggy. in homescreen i just show in lazyColumn as item this gridlayout and as next item column of notes (just simple notes with room). without this grid - notes work well, i need optimizations, please help

There are some ways to check what is cause of lag and how to optimize it.

Layout Inspector
Measure how many recomposition is occurred.
Layout Inspector is Android Studio's feature.

Compose Compiler Metrics
You can check what class is stable or unstable, what composable function is skippable or unskippable.
Useful link: https://chrisbanes.me/posts/composable-metrics/

Migrate List to ImmutableList
List interface is considered unstable by compose compiler. You can use ImmutableList of Kotlin Immutable Collection library. Compose Compiler considers ImmutableList as stable.
Checkout https://github.com/Kotlin/kotlinx.collections.immutable

Optimize LazyColumn with key
You can optimize LazyColumn with key that is a parameter of LazyListScope.items(). key makes lazy list's item to unique. If item is unique, the lazy list performs more efficiency when recomposing items.

How about to add key to item? For example:
LazyColumn {
    item(
        key = { /* something uniqe key */ }
    ) {
        Caterogories()
    }
}

And if the category list will not changed, try remember it.
val categories = remember { /* init list*/ }

After them, try build app as release build varient.

i tried this key, but it did not showed me big result, so then i got - each categoryItem had and resource drawable, and i added COIL to load them optimized (rememberAsyncImagePainter) - and it seems like its helped!
by the way, the release version is pretty good, but i still ned to work, because debug version still littlbe bit lags, may be i need to manage first fetches when screen is opened (but its other story)
so, thank you! For this amazing library, cause i really had troubles with same weighted grid layout, and thank you for your responses and effort!

Ah, so image loading was the cause of low performance!
Thanks for using my library.
Issue close because question is solved.


Apple Clang Problems

I tried to build this project with XCode:
$ xcodebuild -version
Xcode 7.3.1
Build version 7D1014

Lots of errors, and I'm unsure how to debug some of them. I'm happy to help with some guidance.
constant.cpp
test/constant.cpp:49:9: Static_assert failed ""
Line:
static_assert(
            std::is_same<
                decltype(1844674407370955161_c),
                smath::constant<long long,<PHONE_NUMBER>370955161>
            >::value, "");

complex.cpp
test/complex.cpp:46:30: Default initialization of an object of const type 'const imaginary<int>' without a user-provided default constructor
test/complex.cpp:51:28: Default initialization of an object of const type 'const complex<int>' without a user-provided default constructor
Fix:
diff --git a/test/complex.cpp b/test/complex.cpp
index 5e65dda..7f01b5f 100644
--- a/test/complex.cpp
+++ b/test/complex.cpp
@@ -43,12 +43,12 @@ constexpr auto test(complex<int> lhs, complex<long long> rhs)
 int main()
 {
     // Constructor tests
-    constexpr imaginary<int> i1;
+    constexpr imaginary<int> i1{};
     static_assert(i1.value == 0, "");
     constexpr auto i2 = imaginary<float>(5.8f);
     static_assert(smath::is_close(i2.value, 5.8f), "");

-    constexpr complex<int> c1;
+    constexpr complex<int> c1{};
     static_assert(c1.real == 0, "");
     static_assert(c1.imag.value == 0, "");
     constexpr auto c2 = complex<float>(1.2f, 2.5f);

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:1515:43: Incompatible operand types ('int' and 'smath::imaginary<int>')
It's not using the proper operand, i.e. constexpr auto operator+(imaginary<T> lhs, imaginary<U> rhs) it's trying to use constexpr auto operator+(imaginary<T> lhs, Number rhs) for some reason.
// Line 83
    static_assert(imag1 + imag1 == 2_i, "");

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:1515:43: Incompatible operand types ('long long' and 'smath::imaginary<int>')
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:1515:43: Incompatible operand types ('int' and 'smath::imaginary<long long>')
// Line 118:
    static_assert(8_i - comp3 == complex<int>(-5, 8), "");

ctest.cpp
include/static_math/detail/cmath.inl:299:12: Call to 'min' is ambiguous
Full error, there's 7 of these with the same paths with different start points:
static_math/include/static_math/detail/cmath.inl:299:12: Call to 'min' is ambiguous
static_math/test/cmath.cpp:24:10: In file included from static_math/test/cmath.cpp:24:
static_math/include/static_math/cmath.h:190:14: In file included from static_math/include/static_math/cmath.h:190:
static_math/test/cmath.cpp:99:16: In instantiation of function template specialization 'smath::min<smath::constant<int, 0>, smath::constant<int, 0> >' requested here
static_math/include/static_math/detail/core.h:63:20: Candidate function [with T = smath::constant<int, 0>, U = smath::constant<int, 0>]
static_math/include/static_math/detail/core.h:70:20: Candidate function [with T = smath::constant<int, 0>, U = smath::constant<int, 0>, Rest = <>]
static_math/include/static_math/detail/core.h:79:20: Candidate function [with Integer = int, Numbers = <0, 0>]

The following are all "ambiguous":
static_assert(
        smath::min(1_c, 2_c) == 1_c, "");
    static_assert(
        smath::min(0_c, 0_c) == 0_c, "");
    static_assert(
        smath::min(-2_c, -1_c, 0_c, 1_c, 2_c) == -2_c, "");
    static_assert(
        smath::min(2_c, 1_c, 0_c, -1_c, -2_c) == -2_c, "");

    static_assert(
        smath::max(3_c, 8_c) == 8_c, "");
    static_assert(
        smath::max(-8_c, -8_c) == -8_c, "");
    static_assert(
        smath::max(8_c, -1_c, 6_c, 3_c, 5_c, 2_c, -8_c) == 8_c, "");
    static_assert(
        smath::max(-1_c, 0_c, 1_c, 2_c, 3_c, 2_c, 1_c, 0_c, -1_c) == 3_c, "");

vector.cpp
Warnings:
static_math/test/vector.cpp:35:39: Suggest braces around initialization of subobject
static_math/test/vector.cpp:36:41: Suggest braces around initialization of subobject
static_math/test/vector.cpp:57:41: Suggest braces around initialization of subobject
static_math/test/vector.cpp:58:41: Suggest braces around initialization of subobject

vector.inl
Warnings:
static_math/include/static_math/detail/vector.inl:34:18: Suggest braces around initialization of subobject
static_math/include/static_math/detail/vector.inl:34:18: Suggest braces around initialization of subobject
static_math/include/static_math/detail/vector.inl:41:18: Suggest braces around initialization of subobject
static_math/include/static_math/detail/vector.inl:41:18: Suggest braces around initialization of subobject

Uh, I don't know anything about Apple Clang specifically since I'm only using MinGW on Windows. Apparently, I should add continuous integration tests to make sure that everything goes well, but fixing those bugs might be tricky. Anyway, here are some first thoughts:

For constant.cpp it might be that long long int is too short for the integral constant on your platform and the overflow causes an error. That's a bit strange thought.
For Default initialization of an object of const type 'const imaginary<int>' without a user-provided default constructor, the error message is clear and Clang is correct: without a user-provided default constructor, you can default-initialize a const value. This is dumb and there is a proposed defect report against the standard to allow it, and GCC already implements the defect report. I should be able to fix that one.
I have no idea why the overload resolution fails for the complex/imaginary types. I might have better insights once I set up the continuous integration.
Same for min: I don't know why it's ambiguous.
For the warnings, it's normal: Clang is more annoying than GCC when it comes to brace elision. To be honest, it's too annoying in this regard. I can fix that, but I believe that Clang should be less annoying :/

Anyway, thanks a lot for those reports. I will fix the ones about const default initialization and braces elision, but I fear that fixing the other ones will be harder. I will set up a continuous integration system to run the test suite when I have time, maybe in a few days. If you have more insights or manage to fix some of these things, don't hesitate to contribute :)

I had already fixed most of these! I happened to step out for a coffee so I missed your response. 👎
Check the PR I opened, I split the "fixes" into separate commits.

For constant.cpp it might be that long long int is too short for the integral constant on your platform and the overflow causes an error. That's a bit strange thought.

It works with long on both ubuntu trusty and OSX.

For Default initialization of an object of const type 'const imaginary' without a user-provided default constructor, the error message is clear and Clang is correct: without a user-provided default constructor, you can default-initialize a const value. This is a bit dumb and addressed by DR 253, which is implemented by GCC (but since the DR was never officially accepted, Clang doesn't implement it). I should be able to fix that one.

I had no idea this was the case. Good to know.

I have no idea why the overload resolution fails for the complex/imaginary types. I might have better insights once I set up the continuous integration.
Same for min: I don't know why it's ambiguous.

This was a pain in the ***. I got it, but it's not pretty.

For the warnings, it's normal: Clang is more annoying than GCC when it comes to brace elision. To be honest, it's too annoying in this regard. I can fix that, but I believe that Clang should be less annoying :/

Can't disagree with you, is it due to the implicit conversions?

Oh, and I have a cmake file that I was using to test this with.
It'd probably make CI easier. But I don't want to impose a build tool.

I'm fine with CMake and Travis; that's what I'm using on other projects. I'd gladly welcome a pull request :)
Concerning the first one, I'll probably reuse it and push it again on my side since I already fixed a few things a bit differently and I don't really like macros (yeah, that's a fine, but I write std::enable_if_t by hand everywhere when needed).
Concerning min I guess I'm not fully satisfied since other types than those satisfying std::is_arithmetic should be usable but discriminating against other types might be hard :/

I'm done fixing everything, except the braces warning in the test case, but it doesn't really matter: vector is so useless anyway that I could remove it. I managed to fix the min/max ambiguity problem while keeping a great amount of genericity instead of limiting it to built-in arithmetic types, even though I had to add a few additional tricks to do that.
I'm closing the issue: apart from the aforementioned warnings, everything compiles smoothly enough with both GCC and Apple Clang. I'm not merging your pull requests in the end, but it really helped to show what the issues were. Thanks again :)

Happy to help! I wanted to use the library, but the lack of MSVC support killed it. 👎
I have some implementations of log(), though -- almost working.

Well, I can't really help it for MSVC since the whole library relies on constexpr :/
You could check Bolero Murakami's Sprout instead: it reimplements huge parts of the standard library with constexpr, and may have better support for MSVC. Moreover, I don't really maintain this library anymore except when people open issues or merge requests; it wasn't meant to be more than a toy library.
Anyway, log functions would surely be a welcome addition if you can get them to work :)

The log functions have become more of an academic exercise now. It has been much much harder than I expected. Largely due to the convergence problems of the Taylor series solutions.


KAFKA-3582: Remove references to Copcyat from Kafka Connect property files

@junrao

Thanks for the patch. LGTM


REST API documentation insufficient for new daemon implementation

The REST API appears to be written for an audience interested in development using the client API.  There is interest in developing a new daemon to support LXD clients and the documentation would need to provide more clarity before that could be done.

Agreed though we are more likely to make progress on that when asked specific questions or pointed at particular bits being unclear than as a single task to go through the whole thing and attempt to cover everything at once.

Agreed, more specifics are forthcoming.   I jumped the gun on opening the bug.

Does the API exposes performance metrics like the Docker stats interface?

At the moment, very little runtime information is exposed, however we have #295 that I still need to work on (trick is coming up with a few to expose all the cgroup and other runtime information, yet keep thing consistent naming-wise with the way they're set and also not be overly implementation-specific).

I'm closing this issue since we've significantly reworked the rest-api.md document and had a number of people successfully writing language bindings and tooling using that documentation.


autofix-unused-prop-type

It seems very dangerous to me to assume that it's safe to remove just because it's unused. Autofixing has a very high bar for when it's safe, and "removal" is generally not done with autofixes.

It seems very dangerous to me to assume that it's safe to remove just because it's unused. Autofixing has a very high bar for when it's safe, and "removal" is generally not done with autofixes.

I want to automatically fix many unnecessary imports caused by copying and pasting code.

Yes, but your desire to do less work doesn't mean the autofix is a safe thing to enable.
You could certainly implement this as a suggestion, though, if you like?

I understand. I will handle this issue locally. Thank you for your suggestion!


Need Stage 3 Reviewers sign up

Entrance Criteria for Stage 3 (Candidate) require
Designated reviewers have signed off on the current spec text
So we need at least 2 stage 3 reviewer for this proposal.
I somehow thought the Stage 3 reviewers are needed AFTER advanced to Stage 3 to review spec DURING Stage 3 so I didn't ask people to sign up us Stage 3 Reviewers while I proposed to move from Stage 1 to Stage 2.
@sffc @ryzokuken

@zbraniecki @anba

I'm happy to be a Stage 3 reviewer.

thanks. Need one more

During 2021-04-21 TC39 meeting day 3, Jordan Harband @ljharb signed up as Stage 3 reviewers and  Richard Gibson @gibson042 as editor review. Therefore we close this issue


Supporting Private/Public key

Hello. Is there a way to use already generated Private Key/Public Key to generate addresses, instead of use a mnemonic seed?

@AlessandroSechi  did you find any solution?

@raszia no, I didn't, as I switched to a completely different solution


Ignore patches from workspace members

Description
Take the cargo approach of ignoring patches of workspace members, printing a warning, and only accepting patches defined at the workspace root file.
Fixes #4448
Checklist

[x] I have linked to any relevant issues.
[ x I have commented my code, particularly in hard-to-understand areas.
[x] I have updated the documentation where relevant (API docs, the reference, and the Sway book).
[x] I have added tests that prove my fix is effective or that my feature works.
[x] I have added (or requested a maintainer to add) the necessary Breaking* or New Feature labels where relevant.
[x] I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
[x] I have requested a review from the relevant team or maintainers.

Here is the output of the warning
➜  patch_workspace_and_package git:(cr/simplify-workspace-package) ✗ ~/projects/fuel/sway/target/debug/forc build
warning: patch for the non root package will be ignored, specify patch at the workspace root:
warning: package: /Users/cr-fuel/projects/fuel/sway/forc-pkg/tests/invalid/patch_workspace_and_package/Forc.toml
  Fetching std git+https://github.com/fuellabs/sway?tag=v0.45.0#92dc9f361a9508a940c0d0708130f26fa044f6b3
  Creating a new `Forc.lock` file. (Cause: lock file did not exist)
    Adding core
    Adding std git+https://github.com/fuellabs/sway?tag=v0.45.0#92dc9f361a9508a940c0d0708130f26fa044f6b3
   Created new lock file at /Users/cr-fuel/projects/fuel/sway/forc-pkg/tests/invalid/patch_workspace_and_package/Forc.lock
 Compiling library core (/Users/cr-fuel/.forc/git/checkouts/std-9be0d6062747ea7/92dc9f361a9508a940c0d0708130f26fa044f6b3/sway-lib-core)
 Compiling library std (git+https://github.com/fuellabs/sway?tag=v0.45.0#92dc9f361a9508a940c0d0708130f26fa044f6b3)
 Compiling contract test_package (/Users/cr-fuel/projects/fuel/sway/forc-pkg/tests/invalid/patch_workspace_and_package/test_package)
  Finished debug in 9.584755575s
  contract test_package
      Bytecode size: 68 bytes


Delete files in pacaur-tmp when installing again without reboot

I noticed today an issue when installing an update to Terminix just a few hours after initially installing Terminix. Since the update happened is close temporal proximity to the initial install, the build files were still in pacaur-tmp, and Terminix reported that the validity check failed. I was forced to delete the previous terminix build files out of tmp before the update would install.
Is there a way we can check if a folder already exists for that package, and delete it before installing a package? I don't reboot my laptop often, and it is annoying to have to purge out files from /tmp manually just to install an update without it failing

It seems terminix is a pre-compiled binary with a unique filename, regardless of the version. As stated in the terminix AUR comments, the package should be renamed to terminix-bin.
This said, I am not sure how to fix that issue without forcing redownload for all packages, which would be silly. This likely also happens when SRCDEST is enabled, which is even worst. I'll have a closer look, but my first recommendation would be to fix the issue upstream, either by using a naming scheme that includes the version, or by using an alternative PKGBUILD that compiles the package from source.

Yep, can't be fixed easily. Since naming release/binary release with the very same name is very unconventional and not very practical either, I'd consider this an upstream issue to be reported to the package/project maintainer. Closing as 'Wontfix'.

I reported upstream

Good. Also, as a cheap workaround you might be able to use -Sca to remove downloaded source files, if you set up $SRCDEST first. See makepkg.conf manual.


Correction for raw affiliation Centre for Functional and Metabolic Mapping, Robarts Research Institute, Schulich School of Medicine and Dentistry, Western University Miranda Bellyou Centre for Functional and Metabolic Mapping, Robarts Research Institute, Schulich School of Medicine and Dentistry, Western University

Correction needed for raw affiliation Centre for Functional and Metabolic Mapping, Robarts Research Institute, Schulich School of Medicine and Dentistry, Western University Miranda Bellyou Centre for Functional and Metabolic Mapping, Robarts Research Institute, Schulich School of Medicine and Dentistry, Western University
raw_affiliation_name: Centre for Functional and Metabolic Mapping, Robarts Research Institute, Schulich School of Medicine and Dentistry, Western University Miranda Bellyou Centre for Functional and Metabolic Mapping, Robarts Research Institute, Schulich School of Medicine and Dentistry, Western University
new_rors: 02grkyz14
previous_rors: 05cgtjz78
works_examples: W4317915641
contact: 615593ab343922dc8f68bfa5842e0d5b:5f59306623e90ddb @ uwo.ca

This issue was accepted and ingested by the OpenAlex team on 2024-12-19. The new affiliations should be visible within the next 7 days.


Helm Chart: PSP does not include hostPath volume type

While I can't seem to find any reference to a volume of type hostPath, the PodSecurityPolicy admission controller cannot find a PSP to use when global.psp.create is set to true.
Thanks!
Error:
Events:
  Type     Reason        Age                  From                    Message
  ----     ------        ----                 ----                    -------
  Warning  FailedCreate  76s (x5 over 118s)   statefulset-controller  create Pod opendistro-es-data-0 in StatefulSet opendistro-es-data failed error: pods "opendistro-es-data-0" is forbidden: unable to validate against any pod security policy: [spec.initContainers[0].securityContext.privileged: Invalid value: true: Privileged containers are not allowed spec.volumes[4]: Invalid value: "hostPath": hostPath volumes are not allowed to be used]
  Warning  FailedCreate  35s (x10 over 118s)  statefulset-controller  create Pod opendistro-es-data-0 in StatefulSet opendistro-es-data failed error: pods "opendistro-es-data-0" is forbidden: unable to validate against any pod security policy: [spec.volumes[4]: Invalid value: "hostPath": hostPath volumes are not allowed to be used spec.initContainers[0].securityContext.privileged: Invalid value: true: Privileged containers are not allowed]

Proof of default storage class:
❯ k get storageclasses.storage.k8s.io
NAME                    PROVISIONER                            RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
nfs-freenas (default)   cluster.local/nfs-client-provisioner   Retain          Immediate           true                   4d17h

Helm values:
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
  name: es
  namespace: elasticsearch
  annotations:
    flux.weave.works/automated: "false"
spec:
  releaseName: opendistro-es
  chart:
    git: https://github.com/opendistro-for-elasticsearch/opendistro-build.git
    ref: 287f90ac17c470ec5e6ce642ec573d39d08f43ac
    path: helm/opendistro-es
  values:
    kibana:
      enabled: true
      elasticsearchAccount:
        secret: ""
        keyPassphrase:
          enabled: false
      ssl:
        kibana:
          enabled: false
        elasticsearch:
          enabled: false

      ingress:
        enabled: false

      config: {}

      serviceAccount:
        create: true

    global:
      clusterName: elasticsearch

      psp:
        create: true

      rbac:
        enabled: true

    elasticsearch:
      securityConfig:
        enabled: true
        path: "/usr/share/elasticsearch/plugins/opendistro_security/securityconfig"
        actionGroupsSecret:
        configSecret:
        internalUsersSecret:
        rolesSecret:
        rolesMappingSecret:
        tenantsSecret:

      extraEnvs: []

      initContainer:
        image: busybox
        imageTag: 1.27.2

      ssl:
        transport:
          enabled: false
          existingCertSecret:
        rest:
          enabled: false
          existingCertSecret:
        admin:
          enabled: false
          existingCertSecret:

      master:
        enabled: true
        replicas: 1

        persistence:
          enabled: true
          size: 10Gi

        javaOpts: "-Xms512m -Xmx512m"

      data:
        enabled: true
        replicas: 1

        persistence:
          enabled: true
          size: 50Gi

        javaOpts: "-Xms512m -Xmx512m"

      client:
        enabled: true
        replicas: 1

        javaOpts: "-Xms512m -Xmx512m"
        ingress:
          enabled: false

      config: {}

      serviceAccount:
        create: true

@marshallford Feel sorry for the late reply. Do you still have this issue? have you tried with new version?

close the issue. feel free to reopen

Sorry for the no reply. This issue was opened when I was doing a POC for opendistro and I'm not really working in that space anymore. I have not tried the new version unfortunately, in fact I've moved away from PSPs as well.

@marshallford thanks for the updates. pls reach out to us if you have any issue in future

i'm facing this issue ODFE 1.8.0 Release


Not work out of a VM

Hello,
I try to use the debug tool bar.
I use an ubuntu Virtual Machine. When i use a web browser in the VM the toolbar work but not in my local computer.

Thank you

This might be the reason? http://django-debug-toolbar.readthedocs.io/en/latest/installation.html#internal-ips

It's work now, thanks a lot


Refactor

There are some leftover things to do after the refactor.
@glwagner, how do we change architecture? I presume we should make it so that the kwarg is provided to word_to_simulation, right?
Closes #1

I think it's supported now, see:
https://github.com/navidcy/TurbulentWords.jl/blob/fb1ae95626de1f667c9e240e164bfad93251f837/src/simulations.jl#L3-L5
https://github.com/navidcy/TurbulentWords.jl/blob/fb1ae95626de1f667c9e240e164bfad93251f837/src/simulations.jl#L10-L12

so the other_kw are propagated through

This
https://github.com/navidcy/TurbulentWords.jl/blob/eecc82dc77eb600cdc09674e9aaaf7401b47313f/examples/hello_flow.jl#L13
takes quite a bit. How long should it take?

This
https://github.com/navidcy/TurbulentWords.jl/blob/eecc82dc77eb600cdc09674e9aaaf7401b47313f/examples/hello_flow.jl#L13
takes quite a bit. How long should it take?

it shouldn't take long at low resolution. I guess during a simulation you'd do one of those per time-step. it does one fft and one ifft.

I guess it also does a few abstract operation computations which is maybe adding cost

Oh ok. I was just wondering if the solver wasn't converging..

Oh ok. I was just wondering if the solver wasn't converging..

It's based on FFT, so no convergence

Running the hello_turbulence.jl gives this:
https://github.com/navidcy/TurbulentWords.jl/assets/7112768/a68af195-9b02-4d4e-89d5-560a87c9bbe5
What's happening at the boundaries?


Bug with multiple Bots on 1.9

As Kwoth said, I should create an Issue.
As the title says, theres a huge mess when you run more than one bot on your PC/VPS/Whatever.
How to recreate:
Run more than one bot on 1.9
type .setgame Test ONLY FOR ONE BOT
All bots you're running on 1.9 will sync their playing status to Test
Check these Images:

Should be fixed


Make client keepAliveInterval configurable in client side

Motivation
Currently keepAliveInterval is hard coded as 30s in ClientCnx, Would like to make it configurable.
Modifications
Add keepAliveIntervalSeconds in ClientConfigurationData, to make it configurable.
Result
user could config client keepAliveIntervalSeconds

retest this please

retest this please


pagerFormat can't set to center of page

I've try to setting pagerFormat align all of page number to center of page but not working.
Setting
pagerFormat: "<center> {pages} </center>",
Result
`

1

2
3
`

Try to add a css rule:
.jsgrid-pager { text-align: cetner; }

i tried to adding this css rule still not working.

I guess, it's just because you copied my code snipped with a typo: put center instead of cetner.
https://jsfiddle.net/tabalinas/cy8b8Lro/

It's worked. I have to say thank and sorry.
It's my bad. Didn't check code before reply this :+1:


Add HMDB secondary accessions to cliques?

@EvanDietzMorris reported that a large number of HMDB identifiers are missing from cliques. I'll add the full list here for later testing.

Full list of reported missing HMDB identifiers
HMDB:HMDB05323
HMDB:HMDB09069
HMDB:HMDB04950
HMDB:HMDB11376
HMDB:HMDB11151
HMDB:HMDB11342
HMDB:HMDB07984
HMDB:HMDB08156
HMDB:HMDB11220
HMDB:HMDB08054
HMDB:HMDB34220
HMDB:HMDB05779
HMDB:HMDB00560
HMDB:HMDB59745
HMDB:HMDB09809
HMDB:HMDB07949
HMDB:HMDB07874
HMDB:HMDB07988
HMDB:HMDB00072
HMDB:HMDB09002
HMDB:HMDB11507
HMDB:HMDB07218
HMDB:HMDB13127
HMDB:HMDB11206
HMDB:HMDB07121
HMDB:HMDB07958
HMDB:HMDB11129
HMDB:HMDB07892
HMDB:HMDB10381
HMDB:HMDB09815
HMDB:HMDB09784
HMDB:HMDB61699
HMDB:HMDB11517
HMDB:HMDB05324
HMDB:HMDB61695
HMDB:HMDB11203
HMDB:HMDB13288
HMDB:HMDB07248
HMDB:HMDB10383
HMDB:HMDB07228
HMDB:HMDB11253
HMDB:HMDB11565
HMDB:HMDB08039
HMDB:HMDB10405
HMDB:HMDB10392
HMDB:HMDB09821
HMDB:HMDB07940
HMDB:HMDB11262
HMDB:HMDB07883
HMDB:HMDB11489
HMDB:HMDB00477
HMDB:HMDB11343
HMDB:HMDB05780
HMDB:HMDB12091
HMDB:HMDB08008
HMDB:HMDB01878
HMDB:HMDB10404
HMDB:HMDB12103
HMDB:HMDB11503
HMDB:HMDB10391
HMDB:HMDB10407
HMDB:HMDB07970
HMDB:HMDB09009
HMDB:HMDB10394
HMDB:HMDB09783
HMDB:HMDB11496
HMDB:HMDB08057
HMDB:HMDB07112
HMDB:HMDB07132
HMDB:HMDB07103
HMDB:HMDB05349
HMDB:HMDB10388
HMDB:HMDB61702
HMDB:HMDB08141
HMDB:HMDB00488
HMDB:HMDB03148
HMDB:HMDB13405
HMDB:HMDB08055
HMDB:HMDB08994
HMDB:HMDB07250
HMDB:HMDB06469
HMDB:HMDB11207
HMDB:HMDB05334
HMDB:HMDB11149
HMDB:HMDB11170
HMDB:HMDB12085
HMDB:HMDB06210
HMDB:HMDB11477
HMDB:HMDB08111
HMDB:HMDB11394
HMDB:HMDB11474
HMDB:HMDB08123
HMDB:HMDB08047
HMDB:HMDB00613
HMDB:HMDB07257
HMDB:HMDB11211
HMDB:HMDB11384
HMDB:HMDB10379
HMDB:HMDB12087
HMDB:HMDB13122
HMDB:HMDB11375
HMDB:HMDB12104
HMDB:HMDB12102
HMDB:HMDB07856
HMDB:HMDB12107
HMDB:HMDB11244
HMDB:HMDB08939
HMDB:HMDB11243
HMDB:HMDB09093
HMDB:HMDB11352
HMDB:HMDB08056
HMDB:HMDB08113
HMDB:HMDB06460
HMDB:HMDB61690
HMDB:HMDB08017
HMDB:HMDB07969
HMDB:HMDB10408
HMDB:HMDB09814
HMDB:HMDB06347
HMDB:HMDB61701
HMDB:HMDB07219
HMDB:HMDB11460
HMDB:HMDB12097
HMDB:HMDB12105
HMDB:HMDB13326
HMDB:HMDB11686
HMDB:HMDB41708
HMDB:HMDB61696
HMDB:HMDB09789
HMDB:HMDB08038
HMDB:HMDB11487
HMDB:HMDB08993
HMDB:HMDB08279
HMDB:HMDB11476

I checked four of those identifiers and they're all listed as "secondary accessions". I then checked the primary accessions against NodeNorm RENCI-exp, and all four of them are present. Here are the primary accessions, which at the present are the only ones we ingest:

Primary accession
Secondary accession

HMDB:HMDB0008937
HMDB:HMDB05323

HMDB:HMDB0008057
HMDB:HMDB08057

HMDB:HMDB0240261
HMDB:HMDB61696

HMDB:HMDB0061701
HMDB:HMDB61701

Our HMDB extraction code currently only uses primary identifiers:
https://github.com/TranslatorSRI/Babel/blob/011e36c7e096938fb3981b651904bc7c11a28b92/src/datahandlers/hmdb.py#L14
Should we modify our code to add secondary accessions as well? Unless the hmdb_metabolites.xml file that we used reuses secondary accessions, this should be safe and not cause any cliquing problems. We could also do a one-off experiment to confirm that secondary accessions are in fact uniquely mapped to primary accessions.

For context these come from our Multiomics Wellness KG.
Years ago HMDB changed their identifier format from HMDB followed by 5 digits, to HMDB followed by 7 digits. All existing identifiers had 00 prepended to the number to create a new primary, and were assigned as secondary. So there should be no identifier reuse.


Change background colour of the proton badge when it's selected for readability

With the change:

Before the change:

I've tried out different flavours and accents and this change seems to work well with all combinations.

Thanks!


Tracking quality failures

Sometimes tracking quality failes because the number of points in each flux-ramp segment might differ. Happens sporadically, but should figure out why this is happening / how to fix it.
ValueErrorTraceback (most recent call last)
<ipython-input-17-50e02ac14187> in <module>
----> 1 op.optimize_tracking(S, cfg, bands)

/sodetlib/sodetlib/smurf_funcs/optimize_params.py in optimize_tracking(S, cfg, bands, init_fracpp, phi0_number, reset_rate_khz, show_plot, update_cfg)
     89             # Reruns to get re-estimate of tracking freq
     90             rs, f, df, sync = smurf_ops.tracking_quality(
---> 91                 S, cfg, band, tracking_kwargs=tk, nphi0 = 1,
     92             )
     93

/usr/local/src/pysmurf/python/pysmurf/client/util/pub.py in wrapper(S, pub_action, *args, **kwargs)
     48                     S.pub._action_ts = S.get_timestamp()
     49
---> 50                 rv = func(S, *args, **kwargs)
     51
     52             finally:

/sodetlib/sodetlib/smurf_funcs/smurf_ops.py in tracking_quality(S, cfg, band, tracking_kwargs, make_channel_plots, r_thresh, show_plots, nphi0)
    339         y_est = np.vstack([fstack for _ in range(nstacks)])
    340         sstot = np.sum((y_real - np.mean(y_real, axis=0))**2, axis=0)
--> 341         ssres = np.sum((y_real - y_est)**2, axis=0)
    342
    343         r = 1 - ssres/sstot

ValueError: operands could not be broadcast together with shapes (2399,512) (2384,512)

I believe this has been solved with this commit:
https://github.com/simonsobs/sodetlib/commit/d89ae587f5190c774f0b27936253e7fe2ce05141


'knmi' sets "version" directly to update a config entry

Did you read the instructions?

[X] I have read the README, including the known-limitations section.

The problem
thanks for the update,
please see new issue
Integration version
2.0.0
Home Assistant version
2024.3.0.dev20240225
Python version
3.12.2
Home Assistant log
Logger: homeassistant.helpers.frame
Bron: helpers/frame.py:133
First occurred: 23:00:08 (1 gebeurtenissen)
Laatst gelogd: 23:00:08

Detected that custom integration 'knmi' sets "version" directly to update a config entry. This is deprecated and will stop working in Home Assistant 2024.9, it should be updated to use async_update_entry instead at custom_components/knmi/__init__.py, line 102: config_entry.version = 2, please create a bug report at https://github.com/golles/ha-knmi/issues

Diagnostics
No response
Additional information
No response

I'm aware of this, but have to do this still as 2024.2 doesn't allow me to set the version with hass.config_entries.async_update_entry(config_entry, version=2), I've already have this documented in code: https://github.com/golles/ha-knmi/blob/main/custom_components/knmi/init.py#L99-L102

nice, my pardon, I didnt check the code.....

nice, my pardon, I didnt check the code.....

No worries, this issue is a good reminder to not forget this, so thanks for creating this!


Add the Ability to Clear A Single Filter Criteria in mobile view

Definition of Ready

[ ] Does this meet the INVEST criteria?
[ ] Does this have a clearly defined user?
[ ] Does this have an estimate?
[ ] Does this have acceptance criteria?
[ ] Does this have sufficient context (wireframes, business rules, etc.)?
[ ] Is this traceable to a feature, epic, or PI?

User Story
As a user
I want to be able to clear one filter criteria
So that I can search for the data I want
Acceptance Criteria
Given the user in in mobile view
When filters are displayed
Then the user can clear a single filter
Context
Filters page: Replace settings icon with X to clear single filter
https://xd.adobe.com/view/ffb58352-f4e5-42ed-8509-cd566b3177e6-aae6/screen/cbbf106e-d4ae-4ed7-b597-5c7fc25b3900
Testing
Test Case:
Tester:
Definition of Done

[ ] Have all Acceptance Criteria been agreed to and validated by the scrum team?
[ ] Has the code been unit tested and peer reviewed?
[ ] Have the functional tests been executed?
[ ] Have all defects been reviewed and dispositioned, resolved, or deferred?
[ ] Has the user story been accepted by the Product Owner?
[ ] Is the user story ready to be deployed to the test/staging environments?

being done with #1465


Add network

Add network chart to show how items were connected in the experiment. Show it together with Table 1.

Done here
https://github.com/agrobioinfoservices/ClimMob-analysis/blob/ef10388b3fbddfb5b12a134478343ae7218d55f9/R/analysis_climmob.R#L214
and here
https://github.com/agrobioinfoservices/ClimMob-analysis/blob/ef10388b3fbddfb5b12a134478343ae7218d55f9/report/en/mainreport/mainreport.Rmd#L72