Add char-by-char parsing on env values

this change is to allow for sh-like handling of single quote,
double quote, dollar, hash, and backslash. significantly changes
rules governing valid whitespace. adds unit tests to cover new
cases and (possibly temporarily) comments out two that should
possibly be removed.
closes #31

sooo I did a thing. this is a kind-of-big (and certainly breaking) change. basically after the regex captures value of a line I parse it (hopefully correctly) emulating the way sh handles quotes and escapes.
this is something we may want to discuss because I (intentionally) hard error on unquoted spaces inside values. trailing spaces/tabs should still be trimmed by the regex, and I allow for spaces/tabs preceding comments. personally I'd love to make whitespace around the equals sign an error too, but correctness on that may be too annoying to users unused to sh syntax.
I added unit tests to cover what I could think of but encourage y'all to try and break it. declined to mess wit integration tests until we figure out what to do with #25

Thanks, @alicemaz!
I left a few comments. It looks good to me, nonetheless.
Here's the breaking changes this introduces (@alicemaz please correct me if I don't get it right):

Mismatched quotes are now parsing errors (i.e. foo'bar, "baz""; use foo\'bar, \"baz\"\", baz\" or "baz""`)
Dollar signs are now parsing errors (i.e. $quux; use \$quux)
Spaces inside values are now parsing errors (i.e. FOO=bar baz; use FOO="bar baz")

Personally, I find all of this reasonable. I also think the changes introduced in this pull request get us a little bit closer to having a ✨proper parser ✨ and to ✨getting rid of the scary regex thing ✨, and that's very exciting to me.

Sweet, those look pretty reasonable

@chills42 Great. @alicemaz feel free to merge whenever you're ready!

@slapresta I'd actually defend the existence of the regex, regular grammars are safer and much easier to reason about than fiddly state-based parsers. the latter is necessary for matching delimiters but the rest it's a simple pattern to match against.
what I will do for now is change \s*=\s* to = and merge. for reference, this is the behavior I would like to conform to:

from there I'd like to move the regex out of that function so it doesn't need to be instantiated every line and so it can be tested in isolation, clean up some of the Option and Result juggling, maybe a few other things. but ideally this is all the breaking changes I plan in one go and whatever I'd do next is just implementation details.
as for what is actually breaking... there's a good rundown here http://wiki.bash-hackers.org/syntax/quoting but basically quotes are recognized by the parser and change state without being captured, and " and ' have different rules for what is allowed, eg ' are so-called strong quotes where there are no escapes so '$hello' is fine but "$hello" is necessary to get a $ literal. possibly in the future we might add variable expansion which would also conform with sh sourcing behavior but also could be substantially trickier.
(input / old output / new output)
KEY=value / value / value
KEY="value" / "value" / value
KEY=val\ ue / val\ ue / val ue
KEY=val ue / val ue / ERR
but "mismatched quotes" is better thought of as "unclosed delimiters" and the parser is a simple state machine. so '"here"' the ' are state changes and the "s are taken literally. the salient difference is "qu"ote" is valid because the middle quote is escaped and taken literally but 'qu'ote' is an error because strong quotes do not treat backslashes special, so the third ' is unclosed. you would want to close first like 'qu'''ote' or just go with the simpler "qu'ote" to get the value qu'ote.


⚡ Make TaperedEvaluationTerm an integer

Test  | perf/make-TaperedEvaluationTerm-int
Elo   | -2.24 +- 4.78 (95%)
SPRT  | 8.0+0.08s Threads=1 Hash=32MB
LLR   | -2.27 (-2.25, 2.89) [0.00, 5.00]
Games | 9478: +2888 -2949 =3641
Penta | [299, 1073, 2031, 1062, 274]
https://openbench.lynx-chess.com/test/453/

Only could be improved by making them const, but then the pack formula would need to be applied to every constants ~because C# const support sucks~

Superseded by https://github.com/lynx-chess/Lynx/pull/935


Script compilation errors when updating connection string through Azure DevOps

@otykier  ,
We're getting a script compilation error when calling the script to update the connection string within an Azure DevOps task. We are targeting a model update on a dataset hosted in a Power BI Premium Workspace. We have to issue when deploying the model, just when we call the script. We have tested the script locally within the 'Advanced Scripting' inside of Tabular Editor, and it works.
Error in Azure (all tasks are Powershell Tasks):
Script compilation errors: SetConnectionStringFromEnvPQ.cs(1,32): error CS1002: ; expected PowerShell exited with code '1'.
Powershell task to deploy called within Azure:
$p = Start-Process -FilePath "TabularEditor.exe" -NoNewWindow -PassThru -Wait -ArgumentList "_$(Build.DefinitionName)\drop\Model.bim -S  "SetConnectionStringFromEnvPQ.cs" -D "$(ASConnectionString)" "$(Dataset)"  -P -V -E -W"
Update connection string script called SetConnectionStringFromEnvPQ.cs (the model has Power Query partitions):
// This script is used to replace the server and database names across // all power query partitions, with the ones provided through environment // variables: // This will be an environment variable var newDatabase = "\"" + Environment.GetEnvironmentVariable("database") + "\""; // This will always be the same var Server = "\"" + Environment.GetEnvironmentVariable("server") + "\""; // This function will extract all quoted values from the M expression, returning a list of strings // with the values extracted (in order), but ignoring any quoted values where a hashtag (#) precedes // the quotation mark: var split = new Func<string, List<string>>(m => {     var result = new List<string>();     var i = 0;     foreach (var s in m.Split('"'))     {         if (s.StartsWith("DW") && i % 2 == 0) i = -2;         if (i >= 0 && i % 2 == 1) result.Add(s);         i++;     }     return result; }); var GetServer = new Func<string, string>(m => split(m)[0]); var GetDatabase = new Func<string, string>(m => split(m)[1]);   // Loop through all partitions on the model, replacing the server and database names from the partitions // with the ones specified in environment variables:     foreach (var p in Model.AllPartitions.OfType<MPartition>())     {         // Added the try loop because not all partitions have the same string format of <server> <db> and the function would fail on GetDatabase         try {           var oldServer = GetServer(p.Expression); var oldDatabase = GetDatabase(p.Expression);           // Only update partition if it is pointing to enquiredw             if (oldServer == Server) {                   oldDatabase.Output();                   oldServer.Output();                   // Code below this actually changes the partition string                   p.Expression = p.Expression.Replace(oldDatabase, newDatabase);                   p.Expression.Output();               } ;           }          // This will instruct the loop to continue to the next partition           catch            { return;           }     }
Edit I'm sorry for the poor formatting - I'm not sure how to format.
We have confirmed that the environment variables are returning the expected strings within Azure. As the script works locally (with hardcoding the server and database variable), we're wondering if it's an issue with calling the script in the model deployment.
Any guidance would be greatly appreciated!

// This script is used to replace the server and database names across
// all power query partitions, with the ones provided through environment
// variables:
// This will be an environment variable
var newDatabase = "DW132";
// This will always be the same
var enquireServer = "enquiredwpool.database.windows.net";
var server = """ + enquireServer + """;
// This function will extract all quoted values from the M expression, returning a list of strings
// with the values extracted (in order), but ignoring any quoted values where a hashtag (#) precedes
// the quotation mark:
var split = new Func<string, List>(m => {
var result = new List();
var i = 0;
foreach (var s in m.Split('"'))
{
if (s.StartsWith("DW") && i % 2 == 0) i = -2;
if (i >= 0 && i % 2 == 1) result.Add(s);
i++;
}
return result;
});
var GetServer = new Func<string, string>(m => split(m)[0]);
var GetDatabase = new Func<string, string>(m => split(m)[1]);
// Loop through all partitions on the model, replacing the server and database names from the partitions
// with the ones specified in environment variables:
foreach (var p in Model.AllPartitions.OfType())
{
// Added the try loop because not all partitions have the same string format of   and the function would fail on GetDatabase
try {
var oldServer = GetServer(p.Expression);
var oldDatabase = GetDatabase(p.Expression);
// Only update partition if it is pointing to enquiredw
if ( oldServer == enquireServer) {
// Code below this actually changes the partition string
p.Expression = p.Expression.Replace(oldDatabase, newDatabase);
} ;
}
// This will instruct the loop to continue to the next partition
catch
{ return;
}
}

Tabular Editor will try to locate a file with the provided name after the -S switch. If no such file exists, it assumes that you have provided an inline script, which is of course not the case here, and so you get this c# syntax error: ; expected.
Could you try to provide the full path of the file after -S switch? I'm guessing it would be something like:
"_$(Build.DefinitionName)\drop\SetConnectionStringFromEnvPQ.cs"
...of course depending on where in your repository the file is located.

@otykier  thank you! We should have reviewed the documentation further before posting here. We have successfully updated the connection string on release. BTW I think we're a testament to Tabular Editor. We came into this knowing nothing about: Powershell, C#, or Azure. However, we've put together a CI/CD solution for 400+ clients using your tool!
Thanks for your contribution to the community.


Rounding errors in Grid in flex-basis

The flex-basis uses up to 5 decimals for calculating width(for example - 8.33333%) which sometimes leads to rounding errors.
Example:
Make a grid with width 1248px, spacing = 24
Put 12 grid items with size xs= 1
1248px - ( 12 gutters * 24px) + = 960 px combined column width.
(Even thought there's 11 gutters we calculate 12 because you have half a gutter to the left and right of first and last grid item)
960 px / 12 columns = 80px per column.
Inspect grid item in favourite browser - width of each Grid item is computed to 79.984 px with flex-basis using 8.33333% as basis for calculation.
Directly in browser inspect mode, find the grid element and add one or more decimals to the calculation. For example change flex-basis from 8.33333% to 8.333333%
Calculated width is now properly 80.
Test environment
Safari 12.0
Chrome 67.0.3396.99
OS Mojave 10.14 Beta

@ivoiva Please provide a full reproduction test case. This would help a lot 👷 .
A live example would be perfect. This codesandbox.io template may be a good starting point. Thank you!

@oliviertassinari
https://codesandbox.io/s/qkqrmr6n46
You have to do a lot of digging in the Inspect mode to find the Grid elements but they're there.
Computed width there is 79.98
I also found the cause of the problem
material-ui/core/Grid/grid.js Line:68
var width = "".concat(Math.round(size / 12 * 10e6) / 10e4, "%"); // Close to the bootstrap implementation:
It's this expression. A simple change from .round to .ceiling changes flex-basis calculation to 8.33333% to 8.33334% and correctly computes width to 80px.
This might however lead to rounding errors somewhere else so probably not the best solution.

@ivoiva I don't understand, what the visual issue? How can I reproduce it? I don't think that the how we round the width is relevant. It's a tradeoff between CSS size and correctness.

@oliviertassinari
The visual issue is misalignment of elements because that the calculation for width produces the wrong result.
If you check my math in the initial post, it should compute 80 pixels for each column, but in reality it computes 79.984 due to rounding errors in the code. Check screenshot under.
To reproduce simply see the code i've uploaded here or copy it and compile as a react app.
https://codesandbox.io/s/qkqrmr6n46
or just create a Grid with width 1248px and spacing 24, add 12 Grid Items and inspect their computed properties.

@ivoiva Alright, why not adding one more significant number in, so we have 7 instead of 6:
https://github.com/mui-org/material-ui/blob/fde400f8932191489ba5c6d1ce423c6f4682c26d/packages/material-ui/src/Grid/Grid.js#L47-L48
Here is what I could benchmark:

Right now:
in theory: 1248 * 0.0833333 - 24 = 79.9999584
Chrome 67: 79.984
Firefox 61: 79.983
Safari 11: 79.984375

With one more significant number
in theory: 1248 * 0.08333333 - 24 = 79.99999584
Chrome 67: 80
Firefox 61: 79.983
Safari 11: 80

With Math.ceil
in theory: 1248 * 0.0833334 - 24 = 80.0000832
Chrome 67: 80
Firefox 61: 80
Safari 11: 80

isn't an option. I don't think that it worth taking the risk of having a grid that wrap for the estetic pleasure of having a round number.
So I think that we are good with option n°2. Let me know if you want to submit a pull request :).

@oliviertassinari
Number 2 looks good but it's strange that Firefox still computes 79.983. Having 8 instead of 7 significant numbers solves the issue in Firefox as well.
Do extra significant digits affect performance in practice, in any way? To me it seems that that the browser pads the float with extra digits to make it bigger anyway, so it should be mostly irrelevant how many are kept in regards to performance.
However, while I'm no math expert, I'm worried we might be fixing the symptom rather than the problem.
7 or 8 significant digits solves the problem of 1248 * 0.0833333 - 24, but what about other math calculations? Could some other math calculations need even more significant numbers to avoid rounding errors?
The issue with rounding errors is also not just about having round numbers for estetic OCD pleasure, but that the errors cause misalignment and size issues.
When you have 79.9 instead of 80, then suddenly sub-pixel rendering kicks in and starts manipulating the result in odd ways to make it render correctly. The issue gets magnified by the amount of zoom and number of elements.
Example:
If you have 12 grid elements, each 80 pixels
1st element gets rendered at 0 pixels from left.
2nd gets rendered 0+80 pixels from left = left: 80 pixels.
3rd gets rendered 0+80+80 pixels from left = left: 160 pixels.
and so on
10th element gets rendered at left: 800 pixels.
Now imagine 79.9 pixel width for each element.
1st element gets rendered at 0 pixels from left.
2nd element gets rendered at 0+79.9 = 79.9, but it gets rounded up at rendering, so it gets rendered at left: 80 pixels , which is still correct!
3rd element gets rendered at 0 + 79.9 + 79.9 = 159.8 , rounded up, = left:160 pixels
...and so on
But then you get to 10th element:
0+ 79.9 + 79.9 + 79.9 + 79.9 + 79.9 + 79.9 + 79.9 + 79.9 + 79.9 + 79.9 = 799 pixels. So it gets rendered at left:799 instead of 800.
The 10th element, and all following, get misaligned with 1 pixel.
1 pixel is not much, but when elements are right next to each other it becomes very noticeable.
Then the more elements you have and the bigger the rounding error, the more and more severe the misalignment becomes. If you zoom in on a web-page or increase the scale, the problem becomes more and more obvious.
So I'm not sure what's the correct course of action. The calculation should always return the correct value across all browsers, yet in a way that doesn't affect performance and always produces correct result for all values.
Any suggestions?

So I'm not sure what's the correct course of action.

I think that it's a simple as:
-const width = `${Math.round((size / 12) * 10e6) / 10e4}%`;
+const width = `${Math.round((size / 12) * 10e7) / 10e5}%`;

I think that we have to live the rounding incertitude. I don't think that we can do more about it.

@oliviertassinari
Is there any reason not to use full double precision to make it full-proof?
const width = `${Math.round((size / 12) * 10e16) / 10e14}%
According to IEEE 754 all numbers in JavaScript are stored and expressed as double-precision floats anyway so other than the visually longer number the performance difference should be zero?

Is there any reason not to use full double precision to make it full-proof?

@ivoiva Yes, it's increasing the CSS payload, it can be important when doing server side rendering.

@oliviertassinari
I see.
Then it's a compromise.
Perhaps add an extra prop/attribute to the Grid element to be able to override the precision?
With some sort of enum settings like 'full' and 'half', where 'half' is the current and 'full' the one i suggested, with the DEFAULT behaviour set to 'half'.
That way it will be as lightweight as it is now but if needed by the App's design one can increase to full precision.
As a UX/UI designer I would never use the Material-ui Grid if it renders my elements even slightly wrong, and I can only assume many other designers would think the same, so i think this is an important feature to have.

Perhaps add an extra prop/attribute to the Grid element to be able to override the precision?

@ivoiva We could but I don't think the extra code is going to worth it overall.

As a UX/UI designer I would never use the Material-ui Grid if it renders my elements even slightly wrong

Let me know if you find one that does it correctly. 1/12 is never going to be an integer every time. The width value the browser is computing is one thing, what's important is the e2e result. It looks all good to me right now. There is no gap: https://codesandbox.io/s/1r53lm6qjl.
So, do you want to increase the precision by one digit?


Fixed an issue in the check for interval deletion.

CODE REVIEW
Fixes an issue where an interval was getting incorrectly deleted.  We shouldn't be checking for the size of the interval but if the enough areas were deleted that the interval was consumed in the deletion.
@tannermiller-wf @alexandercampbell-wf @beaulyddon-wf @ericolson-wf @rosshendrickson-wf @tylertreat @stevenosborne-wf
FYI: @bryonmarks-wf

+1

+1

+1


No highlight group for predicate of if statement

var = true
if var # <- no highlight
  #...
endif

var = true
dependency('xx', required: not var) # var is not highlighted

x = [1, 2, 3]
var = x[0] # x is not highlighted

var = true
if var # <- no highlight
  #...
endif

In nvim-treesitter , I link the "var" to variable, it is your theme defined which color to show the color of vairable

https://github.com/nvim-treesitter/nvim-treesitter/blob/master/queries/meson/highlights.scm#L56-L72

The color defined is here, they are variable, I think it is your theme think they should be white

I get "No highlight groups found" when I do :TSHighlightCapturesUnderCursor in neovim

This seems fixed.


How to get all intent filters of an APK, or parse the manifest?

I'm new to this library.
Is there any manual about how to use it in order to parse the manifest file, to see which intent filters the APK declares?

Just wanted to contribute a little to this conversation.
If you use this on Android and need support for devices below KitKat (API 19) you need to remove some Java 7 language features. Specifically:

try-with-resources statements
calls to Objects.equals(Object a, Object b)

Instead of using sun.security.pkcs.PKCS7 you can get the certificate with javax.security.cert.X509Certificate#getInstance(byte[] certData);

@jaredrummler Oops. Sorry for forgetting about JDK7.
I don't remember what I did with the PKCS7 ...  Maybe I used what you wrote.

Hey, I'm back to trying this library on Android, and this time I wish to publish a port of it for Android.
How come "getIntentFilters" isn't available?
@jaredrummler The class you've offered doesn't seem to have a function that's similar to "getCertificates" , as used on CertificateParser::parse :
    PKCS7 pkcs7 = new PKCS7(Utils.toByteArray(in));
    X509Certificate[] certificates = pkcs7.getCertificates();

Thank you for the other stuff. Lint also helps with that.

@CaoQianLi Can you please show how to use the new version of the repo, with the changes of the intent-filter parsing? For some reason, I don't see the functions of the intent-filter parsing...

CertificateParser is used for get certificate info.
Newer version do not provide method to get intent-filters,  you may refer to older code.

@CaoQianLi

Why was the intent-filter parsing removed? How do I get it back?
Is it now using less memory than before? I remember it used a lot sometimes, which would trigger Out-of-memory-exception ...
Could you make the built-in files reading a bit more flexible, as I've written, so that I could tell it from outside how to get an InputStream out of a file name/path?

Working version for Android: https://github.com/jaredrummler/apk-parser

@jaredrummler You've published before I did. :+1: )

@caoqianli  Can you please suggest what I could do further, to make it work faster, and with less memory usage, considering all I need is to get the intent-filters of the APK file?


dev webserver fails to start

Steps:

setup database
cd webserver/server
nvm use
yarn install
yarn dev:start

Fails with:
yarn run v1.22.19
warning ../../../package.json: No license field
$ npx pgtyped --uri -c config.json && yarn build && concurrently "nodemon -x tsoa spec-and-routes" "npx pgtyped -w -c config.json" "nodemon"
Connection failed: no pg_hba.conf entry for host "<IP_ADDRESS>", user "postgres", database "postgres", no encryption
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Connection failed: no pg_hba.conf entry for host "<IP_ADDRESS>", user "postgres", database "postgres", no encryption

Seems like a setup issue with your database connection (unrelated to Carp). Notably, presumably you didn't mean to use the user postgres and database postgres?


Headers.get can return null

Currently Headers.get is defined as returning only string, but it can also return null.
const headers = new Headers();
const contentType = headers.get('Content-Type');

In the above example, current master believes contentType is string, but it should be null | string.
Relevant portion of the spec:

The get(name) method, when invoked, must run these steps:

If name is not a name, then throw a TypeError.
If header list does not contain name, then return null.
Return the combined value given name and header list.

I'm happy to add tests if someone can give me some guidance there. I tried adding the following as tests/bom/Headers.js, but even without this change, I couldn't get bash runtests.sh bin/flow bom to fail, so I must not have been running it correctly. :confused:
/* @flow */

// constructor
const headers: Headers = new Headers(); // correct

// get
const a: null | string = headers.get('foo'); // correct
const b: string = headers.get('foo'); // incorrect

even without this change, I couldn't get bash runtests.sh bin/flow bom to fail, so I must not have been running it correctly

That incantation is correct (it would be better to write ./runtests.sh
instead of bash runtests.sh, but the way you wrote it should work
fine).
The test case that you provided works for me: it fails before this
commit and passes after it, when the proper expected output is provided.
Perhaps you did not run make before invoking ./runtests.sh?
Here is the patch that works for me, though I encourage you to try to
get it working on your own. Once you write the test file, the test
should fail. Then, run ./runtests -r -t bom bin/flow to regenerate the
expected output, and check that the diff is correct.

Patch for 8ca37e0eebe822ffbcf401093234d7d49fb710e6
diff --git a/tests/bom/Headers.js b/tests/bom/Headers.js
new file mode 100644
index 000000000..1f73c76d0
--- /dev/null
+++ b/tests/bom/Headers.js
@@ -0,0 +1,8 @@
+/* @flow */
+
+// constructor
+const headers: Headers = new Headers(); // correct
+
+// get
+const a: null | string = headers.get('foo'); // correct
+const b: string = headers.get('foo'); // incorrect
diff --git a/tests/bom/bom.exp b/tests/bom/bom.exp
index 306aeb9a3..6fabe787c 100644
--- a/tests/bom/bom.exp
+++ b/tests/bom/bom.exp
@@ -569,6 +569,23 @@ References:
                                   ^^^^^^ [5]

+Error -------------------------------------------------------------------------------------------------- Headers.js:8:19
+
+Cannot assign `headers.get(...)` to `b` because null [1] is incompatible with string [2].
+
+   Headers.js:8:19
+     8| const b: string = headers.get('foo'); // incorrect
+                          ^^^^^^^^^^^^^^^^^^
+
+References:
+   <BUILTINS>/bom.js:905:24
+   905|     get(name: string): null | string;
+                               ^^^^ [1]
+   Headers.js:8:10
+     8| const b: string = headers.get('foo'); // incorrect
+                 ^^^^^^ [2]
+
+
 Error ----------------------------------------------------------------------------------------- MutationObserver.js:10:1

 Cannot call `MutationObserver` because function [1] requires another argument.
@@ -778,7 +795,7 @@ References:

-Found 52 errors
+Found 53 errors

 Only showing the most relevant union/intersection branches.
 To see all branches, re-run Flow with --show-all-branches

@wchargin thanks for the help! Once you confirmed I was at least on the right track, I ran through all the steps again from the beginning and everything worked as expected 🤷♂  Just pushed the test!

Cool; glad to hear it.
Thanks for linking the spec and writing a good commit message.
Do you want to fix the same error in URLSearchParams, directly below
this class? Its get method also has nullable result, and
its implementation may return null.

Do you want to fix the same error in URLSearchParams

Done!


Serving script and dev deps

I made this PR while doing another PR :) no features, but purely improved dev experience.
This is, of course, a matter of taste, but generally, it's a bad practice to install global dependencies. I added serve and livereload to dev deps and added a small script to run them. Also, updated the docs.
P.S. Thanks for this great plugin!

Thx, this looks great! I'll double-check tomorrow (I'm in UTC+1) and then merge. 👍

My bad on the second point. Also, I solved the first item in 1061537a1a96e96f7e33542f34037199e7cb94e0
Thanks again, much better like this!

Thanks for the Windows-fixes! Happy to help :)


CodedBufferReader should have a getter for _bufferPos

When reading delimited messsages from a socket, the data may come in in smaller packets.
The typical way to read the messages is by first decoding the message size from with readInt32, then it is possible to decide if the entire message is already in the buffer or if it is required to wait for additional packages before deoding the message.
However as the message size is a varint, the number of bytes used for the size descriptor may vary. There is currently no way of telling how many bytes the CodedBufferReader has consumed in the readInt32, as the _bufferPos member is private.
Adding a getter to access this property would make decoding of delimited message much easier. The coding for this is trivial.

Alternatively there could be remaining() function which returns the number of bytes left in the source buffer:
int remaining() => _currentLimit - _bufferPos;

CodedBufferReader.readInt32 is probably public just to allow testing. I'm not sure if it's something we want to export as a part of the public API. We should probably add @visibleForTesting to readInt32 and other methods that we only make public for testing. Any thoughts on this @sigurdm?
I think it should be possible implement an incremental binary deserializer in a separate library.
In the meantime I suggest copying the readInt32 implementation and modifying it.

Yeah I don't think the CodedBufferReader should ever have been exposed.
Maybe we make it private and have a typedef alias to it that is @Deprecated, that can then be removed at some point.


afterLoad lifecycle function like afterNavigate

Describe the problem
beforeNavigate and afterNavigate are really convenient to manage some state in other components like a loading indicator. However, when using a query param in the url, afterNavigate does not fire. I think this is intended?
It's pretty common to have something like a select input that will update the query param which will trigger the svelte kit load function to rerun and get the new data from the server. Since afterNavigate does not fire here, it's a little tricky to stop the loading state inside of a component directly. Instead the way to do it is to wait for the value from the load function to change, then pass that into your component yourself. It ends up being a little verbose.
Describe the proposed solution
I would be convenient to have something like:
import {afterLoad} from "$app/navigation"

afterLoad(() => {
  console.log("Runs after svelte kit load finishes")
})

It seems like it makes sense to pair this with beforeLoad, although that is already taken care of by just listening to the svelte kit page store since that will update if a query param is changed.
Alternatives considered
At the moment, this can be done by manually waiting for the value from load to change and doing it yourself. It's fine and works.
Importance
nice to have
Additional Information
No response

I think this is a bug — afterNavigate should run when the query parameter changes, unless I've misunderstood. Do you have a repro handy?

Here's a repo for the issue: https://github.com/vpanyushenko/after-navigate-test

This is happening because you're not actually navigating, you're just doing history.replaceState and then tricking SvelteKit into rerunning load by setting the timestamp.
Do this instead:
  function addQueryParam(event) {
    const value = event.target.value;
    console.log("Adding search param:", value);

+   // if (browser) is unnecessary, this function will never run outside the browser.
+   // but i left it here because it would mess up the diff otherwise
    if (browser) {
-      const searchParams = new URLSearchParams(window.location.search);
+      const url = new URL(location.href);

      if (value === "" || value === null || value === undefined) {
-        searchParams.delete("search");
+        url.searchParams.delete("search");
      } else {
-        searchParams.set("search", value);
+        url.searchParams.set("search", value);
      }

+     goto(url);

      //I suspect this might be while the afterNavigate is happening.

      //The reason the state is being replaced instead of pushed is because this is common for applying filters
      //and it's really annoying to use the back button to go through the history of filters rather than just going
      //back to the previous page.

      //Should this be triggering load to rerun since the URL changed?
-      history.replaceState(null, "", "?" + searchParams.toString());

      //Update the session to trigger load to rerun
-      $session.timestamp = Date.now();

      //Can also use invalidate to trigger load to rerun but that used to be glitchy so i tend to use the session timestamp hacky way.
      //invalidate("https://pokeapi.co/api/v2/pokemon");
    }
  }


Data preprocessing pipeline is not reproducible

Hi there,
I am trying to reproduce the data preprocessing pipeline but due to missing files it is currently not possible. Is it possible to include a link to the preprocessed data itself?
Thanks,
Pietro

We just added the processing scripts for SDT. Sorry for the delay. Please feel free to reopen the issue if there are problems running it.

Hi @abhirast, thanks lot for adding it. I'll take a look at it later today. Thanks for your attention!


Bugsnag compatible with Java 1.7

I am very new to Java development and trying to integrate bugsnag with an existing program we have running that requires to be built with Java 1.7.
I notice that v3 of bugsnag for java requires Java 1.8 as I get the dreaded Java unsupported major minor version 52.0 error, even though the release notes say it targets Java 1.6.
Can anyone help figure out how to compile bugsnag for Java 1.7?

Which version of bugsnag should i be using?
Are there any docs available for this version's API, being that I can only find docs for the version 3 API?

Any help would be greatly appreciated.

Ok, so we got version 3.0.0 to compile, but not the latest 3.1.1. Can anyone help me to understand what the differences are?
I need to learn more about how these APIs work.
Thanks in advance.

Thanks for the report @johnrobertporter - which of the installation methods are you using to integrate Bugsnag into your application? A full list of the options is available here.

Hi @fractalwrench, we're using Maven to build the war file and it says version v3.1 for the compiler plugin, and v2.3 for the war plugin.
The JDK we got working was OpenJDK v1.7
Initially we had this in the pom file:
<dependency>
  <groupId>com.bugsnag</groupId>
  <version>3.1.1</version>
  <artifactId>bugsnag</artifactId>
</dependency>

but had to switch it to:
<dependency>
  <groupId>com.bugsnag</groupId>
  <version>3.0</version>
  <artifactId>bugsnag</artifactId>
</dependency>

which compiled fine.
Like I say, we're not Java people here and kind of learning as we go, so if there's anything else I can give in the way of info, please ask.
Thanks for looking at this :)

@johnrobertporter we've just released v3.1.2, which should resolve some packaging issues with the Maven Artefact, and restore JDK 7 support. Sorry about this - our CI server stopped supporting Java 7 so we missed this.
Please get in touch if you have any other questions about getting setup and I'll look into it as a priority.

Thats fantastic news!! Thanks for your help, we'll get it upgraded asap and report back if there are any issues.


Block or Proc?

What is better way how to define a function on RDD?
# as Proc
rdd.map(lambda{|x| x*2})

# as block
rdd.map {|x| x*2}

Which method should be supported?
As Proc:

the same way as in Python
currently implemented

As block:

what about aggregate(zero_value, seq_op, comb_op)
method needs 2 function

Both:

what about reduce_by_key(f, num_partitions=nil)

if you would like to use block and num_partitions:
  rdd.reduce_by_key(nil, 2){|x,y| x+y}

Great gem.  BTW today I just found an interesting way to pass numbers by using format
s=100
RDD.map( "lambda{ |x| x / %d }" % s )


firstValueFrom/lastValueFrom is missing AbortSignal support

Promise based API's should generally also accept a signal property which is passed an AbortSignal instance.
const ac = new AbortController()
const promise = await rxjs.firstValueFrom(x$, { signal: ac.signal })
setTimeout(() => ac.abort(), 1e3)
await promise // Throws abort error.

@benjamingr

@benlesh is someone I trust in both RxJS and AbortSignal and has provided API feedback before.
In my opinion @ronag is in the right here and the API should take a signal.

Why do you think that is the correct way? Why do you think promise API's should support the AbortSignal?

That's a good question.
This is related to discussions (e.g. https://github.com/ReactiveX/rxjs/issues/5545 ) in RxJS about building on and supporting modern cross-platform primitives.
It is the "official guidance" of Node.js and WHATWG that the way to handle cancellation in promise returning APIs is with AbortSignal. We have also added AbortSignal support to all of our own APIs in recent versions.
We don't own the way people write code. RxJS is welcome to do something different from Node.js here - and we are not remotely forcing (or even strongly suggesting) adoption.
I think @ronag's ask is reasonable (support AbortSignal) in APIs that return promises (like .forEach and firstValueFrom).

I agree. I would also like to add it to forEach, but that needs to be more carefully considered, I think.

I'll have a go at this soon.

@benlesh I dont see how AbortSignal having bad performance in some environments should block supporting signals in rxjs. This would be similar to not supporting promises because callbacks are faster, no? If performance is that big of an issue, mention it in the docs so users can opt for other alternatives where performance is an issue.


Use docker 1.7 network command to setup bridge

As of Docker 1.7 network plugins have been marked experimental and will soon allow the following workflow:
Kubelet ensure proper Kubernetes network bridge is in place
$ kubelet --configure-network=true --network-cidr=<IP_ADDRESS>/24 --network-name=kubernetes ...

$ docker network ls
NETWORK ID      NAME           TYPE
d367e613ff7f    none           null
bd61375b6993    host           host
cc455abccfeb    kubernetes     bridge

$ docker run --net=kubernetes

More details regarding network plugins can be found here: https://github.com/docker/docker/blob/master/experimental/networking.md

We should do this once we cut 1.0.

Docker's networking does not allow you to specify a CIDR for the bridge, so
we can not use it yet.
On Fri, Jun 26, 2015 at 11:48 AM, Dawn Chen<EMAIL_ADDRESS>wrote:

We should do this once we cut 1.0.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/10178#issuecomment-115829312
.

Propose closing: I believe this is obsolete with kubenet & CNI work?


cleanup: macro_guide.md has been migrated to Lean 4

See https://github.com/leanprover/lean4/pull/791/files

bors r+


RuntimeError involving freeze_support()

Hi,
Using Python 3.9.4 I try to create a notification with the following line:
client.create_notification("Title TEST", "Subtitle TEST", "Text TEST")
Instead of the notification popping up, the following error is raised:
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/spawn.py", line 134, in _check_not_importing_main
    raise RuntimeError('''
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.

Somebody knows what's going on? Would appreciate the help, thanks! 🙏🏻

Hi Oxxie,
Thank you for opening the issue.
Could you please provide a minimal example to reproduce (instead of just the line)?

Of course @Jorricks, here it is:
from mac_notifications import client

client.create_notification("Title TEST", "Subtitle TEST", "Text TEST")

Running the code above already raises the described RuntimeError exception. There's nothing more to it, I'm afraid. Hope this helps!

Of course @Jorricks, here it is:
from mac_notifications import client

client.create_notification("Title TEST", "Subtitle TEST", "Text TEST")

Running the code above already raises the described RuntimeError exception. There's nothing more to it, I'm afraid. Hope this helps!

Thanks for the quick reply.
It's because we require you to have
if __name__ == "__main__":
    your_function()

This is a limitation enforced from the dependency we have on the MasOS system.

Ah, I see! I have tested it with the requirement as described and it works 👍🏻 Thanks so much, will close this issue!


Added AlgoFi AMM and lending support

🔥  very cool integrating LP deposits/withdraws so quickly after I added better common functionality

yeah, was nice to see LP transactions in koinly!


NLP datasets?

Hello! Not an issue but rather a question regarding features; are there plans to extend this to NLP datasets? :) Thanks!!

