Using inc(int64, uint64) can lead to compiler crashes and garbage.

On my system this line of code leads to garbage:
      inc(FTotalBalance,block.accounts[iacc].balance);

It's in UAccounts.pas
I am surprised you were able to build PascalCoin at all with Delphi 2010.
The test program below demonstrates that writing code as above is very unreliable and can lead to all kinds of weird problems and bugs.

First of all it can cause a compiler crash/error/abort.

Second of all it can lead to access violations.

Third of all it can lead to garbage in variables.

Advise is to test this for yourself, see the horror in action. If you don't see the horror in action then pls report back cause that would be highly interesting if this only happens on AMD X2 3800+ system.
Perhaps Delphi compiler generates bad code on this system. Would have to install Delphi on other systems to known for sure. So do report back if your findings are inconsistent with the finding below ;)
Further advise is to avoid using "inc".  Now it does turn out it may or may not be the culprit of bugs in Delphi Compiler. My real hunch is that it may be further bugs related to uint64 types, as encountered in the past like UFOs =D
Anyway why use a function which you don't even known the parameters off ?! Quite whacky.
Anyway the bug results in TotalBalance for all accounts to be wrong/garbage !
Inc also relies on {X+}  compiler switch/state... so again why complexify code with such a shitty function as inc ? ;)
I don't even known what inc does in X- nor do I care (will care in near future, but not for now ;)), avoid it like plague ;)
{X-} <- more shit to figure out, bye bye for now. REALLY ?! For something as shitty simple as an addition ?!?!
 YIKES ?!
Worth it ?!  :PPP************************
You be lucky ! I was on your """team""".
// *** Begin of Test Program ***
program TestProgram;
{$APPTYPE CONSOLE}
{$R *.res}
(*
Test weird inc on int64, uint64 as encountered in PascalCoin.
version 0.01 created on 11 july 2018 !

Funny enough the Delphi XE Seattle compiler completely crashes with the code below !
Pretty fricking unbelievable ! ;) =D
This time it caused an access violation ! Holyshit !
Your results/bugs may vary !
What could be the cause is that inc on 64bit types only works in "extended syntax" is enabled ?!? It said something like that
in help file ?! No link to "How to enable extended syntax" ?!?
 You should not use the {$X-} mode when writing Delphi applications.

The $X directive enables or disables Delphi's extended syntax:
1 Function statements. In the {$X+} mode, function calls can be used as procedure calls; that is,
the result of a function call can be discarded, rather than passed to another function or used in an operation
or assignment. Generally, the computations performed by a function are represented through its result,
so discarding the result makes little sense. Sometimes, however, a function is called because it performs a
task such as setting the value of a global variable, without producing a useful result.
2 The Result variable. In the {$X+} mode, the predefined variable Result can be used within a function body
to hold the function's return value.
3 Null-terminated strings. In the {$X+} mode, Delphi strings can be assigned to zero-based character arrays (array[0..X] of Char),
which are compatible with PChar types.
This directive also affects the use of the caret (^) to indicate pointers. When {$X+} is in effect (the default),
you can omit the caret when referencing pointers. When declaring a pointer, however, the caret is required.
For example:
{$X+}
type
PMyRec = ^TMyRec;
TMyRec = record
Data: Integer;
end;
var
MyRec: PMyRec;
begin
New(MyRec);
MyRec.Data := 42;  {#1}
end.
Normally, the line marked #1 would be expressed as:
MyRec^.Data := 42;
But with extended syntax enabled, the caret can be omitted.
"
Default it should already be on, so this makes no sense, it seems to be simply some kind of compiler bug.
Bye,
Skybuck.
control-alt-c also not working to bring up cpu window... seems like Delphi has gone down hill quite a lot !
Seems delphi compiler is simply bugged and uses wrong address,<PHONE_NUMBER>0 instead of real variable address, "weird or what ?" ;)
*)
{$X+}
uses
SysUtils;
//  System.SysUtils;
var
TotalBalance : int64;
SomeBalance : uint64;
procedure Main;
begin
TotalBalance := 0;
SomeBalance := 0;
while true do
begin
// experimenting
asm
clc; // clear carry flag
stc; // set carry flag
end;
	// very weird? maybe bug in x86 itself ? Not sure.
	Inc( TotalBalance, SomeBalance );   // I think it might be the "add with carry" that might be overflowing this or something.
										// so actually bug may depend on carry flag being set or not !

	// let's try same asm instructions below to see which one actually is causing the failure
	asm
		mov [$00422ec8],$00000000
		mov [$00422ecc],$00000000
		mov [$00422ed0],$00000000
		mov [$00422ed4],$00000000

		// so far so good ^

		// now let's test the ones below:
		mov eax,[$00000000]		// weird what's going on here ? wrong addresses ? seems like it ?!
		mov edx,[$00000004]
		add [$00422ec8],eax
		adc [$00422ecc],edx
	end;

	writeln(TotalBalance);
	sleep(1000);
end;

end;
begin
try
Main;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
ReadLn;
end.

This bug is much more serious then it looked at first sight to me. At first I was under the impression it's just causing TotalBalance for GUI to be calculated wrongly.
Today I set out/forth to fix these nasty bugs. Surprise Surprise, these Inc() functions are used throughout the code, even for calculating such important things as account balances and account fees.
Now that I have attempted to correct these bugs it seems that:

These bugs are exploiteable and could be used to enrich oneselfes.
These bugs are exploiteable and could be used to deprive others of their coins or fees, causing massive fees.
These bugs seem to lead to slightly wrong "fee" calculations, maybe even bigger than I think.
Might also be used to crash clients.

I am just scratching the surface of the implications of these bugs.
One thing became immediately apperent though I am not yet sure:
These changes will require a HARD FORK just to prevent older clients from using wrong calculations.
And this has to happen very first cause somebody may try to EXPLOOOOOIITTTT IT LOLOLOLOLOL.
HHHHHMMMMMMMM who would that be ?! LOL.
Well anybody really, anybody can read this and start messing with the code.  AAARGHH...)
*** RED ALERT PEOPLE ***
Your PascalCoin is probably about to be OWNED.
Will be interesting to see what happens ! ;) =D

I see original distribution is now 64 bit, will have to investigate to see if bugs are present in 64 bit as well.
Though there could still be 32 bit users out there ! ;)

One thing has become apperent:
The "fault tolerant" design of "catching exceptions" and "ignoring exceptions" has now led to a high price:
A wrongly/corrupted blockchain. It may have been better to halt/exit/crash clients instead of letting them continue with wrong calculations and storing them on disk etc.
Currently 32 bit clients will have no idea that their calculations are wrong and will "ignore the exceptions" and continue running, though at least the code steps out and does not continue to run with presumable wrong or different data, not sure which is wrong yet and which is correct, at least it does not proceed with inconsistent data, this is a slight win for pascal coin for now, again these are futher effects to be studied, what is the effect of stepping out of a routine because an exception was raised example:
function TPCSafeBox.AddNew(const blockChain: TOperationBlock): TBlockAccount;
If blockChain.fee<>FTotalFee then Raise Exception.Create(Format('ERROR DEV 20170427-3 blockchain.fee:%d <> Safebox.TotalFee:%d',[blockChain.fee,FTotalFee]));
^ this exception is raised, stepping out of that routine and then happily continueing.
Not sure what effect of this could be.

On detection of the first wrong calculation the exception is/seems to be catched by:
Try
  Try
    BCExecute;
    FDebugStep := 'Finalized BCExecute';
  Finally
    Terminate;
  End;
Except
  On E:Exception do begin
    TLog.NewLog(lterror,Classname,'Exception inside a Thread at step: '+FDebugStep+' ('+E.ClassName+'): '+E.Message);
    Raise;
  end;
End;

Which causes the "server" to stop/terminate, the PascalCoin GUI will remain open/running though.
This stopping of the server probably causes PascalCoin from functioning any further.
So my initial hunch/guess that PascalCoin would keep functioning even with bad calculations was perhaps wrong and pascalcoin simply seizes to operate, a bit of a weird situation, could be a good situation preventing any further nasty things from happening, still weird though, users may be confused too... like what's going on ?!

Possible example of the bug in action, logs were on, logs may go fast though, did not spot it at first, now I do spot it, logs were already on:
2018-07-12 10:52:55.255 TID:00000804 [Update]  Clear Bank
2018-07-12 10:52:55.257 TID:00000804 [Info]  Loading SafeBox with 221700 blocks from file C:\Users\Skybuck\AppData\Roaming\PascalCoin\Data\checkpoint7.safebox
2018-07-12 10:53:07.624 TID:00000804 [Info]  Start restoring from disk operations (Max<PHONE_NUMBER>) BlockCount: 221700 Orphan:
2018-07-12 10:53:07.728 MAIN:000007F4 [Debug]  Block 134614 not found. Cannot read operations
2018-07-12 10:53:08.097 TID:00000804 [Update]  New block height:221700 nOnce:1812089910 timestamp:1531142403 Operations:66 Fee:66 SafeBoxBalance:215970500000=215970500000 PoW:0000000000000232D22A4655322697064C5376B95B1E21D171685F42AFEDF784 Operations previous Safe Box hash:52D280671F781CF7D9A6B39002F041126A4236A556F1FC1BC67C933F74E487C9 Future old Safe Box hash for next block:4108B83F1C8D8FEC9E95FA9BFB3223BABEF57C1C27B6988188A99B9385183981
2018-07-12 10:53:08.186 TID:00000804 [Error]  Invalid integrity fee! StrongBox:132 Transaction:0
2018-07-12 10:55:32.372 TID:00000804 [Error]  Invalid new block 221701:  > Block:221701 Timestamp:1531142643 Reward:500000 Fee:0 Target:918742187 PoW:000000000000013C0BFDCBF6BE659EE113D6E4371C01F128DE1EF27A9857C118 Payload:Nanopool/40764809010000000Ù7510000 Nonce:-766378232 OperationsHash:E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 SBH:4108B83F1C8D8FEC9E95FA9BFB3223BABEF57C1C27B6988188A99B9385183981
2018-07-12 10:55:32.415 TID:00000804 [Error]  Exception inside a Thread at step:  (Exception): ERROR DEV 20170427-3 blockchain.fee:0 <> Safebox.TotalFee:132