That would be a great addition! I don't know much about NLP datasets in few-shot learning/meta-learning, so if you have any suggestion for standard datasets that would be very welcome.

There are some from the LEOPARD paper, perhaps these can be added? I don't know however whether there would be any licensing issues etc. Perhaps you know this better?

That looks great! Without any explicit license there could be an issue with adding that to Torchmeta, but it is worth asking the authors what would be their License for the dataset. That being said, I think that would be a great contribution to Torchmeta.
@theTB Under what license is this dataset distributed? Would you accept it being added to Torchmeta?

Hi. That sounds great, I have no problem with adding these to TorchMeta. Let me figure out the licensing, so I can add it to the repo. I will update here in a couple of weeks or so.

That is great to hear! :D Let me know if you need any help @theTB


Add resource labels to hyperscale instance types

What this PR does / why we need it:
The following resource labels have been added to each hyperscale
instance type to aid users searching for a type with specific resources:

instancetype.kubevirt.io/cpu    - Number of vCPUs
instancetype.kubevirt.io/memory - Amount of RAM

Additionally the following optional bool labels have also been added to
relevant instance types to help users looking for more specific
resources and features:

instancetype.kubevirt.io/dedicatedCPUPlacement
instancetype.kubevirt.io/hugepages
instancetype.kubevirt.io/isolateEmulatorThread
instancetype.kubevirt.io/numa
instancetype.kubevirt.io/gpus

For example:
$ ./cluster-up/kubectl.sh get virtualmachineclusterinstancetype -linstancetype.kubevirt.io/hugepages=true
selecting podman as container runtime
NAME          AGE
cx1.2xlarge   113s
cx1.4xlarge   113s
cx1.8xlarge   113s
cx1.large     113s
cx1.medium    113s
cx1.xlarge    113s
m1.2xlarge    113s
m1.4xlarge    113s
m1.8xlarge    113s
m1.large      113s
m1.xlarge     113s

$ ./cluster-up/kubectl.sh get virtualmachineclusterinstancetype -linstancetype.kubevirt.io/cpu=4
selecting podman as container runtime
NAME         AGE
cx1.xlarge   3m8s
gn1.xlarge   3m8s
m1.xlarge    3m8s
n1.xlarge    3m8s

$ ./cluster-up/kubectl.sh get virtualmachineclusterinstancetype -linstancetype.kubevirt.io/cpu=4,instancetype.kubevirt.io/hugepages=true
selecting podman as container runtime
NAME         AGE
cx1.xlarge   5m47s
m1.xlarge    5m47s

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

Resource labels have been introduced to each hyperscale instance type to aid users searching for instance types providing specific resources.

/cc @0xFelix


Remove arguments and caller properties from ArrowFunction