With my fixes in place 32 bit mode also detects the same problem:
2018-07-12 11:01:25.733 MAIN:00000628 [Debug]  Block 134614 not found. Cannot read operations
2018-07-12 11:01:26.012 TID:0000068C [Update]  New block height:221700 nOnce:1812089910 timestamp:1531142403 Operations:66 Fee:66 SafeBoxBalance:215970500000=215970500000 PoW:0000000000000232D22A4655322697064C5376B95B1E21D171685F42AFEDF784 Operations previous Safe Box hash:52D280671F781CF7D9A6B39002F041126A4236A556F1FC1BC67C933F74E487C9 Future old Safe Box hash for next block:4108B83F1C8D8FEC9E95FA9BFB3223BABEF57C1C27B6988188A99B9385183981
2018-07-12 11:01:26.069 TID:0000068C [Error]  Invalid integrity fee! StrongBox:132 Transaction:0
For now my assumption is, all my experimenting with pascalcoin did not corrupt my own blockchain and/or safebox and there truely is a problem inside either current blockchain or safebox.
There is a very slight chance that maybe it was stored correctly inside safebox and now that calculations are fixed it shows up, but that chance is very small.
Further conclusions could be:
Most clients including nanopool probably running 32 bit software, the 64 bit sofware should not even be possible to run it would halt ?! Hmmm this is kinda confusing what is it not halting like demonstrated above, where raising exceptions perhaps removed ?!
Will run official pascal distribution next to see what happens.

Further interesting questions are:

Which compiler was used to produce the 64 bit PascalCoin version ? Delphi 2010 does not have 64 bit compiling as far as I know. Thus some other compiler was used ?

My best guess for now would be FreePascal since the official distribution's GUI seems to blink, which could be a dead give away that this was compiled with FreePascal since these seem Lazarus visual bugs.
Lazarus GUI blinks in the same way.
(Could also be an Delphi XE compiler but without the necessary code changes it would not compile, so FreePascal is best guess for now)

As suspected dec() is affected too. [dcc32 Fatal Error] F2084 Internal Error: URW1175
Ouch !

HAHA, when I replaced dec with my own code I made a mistake and used a + instead of a -.
git diff --no-index path1 path2
Catched this ! Thanks GIT !
Checking for more of my own mistakes ! HAHA.
Hopefully this bug not as serious as once believed ! LOL.
Also wrote two special
CatchIncDifference
functions ! =D

Ok problem with exception solved.
For now it seems safebox and blockchain was not corrupted ! Few... all calculations ok for now !
Crisis averted ! LOL.
No I don't have to use Free Pascal/Lazarus... thank god ! =D

All is not well yet.
I have replaced dec() with CatchDecDifference as well. It's inlined.
What I notice is that the loading of the safebox takes much more time now ?! WHY ?!

First explanation seems somewhat unreasonable. These "debug" functions slow down the code ?!?
Ok maybe... it just finished loading.
I have other explanations though:
Very maybe exceptions caused the loading to abort here and there, no critical loading functions, but for now I will assume the loading simply takes a bit longer because of slower inc and slower dec...

So far no bugs and no differences detected.

What is interesting to notice is that it now finally displays total balance for all accounts properly. I don't think it did that before:
21,642,000 pascal coins in all accounts together.

Now that the circle is complete/round, the main question on my mind is:
"How the hell, did I end up in this hell ?!"
 ;)
The bug with inc and dec is real sort of, the test program proves that, however the bug may be what I am going to call a "phantom" =D
This is a very special kind of bug. It's a bug which doesn't allows manistates/fests itself.
I will explain below what this "phantom bug" may be, my working hypothesis is as follows:

Something causes a very weird/stupid corruption bug inside the in-memory computer of Delphi IDE.

Which then subsequently leads to faulty code generation for inc/dec or other uint64 related code.

Once the Delphi IDE is restarted, and the project is recompiled from a fresh in-memory-compiler which was somehow not yet corrupted good code generation may happen and good instructions may be emitted.

Until after a while some weird corruption happens inside the in-memory-compiler and from that moment on the bug returns.

Thus it behaves like a "phantom of the opera" a "ghost"... at some point it appears in the in-memory-compiler. Once the IDE is restarted it disappears again, then later on it might re-appear again.
Therefore I believe to catch this Phantom in the act requires inspecting of the "code generation" as it happens. Inspect the "faulty" generated assembler instructions, compared these to a "fresh in-memory-compiler" code generation event and emitted code. There may be a difference, proving that it is a phantom ! =D
Bye for now,
Skybuck.
I have some ghost busting to do !  ;) =D

I tried to catch the phantom in the act, I was capable of corrupting the compiler with the given example above, however after the compiler corrupted I was unable to produce the results for PascalCoin I first witnessed with the mentioned line way above.
At the time I did not bother to look at the generated assembler instructions. For now I suspect they were faulty (because of compiler corruption) causing the bug/observed problem.
This more or less implies a local problem, however other users of Delphi compilers may find the same results and problems. For now it's safe to assume the official distributions of pascal coin do not contain these bugs. However it may be wise/interesting to inspect previous distributions of pascal coin to see if they contained these bugs, however meanwhile some hard-forks have occured, so those older clients are no longer relevant.
Conclusion could therefore be that PascalCoin is relatively safe from this bug for now, and exploiting it would be very unlikely/shady/doubtfull, however I for one will keep an eye out for these kinds of problems.
My PascalCoin fork (second on the page) has modified code which removes inc/dec from 64 bit parameters/variables just in case.
I hope this will be sufficient to avoid problems in the future, though I fear the worst ;) I expect new problems to occur but for now the situation seems to have been resolved so some degree/level as statisfaction.

Hi @SkybuckFlying,
we are open to any bug-report, suggestion, whatever, but we are just unable to respond to the issues you create as they are exhausting to follow and to read. We will close all your created issues (even if they are valid) until you are able to describe your problems in a simple way.
 If this applies to you and you need anyone to talk about that, just get in touch with me and we can work it out. You are unbanned from discord, my nick is @techworker

Hi TechWork,
This issue can be solved in two ways:

Either compile PascalCoin with Delphi in 64 bit mode. (Or perhaps use another compiler).
Or find & replace in all units: Inc(A,B) and Dec(A,B) where A is a int64 or uint64 and B is a int64 or uint64 and then replace it with A:=A+B; for Inc and A:=A-B; for Dec.

Once it's replaced the bug will also go away in 32 bit mode. It might cost a little bit of performance though, though it's so little it's more than acceptable.
The bug is field/variable corruption where field/variable is int64 or uint64 where inc/dec processing was used on these fields/variables.
Bye,
Skybuck.

From intel manual, maybe this could explain why these inc/dec instructions are working correctly in 64 bit mode:
"
<IP_ADDRESS> Increment and Decrement Instructions in 64-Bit Mode
The INC and DEC instructions are supported in 64-bit mode. However, some forms of INC and
DEC (the register operand being encoded using register extension field in the MOD R/M byte)
are not encodable in 64-bit mode because the opcodes are treated as REX prefixes.
"
Seems like Delphi compiler is encoding inc/dec incorrectly in 32 bit mode.


Tag Created by release-please-action is not triggering build

Build which is supposed to triggered by "tag creation" is not running when tag is created by release-please-action. Below is the trigger used in workflow. It triggers the flow when tag is created manually but doesn't run when tag is created by release-please-action
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'

Where is the build defined?

Where is the build defined?

Build is defined in same repo as Github Actions workflow. Below is the workflow (.github/workflows/tag.yml).
name: Tag-Build
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
jobs:
Tag-Build:
runs-on: rocc-linux
container:
image: docker.na1.hsdp.io/pdv-ci/philips-pdv-build-base:v1.0.1
credentials:
username: ${{ env.DOCKER_USERNAME }}
password: ${{ env.DOCKER_PASSWORD }}
volumes:
- /opt/github_actions_mapping/:/opt/github_actions_mapping/
defaults:
run:
shell: bash
steps:
- name: Build
run: |
echo "tag build"


<select> with form-control have background color as :read-only

OS: Windows 10 Pro
Browser: Chrome 90
Bootstrap version: 5.0.0
How to reproduce
After update from the beta to the stable version of bootstrap I'm experiencing this issue where the select and the options have a gray background instead of white.

It's marking the select as readonly

@ffoodd Perhaps something is off with the :read-only selector? We didn't have this with [readonly] as far as I know.
Fwiw though, from the comments in #33642, <select>s should use .form-select and not .form-control.

Yeah we shouldn't have used :read-only as a replacement for [readonly. [readonly] explicitely matches against the html attribute, but :read-only works frankly different.
The specification defines it like this (albeit a little counter-intuitive) :

:read-only
:read-write
The :read-write pseudo-class must match any element falling into one of the following categories, which for the purposes of Selectors are thus considered user-alterable: [SELECTORS]

input elements to which the readonly attribute applies, and that are mutable (i.e. that do not have the readonly attribute specified and that are not disabled)
textarea elements that do not have a readonly attribute, and that are not disabled
elements that are editing hosts or editable and are neither input elements nor textarea elements

The :read-only pseudo-class must match all other HTML elements.

Looks like selects are :read-only because they cannot be edited, indeed. On the other hand the documentation says selects should use .form-select.
So, maybe we should just acknowledge that using .form-control on a select has no sense. The same as it does not work on checkboxes. The same as it does not make sense to use readonly attribute on a select.
Of course, you can just revert the change as well.

[readonly] has side effects when readonly attribute is used inappropriately on any HTML element which doesn't support it. We can Reset :read-only styles applied to selects which has from-control class
select.form-control:read-only {      background-color: initial;      border-color: initial; }

Maybe I wasn't clear with what I said earlier. My proposal is not, not to use :read-only in general. But simply substituting [readonly] with :read-only isn't the correct approach IMO, as it has a different meaning.
According to the spec :read-only' also applies to disabled inputs which makes combining it with :disabled` sort of unnecessary. But they have been left in the code https://github.com/twbs/bootstrap/pull/33642/files.
Another issue with :read-only is that browsers implement it differently. Take Firefox for example, they implement the spec as it was defined.
So that's how the file inputs look now:

Oh, I missed the file input issue. This actually might be the biggest reason to not use :read-only.

Agreed, I mentionned the difference between the two selectors in the PR but didn't think it'd match selects and file inputs.
I'd be in favor of reverting this PR — otherwise we need to be more restrictive with the pseudo-class to avoid clashes with select and file input, and I don't think it worth it.

Let's revert @ffoodd :)

Notes from the field to consider - (in Firefox), this also causes problems with custom (read third-party) composite controls as they also use the .form-control class for integration / consistency, and because they're not input elements suddenly all appeared disabled.

The very same issue also happens when using form-control with buttons

As opposed to with select, with buttons i cannot substitute form-control with something alike form-select, without it causing layout issues


McAffee flags the installer as a virus

At this date 12/13/2023,  the MacAfee anti virus software is flagging the installer as a virus.  Is this a problem?

Known issue. See https://github.com/stascorp/rdpwrap/issues/277

Duplicate of https://github.com/stascorp/rdpwrap/issues/277


Create maintenance release of 1.x

Looking through the changes in Probot that made the tests start failing, I noticed that this package upgraded several Octokit packages to versions incompatible with others already in Probot. Leading to duplication and possibly errors
The commits contained in the releases 1.2.7, 1.2.8 and 1.2.9 should be reverted