As stated in ES6 16.1, ArrowFunction should not have caller and arguments properties.
JerryScript-DCO-1.0-Signed-off-by: Rafal Walczyna<EMAIL_ADDRESS>

@rwalczyna Please, note that JerryScript has moved to ES.Next (#3737, #3901). I.e., the project is aiming at the always-latest, or living standard version of ECMAScript. What's stated in ES6 may be valid in the latest version, but not necessarily. There have been backward-incompatible changes in corner cases occasionally. As of now, references shall be made to ES11/ES2020 instead of ES6.

@akosthekiss, this change is also valid in ES11, should I update the commit message, to reference to ES11 instead of ES6?

@rwalczyna Yes, I'd suggest updating the reference in the commit message. IMO we should stress this and keep referring to the latest ES standard version everywhere so that this change sinks in all community members.


Review requirements.txt

The requierements.txt file is possibly not up to date.

we've addressed this issue by making the documentation more explicit and providing clear and precise install instructions for scportrait if the stitching capabilities want to be used. I don't think there is any workaround for having a working java installation for the stitching as we require the use of the Bioformats library to be able to work with a multitude of different imaging formats. If we create a conda release we could address this issue by providing java within the conda specs.


[MM-42884] Guard against malformed error when logging

Summary
There's more context in this thread https://community-daily.mattermost.com/core/pl/xirywgxsw3rit815umggaoaz9y, but essentially the error.stack property is non-standard and can take on different shapes, including a nested structure like the following:

This causes an exception on the .includes line in the diff of this PR, which makes it so the browser never sends the error to the server.
Ticket Link
Fixes https://mattermost.atlassian.net/browse/MM-42884

/release-note-none

It turns out the error here was actually introduced in #9891. There's a typo there that caused us to be passing the whole error object as the stack when calling logError from the window.onerror handler. That's why the stack appeared to be malformed sometimes.
I'm submitting a fix as part of another PR to hopefully improve error handling


feat: Add Iconset to category Icons Tools

Checklist

[x] I made something good today 💐.
[x] I put links in the correct format: [Tool](link) — description.
[x] My description starts with the lower-case letter and ends with the full stop.
[x] I put the tool in the alphabetical order.

Optional

[x] I added the appropriate labels: free, open-source or mac.
[x] I put the tool only to one category.
[x] I followed Contribution Guidelines.

Thanks a lot for your contribution 🥰


Error while fetching update: the trustAnchors parameter must be non-empty

Ripme version: 1.7.70

Java version:
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment (build 11+24-Ubuntu-116.04.1)
OpenJDK 64-Bit Server VM (build 11+24-Ubuntu-116.04.1, mixed mode, sharing)

Operating system: Ubuntu 16.04

Exact URL you were trying to rip when the problem occurred: none, although, I can't rip reddit users either now:
https://www.reddit.com/user/username nor any other website

Please include any additional information about how to reproduce the problem:
Launch the application with Java 11.

Expected Behavior
I expect the program to open without an error and downloads should work.
Actual Behavior
The program opens with an error and it appears I am unable to download anything.

Ubuntu has some known issue with SSL and java 10/11 try the fix listed here

Hi,
I tried that fix, it did not work. I also tried about ten other fixes. However, I did find a fix that worked
According to https://stackoverflow.com/questions/6784463/error-trustanchors-parameter-must-be-non-empty you can fix it with 3 lines.
sudo bash
/usr/bin/printf '\xfe\xed\xfe\xed\x00\x00\x00\x02\x00\x00\x00\x00\xe2\x68\x6e\x45\xfb\x43\xdf\xa4\xd9\x92\xdd\x41\xce\xb6\xb2\x1c\x63\x30\xd7\x92' > /etc/ssl/certs/java/cacerts
/var/lib/dpkg/info/ca-certificates-java.postinst configure
After this, the program runs as expected. Perhaps you should add a workaround, hundreds of people seem to be reporting that this fixes the issue for them and I imagine Ubuntu with Java 10/11 is going to be a fairly common setup.

Perhaps you should add a workaround

There's not really all that much that I can do. Now that you mention it tho maybe I should throw a page explaining it up on the wiki

I imagine Ubuntu with Java 10/11 is going to be a fairly common setup.

AFAIK these SSL bugs only crop up if you had java 8 installed and then installed java 10/11.

Sorry, I actually meant that you should maybe add a workaround label to this issue.


Add: Rock Paper Scissors command

Add a command !playrps <choice>. The bot should choose from rock, paper or scissors randomly, and compare to what the user chose, and decide the winner accordingly. It should reply to the user with information on what the bot chose, and who the winner was.
Add error handling such that if the choice entered by the user is invalid, the bot should reply with a message telling the user the syntax of the command, and the choices they have.

I would like to tackle this issue!

Sure, assigned!


lapack: add Dlagv2 implementation.

ARE issue #1651
This branch is still under work. It would require Dlag2 (#1665) to be merged into master to implement tests.
I've added a private (lower cased) method called dlagv2aux to simplify Dlagv2's implementation and make it more readable. If this is a non-permissible act it can be implemented as in the reference but do note readability will suffer greatly.
Tests pending, as mentioned above.

Bad branch


refactor: phone module migrate

phone module migration from class to functions within phone namespace

#682

phone data is already in phone namespace


Fix option defaults

Describe the purpose of your pull request
This PR fixes options for the Admiral
Describe how your request fulfills the purpose
By changing the || operator to a ?? operator we no longer default to true even when false is passed as an option
Additional info
Since the || operator was used any falsey value would make the option use the assigned default. However if your intention is to set the option to false but the default is true, it would always set the option to true, since false is a falsey value :bigbrain:

Already fixed for all boolean options by danclay


Shaders wont add the waving effect to Dynamic Trees!

I have been trying to  fix this and i can't seem to figure it out! i personally use SIldurs Enhanced Default! Could i have some help please? i tried adding dynamictrees:leaves to the block>properties folder and it didn't do anything! (1.12.2)

I have the same Problem. i use Chocapic 13 V8

Duplicate of #403


Update anticheat-compatibility.md

Verus Anticheat
https://www.mc-market.org/threads/335067/

Where does it state that Bedrock is ignored?

Where does it state that Bedrock is ignored?

In the title it says "Verus AC | 1.7-1.18.1 + Bedrock Support "


JSON deserialization may fail on string values

Chromium attempts behave gently, but things like response headers or postData or anything can naturally hold binary data. This becomes issue when we attempt deserialize such strings into System.String (conversion simply fails).
Also in cases when deserialization is not fails - there is invalid to interpret such string as binary, as it naturally transformed for something what is was not in original.
Also JSON encoder may corrupt data as well (see JSONEncoder::HandleString8 )... which implies what fair serialization/deserialization occurs only in CBOR, but still critical to grab strings in JSON as-is, however they might contain distorted data.
Proper resolution should be: move to crdtp-compatible types.
Short-term resolution should be: ignore such strings completely. (Allowing deserialization to be completed.) This might be especially important in cases like requestPaused event when we must respond on this event in any case, otherwise normal flow will be blocked.

Applied workaround: strings which had been failed to deserialize, deserialized successfully as null.


Update Vagrantfile and Vagrant Documentation

Updated Vagrantfile to use private network, ssh forwarding and nat. Also change aptitude to update first in provisioning.

Great stuff! Is there anyway to hook the plugins up to the Vagrant config file (to make them install automatically) ?

There is no way to automatically install vagrant plugins that I know of.

Allright :)

Is there a way to set up a "repository" like with Docker ? So you don't have to use the Vagrantfile, but an URL ?


neonvm-controller: add spec.cpuScalingMode

Add the new field to the VirtualMachine spec, and change the VM-controller to explicitly update a VM with the default value of the field.
Add temporary e2e test to ensure that VM without spec.cpuScalingMode is updated as expected.
Part of the preparations for #1082

close in favor of #1111, which already has the changes for the current PR


Cannot configure plugin

I'm probably not understanding the configuration steps, but I'm trying to get started for the first time. I install the plugin and the configuration shows up, but nothing else happens. I cannot click on any of the buttons (there is a JavaScript error in the console) and there are no HomeBridge logs for the plugin. What am I doing wrong?

FYI, I've attempted to reinstall several times.

I copied and pasted the sample config and something at least showed up, but the when I click Get Token I get this error message.

Do not write example Web api token, You. need generate your own after configure and add console to the Home.app

I realize that. I can’t get it to work and I must be missing something. See
my original post.
On Mon, Aug 9, 2021 at 9:10 PM Grzegorz @.***> wrote:

Do not write example Web api token, You. need generate your own after
configure and add console to the Home.app
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/grzegorz914/homebridge-xbox-tv/issues/95#issuecomment-895713565,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFJL6W2KMD2TJKSABHGBNDT4CRFHANCNFSM5B3GWRYA
.

What happened after press Show Config button?

Nothing happens when I click that button.
On Mon, Aug 9, 2021 at 10:05 PM Grzegorz @.***> wrote:

What happened after press Show Config button?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/grzegorz914/homebridge-xbox-tv/issues/95#issuecomment-895732080,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFJL6WBAEII3WVZCXVOYSDT4CXS3ANCNFSM5B3GWRYA
.

Try update

Already tried that. I’m fully up to date.
On Mon, Aug 9, 2021 at 10:17 PM Grzegorz @.***> wrote:

Try update
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/grzegorz914/homebridge-xbox-tv/issues/95#issuecomment-895736372,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFJL6WV7UCSQCH7D2YVO6TT4CY5DANCNFSM5B3GWRYA
.

try again wit step by step instruction


[cublas] Fix OpenCL include dir hint for cuBLAS

In recent versions of DPC++ the CL headers go in include instead of include/sycl. So this patch fixes finding the OpenCL headers. Keep the hints for the previous path to still support older version.

Won't FindcuSOLVER.cmake and FindcuRAND.cmake run into the same issue?

Maybe, we just ran into this for cuBLAS, I'll see if the other ones need it too


Send only the file's info and URL to backend after S3 upload.

Their is a note in the docs that says:

Firstly, your file is uploaded to S3 then request is sent to your server with file as expected behaviour. But extra field to your request will be added as s3ObjectLocation containing location of your S3 object/file, which you may require to store in database.

Is it possible to send only the file info (s3 object URL) to server instead of the whole file, because In my use case I do not need the file, and the  uploads that I am expecting are large in size?

Try this :
in your awss3 params, set sendFileToServer to  false

@adarshmadrecha this will stop everything from being sent.

Thanks for mentioning sendFileToServer as its behavior is undocumented. @adnanmuttaleb is correct that if you use it, nothing will be sent to your server, but that's better than sending the file twice. You can still handle sending the location of the file uploaded to S3 to your server yourself, but there is a bug to be aware of.
The bug only occurs when you have uploadMultiple set to true in the options you pass in (that get passed directly to dropzone). If you set sendFileToServer: false as mentioned, you'll see this error when uploading to S3:
AWS S3: MaxPostPreDataLengthExceeded Your POST request fields preceeding the upload file was too large

The error is dicussed here (as a comment to a Stackoverflow question). The problem happens because the key in the multipart form data uploaded is file[0] instead of file. This happens in the dropzone code, and probably isn't a bug with Dropzone, but becomes a bug when used with vue2-dropzone that includes S3 integration.
To fix, pass a function like this as part of the dropzone options:
paramName: () => 'file'

That's all to fix the bug.
To get the URL of the asset uploaded to S3, pass this function in the dropzone options:
successmultipe: (fileList, response) => {
  const location = response.match(/<Location>(.*)<\/Location>/)[1]
  // location contains the URL of the asset just uploaded to S3
}

Then you can take that location and send it to your server using axios, fetch, etc.


Support for bluebird

Hi,
Bluebird expects all rejects to be of class Error. This lib should include something like. I don't think it should be enforced but at least either have an example or build this class in. Thoughts?
// See: http://stackoverflow.com/questions/31089801/extending-error-in-javascript-with-es6-syntax
// We need this for stack capture
class ExtendableError extends Error {
    constructor(message) {
        super(message);
        this.name = this.constructor.name;
        this.message = message;
        Error.captureStackTrace(this, this.constructor.name)
    }
}
// Use this with a promises when you need extra data:
// https://github.com/petkaantonov/bluebird/blob/master/docs/docs/warning-explanations.md#warning-a-promise-was-rejected-with-a-non-error
class PromiseError extends ExtendableError {
    constructor(message, {data}) {
        super(message);
        if (data) {
            this.data = data;
        }
    }
}

I'm busy for the rest of the week, but will look into this on Saturday—seems like something we can do.

We follow FSA which describes the action to contain the error instance in it's payload, not sure how the two can align.

Could it be implemented as a configuration option? I would be open to that, but since I do not use Bluebird I wouldn't want to implement it. Would you be open to making a PR @mlucool?

Sure I can take care of it

@tomatau I am suggesting is inline with FSA and bluebird - both want error objects. I am suggesting we should have a data carrying Error in the library that stores data in a known place. Let's call this ErrorWithPayload instead of PromiseError?
class ExtendableError extends Error {
    constructor(message) {
        super(message);
        this.name = this.constructor.name;
        this.message = message;
        Error.captureStackTrace(this, this.constructor.name)
    }
}
// Use this with a promises when you need extra data:
// https://github.com/petkaantonov/bluebird/blob/master/docs/docs/warning-explanations.md#warning-a-promise-was-rejected-with-a-non-error
class ErrorWithPayload extends ExtendableError {
    constructor(message, {payload}) {
        super(message);
        this.payload = payload || {};
    }
}

const e = new ErrorWithPayload('foo', {my: 'data'});
console.log(e instanceof Error); // true - which is what FSA requires

// Usage
{
type: "MY_TYPE",
payload: new Promise((resolve,reject) => reject(e));
}

I am suggesting we pass all of e (i.e. the ErrorWithPayload) which is of type error and aligns with both. This provides a mechanism to trivially pass along more data.
Do you agree this fits with FSA @tomatau ?

To me this seems to be more the responsibility and choice of people using the middleware rather than something that needs to be supplied? There would be other packages/utilities that aid in the creation of error objects.
I feel the error object payload should be an instance specific to the use case of the action rather than specific to the API of the middleware.

After seeing more of what you want to add, I agree with @tomatau here. I would argue this middleware should not be responsible for creating an error object since the error itself doesn't actually originate directly from the middleware. In most cases errors will be traced to the function that returns the promise, e.g., a network quest with Fetch() or something of the like. The job of this middleware is to handle the error supplied by the promise and then fire the correct actions, e.g., fulfilled or rejected.

Right now our rejected actions provide the error property with a value true in the rejected action object. I think what we should make the value of that property the Error object instead of a boolean. This still follows FSA. Thoughts @tomatau @mlucool?

https://github.com/acdlite/flux-standard-action seems to indicate that error should only ever be set to true. "If error has any other value besides true, including undefined and null, the action MUST NOT be interpreted as an error."
I was not suggesting the middleware do anything extra with the error object I am proposing but expose it so everyone who wants to pass data in reject does not need to rewrite this. I can also write a 20 line lib which does the same. I only suggested it here because of how useful it is with promises and if we wanted to do further processing, it would then be standardized where the extra data is. If it's not a good fit, I am not adamant this is the right place and we can close this issue.

I'm still not fully understanding the problem here.
const myActionCreatore = () => ({
  type: 'EXAMPLE',
  payload: {
    promise: new Promise(async (resolve, reject) => {
      // do stuff
      reject(
        new MyCustomError('example error payload', { extra: 'data' })
      )
    })
  }
})
/*
 {
  type: 'EXAMPLE_REJECTED',
  payload: new MyCustomError('example error payload', { extra: 'data' })
  error: true
 }
 */

This doesn't seem like a library is needed to reject with a custom error payload of an error instance


Written permission for use of "Git" in "Gitea" and "Git merge logo" in the "Teacup merge logo"

https://git-scm.com/about/trademark

... you may not use any of the Marks as a syllable in a new word or as part of a portmanteau (e.g., "Gitalicious", "Gitpedia") used as a mark for a third-party product or service without Conservancy's written permission. For the avoidance of doubt, this provision applies even to third-party marks that use the Marks as a syllable or as part of a portmanteau to refer to a product or service's use of Git code.

<EMAIL_ADDRESS>is cited as the relevant contact for asking permission.
I'd like to use gitea in a product offering. As such, I'd like to make sure that Gitea has the proper permission to use the "Git" mark and "Git merge logo" image.
(In turn, I'd also like to request permission from Gitea to use its mark and logo)
Given the great number of projects that integrate the "Git" mark and "Git merge" logo, I would hope this is not a problem, but I want to make sure that things are cleared.
Has someone already gotten permission for this project?

Interesting... the Git trademark policy for the logo seems to be in direct contention with the licensing of the artwork: CC BY 3.0

The Gitea logo is of a teacup, with a merge icon displayed:-

Whereas the Git-SCM logo is:

The two are clearly different logos, more importantly, a google image search for "Merge Icon" or "Fork Icon" throws up hundreds of instances of similar iconography, mostly consisting of a sequence of dots joined by lines.
I think in the absence of good evidence supporting Git-SCM's claims, there is nothing to be concerned about regarding the use of such an icon in the Gitea Logo.


Process Pod event immediately after the Node is initialized instead of waiting for next Resync Period

Issue #, if available:
Currently on Controller startup, the sequence of event happens,

Pod Controller starts, we receive all Pods events.
Node are not yet initialized, so all Pod events are ignored.
All Nodes are Initialized.
Pod Controller re-syncs after 30 minutes and the Previously ignored Pod events are processed.

This adds a 30 minutes (resync duration) delay to all missed Pod events during controller restarts.
Description of changes:
The proposed fix is to re-queue pod event and add after 1 seconds, till the Node is initialized so the Pod event is not ignored for 30 minutes.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hi @abhipth  - I am done with my first pass of the review. The code looks good and test coverage with mock is also good.
I have two other comments.

Integration tests. This code is bringing a functionality, that might be best covered by integration tests.  Do you have any thoughts on this?

I realized that this is against release-1.1 branch. I noticed the divergence with master increasing with this PR. Do you have thoughts or ideas on how and when bridge the gap. I hope these changes will go into master as well.


chore/binder: add test on binder

I'll see if I can fill in the other tests tomorrow

@wangrunji0408 hi, excuse me. if you have time, could you review my two pr? I can close this pr if there is a problem

will take a look this weekend :)

I don't think these new tests are actually testing + comparing with some expected result? In this case, it looks better to make this test part of sqlplannertest, so that we can find regressions across commits.

thank your review and advice


Sort properties first/last

Right now, properties and methods are mixed, so a class description could look like this when sorted:
Class
Class.aMethod
Class.bMethod
Class.cProperty
Class.dMethod
Class.eProperty

It would be great if there was an option to sort first (or last) methods and then properties, so the class description would look like this:
Class
Class.aMethod
Class.bMethod
Class.dMethod
Class.cProperty
Class.eProperty

or (properties first):
Class
Class.cProperty
Class.eProperty
Class.aMethod
Class.bMethod
Class.dMethod

I am planning to add the option to the template I am working on but am not sure how to do it: I guess I could do that in the route event?

As you noted, this is a template-related feature rather than core. The default template that will come with Docma v2 will have a quick-filter toolbar for symbol types. This is not exactly what you want but serves a similar purpose.
If you're creating a custom template, one way to do it is via dust templates. Take a look at sidebar.html in default template for an example. This uses the docma.symbols string array for the sidebar list but you need the full symbol definition to be able to filter in parse-time. So instead, you should use docma.documentation object.
In dust templates, docma is global so you'd directly use documentation.
{#documentation}
    {@eq key=kind value="function"}
        {longname}
    {/eq}
{/documentation}
...

Another way would be, via the render event:
docma.on('render', function (currentRoute) {
    if (docma.currentRoute && docma.currentRoute.type === 'api') {
        // if this is a route for API docs... (so you have the symbols sidebar)
        // alter DOM here..
    }
});

Closing this. Feel free to re-open if needed.


Auto-complete box is all over the place and won't close, and a completely blank UI window

Expected Behavior
When typing in a URL I'd expect the auto-complete list/box to pop up under the URL textbox after the set delay (1200 ms) and disappear after I typed the text, leave the textbox or tapping ESC key
Actual Behavior
The auto-complete box opens over the toolbar, or over the saved request list on the left. The auto-complete box stays open on top of the UI hiding some menus and/or requests and is not being closed even if I switch request in the list.
The only way to close it is to click something in the list, which inserts the clicked URL in the uRL textbox (even though I don't want it there).
Sometimes, after this has happened a few times the whole UI window just becomes blank, nothing there at all, just blank window.
Reproduction Steps
Open Insomnia Rest, select a request and type in some URL, then keep doing that a while. Sometimes it works for a few hours before it starts acting up.
Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
v2023.5.8
What operating system are you using?
Windows
Operating System Version
Windows 11 23H2 22631.3007
Installation method
Insomnia download + auto updates
Last Known Working Insomnia version
Not sure, maybe 5-6 months ago

👋 @QAnders thanks for the issue. I can't seem to reproduce the issue.
Can you try the latest version and verify that it's still happening for you?

If it does any logs you could share when this error happens would be great help to figure this issue. You can open the DevTools by opening View > Toggle DevTools and find any errors that get logged to the Console.

Yes, latest installed and just got this one:

And a bit later this:

The pop-up is not disappearing unless I click it, and when I click it it always adds the URL in the middle of the already existing URL.
There's no errors in console

Hey @QAnders we just released 8.6.1 containing some updates on how the autocomplete renders on the app.
Can you check if this issue is still happening to you?


Industrial miner causes crash when used in conjunction with minecart mod.

The industrial miner crash when starting to work, if the minecart mod is loaded.
2020-09-24 19:00:03: ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod 'factory' in callback LuaABM::trigger(): Invalid position (expected table got nil). 2020-09-24 19:00:03: ERROR[Main]: stack traceback: 2020-09-24 19:00:03: ERROR[Main]: 	[C]: in function 'get_node' 2020-09-24 19:00:03: ERROR[Main]: 	/home/user/.minetest/mods/minecart/protection.lua:45: in function 'is_protected' 2020-09-24 19:00:03: ERROR[Main]: 	/home/user/.minetest/mods/factory/machines/miner.lua:88: in function </home/user/.minetest/mods/factory/machines/miner.lua:78>
I don't know, which of the two should/could fix it.
https://github.com/joe7575/minecart/issues/4#issue-708349506

I assume it comes from the miner. It does not provide a valid 'pos': ...Invalid position (expected table got nil)....
But independent on that I will add a check so that the crash will not happen inside my mod :)

@zeners It looks like, you are not using the latest version of the mod factory (there is no call minetest.is_protected in line 88)

This bug was fixed in #7 .
To solve the problem try updating your copy of the factory mod.

You are absolutly right. great thanks for the very quick response. I was on the wrong repository. Sorry


rmclean3d fails with IndexError

rmclean3d fails with the following error. I generated FDF_dirty.fits and RMSF.fits with the -f option in rmsynth3d.
Traceback (most recent call last):         ] 0%
  File "/fpra/polmag/01/sarrvesh/NGC_2403/selfcal/RMSynth/python/bin/rmclean3d", line 8, in <module>
    sys.exit(main())
  File "/fpra/polmag/01/sarrvesh/NGC_2403/selfcal/RMSynth/python/lib/python3.6/site-packages/RMtools_3D/do_RMclean_3D.py", line 427, in main
    verbose = verbose)
  File "/fpra/polmag/01/sarrvesh/NGC_2403/selfcal/RMSynth/python/lib/python3.6/site-packages/RMtools_3D/do_RMclean_3D.py", line 123, in run_rmclean
    chunksize        = chunksize)
  File "/fpra/polmag/01/sarrvesh/NGC_2403/selfcal/RMSynth/python/lib/python3.6/site-packages/RMutils/util_RM.py", line 499, in do_rmclean_hogbom
    output.append(rmc.cleanloop(pix))
  File "/fpra/polmag/01/sarrvesh/NGC_2403/selfcal/RMSynth/python/lib/python3.6/site-packages/RMutils/util_RM.py", line 556, in cleanloop
    return self._cleanloop(*args)
  File "/fpra/polmag/01/sarrvesh/NGC_2403/selfcal/RMSynth/python/lib/python3.6/site-packages/RMutils/util_RM.py", line 565, in _cleanloop
    fwhmRMSFArr = self.fwhmRMSFArr[yi, xi]