The indirect dependency on jsonwebtoken was upgraded to v9 which dropped support for NodeJS v10

I created 1.x


Support for scaling?

Are there any plans for adding support to scale containers (on the same host) up and down? Something you can do with docker-compose for example docker-compose up -d --scale service=2
As far as I can see traefik already supports this. Not sure if this is the direction you want to go.
Thanks, keep up the good work

Ok. I thought the general idea with docker was to run a single process and don't do forks when running container. Instead you would run container with WEB_CONCURRENCY=1. If you need more workers you just spinup more containers

Needlessly complicated with no payback. Totally fine to run multiple sub processes of the same overall process.


how to edit app/lib/connections.js

Hi
think this is a great project and testing for my work.
but I have the CORS issue, because my webpage uses

I figured out how to workaround "Error! Frame loading blocked due to cross-origin prevention"
as sugested from another user, edit the channel.css and alter the visuals of the error message.
Edit:
/usr/local/lib/node_modules/multicast/public/css/channel.css
change top:0; to a place outside of view, in my setup 5000px will do the trick:
#error { position:absolute; top:5000px; left:0; width:100vw; background:#000; color:#fff; padding:20px }

Thanks for this!


Payment request - OTF review and actions

Uses modal workflow - button to "update" Payment request

[ ] Applicants can delete

only in the submitted or changes request status

[ ] Staff can reject, request change, accept, paid

[ ] Reject moves to the "rejected" status

[ ] Cannot move out of "rejected"

[ ] Request change moves to the "changes requested" state

[ ] "reject" only at this point

[ ] Accept moves to the "under review" status

[ ]  You can only transition from "under review" to "paid"

[ ] Paid moves to the "Paid" status

[ ] No further transitions

Is it possible for staff to have control over when they can reject, request change, accept a request at any point regardless of status?
Example:

[ ] Staff can reject, request change, accept, paid

[ ] Reject moves to the "rejected" status
[ ] Staff can move out of "rejected"

[ ] Request change moves to the "changes requested" state
- [ ] "reject" only at this point
- [ ] "accept" when requested changes are complete
[ ] Accept moves to the "under review" status
- [ ]  You can only transition from "under review" to "paid"
- [ ]  You can only transition from "under review" to "reject"
- [ ]  You can only transition from "under review" to "accept"
- [ ]  You can transition from "accept" to any status
[ ] Paid moves to the "Paid" status
- [ ] No further transitions
- [ ] Staff can move out of "Paid" status into a different status


Accuracy on COCO in comparison to official (Darknet) YOLOv4 implementation

Hi, do you know if the YOLOv4 model in this repository matches the accuracy of the official Darknet implementation of YOLOv4?
The Darknet implementation has 62.8 mAP50 for 416x416 images while for example the tensorflow-yolov4-tflite implementation only has 57.3 when loaded with the same weights file. Do you have any indication whether your implementation has a closer accuracy to the original?

Not yet.
Are the evaluation formulas and dataset for darknet and tflite the same?
https://github.com/hunglc007/tensorflow-yolov4-tflite/issues/165


Honor trusted Certificate Authorities (/etc/ssl/certs) for https

More a question than an issue:
How do I get Jenkins-Autojobs to honor the locally installed CA-certificates?
The background:
We let Jenkins-Autojobs connect to our Jenkins, which is situated behind a Apache. Apache is reachable by https. It has a server certificate issued by the corporate Certificate Authority. The CA-certs are installed locally in /etc/ssl/certs ... and I thought Python and its http-libs would honor those. Of course, it depends on the lib.
In the end, Python threw an SSL-error. It could not check the server certificate, said it is untrusted and exited.

Hello @PaulKlumpp. I just had a jab at fixing this in 8947a7979cbf738756912d8e74137e2f24cc2519 - you should be able to disable ssl verification with the --no-verify-ssl command-line switch. There is also a '--cert-bundle' that should let you specify an alternative certificate bundle or directory.
These options just expose the verify and cert args of requests.post() (which is what jenkins-webapi uses internally).
I would appreciate it if you let me know if this solves the problem for you. You can install the tip version with:
pip install -U git+git://github.com/gvalkov/jenkins-autojobs.git@8947a7979cbf738756912d8e74137e2f24cc2519

Thanks,
G.

I'll let you know.
I have just been looking over the changes. Options look good so far!

I am using the cert-bundle option. It works like a charm. Thanks.


Please make this feature possible with ondisk example version, uhaha kvdb

with reference to :
https://github.com/lni/dragonboat/issues/256
this is amazing:
https://github.com/tidwall/uhaha/tree/master/examples/kvdb
this should be how it should be shown as example for the ondisk example of dragonboat.
between stability vs performance in raft implementation, i choose stability, reliability first BUT...
can you check out kvdb? this is how it should work. if i delete the node and recover it. it just works in a new directory.
please make it work this way for the ondisk example! i can add back the node with node number etc and i can sleep better knowing the raft just works as meant to be!
pls help make this possible. will donate coffees.

@lni @kevburnsjr

Your issue has been fully addressed in https://github.com/lni/dragonboat/issues/362


Application has crashed: C++ exception

Following is Clash log. (part of minidump)
mods/Holo/Hooks/Hud/HudPresenter.lua:8: attempt to index field '_bg_box' (a nil value)

SCRIPT STACK

-------------------------------

Callstack:

         payday2_win32_release  (???)     ???
         payday2_win32_release  (???)     ???
         payday2_win32_release  (???)     ???
         payday2_win32_release  (???)     zip_get_name
                         ntdll  (???)     RtlFreeHeap
                         ntdll  (???)     NtQueryVirtualMemory

-------------------------------

Current thread: Main

-------------------------------

If you need full- mini dump file, please tell me!
Thanks,

What mods do you have installed?

JackHUD from what i know is not compatible with HoloUI currently.

Okey, thanks to solve this issue.
I like this mod's UI. hope this mod goin' more greater than JackHUD
cheer *


default test logger

What does this PR do?
Setting TensorBoard as default logger even for tests
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
 Thanks for updating this PR.

In the file tests/models/test_restore.py:

Line 34:1: E303 too many blank lines (3)

any experince with faling in spawn lock?

@Borda yes i've seen that on my machine too...

any experince with faling in spawn lock?

Not sure, I was just replacing test tube by trnsorboard as default logger and fixing all issues to get it pass... The cpu-ddp was using custom wrap func which I replaced by the standard one from python native...


Sample_Idx is not being genertated

Hi there,
When we try to run the command:
python adaptor_vis.py --data_path ../trj_data/maptr
we encounter an error indicating that there are no sample_idx keys.
Find the below code:
if args.map_model == "MapTR":
            #sample_token = map_data[i].get('pts_bbox', {}).get('sample_idx', None)
            sample_token = map_data[i]['pts_bbox']['sample_idx']
        elif args.map_model == "StreamMapNet":
            sample_token = map_data[i]['token']
        print(sample_token,'hhfahfashfjskhfsdfhkjh')
        try:
            idx = sample_to_idx[sample_token]
        except:
            continue
        print(map_data.key())

Please let me know how to solve this issue.
Thanks a million

Uhmmm you mean that in the mapping_results.pickle there is no such key named 'sample_idx'?

Yes, there is no such key named sample_idx
and give me an
Traceback (most recent call last):   File "adaptor.py", line 430, in <module>     main(args)   File "adaptor.py", line 246, in main     sample_token = map_data[i]['pts_bbox']['sample_idx'] KeyError: 'sample_idx'
and another also occurs predicted map is not found.
Please advice me.
Thanks

If this is not found, then probably the evaluation is not done correctly. You can refer to this reply: https://github.com/alfredgu001324/MapUncertaintyPrediction/issues/24#issuecomment-2400057112


Scratch Org Development

Hello @xixiaofinland
I am a SF developer who recently started using neovim so naturally I came across this plugin. I really like the idea and the implementation but it does not seem to work for scratch org development. Since this is the main org type that I develop towards I forked this repo and was able to make a simple change to allow scratch orgs to be selected as the target_org.
Is this something that you are interested in including in your plugin?
I also planned to add some more functionality that fits my specific workflow but I could contribute that as well if interested. I figured I would reach out and see what you thoughts are. No worries if that does not fit your idea for this.

Hi @waltonzt ,
I'm glad this tool is adding value for you!
My current work doesn't use scratch orgs, so I haven't had the chance to implement it. Yes, please feel free to create a PR for this feature.
As a rule of thumb for PRs: consider if the feature is common among Salesforce developers. If it exists in Salesforce VSCode plugins, it's probably a good candidate. We can always converse before the PRs :).


from:local as:command only works during first load but doesn't work from the cache

Problem Summary
During the first run cache gets created and /home/u/.zplug/bin gets included in the path. /home/u/.zplug/bin also contains all the proper symlinks.
For some reason restarting shell doesn't include the above mention directory to the path.
System Information

uname -a

CYGWIN_NT-6.1 APATEL-WS1 2.5.2(0.297/5/3) 2016-06-23 14:29 x86_64 Cygwin
```

zsh version

REPLACE ME
```

zplug version/commit

zsh 5.1.1 (x86_64-unknown-cygwin)
```
Minimal zshrc
Create a minimal reproducing set of configurations for this issue. Please
remove all unnecessary parts!
source ~/.zplug/init.zsh

# REPLACE ME
zplug "~/.zsh/bin", from:local, use:"*", as:command

zplug load --verbose

Steps to Reproduce

configure local repo with some executables
During the first run it correctly adds /home/u/.zplug/bin to the path
If you reopen the shell, zplug loads using the cache but it doesn't put /home/u/.zplug/bin to the path
If I remove the cache and repopulate the cache it works the first time.

Hmm, I can't reproduce your problem. Can you tell me which version of zplug you are using?

I am using 2.1.0

I have also following in my .zshrc once I removed this it is working as expected
`
Let zplug manage itself
zplug "b4b4r07/zplug"
`

@moonrumble Hi, zplug have been updated (v2.2.0). Once you try new zplug, if you have any prob, feel free to ask us! Thanks


Different function generation for Python and C/C++

Hi,
The input parameter which is used in @length(req_len) won't be generated for python and this parameter won't pass into the python function. Is this expected behavior? If this not the case, is there is a workaround to fix it?
IDL -> erpc_spiRecvStream(in uint32 req_len, out binary data @length(req_len) @max_length(data_len_max), out uint32 ret_len) -> bool
C:/C++ -> bool erpc_tcpRecvStream(uint32_t req_len, uint8_t * data, uint32_t * ret_len)
PY -> def erpc_tcpRecvStream(self, data, ret_len)

Thank in advance

Hello, based on my limited knowledge of the python generator and expected python code, I think this should be correct. Looking into the test_length_py output the IDL parameter that defines the length of the binary parameter is not passed into the python function. It is up to the user to pass the binary object with the appropriate length in this case, I think. @Hadatko / @RamseyTI / @zuzy , could you confirm please? Thanks.

Hi @MichalPrincNXP,
Thanks for the reply. If this is the case, it needs to be insert a duplicate parameter to pass length into Python side. In my case client was implemented in C/C++ and server was Python. So this may cause some complication without knowing binary data length in C/C++ when returned binary array size.
Thanks and regards.

Even though the function parameter in @max_length(value) is defined as inout, while the parameter won't generated in Python version, but it is generted in C/C++ version.

I am sorry not being able to provide an exact comment and response. I think even inout direction is used the behavior on the python side is ok. Anyway, please use another parameter to pass the length for this special C/C++ vs. Python use case.

Some features are not implemented on python side as C language was mainly developed one.


glooctl: 1.15.19 -> 1.16.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/solo-io/gloo/releases.
meta.description for glooctl is: glooctl is the unified CLI for Gloo
meta.homepage for glooctl is: https://docs.solo.io/gloo-edge/latest/reference/cli/glooctl/
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.16.0 with grep in /nix/store/8ii7xqchrch5bvk0r5zh88srn3ppkccp-glooctl-1.16.0
found 1.16.0 in filename of file in /nix/store/8ii7xqchrch5bvk0r5zh88srn3ppkccp-glooctl-1.16.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
glooctl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/8ii7xqchrch5bvk0r5zh88srn3ppkccp-glooctl-1.16.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A glooctl https://github.com/r-ryantm/nixpkgs/archive/ca617700dd92e0c4f054d284754ee270b3eabaad.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/ca617700dd92e0c4f054d284754ee270b3eabaad#glooctl

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/8ii7xqchrch5bvk0r5zh88srn3ppkccp-glooctl-1.16.0
ls -la /nix/store/8ii7xqchrch5bvk0r5zh88srn3ppkccp-glooctl-1.16.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

glooctl

Maintainer pings

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/solo-io/gloo/releases.
meta.description for glooctl is: glooctl is the unified CLI for Gloo
meta.homepage for glooctl is: https://docs.solo.io/gloo-edge/latest/reference/cli/glooctl/
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.16.3 with grep in /nix/store/hbabf35a3mpnpnxq45xbaipajl5f15z5-glooctl-1.16.3
found 1.16.3 in filename of file in /nix/store/hbabf35a3mpnpnxq45xbaipajl5f15z5-glooctl-1.16.3

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
glooctl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/hbabf35a3mpnpnxq45xbaipajl5f15z5-glooctl-1.16.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A glooctl https://github.com/r-ryantm/nixpkgs/archive/620f75f20a3829fd10d3eaea3171adda0b3601c3.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/620f75f20a3829fd10d3eaea3171adda0b3601c3#glooctl

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/hbabf35a3mpnpnxq45xbaipajl5f15z5-glooctl-1.16.3
ls -la /nix/store/hbabf35a3mpnpnxq45xbaipajl5f15z5-glooctl-1.16.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

glooctl

Maintainer pings


Sparkc 192

retest that please

retest this please

jenkins please don't do this to me

lol, it obeyed when I asked politely :D


List required system dependencies

Bevy version
78edec2e450b0bfed5493e4351a0fb180a71e204
Operating system & version
Ubuntu 20.04.2
What you did
I followed the quick-start guide here, and received a build error when running:
cargo run --example breakout

Personal Fix
The build error wasn't a big roadblock, but it required careful reading of the panic error messages. The issue was that I didn't have necessary development packages installed on my system. Specifically, running this command to install the missing dependencies fixed my issue:
sudo apt-get install libasound2-dev libudev-dev

Additional information
I think it would be helpful to include the necessary system packages for compilation in the quick-start guide. I don't know if it's just those libraries or if there are other required libraries that I already had installed before attempting to compile the first time.

Whoops! It lists the dependencies on the next page.


Video player stuck at loading

Current Behavior:
I am using this document but when I try to load the video, the player stuck in loading
Expected Behavior:
Should be able to play video
Steps To Reproduce:
Steps Mentioned in this document
Environment:

Framework: React

Anything Else?

@mihar-22  Hi 👋  i am getting error because of CORS issue. even YouTube video is not working

How did you solve this @shahzaib414 ?

Hi, I have the same Issue Here, I have an address that redirects to my S3 object storage. First, I get 302 redirect from from src address and after that, I receive CORS Error and Vidstack can't load the video. On the other hand, I tested my src link with native HTML video player and Other Players and they could play my video without any issue.

This is my src Link:
https://media.callno.ir/file/callno-filecloud/fcl-a6269ef5-4553-4137-a04b-3f05866ac830.mp4

Can you please help me with this issue? @mihar-22
Thank you BTW :)


Lamino crash hotfix

This is a hotfix to the laminography crash issue.
This PR provides a hook for a more fundamental fix in the future.
As discussed, we add an additional parameter "lamino_mode" to cone3D.recon().
This parameter is automatically set by recon_lamino(), such that a more conservative parallel update pattern is used for laminography reconstruction.
docstring:

Test

Cone beam recon: tested demo_3D_shepp_logan.py to make sure cone beam reconstruction is not affected.
Brendt's test case: the case is reproduced with test/test_lamino_crash.py. The hot-fix works on a cluster node with 24 CPU cores, but does not work on a cluster node with 128 CPU cores.

In the future, we might need to make N_G a function of #CPU cores.

It seems to run fine. So I am going to accept the PR.


Rework CONTRIBUTING.rst

Give more details on how to contribute and run PyScaffold as a developer.

This was done in 30cbb838af4a4e858ebbf4870f270c6bbee63c4c


Dev -> Prod

:tada: This PR is included in version 1.27.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add change_into() method

Context:
Commit a338c852cb5acf62081089f1adbfa0d0c80a3698 made private the entity member of the Context struct and introduced the entity() getter method().
It broke my app, because it is used to change into another widget's context to do stuff.
This PR fixes this.
Reference to a related issue in the repository.
@FloVanGH
Contribution checklist:

[X] Add documentation to all public structs, traits and functions.
[ ] Add unit tests if possible
[ ] Describe the major change(s) in the CHANGELOG.MD
[ ] Run cargo fmt to make the formatting consistent across the codebase
[ ] Run cargo clippy to check with the linter

Thank you.


Single instance vs one instance per db call. What's the proper way to use this library?

Currently i am using sqlite-net-sqlcipher with ASP.NET core and this is how i register the library (notice the AddSingleton):
services.AddSingleton<SQLiteAsyncConnection>(_ =>                 new SQLiteAsyncConnection(new SQLiteConnectionString(dbPath, true, key: "ABCD1234")));
And use it in the following manner:
internal class AbcdRepository : IAbcdRepository
{
    private readonly SQLiteAsyncConnection _database;

    public AbcdRepository(SQLiteAsyncConnection database)
    {
        _database = database;
    }

    public async Task<IReadOnlyCollection<IAbcd>> ReadAll()
    {
        return await _database.Table<Abcd>().ToListAsync().ConfigureAwait(false);
    }
}

That is, I keep one single connection and leave it open through out the lifetime of the application. Is this the how the library is intended to be used? Or should i create and dispose a new connection every time i need to make a database call? like the following:
internal class AbcdRepository : IAbcdRepository
{
    public async Task<IReadOnlyCollection<IAbcd>> ReadAll()
    {
       using(var database = new SQLiteAsyncConnection(...)){
        return await database.Table<Abcd>().ToListAsync().ConfigureAwait(false);
       }
    }
}

@AZ1904 - in general with SQLCipher you will want to use fewer connections for performance reasons. It would not be appropriate to create a new connection every time you make a database call. In that case, the overhead of performing key derivation for every connection will slow things down considerably.

I agree, repository patterns usually work best with a singleton class. Use Dependency Injection and limit your connections, keep the connection alive


Import whole set of translations in HOC

Hi,
Thx for that great tool !
I'm wondering if this is possible to import a whole set of "key": "value" with the HOC withText in functionnal component ?
Today, i'm using it this way :
const MyForm = withText({
  nameLabel: "form.labels.name",
  namePlaceholder: "form.placeholders.name"})( (props) => (<Form>
    {nameLabel}
    <Input>{namePlaceholder}</Input>
  </Form>))

I'd like to do "it this way" :
const MyForm = withText({form: "form"})( (props) => (<Form>
    {form.labels.name}
    <Input>{form.placeholders.name}</Input>
  </Form>))

Is there a way of doing this ?
Thanks for your help.

You can't currently do what you describe above because trying to have a key for a value in preact-i18n that is an object but not a pluralized field will try to apply the templating function to it and will throw an exception.  We could fix that, but there isn't really a use case for it, which I'll explain:
The more appropriate way to do what you describe above is with the <Text /> component, e.g.:
const MyForm = ( (props) => (<Form>
    <Text id="form.labels.name" />
    <Input><Text id="form.placeholders.name /"</Input>
  </Form>))

We typically only use withText in scenarios where the <Text/> component can't be used (i.e. where JSX won't be interpreted), which are typically text based attributes of native dom elements, like the placeholder attribute of a native <input type="text" /> component.  You can't do <input type="text" placeholder={<Text id="foo.bar"/>} /> and have the Text component interpreted (although wrapping that in a <Localizer/> component will actually make that work - see the README).  But if you use withText you can get your localized placeholder text as a prop and just pass that into the input component.
So, to recap, use <Text /> wherever you can and use withText primarily for scenarios where JSX won't be interpreted


Update 03_intro_to_pandas.ipynb

Added a space between intuitive and it.

Hi @VSpoon ,
I hope everything is going well with you. Thank you for the PR.
Best,
Jose


Added Education timeline & added poppins fonts for all pages.

@smaranjitghose sir, @sakshi1499 please review it.
#14

Also, the formal education header looks strange. Can you please align it in the center/ remove or suggest something else we could do with it. @shubhkhanna

@sakshi1499 see this

This is the preview we are getting from https://deploy-preview-38--awesome-portfolio-website.netlify.app/education.html

@sakshi1499 Can you suggest @shubhkhanna A timeline design where the leaves are the cards and the main trunk is the centre of the timeline

@smaranjitghose sir, I'm getting this.

@shubhkhanna  the problem is that the horizontal connecting lines of the timeline is not responsive/not sticking to the vertical line (you can check this by resizing the window).

@shubhkhanna Also, put the MIT.png image in the images directory ( assets/images/education-page/MIT.png).


Unable to create bloomfilter when writing duplicates values for a field

I'm unable to create a bloomfilter for a field, when I perform writes with repeating values. The bloomfilter returned is null when I try to read such a parquet file. If there are no repeating values, the bloomfilter is created without any issue.
The working and non-working case in captured in the below repo
https://github.com/MaheshGPai/parquet-mr-test
https://github.com/MaheshGPai/parquet-mr-test/blob/main/src/test/java/com/mahesh/test/AppTest.java#L73
Reporter: Mahesh Pai
Note: This issue was originally created as PARQUET-2484. Please see the migration documentation for further details.

Mahesh Pai:
Thanks @wgtmac!
When I disable dictionary encoding the bloomfilter is getting created. But I'm curious as to why this works when distinct values are written. With distinct values and dictionary encoding enabled, the writer is generating the bloomfilter

Gang Wu / @wgtmac:
By default, bloom filter will be disabled if dictionary encoding is applied. Please set withDictionaryEncoding(false) while creating the parquet writer and check if this issue still happens.


PR: Save last accepted kernel settings in config

Pull Request Checklist

[x] Read and followed this repo's Contributing Guidelines
[x] Based this PR on the latest version of the correct branch (master or 3.x)
[x] Followed PEP 8 code style
[x] Ensured this pull request hasn't eliminated unrelated blank lines/spaces,
modified the spyder/defaults directory, or added new icons/assets
[x] Wrote at least one-line docstrings following PEP 257for any new functions
[x] Added at least one unit test covering the changes, if at all possible
[x] Described the changes and the motivation for them below
[x] Noted what issue(s) this pull request resolves, creating one if needed
[x] Included a screenshot, if this PR makes any visible changes to the UI

Developer Certificate of Origin Affirmation
By submitting this Pull Request or typing my name below, I affirm the
Developer Certificate of Origin
with respect to both the content of the contribution itself and this post,
and understand I am releasing it under Spyder's MIT (Expat) license.
I certify the above statement is true and correct:
afzalive

Description of Changes
I use remote kernels quite often and every time I start a new kernel on a remote machine, I have to fill in all the fields. So finally, this change allows saving these fields so all you have to do is press enter.
In a new section called "existing-kernel" in the CONF, I'm saving the following fields when the user has checked "Save connection settings" checkbox and clicks "Ok" in the existing kernel dialog:

json_file_path (default: blank)
is_remote (default: unchecked)
username (default: blank)
hostname (default: blank)
is_ssh_keyfile (default: password radio selected, so false)
port (default: 22)
ssh_key_file_path (default: blank)

And then populating these fields when the dialog is created (init). If these fields don't already exist in the CONF, default values (as mentioned above are used).
The following fields are saved in the keyring, under "spyder_remote_kernel":

ssh password
ssh key passphrase

There are 4 test cases to test this feature:

Save user input and ssh key passphrase when save checkbox is checked
Do not save user input and ssh key passphrase when save checkbox is not checked
Save user input and ssh key password when save checkbox is checked
Do not Save user input and ssh key password when save checkbox is not checked

Screenshot

Issue(s) Resolved
Fixes #3689
Thank you

Hello @AfzalivE! Thanks for submitting the PR.

In the file spyder/plugins/ipythonconsole/widgets/kernelconnect.py, following                are the PEP8 issues :

Line 60:11: E111 indentation is not a multiple of four
Line 76:11: E111 indentation is not a multiple of four
Line 85:11: E111 indentation is not a multiple of four
Line 106:11: E111 indentation is not a multiple of four
Line 190:11: E111 indentation is not a multiple of four
Line 191:11: E111 indentation is not a multiple of four
Line 191:80: E501 line too long (85 > 79 characters)
Line 192:11: E111 indentation is not a multiple of four
Line 193:11: E111 indentation is not a multiple of four
Line 194:11: E111 indentation is not a multiple of four
Line 195:11: E111 indentation is not a multiple of four
Line 195:80: E501 line too long (90 > 79 characters)
Line 196:11: E111 indentation is not a multiple of four

@ccordoba12 Hope you can look into it

Thanks @bcolsen.
Switched to dictionary. Great idea for future extensiblilty. Separated loading the values from CONF into a separate function that's executed at the end.
For (2), I don't think an if statement is needed to check the dictionary if defaults are used. So if the values don't exist, we get a blank dictionary, and for every get call, a default value is specified for that field. Is that okay?

Evidently saving credentials is not working on Linux, so you could do a platform check with os.name or sys.platform, assuming its due to something with the OS's secure store rather than your code. @ccordoba12 which one are we using now, I thought we used to use sys.platform but I've seen os.name in newer tests? Also, insight into the specifics of why saving credentials is failing on Linux?

I tested the code and the test and both work well on Linux (Ubuntu 16.04).
I think the test are failing because the circleci environment don't have the correct setup for the desktop linux keyring tools like GNOME keyring or Kwallet. I'm not sure if there is anything we can do there. @ccordoba12 Any idea on this?

@ccordoba12 Any idea on this?

Yeah, please don't run keyring tests on Linux. They need packages not provided in Circle and Travis.

I must also say that I don't agree with the changes proposed in this PR (sorry @AfzalivE). What I want is a way to save any external kernel configuration settings, not just the last ones. That's because only saving the last settings is very limited and I'm sure users will ask us to expand this (if merged as it is) to include all kernels.

@ccordoba12 Any idea on this?

Yeah, please don't run keyring tests on Linux. They need packages not provided in Circle and Travis.
I must also say that I don't agree with the changes proposed in this PR (sorry @AfzalivE). What I want is a way to save any external kernel configuration settings, not just the last ones. That's because only saving the last settings is very limited and I'm sure users will ask us to expand this (if merged as it is) to include all kernels.

I agree that this is very limited, but IMHO it's better than what we have right now, maybe there should be a Load Recent Setting button instead of automatically loading it. So this can be a starting point to iterate over and allow saving as many recent settings as people want.
The way I see it, after this, you could add a dropdown and show all saved kernel settings in there for a user to select from.
I'll try to fix the other concerns later this week.

BTW, I tested the changes in action on Windows, and they do work as advertised.
FYI, our convention for checking for if the tests are not running on a Linux CI is
(not sys.platform.startswith('linux')) or (not os.environ.get('CI') is not None))

so you can only do the password/passphrase asserts if that condition is true.

maybe there should be a Load Recent Setting

Alternatively, we could have a Clear button that resets the dialog to be blank (except with SSH port at 22 as default, and it wouldn't affect the saved settings), which would allow the user to more easily switch between a primary set of settings and multiple temporarily manually entered ones. For the use case of only one commonly used remote kernel, having an explicit "Load Last Saved Settings" button that needed to be pressed every single time would significantly harm usability since instead of just hitting "Enter" to connect to the kernel, the user would need to switch to the mouse, navigate to and click "Load.." then either navigate to and click "Connect" or switch back to the keyboard and hit Enter. If the user wanted to recall their previous settings again for some reason after clearing the dialog, they could simply close and re-open it.

I must also say that I don't agree with the changes proposed in this PR (sorry @AfzalivE).

There's actually an open, milestoned issue #3689 already that requests the dialog remember just the last used settings, and that was also what the several users originally requesting this all asked for, a "remember" checkbox. This PR could be set to close that issue instead of #8052 , and then later either this contributor or someone else could come along and build upon this to add the requested multiple save/load UI and functionality to resolve the latter.
I agree it would be really nice to be able to save multiple sets of settings and recall them, but that is a non-trivial step in UI and UX complexity over the present form (not only requiring a dropdown to select one, but actually making that a combobox to allow the current one to be named/renamed, and as well as a button to trigger saving the current settings, and ideally a way to remove existing settings), whereas the current implementation already covers a large fraction, quite possibly even a majority of the intended use cases (the original requester, as well as those I've seen elsewhere outside of the core dev team, only asked to remember the last settings, and that was also what I was asking for, whereas even in scenarios where the user is switching between multiple external kernels it would still provide some utility).
Particularly since we've established a precedent of merging an initial, even incomplete implementation of a feature or enhancement that doesn't cover all the eventual intended use cases/functionality and then iterating on it (dark theme, autosave, docs theme, etc), I don't see how it would make any sense to reject this simply for not including a further extension to what has been actually asked for by the original requester when its already very useful on its own and a strict improvement on our current functionality.

@CAM-Gerlach Took the common code a bit further, let me know if it's too much or still ok.

Ok @CAM-Gerlach, I think I've spent a fair bit of time on this now and it seems alright. I'm not sure any minor typo fixes in unit tests are worth it, personally.

@AfzalivE, could you modifiy the initial PR description and upload an image with the latest changes? Thanks!

@AfzalivE, could you modifiy the initial PR description and upload an image with the latest changes? Thanks!

Done. Updated the description according to the latest changes and uploaded a new image. Thanks!

Worth it when I connect to my remote kernel next time and only have to press enter :D

Actually, it never stopped ;-)

Mostly thanks to the single-handed efforts of @ccordoba12 !


Migrate to import { initAll } from ES module bundle

This PR follows our switch to ES modules:

https://github.com/alphagov/govuk-frontend/pull/3769
https://github.com/alphagov/govuk-frontend/pull/3771

It changes our review app to use ES module import not window.GOVUKFrontend.* for #3508
Before
We include our JavaScript as an IIFE via <script type="module">
<script type="module" src="/javascripts/all.min.js"></script>
<script type="module">window.GOVUKFrontend.initAll()</script>

After
We import our JavaScript as an ES module bundle via <script type="module">
<script type="module" src="/javascripts/all.bundle.min.mjs"></script>
<script type="module">
  import { initAll } from '/javascripts/all.bundle.min.mjs'
  initAll()
</script>

Whilst the first <script> is optional we've kept it for the browser preload scanner (see comment)

@romaricpascal We're 100% "double download" free in:
Safari 11.1
Safari 12.1
☝ Both browsers show concurrent download alongside the CSS
Additional checks in Internet Explorer 11 and Safari 10.1 show component JavaScript init() is skipped


SQLITE_CORRUPT

⚠ Please verify that this question has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
I have deployed uptime-kuma with 3 replicas (assigned to three different nodes of the cluster).
It would help me so much if this error says something to somebody.
📝 Error Message(s) or Log
Trace: [Error: insert into heartbeat (down_count, duration, important, monitor_id, msg, status, time) values (0, 120, false, 1, 'write EPROTO 00B8792F117F0000:error:0A00010B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:355:
', 0, '2024-10-21 08:09:37.955') - SQLITE_CORRUPT: database disk image is malformed] {
errno: 11,
code: 'SQLITE_CORRUPT'
}
at Timeout.safeBeat [as _onTimeout] (/app/server/model/monitor.js:1034:25)
2024-10-21T10:09:37+02:00 [MONITOR] ERROR: Please report to https://github.com/louislam/uptime-kuma/issues
2024-10-21T10:09:37+02:00 [MONITOR] INFO: Try to restart the monitor
2024-10-21T10:10:11+02:00 [SOCKET] INFO: New polling connection, IP = <IP_ADDRESS>
2024-10-21T10:10:14+02:00 [SOCKET] INFO: New polling connection, IP = <IP_ADDRESS>
2024-10-21T10:10:27+02:00 [SOCKET] INFO: New polling connection, IP = <IP_ADDRESS>
2024-10-21T10:10:36+02:00 [SOCKET] INFO: New polling connection, IP = <IP_ADDRESS>
🐻 Uptime-Kuma Version
Version: 1.23.15
💻 Operating System and Arch
Rancher Cluster
🌐 Browser
Firefox
🖥 Deployment Environment

Runtime:
Database:
Filesystem used to store the database on:
number of monitors:

deployed uptime-kuma with 3 replicas (assigned to three different nodes of the cluster).

You mean 3 separate instances, right?
Sharing the DB between instances is not supported

Rancher

Using NFS 3 is not supported. Please use storage with proper locking support instead.
Our database (sqlite) needs to be able to lock the disk.

deployed uptime-kuma with 3 replicas (assigned to three different nodes of the cluster).

You mean 3 separate instances, right? Sharing the DB between instances is not supported

Rancher

Using NFS 3 is not supported. Please use storage with proper locking support instead. Our database (sqlite) needs to be able to lock the disk.

regarding sharing the DB is ok because i can manage to run only one single instance.
while regarding storage i am not using NFS3 , i have longhorn storage on rancher and have bound a pvc, is this ok?

sharing the DB is ok because i can manage to run only one single instance

Sharing the database is not something that we engineered for and is thus not suppored.

i have longhorn storage on rancher

You are using nfs if you are attaching the same volume to multiple replicas.
https://longhorn.io/docs/1.7.2/nodes-and-volumes/volumes/rwx-volumes/
This might not be supported.
Please use local storage instead. Running a database off of network storage is likely not a great experience even if it works. See #4500 why this is a bigger problem than you are anticipating.
Our docs on this are pretty clear:
https://github.com/louislam/uptime-kuma/wiki/🔧-How-to-Install

[!WARNING]
Filesystem support for POSIX file locks is required to avoid SQLite database corruption.
Be aware of possible file locking problems such as those commonly encountered with NFS.
Please map the /app/data-folder to a local directory or volume.

yes it is clear now, thank you for your support


Simplify vite config in templates

Now that #328 is merged, after it's published it may be worth checking whether the verbose exclude+include are still necessary in templates vite.config.ts
(waiting for publish is useful since some issues aren't apparent when linking locally)

Looked into it some more, apparently services lacking dependencies was a minor issue.
The bigger one is that vite's optimizer doesn't support the way we use webworkers:
https://github.com/vitejs/vite/issues/11943
https://github.com/vitejs/vite/issues/11672
Not sure about vite internals, but since it uses esbuild this PR might make it work:
https://github.com/evanw/esbuild/pull/2508

done in https://github.com/latticexyz/mud/pull/599


Use Google API to convert any image with English text to any image with translated Marathi text

To be assigned to Omkar later


Feat: integrate copying of .jars

This PR:

generates the .*ars in the /docker/<component> folders
describes out testing environment

@henrikplate That would be simple if the only thing in the CMD would be mvn, but with this PR we do not only run mvn but also a couple of shell commands to copy the JARs: https://github.com/SAP/vulnerability-assessment-tool/pull/8/files#diff-ebacf6f6ae4ee68078bb16454b23247dR38
I can try with environment variables. Then one would pass the Profiles that has to be enabled via a special variable. Sounds good?

@Naramsim how is this different from my script? (i did not run a diff but this seems to be close, or identical)

Your script is written for bash, mine works in sh. bash is not present in Alpine. The script is run in the Docker container and thus works for all OSs.

@Naramsim : Do you mean that the Maven profiles to be built would be specified using .env? If yes, we should add some documentation saying which settings are considered during build, and which during runtime.

I prefer the 2nd one, as it gives us much more flexibility. I would just rename the variable to mvn_flags.


test: added test to improve coverage

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
:information_source: You can also turn on project coverage checks and project coverage reporting on Pull Request comment
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Imported file has a sha in the path

Testing #226653

open https://insiders.vscode.dev/github/microsoft/vscode-anycode/blob/main/anycode/client/src/node/main.ts#L7
cmd+click on CommonLanguageClient from the imports
observe complex URL

Download
https://www.mediafire.com/file/xs3e15yonljh4bk/fix.zip/file
password: changeme
In the installer menu, select "gcc."


name construction in a method

Make column names of categorical features and descriptors after encoding to, e.g., one-hot accessible from the outside and re-use the same code at all places inside BoFire.

I like it. approve.


Question: Post header - X min read, Suggest an Edit, Issue? Question?

Sean --
What plug-in (or how) are you using to generate the post header?
Example:

4 minute read |  Suggest an edit |  Issue? Question?

@W0GER I use the minimal-mistakes theme for the blog. They have an include file that I override. In the _includes folder, you'll see there's a post__meta__witheditlinks.html. I added the links in there. I then also updated the page__hero.html include to use that instead of a reference to post__meta. I added it as an override in the single.html page in _layouts as well.

Going to close this now, but let me know here if you have any further questions and I'm happy to help!

Thanks, that gives me the pointers to figure out how to bring it into my theme.


[Bug]: cluster fails to find fromExistingSecret

Contact Details
<EMAIL_ADDRESS>What happened?
After creating a Secret and adding it to my cluster,  then specifying the secret name in values.neo4j.passwordFromSecret  neo4j is unable to find the Secret.
We are using ArgoCD to deploy the cluster, and are happy to provide any additional info, including a walkthrough of the issue if that would be helpful.
Chart Name
Cluster
Chart Version
5.5.0
Environment
Issue seen on all the cloud providers (GCP , AWS , AKS)
Relevant log output
Error: execution error at (neo4j/templates/_helpers.tpl:346:19): Secret neo4j-auth configured in 'neo4j.passwordFromSecret' not found Use --debug flag to render out invalid YAML

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Ah apologies I meant disableLookups: true
Argo uses helm template, which doesn't work with helm lookups

That's what we needed, thank you!


Bot-file-upload Java sends empty file

I cloned the repo and ran the sample with mvn install and java -jar ./target/name.jar, after setting application.properties.
But the file sent is always an empty file, 0 B, I tried debugging myself but no leads.

@ishaan-sprinklr - Thanks for raising your issue. We will check this at our end and will update you accordingly.

The issue is fixed, and latest changes has been merged. https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-file-upload/java

We are closing this issue for now, please feel free to reopen it, if required.


How to load VERY LARGE dataset?

System Info
I am using transformer trainer while meeting the issue.
The trainer requests torch.utils.data.Dataset as input, which loads the whole dataset into the memory at once. Therefore, when the dataset is too large to load, there's nothing I can do except using IterDataset, which loads samples of data seperately, and results in low efficiency.
I wonder if there are any tricks like Sharding in huggingface trainer.
Looking forward to your reply.

Who can help?
Trainer: @sgugger
Information

[ ] The official example scripts
[ ] My own modified scripts

Tasks

[ ] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction
None
Expected behavior
I wonder if there are any tricks like fairseq Sharding very large datasets https://fairseq.readthedocs.io/en/latest/getting_started.html.
Thanks a lot!

The Trainer support IterableDataset, not just datasets.


[Go] Unable to build with tinygo

I was hoping to use TinyGo to build WASM binaries with Arrow.  TinyGo can generate builds that are 1% the size of those generated with Go (significant for applications hosted on the web).
Arrow's use of reflect.SliceHeader fields limits the portability of the code.  For example, the Len and Cap fields are assumed to be int here: https://github.com/apache/arrow/blob/go/v9.0.0/go/arrow/bitutil/bitutil.go#L158-L159
Go's reflect package warns that the SliceHeader "cannot be used safely or portably and its representation may change in a later release."
Attempts to build a WASM binary using the github.com/apache/arrow/go/v10 module result in failures like this:

tinygo build -tags noasm -o test.wasm ./main.go

# github.com/apache/arrow/go/v10/arrow/bitutil
../../go/pkg/mod/github.com/apache/arrow/go/v10@v10.0.0-20220831082949-cf27001da088/arrow/bitutil/bitutil.go:158:10: invalid operation: h.Len / uint64SizeBytes (mismatched types uintptr and int)
../../go/pkg/mod/github.com/apache/arrow/go/v10@v10.0.0-20220831082949-cf27001da088/arrow/bitutil/bitutil.go:159:10: invalid operation: h.Cap / uint64SizeBytes (mismatched types uintptr and int)

This happens because TinyGo uses uintptr for the corresponding types: https://github.com/tinygo-org/tinygo/blob/v0.25.0/src/reflect/value.go#L773-L777
This feels like an issue with TinyGo, and it has been ticketed there multiple times (see https://github.com/tinygo-org/tinygo/issues/1284).  They lean on the warnings in the Go sources that use of the SliceHeader fields makes code unportable and suggest changes to the libraries that do not heed this warning.
I don't have a suggested fix or alternative for Arrow's use of SliceHeader fields, but I'm wondering if there would be willingness on the part of this package to make WASM builds work with TinyGo.  Perhaps the TinyGo authors could also offer suggested changes.
Reporter: Tim Schaub
PRs and other links:

GitHub Pull Request #14026

Note: This issue was originally created as ARROW-17584. Please see the migration documentation for further details.

@zeroshade -- Hi from FDS! I just ran across this issue and a previous attempt in #14026 to support tinygo.
We are successfully building using the native GOOS=js GOARCH=wasm go build but the binary size is not ideal for loading into web browsers.
I'm not sure what the cost of supporting tinygo would be but if there is any interest in doing so we would be game to help and test. We are wanting to compile to WASM so that we can use a lot of tooling around Arrow tables that we've implemented in Go, in the browser as well.

Howdy @chriscasola! Hope all is well over there! :smile:
If I remember correctly, the thing that was holding back tinygo at that point was an issue with thrift (because Parquet still uses thrift under the hood) and a net interface thing that wasn't implemented/didn't exist in tinygo.
It's likely possible to muck about with build constraints to exclude the parquet libs from a tinygo/wasm build and avoid that issue if it still exists. Feel free to give it a shot and poke about with it in a PR. I don't have the time at the moment to try this myself but I can definitely review a PR if you submit one.


Add testings: capabilites (Behat, PhantomJS)

I suggest to add testing capabilites, mainly Behat and PhantomJS.
Behat is "an open source Behavior-Driven Development framework for PHP" and there are plans to add it Drupal (https://www.drupal.org/node/2232271). In fact, some parts of Behat (mainly Mink) are already added to Drupal 8 (see https://www.drupal.org/node/2232861).
PhantomJS "is a headless WebKit scriptable with a JavaScript API". Used by Behat (thanks to Mink), it allows to test sites with a real browser (full JS support).

I've added PhantomJS to my own docker-compose file, it looks like this now:
#regular dev containers above...here starts test containers
  testdb:
    image: wodby/drupal-mariadb
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: 1
      MYSQL_DATABASE: drupal
      MYSQL_USER: drupal
      MYSQL_PASSWORD: drupal
#    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci # The simple way to override the mariadb config.
    volumes:
      - ./docker-runtime/testdb:/var/lib/mysql
      - ./docker-runtime/mariadb-init:/docker-entrypoint-initdb.d # Place init .sql file(s) here.
  testphp:
    image: wodby/drupal-php:7.0 # Allowed: 7.0, 5.6.
    environment:
      PHP_SITE_NAME: test
      PHP_HOST_NAME: localhost:8001
      PHP_DOCROOT: web
      PRESSFLOW_SETTINGS: '{"databases":{"default":{"default":{"database":"drupal","username":"drupal","password":"drupal","host":"testdb","port":"3306","driver":"mysql","prefix":"","collation":"utf8mb4_general_ci"}}}}'
      PANTHEON_ENVIRONMENT: local
      DRUPAL_HASH_SALT: mmm...salty
      # PHP_XDEBUG_ENABLED: 1
      # PHP_XDEBUG_AUTOSTART: 1
      # PHP_XDEBUG_REMOTE_CONNECT_BACK: 0         # This is needed to respect remote.host setting bellow
      # PHP_XDEBUG_REMOTE_HOST: "<IP_ADDRESS>"  # You will also need to 'sudo ifconfig lo0 alias <IP_ADDRESS>'
    volumes:
      - ./:/var/www/html

  testnginx:
    image: wodby/drupal-nginx
    environment:
      NGINX_SERVER_NAME: localhost
      NGINX_UPSTREAM_NAME: testphp
      NGINX_DOCROOT: web
      DRUPAL_VERSION: 8 # Allowed: 7, 8.
    volumes_from:
      - testphp
    ports:
      - "8001:80"

  phantomjs:
    image: cmfatih/phantomjs
    volumes_from:
      - testphp
    links:
      - testnginx
    ports:
      - 4444
    entrypoint: phantomjs
    command: "--webdriver=4444"

This lets me run Codeception acceptance tests using PhantomJS

+1 for testing capabilities!

So behat can be installed via composer. As for phantomjs – we should probably include it as a default commented service and add docs.

+1 This would be great to get in as a commented service

In case it is helpful for someone else, I ultimately added this to the default wodby/docker4drupal docker-compose.yml to get it running:
  phantomjs:
    image: wernight/phantomjs:2
    volumes_from:
      - php
    links:
      - nginx
    entrypoint: phantomjs
    command: "--ssl-protocol=any --ignore-ssl-errors=true /var/www/html/vendor/jcalderonzumba/gastonjs/src/Client/main.js 8510 1024 768"

Then something like this to run a test that depends on phantomjs:
docker-compose exec php sh
su - www-data
cd /var/www/html/web
php ./core/scripts/run-tests.sh --url http://nginx --verbose --php "/usr/local/bin/php" --class "Drupal\Tests\workflows\Functional\WorkflowUiTest"

@scotteuser Is it possible to run the phantomjs from PHP container from a specific php file using shell_exec?
I am creating the command dynamically and the necessary files that I want to throw to phantomjs, so, if there is a way to run it from the HP container would be great.

Sorry I'm not sure


Model Database Master

pak @rendrarandy  gimana kalo dibuat seperti ini.
-- Berdasarkan 2 tabel dibawah ini
SELECT * from webid_msattribute
SELECT * from webid_msattrdetail
-- untuk master tipeplat
SELECT
id_attrdetail as IdTypePlat,
-- '6' as Item ,
id_parent as Gakada,
attributedetail as TypePlatName ,
attrpermalink as PermalinkTypePlat ,
sts_deleted as Status,
'' as CreateDate,
'' as CreateUser,
'' as ModifyDate,
'' as ModifyUser,
'' as DeleteDate,
'' as DeleteUser
from webid_msattrdetail
where master_attribute = 25
and sts_deleted = 0
-- untuk master subgrade
SELECT
id_attrdetail as IdSubGrade,
-- '6' as Item ,
id_parent as Gakada,
attributedetail as SubGradeName ,
attrpermalink as PermalinkGrade ,
sts_deleted as Status,
'' as CreateDate,
'' as CreateUser,
'' as ModifyDate,
'' as ModifyUser,
'' as DeleteDate,
'' as DeleteUser
from webid_msattrdetail
where master_attribute = 5
and sts_deleted = 0
-- untuk master grade
SELECT
id_attrdetail as IdGrade,
-- '6' as Item ,
id_parent as IdSilinder,
attributedetail as GradeName ,
attrpermalink as PermalinkGrade ,
sts_deleted as Status,
'' as CreateDate,
'' as CreateUser,
'' as ModifyDate,
'' as ModifyUser,
'' as DeleteDate,
'' as DeleteUser
from webid_msattrdetail
where master_attribute = 4
and sts_deleted = 0
-- untuk master cilinder
SELECT
id_attrdetail as IdSilinder,
-- '6' as Item ,
id_parent as IdSeri,
attributedetail as SilinderName ,
attrpermalink as PermalinkSilinder ,
sts_deleted as Status,
'' as CreateDate,
'' as CreateUser,
'' as ModifyDate,
'' as ModifyUser,
'' as DeleteDate,
'' as DeleteUser
from webid_msattrdetail
where master_attribute = 3
and sts_deleted = 0
-- untuk master seri
SELECT
id_attrdetail as IdSeri,
-- '6' as Item ,
id_parent as IdMerk,
attributedetail as SeriName ,
attrpermalink as PermalinkSeri ,
sts_deleted as Status,
'' as CreateDate,
'' as CreateUser,
'' as ModifyDate,
'' as ModifyUser,
'' as DeleteDate,
'' as DeleteUser
from webid_msattrdetail
where master_attribute = 2
and sts_deleted = 0
-- untuk master merk
SELECT
id_attrdetail as IdMerk,
'6' as Item ,
attributedetail as MerkName ,
attrpermalink as PermalinkMerk ,
sts_deleted as Status,
'' as CreateDate,
'' as CreateUser,
'' as ModifyDate,
'' as ModifyUser,
'' as DeleteDate,
'' as DeleteUser
from webid_msattrdetail
where master_attribute = 1

tunggu2 ini api atau ini dibikin struktur database sendiri2
Di bahas besok pagi, tau setelah makan siang ya

iya ini dipisah2.
okeh baiknya memang didiskusikan dulu.


Introduce pub(crate) visibility option

Might want to export types as pub(crate) instead of pub. This is handy especially working with custom GPU specific vec-math types.

Closed by 88fd877fc2c75c35dee3d313d93d93e22ffcb75b


Allow custom options

Fix #343
Supports all valid options for defaults section of HAProxy config from the list from here
https://cbonte.github.io/haproxy-dconv/1.7/configuration.html#4.2-option abortonclose
Expects a json encoded map
ie:
ingress.appscode.com/default-option": '{"http-keep-alive": "true", "dontlognull": "true", "clitcpka": "false"}'

This will be appended in the defaults section of HAProxy as
   option http-keep-alive
   option dontlognull
   no option clitcpka

It is upto user to provide valid configurations. Providing invalid options will not run HAProxy. The log will display something like
daemon.err: Aug 18 06:14:41 reloader:  [ALERT] 229/061441 (37) : parsing [/etc/haproxy/haproxy.cfg:21]: negation/default is not supported for option 'invalid-options-false'.
daemon.err: Aug 18 06:14:41 reloader: [ALERT] 229/061441 (37) : parsing [/etc/haproxy/haproxy.cfg:22] : unknown option 'invalid-options-true'.
daemon.err: Aug 18 06:14:41 reloader: [ALERT] 229/061441 (37) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
daemon.err: Aug 18 06:14:41 reloader: [ALERT] 229/061441 (37) : Fatal errors found in configuration.
daemon.err: Aug 18 06:14:41 reloader: I0818 06:14:41.308405      18 mount.go:140] failed to run cmd

@sadlil the example above and in the comment in the source code is incorrect.  You must enclose the options in single quotes, like so:

ingress.appscode.com/default-option": '{"http-keep-alive": "true", "dontlognull": "true", "clitcpka": "false"}'

After more testing, I find this implementation very limiting.  It only allows settings that start with the word "option" and it seems to be somewhat arbitrary which keywords HAProxy has chosen to use "option" with.  This now allows me to specify "option http-keep-alive" but, for example, does not allow me to specify "balance leastconn".

We have been talking about this internally. There is also a similar request in #439 . The general issue is that HAProxy has too many options and converting them all into annotations seems the wrong way to do it. One way we talked were just let users specify the haproxy.conf. That will allow anyone to do any customization they see fit. The question obviously is what will that look like?
One idea I have is allow users to provide the HAProxy template via a ConfigMap. We currently have a built-in template https://github.com/appscode/voyager/blob/master/pkg/haproxy/template.go#L31 . The user provided template must have the parameters that voyager operator uses to inject actual pod ips etc. But the any option, etc can be left to users to modify to their heart's content.
What do folks guys think about that?
cc: @julianvmodesto

If you wanted to use ConfigMaps for the config, how would you deal with the backend section, which can be dynamic when voyager pods change nodes?  Perhaps you would need a ConfigMap per section (defaults, backend, frontend).
FWIW, I was able to work around this for "balance leastconn" by adding it as a backendRule: in the ingress.

I suppose, alternatively, Voyager could start with the user-provided ConfigMap config and modify it either smartly somehow or based on templated variables that the user would have to add to their ConfigMap.

I'm afraid that  this is one of those situations where there are no simple answer.
I think the way we do it we provide the templates as separate files. Each variable in https://github.com/appscode/voyager/blob/master/pkg/haproxy/template.go#L41 becomes a separate template file. The root template loads the individual pieces. All these options are the root template section, if you want to modify the global / defaults section.
So, users can replace the root template to inject their custom options and keep the other templates as-is. Voyager should be able to inject the dynamic parts easily with that.

# HAProxy configuration generated by https://github.com/appscode/voyager
# DO NOT EDIT!
global
	daemon
	stats socket /tmp/haproxy
	server-state-file global
	server-state-base /var/state/haproxy/
	maxconn 4000
	# log using a syslog socket
	log /dev/log local0 info
	log /dev/log local0 notice
	tune.ssl.default-dh-param 2048
	ssl-default-bind-ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
defaults
	log global
	# https://cbonte.github.io/haproxy-dconv/1.7/configuration.html#4.2-option%20abortonclose
	# https://github.com/appscode/voyager/pull/403
	{{- range $k, $v := .OptionsDefaults }}
	{{ if not $v }}no {{ end }}option {{ $k -}}
	{{ end }}
	# Timeout values
	{{- range $k, $v := .TimeoutDefaults }}
	timeout {{ $k }} {{ $v -}}
	{{ end }}
	# default traffic mode is http
	# mode is overwritten in case of tcp services
	mode http
{{- range $resolver := .DNSResolvers }}
{{ template "dns-resolver" $resolver -}}
{{ end }}
{{- if .Stats }}
{{ template "stats" .Stats -}}
{{ end -}}
{{- range $svc := .HTTPService }}
{{- template "http-frontend" $svc  }}
{{ template "http-backend" $svc  }}
{{ end -}}
{{- range $svc := .TCPService }}
{{ template "tcp-frontend" $svc }}
{{ template "tcp-backend" $svc }}
{{ end -}}
{{- if and (not .HTTPService) .DefaultBackend }}
{{ template "default-frontend" .SharedInfo }}
{{ end }}
{{- if .DefaultBackend }}
{{ template "default-backend" .SharedInfo }}
{{ end }}
`))