IndexError: index 289 is out of bounds for axis 1 with size 227

NAXIS (1,2,3) in FDF_dirty.fits and RMSF.fits are (290,227,2001) and (290,227,4003). Could it be that the RA and DEC indices are swapped in util_RM.py?

Hi Sarrvesh:
At the moment rmclean3d isn't compatible with the -f outputs of rmsynth3d. If you re-run rmsynth3d without that flag, then it should work.
I might be able to fix rmclean3d to work with the -f multi-extension files, if you want, but not until next week.
Cheers,
Cameron

Hey Cameron, Thanks for the quick response. It works without the -f option. Sorry for the noise. Should have read the documentation carefully.


How long it takes to copy index to replica

Could you describe how long it takes to copy index to replica? I think usually it's within a second and sometimes takes a few seconds.

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

ID: d1f0f53b-3c91-6bbb-4c2d-1c3d993a011d
Version Independent ID: 68164191-a7a3-f592-91f0-557289e8aa5a
Content: Estimate capacity for query and index workloads - Azure Cognitive Search
Content Source: articles/search/search-capacity-planning.md
Service: cognitive-search
GitHub Login: @HeidiSteen
Microsoft Alias: heidist

@himachida
Thanks for your feedback! We will investigate and update as appropriate.

Hello @HeidiSteen, thank you for your reply.
It's just that I got a question from customer asking if the index update operation is sync or async, in other words, if it's guaranteed that all the replicas always return the same results. So it would be nice if it's written on the article, to not ask the same questions to Support.