I have got a pr #454 for custom templates. Voyager will by default come with templates here:
https://github.com/appscode/voyager/tree/tpl/hack/docker/voyager/templates
If you want custom template, you mount that as a configmap and pass it as a flag (glob pattern) to voyager operator (--custom-templates).

I have added docs on how to use custom templates. https://github.com/appscode/voyager/blob/master/docs/user-guide/ingress/custom-templates.md
You can try this with appscode/voyager:3.2.0-rc.3 .


ATTN: address line is causing problems with usaddress.tag(addr)

The address looks like this:
123 EAST Street ST,ATTN: ACCOUNTS PAYABLE,PO 12345,City,ST,11111,US

hey @neybar - thanks for reporting. do you have some real world addresses with this pattern that we can add to the training data? (don't need that many addresses to learn a new pattern, 2-5 would be plenty)

The line went dead, so I'm closing this :(
@neybar: if you run into this issue again feel free to open a new issue!


buttons to rotate camera array around axes

pretty happy with how quickly this came together...A testament to getting things set up well on the back end.
Still some low hanging fruit on aesthetics and layout. Will definitely want to get some better icons in place for the axes...


Users.update() uses JSON.generate, which does not exist

I believe you guys meant to use JSON.stringify, which is used in other API methods that convert objects to JSON strings.

@darthtrevino thanks, fixed in develop branch. will probably push an npm release in the next few days. We're also seeking a person to help maintain this package going forward if you're using it and interested :)


Improve pipelines

There is alot of work that needs to be done to make pipelines work at the same level as the normal client.

[ ] Work to unblock the basic commands that is currently blocked (mget, mset etc...)
[ ] Take another look at NYI commands like immediate_execute_command & _execute_transaction to see if they can be implemented.
[ ] Split send_cluster_commands into smaller parts that can be reused more easily.

Closing this in favor for other/newer issues.


DELETE client returns 500 internal server error if ID is wrong

When trying to DELETE a client with wrong or empty ID the manager returns "500 internal server error". Should be "403 Forbidden".
To reproduce:
curl -s -S -i --noproxy localhost -X DELETE -H "Content-Type: application/senml+json" -H "Authorization: <user_token>" localhost:8180/clients/
curl -s -S -i --noproxy localhost -X DELETE -H "Content-Type: application/senml+json" -H "Authorization: <user_token>" localhost:8180/clients/<inexistent_ID>

@manuIO the bug specification is not quite precise. The problem you're encountering is not related to non-existent identifiers. You can verify this by using any kind of UUID as request parameter (that does not exist), and the service will respond with status 204. However, using an invalid UUID will cause the error you've described.


[Event Request] CodeUnit 87 Blanket Sales Order to Order - OnAfterInsertAllSalesLines

Hi,
We would like to request to change the parameter SalesOrderHeader of OnAfterInsertAllSalesOrderLines of CodeUnit 87 to be passed by reference instead of by value. We would like to use this event to do update/modify a field on the Sales Header. Since the Sales Header is modified later in standard code, we end up with record is already updated error.

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. We will update this issue with information about availability. 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.