Hello @Himachida, indexing is asynchronous, in that you can start querying as soon as the first document is loaded.  However, there is no guarantee that replicas return identical results because the physical index is distributed across multiple shards:  https://learn.microsoft.com/en-us/azure/search/index-similarity-and-scoring#scoring-statistics-and-sticky-sessions   Does that answer the customer's question?

@himachida, thanks for filing the issue.  I updated the docs in several places to emphasize the SLA and that the platform monitors the health of replicas and partitions and will honor the capacity configuration. I'm going to close this issue because I don't think there's further action items, but if you want more follow up, you can post to this thread and we'll see it.
#please-close


Missing array attribute in Request from JQuery

Laravel Version: 5.2
PHP Version: 5.6.20
Database Driver & Version: MYSQL
Server: Linux

Description:
Hi, I am new and first time create issues post here. Please forgive me if my description of issues is not clear. I am using JQuery Datatable on Laravel, in my linux server I can see the object "search" is generated correctly in console but in my controller I checked the request it only returned 1 attribute ["regex"] and and other attributes was omitted.
Steps To Reproduce:
JQuery Code
var d = { 			draw:    settings.iDraw, 			columns: [], 			order:   [], 			start:   displayStart, 			length:  displayLength, 			search:  { 				value: preSearch.sSearch, 				regex: preSearch.bRegex 			}, 			srch: { 				value: preSearch.sSearch, 				regex: preSearch.bRegex 			} 		};
From the console log I can see the variable is correctly populated as from attachment below:
Console log screenshot