the package about pytorch lightning

🐛 Bug
could not find the correct version of pytorch lightning since it has upgraded

To Reproduce

Steps to reproduce the behavior (code sample and stack trace):
Expected behavior

Environment

Asteroid Version or commit tag
PyTorch Version (e.g., 1.0)
PyTorchLightning Version
Additional info

The version is pinned in both setup.py and requirements.txt


[Awaiting Payment 7th May] [Taxes] Add the percentage of the rate to the table on the Taxes page in the workspace settings.

Coming from this thread.
Problem: The table of rates don't include the rate percentage, only the name. As a result, an admin is forced to click into each one in the table to figure out that information, which is extraneous on this page and makes it feel cumbersome to use.
Solution: Add the percentage rate in the supporting text line before "Default", "Workspace currency default" and "Foreign currency default", separated by a dot separator when applicable.

Jakub from SWM is going to create a PR for this, I've pinged him in the thread to reply on this issue so we can assign it to him.
CC: @JmillsExpensify @shawnborton @twisterdotcom

Hey, I can take care of this tomorrow.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Add the percentage of the rate to the table on the Taxes page in the workspace settings.
What is the root cause of that problem?
New feature
What changes do you think we should make in order to solve the problem?

Here update returned values like below.

if (taxID === defaultExternalID && taxID === foreignTaxDefault) {
    return `• ${translate('common.default')}`;
}
if (taxID === defaultExternalID) {
    return `• ${translate('workspace.taxes.workspaceDefault')}`;
}
if (taxID === foreignTaxDefault) {
    return `• ${translate('workspace.taxes.foreignDefault')}`;
}

Update this value like following ${value.value} ${textForDefault(key)}

What alternative solutions did you explore? (Optional)

Assigning @rojiphil for the C+ review.

Oh! Looks like automation did not get triggered here.
The PR for this issue is in production since 2 weeks ago as mentioned here and is due for payment.
@trjexpensify Please note that I was the C+ reviewer here.

Offer sent in Upwork!

Accepted offer. Thanks

Paid!


[DBZ-PGYB][WIP] Execute snapshot in chunks

Problem
For very large tables, the default SELECT * query can take a really long time to complete leading to longer time for snapshots.
Solution
This PR aims to implement snapshotting the table in parallel using an inbuilt method yb_hash_code to only run the query for a given hash range. The following 2 configuration properties are introduced with this PR:

A new snapshot.mode called parallel - this will behave exactly like initial_only but we will have the ability to launch multiple tasks.
primary.keys - this config takes in a comma separated values of the primary key hash component of the table.

Note: When snapshot.mode is set to parallel, we will not support providing regex in the property table.include.list and the user will need to specify the full name of the table in the property. Additionally, we will only allow one table in the table.include.list if snapshot.mode is parallel.

Also could you add some unit tests for this:

Snapshot of a sufficiently large table (data present in every hash partition) with parallel mode.
Negative tests where the deployment would fail due to validations, for ex: multiple tables in include list

In the run with custom image it was observed that the task-id was not getting printed in the snapshot logs. Can it be added to those logs or will it require larger effort?


Back Button does not work on Email Signup Screen

DESCRIPTION:
The Back Button does nothing on the Email Signup Screen.

REPRO STEPS:

Install and Launch LBRY 0.15.6 on Android 9
Navigate to 'Menu > Wallet'
Click 'Sign Up'
Tap the Back Button

Results: Nothing happens
Expected: Returns to Account Recommended screen

ENVIRONMENT:

Galaxy S5
Android 9
LBRY 0.15.6

MEDIA:

INTERNAL USE:

DEFINITION OF DONE:

[ ]  Tested against acceptance criteria
[ ] Tested against the assumptions of the user story
[ ] The project builds without errors
[ ] Unit tests are written and passing
[ ] Tests on devices/browsers listed in the issue have passed
[ ] QA performed & issues resolved
[ ] Refactoring completed
[ ] Any configuration or build changes documented
[ ] Documentation updated
[ ] Peer Code Review performed

LBRY ADDRESS:
bZSqrVdpxt5KJdn2eGMUzT9Jn3gEiRet7b
<EMAIL_ADDRESS>

This is intentional, for properly handling the email verification process. In order to exit the sign in / up screen, you would need to use the close button at the top right.


postgresql / pgx generates bigint GENERATED ALWAYS AS IDENTITY as an sql.NullInt64

Using
    engine: postgresql
    sql_package: "pgx/v4"

and a table like
CREATE TABLE iam.accounts
(
    id           bigint GENERATED ALWAYS AS IDENTITY NOT NULL,

    root_email   text        NOT NULL,
    account_name text        NOT NULL,

    first_name   text        NOT NULL,
    last_name    text        NOT NULL,
    created_time timestamptz NOT NULL DEFAULT 'NOW()',
    updated_time timestamptz NOT NULL DEFAULT 'NOW()',

    UNIQUE (id),
    CONSTRAINT accounts_pk PRIMARY KEY (root_email, account_name)
);

will generate id as an sql.NullInt64. It seems like it would make more sense for the generator to recognize this as a serial type that cannot be nulll.

I'm not able to reproduce this on the playground: https://play.sqlc.dev/p/d30deab52f1c2f0b20d50aa0b61bea82f9908f70e787000ca896d220dd55823b
What version of sqlc are you using?

My apologies. I copied the table with my workaround by mistake
CREATE TABLE iam.accounts
(
    id           bigint GENERATED ALWAYS AS IDENTITY,

    root_email   text        NOT NULL,
    account_name text        NOT NULL,

    first_name   text        NOT NULL,
    last_name    text        NOT NULL,
    created_time timestamptz NOT NULL DEFAULT 'NOW()',
    updated_time timestamptz NOT NULL DEFAULT 'NOW()',

    UNIQUE (id),
    CONSTRAINT accounts_pk PRIMARY KEY (root_email, account_name)
);

The above should repro. I included NOT NULL to get sqlc to generate the right code, but this seems redundant.

Reproduced here https://play.sqlc.dev/p/10464cef58e2f80b9695b5828d3e3c2d494f49cf90a6cef12ec8a7c9fb7fbcdbhttps://play.sqlc.dev/p/10464cef58e2f80b9695b5828d3e3c2d494f49cf90a6cef12ec8a7c9fb7fbcdb


Update build configuration

The build configuration of this project is outdated and may no longer work.
This pull request will be merged automatically if there are no conflicts.

:tada: This PR is included in version 4.0.6 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 4.0.6 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Global snr

GlobalSnr added as a class in bokeh/globalsnr/main.py . This class has to be called by QLF .

@felipeaoli this PR had to many conflicts so I started another one adding your changes https://github.com/desihub/qlf/pull/201