However from controller I captured the request and it only return "regex" in "search" parameter, the "value" was omitted as highlighted in attachment below:

I have scratched my head for this for a week. Is there some configurations need to be done when parsing data through HTTP Request? I have tried to add some elements in search parameter but everytime it only returned "regex" value.
Please guide me on this.

Please ask on the forums.


Add arkade update instructions like we have in k3sup

Expected Behaviour

arkade update could print the upgrade instructions (like k3sup does)
Current Behaviour

no command
Possible Solution

check how k3sup does it, and use a similar approach

Derek add label: help wanted, skill/beginner, good first issue

I'm surprised that I missed this, will add it in whilst I'm there.


Allow 06x area codes for ZA numbers

Hi,
So, we now allow 06x area codes in ZA, they're all provided by cellular providers. This updates the gem to support these numbers, and not fail when parsing.
Let me know if you need me to do anything else in order to get this merged in.
Thanks :)

So, I'm not sure why all those builds are failing, as I can successfully build and test against those versions on my machine. @elskwid - any ideas? I'd really like this fix pulled in.

And here's a wikipedia article detailing the area codes currently in use in ZA:
https://en.wikipedia.org/wiki/Telephone_numbers_in_South_Africa

Howdy...
Just checking in on this PR. The travis checks are failing because its having trouble installing rubinius and getting an MRI 1.9.3 bundle to complete, and it's not failing due to failing tests.
Is there anything I can do to help get this PR pushed through?


[FEA] Improve performance for GetMapValue

GetMapValue support was implemented in https://github.com/NVIDIA/spark-rapids/pull/5883. It follows an approach that is

Check if keys exist in the map
If all keys exist, return values associated with these keys

The problem is that, these two steps internally call to the same expensive function in cudf. As a result, it is doing some computation that is twice as necessary. We can improve its performance by sharing the result of the first step for the second step.
Everything needed already exists in cudf, we just need to implement some additional support in cudf JNI.

Shouldn't this be a cudf issue if JNI support is needed?


[Feature] Adding search and filter books by categories

Description
I have an idea for making this books searching feature possible.
- We can use  books-mock-api  npm package for fetching books details
- After that we can connect with backend.
Screenshots
No response
Checklist

[X] I have checked the existing issues
[X] I have read the [Contributing Guidelines]
[X] I have read the discussion tab thoroughly and got the project idea
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

@Y1a2s3h4 keeping this on hold
till backend is developed
till then you can try to contribute on backend


PDF review and PDF export impossible

Hello there
I just downloaded Atom for fountain format and write my stories so I don't really know the software. Maybe I'm not using it correctly but couldn't find a real tutorial to help me so I'm writing my problem here.
So I installed the fountain package created by Superlou.
Then I took the .fountain sample on fountain.io to be sure that the file I use is perfect. Then I go to "Packages" -> "Fountain" -> "Show Preview" or "Export PDF". If I click on either one, I get a confirmation message that the action has been taken but it's not true. I look on my folder, nothing. I used Everything to find if the file was created somewhere, nothing.

Thanks in advance. I'll keep you posted if I find a solution by then.

Are you using what they have on the repo or atom's package installer? If you downloaded it through atom, there may be an issue with the configs;.
It was looking for 'afterwritingFonts.json.js' that was missing, this is fixed in the repo, but was not reflected in atom's package manager in my case.

There are a lot of fixes on the master, sorry. I was hoping that some of the other contributors would take a look at the hacks I did to get things working again since it touches their code, but it's been pretty quiet. @ThomaHook, if the master fixes your bugs, let me know, and maybe I'll just make an imperfect release.


Adding more clear instruction on how to create first level URLs properly

This clarification comes as a result of issue #1789.

Hello @integrii,
thank you for submitting this addition. I've merged your contribution as  a48ac6e94514738ac9cc8f92cba89bd1f0c06a0c.
Cheers,
Digitalcraftsman


cmd/objdump: add -file-offset option

GNU binutils version of objdump offers a [-F|--file-offsets] flag

When disassembling sections, whenever a symbol is displayed, also display the file offset of the region of data that is about to be dumped. If zeroes are being skipped, then when disassembly resumes, tell the user how many zeroes were skipped and the file offset of the location from where the disassembly resumes. When dumping sections, display the file offset of the location from where the dump starts.

Example output on a Go binary:
...
000000000102e6c0 <runtime.schedule> (File Offset: 0x2e6c0):
 102e6c0:	65 48 8b 0c 25 30 00 	mov    %gs:0x30,%rcx
 102e6c7:	00 00
 102e6c9:	48 3b 61 10          	cmp    0x10(%rcx),%rsp
 102e6cd:	0f 86 3f 03 00 00    	jbe    102ea12 <runtime.schedule+0x352> (File Offset: 0x2ea12)
 102e6d3:	48 83 ec 40          	sub    $0x40,%rsp
 102e6d7:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
 102e6dc:	48 8d 6c 24 38       	lea    0x38(%rsp),%rbp
...

This was useful for something I've been working on, and I think it would be fairly easy to add something like this to go tool objdump. Thoughts? If there's interest I could work on a CL.

cc @randall77 for decision

This was useful for something I've been working on

Could you describe how it would be useful?
Darwin objdump (Apple LLVM version 9.0.0 (clang-900.0.38)) does not have this option. My linux objdump does, but it didn't make the cut for the binary's one-page help page.

There are other interfaces that programs can use to access this information.

I think the only problem with this is that the package you need to access objdump-like functionality is in an internal package.
Actually occurs to me that this feature may have been more useful in nm, for my use case at least. Then the script to do this is a simple combination of go tool nm and dd.

This works on public interfaces only (but ELF only):
package main

import (
	"debug/elf"
	"fmt"
	"os"
)

func main() {
	file := os.Args[1]
	e, err := elf.Open(file)
	if err != nil {
		panic(err)
	}
	syms, err := e.Symbols()
	if err != nil {
		panic(err)
	}
	for _, s := range syms {
		if elf.ST_TYPE(s.Info) != elf.STT_FUNC {
			continue
		}
		sect := e.Sections[s.Section]
		fmt.Printf("%16x %16x %s\n", s.Value-sect.Addr+sect.Offset, s.Size, s.Name)
	}
}

It should be easy to grab the actual instruction bytes using the elf.Section.ReaderAt.

Nice. Of course the benefit of the internal package is the abstraction layer over the object file format.
Feel free to close the ticket, it's not something I feel strongly about.


Bug: Uploaded dataset won't show up on the datasets page until refresh

Somehow, datasets page no longer shows newly uploaded dataset until I refresh the page.

Dataset uploaded via CLI should also show up on the web UI via the event streaming

This is no longer an issue.


layers: Add VU checks in image.cpp (Jira VL-66)

Updated existing validation checks in image.cpp to new VU
enums with minor refactoring only. Left TODOs for other
VUs that will require more extensive redesign. Updated VU
database to match. Also minor updates to
layer_validation_tests to account for changed error
messages.
Change-Id: Ib6cc0e360ceeaae256b0cd0f1d272fe127c95419

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Cannot update tag on Azure Cache via 'az resource tag' if the tier is Basic

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az resource tag
Errors:
The setting 'maxmemory-reserved' is not allowed on 'Basic' cache instances.
RequestID=05846e23-e636-4036-ba64-3ad4b058e9a5

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

az resource tag -i --ids <ID to a Redis cache with basic tier> --tags Name=Value

Expected Behavior
The tag to be updated or set
Environment Summary
Linux-5.4.0-37-generic-x86_64-with-debian-bullseye-sid
Python 3.6.10
Installer: DEB

azure-cli 2.8.0

Additional Context

add to S173

There are some problems in updating the tags of Redis Cache by using PUT request. So we will update the tags of Redis Cache with PATCH request instead.
However, there are some problems in the REST API of Redis - Update, which needs to be checked by the service team.
The error returned by service is as follows:
{"error":{"code":"Conflict","message":"The resource '/subscriptions/xxx/resourceGroups/zhoxing-test/providers/Microsoft.Cache/Redis/zhoxing3' is busy processing a previous update request or is undergoing system maintenance.  As such, it is currently unable to accept the update request.  Please try again later.\r\nRequestID=3fcd6585-4f74-40fd-8403-fbde075b78a3","target":null}}

RequestID=3fcd6585-4f74-40fd-8403-fbde075b78a3

@tr-hagfjall Apologies for the late reply. I was able to repro this issue and seems like its still not fixed. I have reached out to the Product Owners to check the update on the fix. I will update this thread once I have more details on this. In the meantime you can invoke this REST API and check if that helps.


Add fail check for dco

Adding check which determines whether or not
there are existing commits which are unsigned.
The check is determined by the no-dco label.
Signed-off-by: Martin Dekov (VMware<EMAIL_ADDRESS>
Adding succesful/failure check when unsigned commits are present in the PR
Description

Adding check which is successful by default and when no-dco label is applied the check fails, when the commits are signed the check is again successful
I think the allow merge if all checks pass would be turned on in the GitHub UI. I have red something about required status checks or something
Motivation and Context

[x] I have raised an issue to propose this change (required)

Fixes #95
Also suggestions on the text, the content of the titles body etc. Would be appreciated!
How Has This Been Tested?

Tested in repository here

Note: I have local minikube instance exported with ngrok so ping me if the robot does not work

Verbose diagram:

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I've read the CONTRIBUTION guide
[x] I have signed-off my commits with git commit -s
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@martindekov I was chatting with Packet here https://github.com/tinkerbell/tink/issues/202 and recently accidentally merged two PRs that had a missing DCO.
Do you think this approach still makes sense, are there any unresolved issues, or if merged, would this give us the result we want?

Well the logic is pretty straight forward, not sure why I've put WIP in the title this was some time ago 😄 I will re-base, test e2e and ping you for merge 👍

All pull requests: https://github.com/martindekov/push2/pulls reflect the testing on the feature

Feel free to double check and merge :+1:

The term "Unsigned" may be problematic and confusing vs. GPG signing. Could you suggest some alternatives?

Can the check's long text link to the contributing guide and to the Commits Page for the PR?

@martindekov please could you test what happens if a repo has DCO turned off in their repo settings?

For:

@martindekov please could you test what happens if a repo has DCO turned off in their repo settings?

Already tested and the check is turned off if the dco feature is turned off or not mentioned. For the Unsigned term for failed it can be:
One or more of your commits are unsigned -> All your commits need to be signed for the [Developer Certificate of Origin](https://en.wikipedia.org/wiki/Developer_Certificate_of_Origin)

We already have a URL for the CONTRIBUTING guide, so let's try this?
One or more of the commits in this Pull Request are not signed-off.

@martindekov could you update the message please? I'll get this released and we'll be able to start using it live.

Yep will update it today and ping you :+1:

@alexellis Now One or more of your commits are unsigned -> One or more of the commits in this Pull Request are not signed-off. as per your suggestion. Feel free to merge :+1:

/add label: enhancement

/remove label: enhancement

Once merged and released, this didn't actually work.
<EMAIL_ADDRESS>  | 2020/07/23 13:31:24 Version: 0.18.10	SHA: 80b6976c106370a7081b2f8e9099a6ea9638e1f3
<EMAIL_ADDRESS>  | 2020/07/23 13:31:24 Timeouts: read: 15s, write: 15s hard: 0s.
<EMAIL_ADDRESS>  | 2020/07/23 13:31:24 Listening on port: 8080
<EMAIL_ADDRESS>  | 2020/07/23 13:31:24 Writing lock-file to: /tmp/.lock
<EMAIL_ADDRESS>  | 2020/07/23 13:31:24 Metrics listening on port: 8081
<EMAIL_ADDRESS>  | 2020/07/23 13:32:13 Forking fprocess.
<EMAIL_ADDRESS>  | 2020/07/23 13:32:13 Query
<EMAIL_ADDRESS>  | 2020/07/23 13:32:13 Path  /
<EMAIL_ADDRESS>  | 2020/07/23 13:32:14 stderr: time="2020-07-23T13:32:14Z" level=fatal msg="Error while creating successful DCO check: Error while creating successful DCO check: POST https://api.github.com/repos/openfaas/org-tester/check-runs: 403 Resource not accessible by integration []"
<EMAIL_ADDRESS>  | 2020/07/23 13:32:14 Success=false, Error=exit status 1
<EMAIL_ADDRESS>  | 2020/07/23 13:32:14 Out=

Seems like we need to update the docs and permissions for Derek to add checks to his access.

Interesting ... let me check the permissions on my bot

Also strange, was that the label for no-dco wasn't added, which it should have been, I think?

The logic of dco check is above the logic of the dco label. So I suppose when we log.Fatal on error the process exits with 1 before dco label is applied. That's why label is not present.

Think I found a bug here
https://github.com/openfaas/org-tester/pull/30

It's not even adding labels anymore, the behaviour is missing commits without sign-off

I'm now seeing:
<EMAIL_ADDRESS>  | 2020/07/23 13:40:53 Out=
<EMAIL_ADDRESS>  | 2020/07/23 13:40:53 Forking fprocess.
<EMAIL_ADDRESS>  | 2020/07/23 13:40:53 Query
<EMAIL_ADDRESS>  | 2020/07/23 13:40:53 Path  /
<EMAIL_ADDRESS>  | 2020/07/23 13:40:55 stderr: time="2020-07-23T13:40:55Z" level=fatal msg="Error getting commits for PR 30\nGET https://api.github.com/repos/openfaas/org-tester/pulls/30/commits: 401 Bad credentials []"
<EMAIL_ADDRESS>  | 2020/07/23 13:40:55 Success=false, Error=exit status 1

What other permissions are required?

I suppose Checks read and write. Not sure if by default the app has those as before Derek did not use check I think.

It has those now for the OpenFaaS org, the PR I linked to above shows a bug, could you try to repro locally?

Yeah will do now 👍

Thanks, I'll set Derek back to 0.9.13 for users in the meantime

Interesting:

https://github.com/martindekov/push2/pull/41
Labels and dco check is applied/removed when it should. Could this be a configuration problem?

and


Add functionality to see and set a user's birthdate in the admin API

As requested by @AllhandsNoFeet
Backend checklist

[x] Formatted my code by running autoflake -r -i --remove-all-unused-imports src && isort . && black . in app/backend
[x] Added tests for any new code or added a regression test if fixing a bug
[ ] All tests pass
[ ] Run the backend locally and it works
[x] Added migrations if there are any database changes, rebased onto develop if necessary for linear migration history

@ShmuelTreiger: could you do another review of this, please?


Schema issue with YAML list overrides

Component
other
Describe the bug

Don't know if there is a way to cover this.
System Info
not relevant

Additional context
No response
Validations

[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]

Might be, it's VSCode

Without investigation? No, it's broken in a major IDE and as we have submitted the schema to SchemaStore we should at least look into it.

Its part of https://github.com/redhat-developer/vscode-yaml  the schema files are loaded from https://github.com/SchemaStore/schemastore

Yeah even if the issue is a bit different it might be related. Lets close this issue for now. I can reopen it if the upstream issue got fixed but the issue still exist for wp.


Added Bobert to builders' gallery

Added Bobert to builders' gallery, with list of modifications.

I think that's the right course of action, yeah. Should we also update the instructions to say something like "add to the top of relevant section", to preserve chronology?

Good idea, yes if you want to add that in in this PR, go ahead!


Google Pay support merged (disabled at the moment)

Will wait until full testing is completed before enabling the button

sent in error... sorry


🐞

Description
high cpu load of lsd and pkd when running codeedit
To Reproduce
start Codedit
Expected Behavior
normal cpu load
Version Information
CodeEdit: 0.0.3
macOS: 13.2.1
Xcode: 14.3
Additional Context
No response
Screenshots
No response

Can you elaborate a bit more? This is too little information to do something with.
Maybe screenshots from Activity Monitor or profiler data from Xcode?

lsd and pkg are responsible for loading plugins. Can there be a problem with CodeEdit?

Sure, but I'm not seeing "proof" of your claim? Where do you get your claims from.
Also, you haven't set an issue title.

I am using Sublime Text now.

Just noticing the comments, thanks for posting. I'll open it back up.
Note that we're in active development and that this is NOT a finished product.
That said, it seems that this issue is not occurring when ran directly from Xcode. (At least "not on my machine")
(The reason this was closed is because there was not much info posted before)

Before opening CodeEdit:

With CodeEdit open:

After closing CodeEdit:
Before opening CodeEdit:

Versions:
CodeEdit: 0.0.3-alpha.36,5650b45 (current version on brew)
Mac: MBA 2018
MacOS: Sonoma 14.0

Same issue for me as well. Let me know what type of profiling you want so I can record it and send it over.
Versions:
CodeEdit: 0.0.3-alpha (36)
macOS: Ventura 13.6.1

I think there are enough comments that show us that something is wrong here. We just have had our latest release to 0.0.3-alpha-37, which brings some huge changes, it could be that it is fixed. If not, we need to debug further in Xcode I think. Hopefully it will give us more insight.
@TomDev234  mentioned in this issue that "lsd and pkd are responsible for loading plugins". I do not know what kind of plugins we are talking about here, but we do not load plugins purposefully so to say. It could be that some library, that we use, does that. We'd have to look into it

I can confirm it still happens on 0.0.3-alpha-37

Can confirm as well. It's unfortunate for a really nice UI code editor like this...

We are in pre-alpha so bugs like this are to be expected. We’ll definitely fix this one soon enough.

@austincondiff  The problem is with the OpenWithCodeEdit appex. I kept seeing a bunch of these in the system logs:
rejecting; Ignoring mis-configured plugin at [/Applications/CodeEdit.app/Contents/PlugIns/OpenWithCodeEdit.appex]: plug-ins must be sandboxed

It seems like pluginkit keeps trying to reinstall the plugin, so deleting it solves the problem. I suggest re-uploading alpha-37 without the plugin, just until the problem is solved. A warning would also do, because I don't think this happens on every machine.

@johnothwolo Thanks for the info! Will test this out myself and we'll discuss this in the next meeting

I found the same problem. Even I don't run CodeEdit, just installed it.
lsd and pkd user process will make high CPU utilization.
After I remove all files about CodeEdit(uninstall), this two process became normal.
Test on my MacBook Pro M1 Pro
before uninstall, CPU util: above 20%
after uninstall CPU util: below 10%


Can't run in docker using start-keycloak

Trying to run my theme in docker by using npx keycloakify start-keycloak results in this error:
docker: Error response from daemon: create ./node_modules/.cache/keycloakify/myrealm-realm-26.json: "./node_modules/.cache/keycloakify/myrealm-realm-26.json" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.

Hello @jansivans,
Thanks for reporting.
Can you test with<EMAIL_ADDRESS>?

@garronej it works! Thank you🎉


Fixed sending data for Listener

Fixes #
Fixed problem that incorrect field names were sent to the server. Such as "father[child]"

@AlexSabur, Can you please take a look?


Skip fetching cursor values when relation is ordered by primary key

We're currently always fetching the cursor values from the DB. We could skip this call, when the relation is ordered by the primary key.

We're currently raising a CursorNotFoundError when we can't find the record for the cursor. Applying this change would mean, we're not raising this error anymore when the relation is ordered by primary key. I don't think having different error handling depending on the order makes sense.