Insert Data to sqlite is too slow.

you can see this,it can solve this problem.
http://blog.darkthread.net/post-2017-07-16-sqlite-insert-slow.aspx

Hey, tha article talks about sqlite in C#, Gekko is a javascript (nodejs) project and we are using this sqlite library: https://github.com/mapbox/node-sqlite3
Reading that article it is not very clear to me what the slow bottleneck is in that example (is it the C# sqlite implementation, or something else?). I am aware that the schema design Gekko uses as well as some other implementation specific details are very slow. Have you encountered problems because of slow inserting in Gekko so far?

I think this problem is the same
I search in the node-sqlite API, I found this code,maybe is the answer
'insert with transaction': function(finished) {
var db = new sqlite3.Database('');
    db.serialize(function() {
        db.run("CREATE TABLE foo (id INT, txt TEXT)");
        db.run("BEGIN");
        var stmt = db.prepare("INSERT INTO foo VALUES (?, ?)");
        for (var i = 0; i < iterations; i++) {
            stmt.run(i, 'Row ' + i);
        }
        stmt.finalize();
        db.run("COMMIT");
    });

    db.close(finished);
}

by the way,i have never learn npde-js,so i am nog sure it is right，you should test yourself


MutableIntBoundingBox -> MutableBox

Last PR for today!
I renamed MutableIntBoundingBox to MutableBox as per #785. I also standardised the naming between the two clases.
x0, y0, z0, x1, y1, z1 -> minX, minY, minZ, maxX, maxY, maxZ
I also kept the names getXSize, getYSize, and getZSize for now, though I want to know what people would think of me changing them to getWidth, getHeight, and getDepth instead.

I think getWidth, getHeight and getDepth sound much better than getXYZSize.

@Pyrofab If I can get more people to agree, I'll put it in.
Another related thing I meant to ask is:
What becomes width, and what becomes depth?
I know y = height, but must x = width and z =depth or must it be x = depth and z = width?

Seeing how width and depth are not immediately clear, I have reconsidered and I would suggest getXYZLength instead.

I don't see why width, height, and depth would be x, y, z and not z, y, x...
I suggest using getSizeX instead of getXSize to respect the convention (it's the size's x component, not the "x size").

Whilst looking at MurableBox, I notice that the constructor not specifying a y range results in a box defaulted to 0-256 (world height).
This class is also really only used with structures and commands, so it makes me wonder...
This could either just be a SelectionBox or a BlockSelectionArea, or some mix of the two - something that represents an area in the world rather than entity hitboxes* like the oher one is used for.

inb4 Box -> Hitbox

Box is used for a lot more than hitboxes, and MutableBox uses the [1, 512] y range by default. However, the fact that the latter uses whole numbers and that it is only used for blocks could be taken into account for naming it. I am thinking BlockBox may be a fairly straightforward name, in the same vein as BlockPos.

cue all structure mods causing syntax errors in the dev environment

Is anything stopping this PR from being merged? It's been open for almost a month and has two approvals since more than a week.

Alright, changed back to pos1/pos2 then (bleh)
Only outlier is the constructor for BlockBox
    public BlockBox(int minX, int minY, int minZ, int maxX, int maxY, int maxZ) {
        this.minX = minX;
        this.minY = minY;
        this.minZ = minZ;
        this.maxX = maxX;
        this.maxY = maxY;
        this.maxZ = maxZ;
    }

(this is why I changed them, so it's standardized between all the methods)

@Runemoro Might have to re-re-approve this. I don't know.


Bug: line breaks in annotations are lost

Issue Summary
Reported on the MathJax user group.
If MathML annotations contain linebreaks, these are lost during processing.
Steps to Reproduce

Let the following render with MahJax
 <math>
 <semantics xref="p1.1.m1.1.cmml"><mo>Test</mo>

     <annotation encoding="application/x-tex">{\displaystyle{\displaystyle\sum_{k=1}^{\infty}\frac{\mathop{\zeta\/}\nolimits%
 \!\left(2k\right)}{k}z^{2k}=\mathop{\ln\/}\nolimits\!\left(\frac{\pi z}{%
 \mathop{\sin\/}\nolimits\!\left(\pi z\right)}\right)}}</annotation>
   </semantics>
 </math>

Check that Show Math => annotation => TeX gives
{\displaystyle{\displaystyle\sum_{k=1}^{\infty}\frac{\mathop{\zeta/}\nolimits% !\left(2k\right)}{k}z^{2k}=\mathop{\ln/}\nolimits!\left(\frac{\pi z}{% \mathop{\sin/}\nolimits!\left(\pi z\right)}\right)}}

Similarly for showing the (non-original) MathML source.
This is a bug because it makes the annotations unusable.
Technical details

MathJax Version: 2.3+

Trying to write a test, I noticed that the minimal example above
<math>
  <semantics>
    <mrow>
      <mi>x</mi><mo>+</mo><mn>1</mn>
    </mrow>
    <annotation encoding="LaTeX">
    x+
    1
    </annotation>
  </semantics>
</math>

gets converted to
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <semantics>
    <mrow>
      <mi>x</mi>
      <mo>+</mo>
      <mn>1</mn>
    </mrow>
    <annotation encoding="LaTeX">

    x+
    1

    </annotation>
  </semantics>
</math>

This seems not ideal as the ShowSource window wraps the MathML in a pre tag.

Anything outside the range U+0020 to U+007E was being translated to numeric entities.  I've excluded U+000A (newline), U+000D (return), and U+0009 (tab).  That should take care of the problem.

Great. I'll modify my test to fit.

==> In Testsuite
UI/issue847.html


Rework thread checking and event loop signaling

Combine these two into a "Scheduler" interface which covers both concepts to support Realms which are confined to a scheduler which isn't an event loop running on a single thread. This also subsumes some of the special-casing for frozen Realms by making them just use a no-op scheduler that doesn't perform thread checking or support notifications. By making Scheduler an abstract type rather than a single per-platform type, we can support multiple types of schedulers per platform, along with user-defined schedulers (which is applicable to Swift's Combine and probably other Rx frameworks).
Add a dispatch-queue based scheduler on Apple platforms which posts notifications to a GCD queue rather than a run loop and confines the Realm to that queue (which may not always be on the same thread).
The AbstractExecutionContextId concept is gone entirely because it was only used for the Realm cache, which was removed in the core 6 port. Other than that and the change to the GenericEventLoopSignal API (that's now done by simply subclassing Scheduler) this should have no functional impact on SDKs that done use the new functionality. The changes in tests are just fixing things that previously were broken; the libuv implementation of EventLoopSignal (and now UvMainLoopScheduler) doesn't have the required locking to support creating instances of it on background threads. Previously we didn't have a way to avoid doing this and mostly just got lucky with the sequencing of the tests that happened to do it.

@cmelchior @nhachicha Could one of you look at the Android implementation of this? I think I understand what the old code was doing and why, but it'd be good to have a sanity check.

I merged this branch against the current hash we're using for the next-major branch in Java and the test failed with
object-store/CMakeFiles/realm-core-6.0.1/include/realm/util/optional.hpp:414: [realm-core-6.0.1] Assertion failed: m_engaged
0   tests                               0x0000000106a5b795 _ZN5realm4utilL18terminate_internalERNSt3__118basic_stringstreamIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE + 37
1   tests                               0x0000000106a5c02d _ZN5realm4util9terminateEPKcS2_lOSt16initializer_listINS0_9PrintableEE + 1213
2   tests                               0x0000000105922c0c _ZN5realm4util8OptionalINS_9VersionIDEE5valueEv + 92
3   tests                               0x0000000105917e8d _ZL29____C_A_T_C_H____T_E_S_T____0v + 957
4   tests                               0x0000000105a21933 _ZNK5Catch21TestInvokerAsFunction6invokeEv + 19
5   tests                               0x0000000105a1a2d6 _ZNK5Catch8TestCase6invokeEv + 38
6   tests                               0x0000000105a1a20a _ZN5Catch10RunContext20invokeActiveTestCaseEv + 42
7   tests                               0x0000000105a1831d _ZN5Catch10RunContext14runCurrentTestERNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEES8_ + 1101
8   tests                               0x0000000105a1762d _ZN5Catch10RunContext7runTestERKNS_8TestCaseE + 637
9   tests                               0x0000000105a1d196 _ZN5Catch12_GLOBAL__N_19TestGroup7executeEv + 294
10  tests                               0x0000000105a1ca0b _ZN5Catch7Session11runInternalEv + 491
11  tests                               0x0000000105a1c7bb _ZN5Catch7Session3runEv + 91
12  tests                               0x0000000105a34d1a _ZN5Catch7Session3runIcEEiiPKPKT_ + 90
13  tests                               0x0000000105a34bee main + 206
14  libdyld.dylib                       0x00007fff6eba2cc9 start + 1

I pushed the test branch here https://github.com/realm/realm-object-store/tree/nh/test_scheduler


When using existing VPC/Subnets I don't get a host name for the ALB

This is something that I'm running up against, not sure why this is happening, but it doesn't seem to happen every time, but most of the time, yes.

Thanks for giving it a try. I am not actively working on this as I only built it as a proof of concept. I have seen you have closed this issue though and wondering if you found the root cause (for the benefits of others that may see the same problem). Thank you!

Sure, and thank you for putting this PoC together, it's really helpful!
I think what was ultimately the issue was a missing IAM permission for a new AWS API wafv2. So I made a local copy of the albiampolicy.json and added this block to it:
    {
      "Effect": "Allow",
      "Action": [
        "wafv2:GetWebACLForResource"
      ],
      "Resource": "*"
    }

I believe that I spotted the problem by adding the --aws-api-debug into my ALB Controller's YAML then tailing the logs on the pod for the ALB Controller.


[BUG] esp32s3 up_putc clears all interrupts

Description / Steps to reproduce the issue
esp32s3 up_putc temporarily disables interrupts.
while doing so, it clears all pending interrupts, even ones unrelated to TX.
https://github.com/apache/nuttx/blob/d41e3da9114cfd4c943c86e3da120b77306b1e7d/arch/xtensa/src/esp32s3/esp32s3_lowputc.c#L828-L830
it seems inappropriate to me, especially when there can be concurrent interrupt-based activities on the UART. (eg. drivers/serial.c)
On which OS does this issue occur?
[OS: Mac]
What is the version of your OS?
macOS 14.7
NuttX Version
master
Issue Architecture
[Arch: xtensa]
Issue Area
[Area: Drivers]
Verification

[X] I have verified before submitting the report.

there seems to be a few copies in the tree.
spacetanuki% git grep "Clear all ints"
arch/risc-v/src/common/espressif/esp_lowputc.c:  /* Clear all ints */
arch/risc-v/src/esp32c3-legacy/esp32c3_lowputc.c:  /* Clear all ints */
arch/xtensa/src/esp32s2/esp32s2_lowputc.c:  /* Clear all ints */
arch/xtensa/src/esp32s3/esp32s3_lowputc.c:      /* Clear all ints */
spacetanuki%


startUpdate error: Error: Update type unavailable, check checkNeedsUpdate.isImmediateUpdateAllowed or checkNeedsUpdate.isFlexibleUpdateAllowed first.

Hello, thank you for your work in this library.
I recently started to use it and I'm receiving this error in Sentry, which made me think if the code in docs and example project shouldn't be changed to something like that:
inAppUpdates.checkNeedsUpdate().then((result) => {
  if (result.shouldUpdate) {
    let updateOptions = {};
    if (Platform.OS === 'android') {
      if (result.isFlexibleUpdateAllowed) {
        updateOptions = {
          updateType: IAUUpdateKind.FLEXIBLE,
        };
        inAppUpdates.startUpdate(updateOptions);
      }
    } else {
      inAppUpdates.startUpdate(updateOptions);
    }
  }
});

Hey there.
If flexible is not allowed, that's probably because updating is not allowed in general (for various reasons) - since flexible seems like the default way of handling updates.
I don't know if it makes sense to stop the error that would show up upon startUpdate by checking isFlexibleUpdateAllowed, that's why it wasn't mentioned in the docs.

Thanks for your quick response. As you mentioned, as this library is just a wrapper around Google In App Updates API, throwing this error shouldn't be part of the normal usage flow in my understanding. If I previously know that the update it's not allowed, why call startUpdate and throw an error that could be avoided?

#151


Multi canvas rendering: Allow multiple cameras when registering a view

See https://forum.babylonjs.com/t/multi-canvas-picture-in-picture/45808/6

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14535/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14535/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14535/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14535/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14535/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14535/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14535/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14535/merge#BCU1XR#0


docker image out of date

https://github.com/SyneRBI/SIRF-Exercises/blob/33fae8f50c0403c58b5c22d152299e59704582ff/.devcontainer/devcontainer.json#L15
@casperdcl should this refer to ghcr.io/synerbi/sirf:jupyter?

Possibly related, using acquisition_model_mr_pet_ct.ipynb from Jupyter in Docker, at the PET section
templ_sino = pet.AcquisitionData(os.path.join(examples_data_path('PET'),"thorax_single_slice","template_sinogram.hs"))
gives:
WARNING: Interfile warning: 'distance between crystals in axial direction (cm)' invalid.

WARNING: Interfile warning: 'distance between crystals in transaxial direction (cm)' invalid.

WARNING: Interfile warning: 'distance between blocks in axial direction (cm)' invalid.

WARNING: Interfile warning: 'distance between blocks in transaxial direction (cm)' invalid.

Sadly, those warnings are currently in STIR master. I forgot to clean them up. There's also going to be warnings about "nonTOF" scanners. Not great.

Probably related is https://github.com/SyneRBI/SIRF-SuperBuild/issues/865, which makes it sound like we cannot upgrade the devcontainer here yet.


Test https://github.com/gradle/actions/issues/196#issuecomment-2074366829

Fixes #issue_id
Motivation
Explain the content here.
Explain why you want to make the changes and what problem you're trying to solve.
Modifications
Describe the modifications you've done.
Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

Downgrading doesn't work. Closing.


how to deal with main domain and sub-domain coexist

Hello,
Due to skydns base on etcd, and etcd can't support key like:
"/local/skydns/com/maindomain"
and
"/local/skydns/com/maindomain/subdomain" coexist, how to configure main domain and sub-domain with different host?
maindomain.com > host = <IP_ADDRESS>
subdomain.maindomain.com > host = <IP_ADDRESS>
Looking forward to your reply!

I have the same problem.

Set different group values to maindomain and subdomain.
https://github.com/skynetservices/skydns#groups


Add Empty/No Results State For Search Page

💡 Description
Hide elements that shouldn't show when there is no search performed. Also show message stating no results found.
⚔ Parent Epic / Related Tickets
No response

Added in https://github.com/NASA-PDS/portal-wp/commit/04d3a42aa8bc05aff785fd362b9b57fc9194ffde

Merged in https://github.com/NASA-PDS/portal-wp/pull/20


Create LICENSE

To have a licence it's just a good practice ;)
I create it here

Your pull request has been merged succefully thank you for your contribution.


Update Chinese README.md

Update the docs/zh/zh_cn/README.md to match the latest version of the README.md in #3313

Closed by #3350


Fix value duplication bug in persistent Vec

This PR fixes a bug in the persistent Vec where values are duplicated when pop is called and the tail is empty.

Is there a test case we should add to prevent a regression of this fix?


Teach GitHub how to recognize ytt YAML as a language

https://github.com/github/linguist/blob/master/CONTRIBUTING.md#adding-a-language
Overall:

[ ] find 200+ unique GitHub repos that are using ytt

For ytt modules (templates, overlays, library files) — .yml, .yaml:

[ ] write a syntax grammar
[ ] get the Bayesian classifier to correctly pick out ytt from a file of .yml/.yaml files of various dialects
[ ] create PR with required "evidence" that this language is in wide use and can be successfully identified most of the time.

For ytt-flavored Starlark,

[ ] ?

Which is more appropriate: attempt to extend the existing Starlark Linguist syntax to optionally include the end?
...or submit an entirely different dialect?
Note: currently, the Starlark entry in language.yml does not include .star

Extending the language would result in having only one starlark language. If it's necessary to also have 200+ unique GitHub repos for ytt's starlark dialect then that could reduce work there.
However I am not sure that would be possible or accepted by the starlark maintainers because it is a syntax outside of the project.

However I am not sure that would be possible or accepted by the starlark maintainers because it is a syntax outside of the project.

Agreed.
Yeah, it would also couple the two projects.
We've already made some changes and want to retain the freedom to do more — if absolutely necessary. 👍🏻


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative/security-guard-approvers
/assign knative/security-guard-approvers
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/hack 7556452...df80419:
  > df80419 :bug: Fix for test failures of knative/serving# 13292 (# 227)
bumping knative.dev/serving e7ad41e...8690e51:
  > 8690e51 Update net-contour nightly (# 13307)
  > 3cae749 Update net-gateway-api nightly (# 13306)

/lgtm
/approve


Change sidebar’s account sub-menu to a link

Is your proposal related to a problem?
As of Wagtail 3.0, the sidebar looks like this:

We’ve discussed changing the search form to a link in #8063. A natural extension of this idea would be to do this for the "Account" sub-menu as well, for similar reasons. Primarily – in the best of cases, it’s an extra click to reach the actual Account page for little value.
Describe the solution you'd like
We should ditch the sub-menu, and instead link straight to the current user’s Account / profile editing UI. This would solve the issues reported in #8063 that also affect this sub-menu.
The "Log out" link could then move to be on the Account page, potentially in the header.
Describe alternatives you've considered
Keep things as-is and accept the UX annoyances.
Additional context
We’ve discussed this in a page editor 2022 design review with @benenright and @phildexter.

Assigning this to @stevedya for the time being but also marking as "Needs Design Decision" – we need to get further validation of whether this is actually a good idea.

I personally think we should keep it as is, with the popup submenu, having quick access to log out here in an unobtrusive way is very helpful, I understand it does add complexity to the UI to manage though.
My reasoning for keeping it

Less change for users, who already will have to go through a lot of change in 3.0/4.0
We won't have to solve 'new' problems of putting the log out somewhere else (taking up space elsewhere in the UI) - also we then need to consider what if someone creates a custom Wagtail admin page and forgets to include the auth bit.
Unless this is an absolute nightmare to manage (UI/UX or accessibility), we may find that changing it breaks other things
This extra content provides a way for advanced customisations to add content to and simplifying it to just a link may break those customisations but also mean there is no 'nice' place to put this stuff.
It works great! I think the refinements to the sidebar and the slim variant in 3.0 are a massive improvement, let's try to focus on things that we know are broken or causing a major headache for code maintenance.


Reactivity Transform: Fails to transform $ref() when used on an export

Version
3.2.27
Reproduction link
sfc.vuejs.org/
Steps to reproduce
Check out the PLayground. it fails with $ref is not defined
The Test.ts file in the playground has instructions for a workaround, demonstrating the transform only fails when used on an export
What is expected?
$ref() is being transformed, and App.vue succeeds in importing and using the export.
What is actually happening?
$ref() is left in the code untransformed, leading to a ReferenceError at runtime.
Found by a user and reported here originally: https://github.com/vuejs/rfcs/discussions/369#discussioncomment-2009933

will also fail with a preceding label
some_label:
var test=$ref(1)


Rustdoc markdown blockquote broken when formatting

Block quotes are marked by > at the beginning of line. They are broken when wrapping long lines.
Original:
/// > For each sample received, the middleware internally maintains a sample_state relative to each DataReader. The sample_state
/// > can either be READ or NOT_READ.

Result of cargo +nightly fmt:
/// > For each sample received, the middleware internally maintains a
/// sample_state relative to each DataReader. The sample_state > can either be
/// READ or NOT_READ.

Expected result:
/// > For each sample received, the middleware internally maintains a
/// > sample_state relative to each DataReader. The sample_state can either be
/// > READ or NOT_READ.

cargo 1.59.0-nightly (fcef61230 2021-12-17)

Thanks for submitting the report!
I'm able to reproduce this using wrap_comments=true


runtime: frequent TestGcLastTime failures on windows-arm64

$ greplogs --dashboard -md -l -e FAIL: TestGcLastTime

2021-08-26T19:07:27-1f8d456/windows-arm64-10
2021-08-22T13:14:19-bd68459/windows-arm64-10
2021-08-19T09:11:02-3bdc179/windows-arm64-10
2021-08-16T23:03:03-df9c5d8/windows-arm64-10
2021-08-13T00:20:28-4c8ffb3/windows-arm64-10
2021-06-29T19:30:24-e294b8a/windows-arm64-10
2021-06-08T05:02:19-c20bcb6/windows-arm64-aws
2021-06-05T19:52:26-e1fa260/windows-arm64-aws

These failures are new as of Go 1.17 because windows-arm64 support itself is new as of Go 1.17, so marking as release-blocker for the next release: we should not allow builder flakiness to increase from one release to the next.
(If we can determine that this test failure does not demonstrate a significant problem on the new platform, it should be skipped on that platform and the issue can be moved to the backlog.)
CC @golang/release

I looked through some of the logs and they all show time (as measured by time.Now().UnixNano()) moving backwards.
What's interesting is they all appear to roll over in the last 8 digits. The more significant digits are the same between the two reads. To me this suggests a shear when reading the time.
1630030642099881100 =><PHONE_NUMBER>000853600
1629664923099568500 =><PHONE_NUMBER>000568000
1629390290099822500 =><PHONE_NUMBER>000990900
1629181133099089200 =><PHONE_NUMBER>000075200
1628840582099496300 =><PHONE_NUMBER>001301100
But I can't figure out how we would get shear at 8 decimal digits specifically. Time itself is split between seconds and nanoseconds, but nanoseconds are the bottom 9 digits. time.now in runtime/time_windows_arm64.s reads the low 32 bits and high 32 bits of the time separately with no memory barriers (this is the same on all Windows architectures), but those are in units of 100ns, so if that sheared, I would expect it to be at 100<<32 =<PHONE_NUMBER>00 ns.
@rsc wrote the windows/arm64 time.now. Also cc @zx2c4 .

As an experiment, I did the same comparison in hex. There's no obvious roll-over pattern in hex, so this definitely seems to be related to a decimal representation of time.
0x169f083b**935d848c** => 0x169f083b**8d767a60**
0x169dbb9cf**c439974** => 0x169dbb9cf**65cf8c0**
0x169cc1d**601dedfa4** => 0x169cc1d**5fbfad2b4**
0x169c039bd**923bd30** => 0x169c039bd**33ce7c0**
0x169acde1**23c7ed6c** => 0x169acde1**1ded966c**

Also cc @bufflig and @alexbrainman for thoughts.
I'm not worried about the test itself, but this seems to indicate a more fundamental issue with reading time on windows/arm64.

Actually, it's possible this was caused by #48476, which was fixed three days ago.

Nevermind, #48476 only applied to arm32.

It could be a bug in OS. Not many people use windows-arm64 OS.
Alex

cc @mknyszek

CC @jeremyfaller.

@jstarks Would you be able to also take a look at this issue? Thanks.

In runtime·nanotime1, the high-low-high algorithm is used to read the current 64-bit interrupt time as three 32-bit values. This code was probably copied from the AMD64 version. However, ARM64 has a looser memory model than x86/AMD64, so you need some extra memory barriers to make the algorithm work. These are missing (as @aclements points out).
The data points above are consistent with a reordering of the loads, such that the low 32 bits is not correctly matched to the high 32 bits. This can cause the low 32 bits to move backward between measurements, or more generally be wrong when the high bits are changing. The one confusing entry was where it appeared that high value was moving backward too, but that's because aclements's values were multiplied by 100 after they were read.
The fix is not to add memory barriers but to do a single 64-bit read of the time in one instruction. That's what we do in Windows (and I recommend changing the AMD64 code to match, even though there's no race condition due to the stricter memory model).

I missed the ping due to messed up mail notification config. I'll pick it up.
Thanks for the analysis!

@bufflig I submitted a CL already: https://go-review.googlesource.com/c/go/+/361057

Ah, awesome. Thanks!

That's not really thoroughly tested, so if you want to run it through the paces on various hardware, feel free.

Ack, I will run it on anything I can get my hands on :)

Dividing by 100 (decimal) and then comparing in hex does indeed reveal a much clearer pattern:
0x39e90ad5f4229b => 0x39e90ad5e50658
0x39e5b7547150e5 => 0x39e5b7546235b0
0x39e337e66b3051 => 0x39e337e65c1bb5
0x39e150eb21a32c => 0x39e150eb128770
0x39de3802eaf593 => 0x39de3802dbf9d3
What I'm still missing is that roll-over seems to be happening at 24 bits. If the two 32-bit reads were inconsistent, shouldn't we see the roll-over at 32 bits?
(Using a single 64-bit load is a clear improvement and may well fix this bug, I'm just not quite seeing how all the dots connect yet. I blame any slowness on my part on baby-induced sleep deprivation. :)

If the two 32-bit reads were inconsistent, shouldn't we see the roll-over at 32 bits?

Is this just a matter of the actual timing of the race and the precision of the clock? That is, maybe those top 8 bits just didn't change between reads, because that takes longer?

I believe that this did not actually fix the problem. On arm64 time still moves backwards. Looking at the assembler, it appears to me that it's rather a typo - it calculates (x /<PHONE_NUMBER>, x % 100000000) instead of (x /<PHONE_NUMBER>, x %<PHONE_NUMBER>) (one zero to few in the x % expression). That I think fits perfectly with the symptoms as well.
Or am I reading it completely wrong?

Haha! You're right.  The comment has the right constant but the code has the wrong one. https://github.com/golang/go/blob/cfd016df1fba2a2a104f4cca705aa4357777986b/src/runtime/time_windows_arm64.s#L45
The memory ordering fix is still necessary for correctness but I guess it's not actually hitting in practice.

Your reading of the assembly looks correct.  But actually, that code is all over the place:

sys_plan9_amd64.s
time_windows_amd64.s
time_windows_arm64.s

Seems like a good catch?

Haha! You're right. The comment has the right constant but the code has the wrong one.

Wait, they both look wrong to me...

The comment has 9 zeroes, the constant has 8.

For the modulo?

Looks like on the remaining two platforms, the constant is fine and doesn't match the comment. But on ARM64 the constant and comment are both wrong.
Sending  a patch.

Gah, thanks for spotting that.  Perhaps the assembler should support the 1e9 syntax we can use in Go.

@gopherbot please backport this to 1.17


KernelExplainer with textual data using pipeline

Hi I was looking through and I found no examples using KernelExplainer to explain text data predictions so I decided to test it out using the dataset i found on https://www.superdatascience.com/machine-learning/.
I encountered a problem in the KernelExplainer part at the last bit, where I believe the problem is the way I input the data and model into the explainer. Can anyone advise me on what I should revise so as to make the explainer work? Thanks.
Dataset: https://drive.google.com/file/d/1-pzY7IQVyB_GmT5dT0yRx3hYzOFGrZSr/view?usp=sharing
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import os
import re
import nltk

#Load the data
os.chdir('C:\\Users\\Win\\Desktop\\MyLearning\\Explainability\\SHAP')
review = pd.read_csv('Restaurant_Reviews.tsv', sep='\t')

#Clean the data
nltk.download('stopwords')
from nltk.corpus import stopwords
from nltk.stem.porter import PorterStemmer

def clean_text(df_text_column, data):
    corpus = []
    for i in range(0, len(data)):
        text = re.sub('[^a-zA-Z]', ' ', df_text_column[i])
        text = text.lower()
        text = text.split()
        ps = PorterStemmer()
        text = [ps.stem(word) for word in text if not word in set(stopwords.words('english'))]
        text = ' '.join(text)
        corpus.append(text)
    return corpus

X = pd.DataFrame({'Review':clean_text(review['Review'],review)})['Review']
y = review['Liked']

# Splitting the dataset into the Training set and Test set
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)

# Creating the pipeline
from sklearn.feature_extraction.text import TfidfVectorizer
vect = TfidfVectorizer()
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier()
from sklearn.pipeline import make_pipeline
np.random.seed(0)
rf_pipe = make_pipeline(vect, rf)
rf_pipe.steps
rf_pipe.fit(X_train, y_train)

y_pred = rf_pipe.predict(X_test)
y_prob = rf_pipe.predict_proba(X_test)

#Performance Metrics
from sklearn import metrics
metrics.accuracy_score(y_test, y_pred) #Accuracy
metrics.roc_auc_score(y_test, y_prob[:, 1]) #ROC-AUC score

# use Kernel SHAP to explain test set predictions
import shap
explainer = shap.KernelExplainer(rf_pipe.predict_proba, X_train, link="logit")
shap_values = explainer.shap_values(X_test, nsamples=100)

# plot the SHAP values
shap.force_plot(explainer.expected_value[0], shap_values[0][0,:], X_test.iloc[0,:], link="logit")

Could you post the error as well? One comment is that you should use something like shap.kmeans(X_train, 1) instead of passing the whole training dataset as the background.

It says AttributeError: 'numpy.ndarray' object has no attribute 'lower' upon running the shap.KernelExplainer. Thanks for your help.

When I tried to use shap.kmeans(X_train, 1), it says IndexError: tuple index out of range. I'm guessing I have to do some tweaks to the pipeline, but I'm still not able to solve it.

Ah. The issue is you are are passing a text document where each feature is really each word, but KernelExplainer expects a matrix or DataFrame where each feature is a column. I would like to directly support text input at some point, but for now you would have to do it manually. I would recommend explaining just the RF in your pipeline (using TreeExplainer) which will give you attributions for each word in the matrix produced by TfidfVectorizer. You could then use the the get_feature_names method of TfidfVectorizer to see how those columns match to your original words.
Optimally we should be able to just take the whole pipeline object and do all this automatically. Along the same lines it would be great to have a "text_plot" routine to display the importance of each text sample. But I don't have any timeline for either of these (unless someone wants to send a PR for it).

Got it. Thanks for your inputs on this!

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import os
import re
import nltk
from pathlib import Path
#Load the data
review = pd.read_csv('Restaurant_Reviews.tsv', sep='\t')
review = pd.read_csv("/home/qpaas/Desktop/rr.csv", sep='\t')
pd.read_csv("/home/mypc/Documents/pcap/s2csv")
nltk.download('stopwords')
from nltk.corpus import stopwords
from nltk.stem.porter import PorterStemmer
def clean_text(df_text_column, data):
corpus = []
for i in range(0, len(data)):
text = re.sub('[^a-zA-Z]', ' ', df_text_column[i])
text = text.lower()
text = text.split()
ps = PorterStemmer()
text = [ps.stem(word) for word in text if not word in set(stopwords.words('english'))]
text = ' '.join(text)
corpus.append(text)
return corpus
X = pd.DataFrame({'Review':clean_text(review['Review'],review)})['Review']
y = review['Liked']# Splitting the dataset into the Training set and Test set
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)
Creating the pipeline
from sklearn.feature_extraction.text import TfidfVectorizer
vect = TfidfVectorizer()
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier()
from sklearn.pipeline import make_pipeline
np.random.seed(0)
rf_pipe = make_pipeline(vect, rf)
rf_pipe.steps
rf_pipe.fit(X_train, y_train)
y_pred = rf_pipe.predict(X_test)
y_prob = rf_pipe.predict_proba(X_test)
from sklearn import metrics
metrics.accuracy_score(y_test, y_pred) #Accuracy
metrics.roc_auc_score(y_test, y_prob[:, 1]) #ROC-AUC score
use Kernel SHAP to explain test set predictions
import shap
explainer = shap.TreeExplainer(rf)
shap_values = explainer.shap_values(X_test)

Hi,  have tried replicating the above, however I am finding trouble in executing , the error is as following, could you please help me solve this

ValueError                                Traceback (most recent call last)
 in
2 import shap
3 explainer = shap.TreeExplainer(rf)
----> 4 shap_values = explainer.shap_values(X_test)
~/anaconda3/lib/python3.7/site-packages/shap/explainers/tree.py in shap_values(self, X, y, tree_limit, approximate)
213             X = X.reshape(1, X.shape[0])
214         if X.dtype != self.model.dtype:
--> 215             X = X.astype(self.model.dtype)
216         X_missing = np.isnan(X, dtype=np.bool)
217         assert str(type(X)).endswith("'numpy.ndarray'>"), "Unknown instance type: " + str(type(X))
ValueError: could not convert string to float: 'present food aw'

also, I have tried in providing with the vector format.
shap_values = explainer.shap_values(test_vectors)
it is giving me the following response
~/anaconda3/lib/python3.7/site-packages/shap/explainers/linear.py in init(self, model, data, nsamples, feature_dependence)
70             raise Exception("A background data distribution must be provided!")
71
---> 72         self.expected_value = np.dot(self.coef, self.mean) + self.intercept
73
74         self.M = len(self.mean)
AttributeError: 'LinearExplainer' object has no attribute 'mean'

In the TreeExplainer error it is because you are passing the text and not the vectorized input the RandomForest is expecting. In the second error I don't see enough details to know what might be going wrong. Perhaps a self contained example would be good. Also try master since LinearExplainer recently got some updates.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import os
import re
import nltk
from pathlib import Path
review = pd.read_csv("/home/qpaas/Desktop/rr.csv", sep='\t')
nltk.download('stopwords')
from nltk.corpus import stopwords
from nltk.stem.porter import PorterStemmer
def clean_text(df_text_column, data):
corpus = []
for i in range(0, len(data)):
text = re.sub('[^a-zA-Z]', ' ', df_text_column[i])
text = text.lower()
text = text.split()
ps = PorterStemmer()
text = [ps.stem(word) for word in text if not word in set(stopwords.words('english'))]
text = ' '.join(text)
corpus.append(text)
return corpus
X = pd.DataFrame({'Review':clean_text(review['Review'],review)})['Review']
y = review['Liked']
As said I have tried to vectorise before loading it into the model
from sklearn.feature_extraction.text import TfidfVectorizer
vect = TfidfVectorizer()
X_train_vect = vect.fit_transform(X_train)
X_test_vect = vect.transform(X_test)
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier()
rf.fit(X_train_vect, y_train)
from sklearn.pipeline import make_pipeline
y_pred = rf.predict(X_test_vect)
y_prob = rf.predict_proba(X_test_vect)
from sklearn import metrics
metrics.accuracy_score(y_test, y_pred) #Accuracy
metrics.roc_auc_score(y_test, y_prob[:, 1]) #ROC-AUC score
use Kernel SHAP to explain test set predictions
import shap
explainer = shap.TreeExplainer(rf)
shap_values = explainer.shap_values(X_test_vect)
so this is throwing an error which is following, can you help me in discerning what actually went wrong.
TypeError                                 Traceback (most recent call last)
 in
2 import shap
3 explainer = shap.TreeExplainer(rf)
----> 4 shap_values = explainer.shap_values(X_test_vect)
~/anaconda3/lib/python3.7/site-packages/shap/explainers/tree.py in shap_values(self, X, y, tree_limit, approximate)
214         if X.dtype != self.model.dtype:
215             X = X.astype(self.model.dtype)
--> 216         X_missing = np.isnan(X, dtype=np.bool)
217         assert str(type(X)).endswith("'numpy.ndarray'>"), "Unknown instance type: " + str(type(X))
218         assert len(X.shape) == 2, "Passed input data matrix X must have 1 or 2 dimensions!"
TypeError: No loop matching the specified signature and casting
was found for ufunc isnan
Thanks
Hemanth
TypeError                                 Traceback (most recent call last)
 in
2 import shap
3 explainer = shap.TreeExplainer(rf)
----> 4 shap_values = explainer.shap_values(X_test_vect)
~/anaconda3/lib/python3.7/site-packages/shap/explainers/tree.py in shap_values(self, X, y, tree_limit, approximate)
214         if X.dtype != self.model.dtype:
215             X = X.astype(self.model.dtype)
--> 216         X_missing = np.isnan(X, dtype=np.bool)
217         assert str(type(X)).endswith("'numpy.ndarray'>"), "Unknown instance type: " + str(type(X))
218         assert len(X.shape) == 2, "Passed input data matrix X must have 1 or 2 dimensions!"
TypeError: No loop matching the specified signature and casting
was found for ufunc isnan

Ahah!
I haven't loaded shap with appropriate things. I have executed the code well "as of now"
It was great to see the level of enthusiasm from the quick response from your end.
thanks Slundberg.

Sorry for necrobumping but @HemanthKumar-Thope I'm having the same issue as you:
Traceback (most recent call last):
  File "main.py", line 56, in <module>
    print(shap_tree_explanation(trained_classifier, test_data))
  File "/home/architect/git_repositories/dissertation/text-classification/sensitivity_classifier/explainers.py", line 45, in shap_tree_explanation
    shap_values = explainer.shap_values(transformed_test_data)
  File "/home/architect/.local/share/virtualenvs/text-classification-YBkDjDw-/lib/python3.7/site-packages/shap/explainers/tree.py", line 227, in shap_values
    X_missing = np.isnan(X, dtype=np.bool)
TypeError: No loop matching the specified signature and casting was found for ufunc isnan

My explainer function is as follows:
def shap_tree_explanation(pipeline, data):
    # extract trained classifier from Pipeline and create tree explainer from it
    explainer = shap.TreeExplainer(pipeline["clf"])

    # transform data with pipeline's vectorizer
    transformed_data = pipeline["vect"].transform(data)

    # calculate SHAP values for tree model
    shap_values = explainer.shap_values(transformed_data)

    return shap_values

My pipeline is defined as such:
    pipeline = Pipeline(
        steps=(
            ("vect", get_vectorizer()),
            # HashingVectorizer(
            #     norm='l2',
            #     stop_words="english",
            #     strip_accents="unicode",
            #     lowercase=True,
            # ),
            ("clf", classifier),
        ),
        verbose=True,
    )

and the data argument is a list of a single string containing a document (string) for which to explain the prediction

@slundberg I am having same error as @HemanthKumar-Thope had. But, I am unable to find any solution for this. Neither it is provided in this thread. Please help if you have any idea about it.

@PrasadKshirsagar Did you solve it? I have the same error. I just call
shap.TreeExplainer(model).shap_values(X_train) and get
TypeError: No loop matching the specified signature and casting was found for ufunc isnan.

I ran into the error too and my input X was sparse. Since you are dealing with text I guess you too?
A simple solution to check: X.toarray()


[cfe] Spurious claim that a late final variable is 'definitely unassigned'

Consider the following program:
void main() async {
  late final int x;
  await for (x in Stream.fromIterable([1])) {} // Error: 'Can't assign to final'.
  print(x); // Error: 'definitely unassigned'.
}

This program is rejected with two compile-time errors by the CFE (DartPad, Based on Flutter 3.12.0-2.0.pre Dart SDK 3.1.0-169.0.dev):
Error compiling to JavaScript:
lib/main.dart:3:14:
Error: Can't assign to the final variable 'x'.
  await for (x in Stream.fromIterable([1])) {} // Error: 'Can't assign to final'.
             ^
lib/main.dart:4:9:
Error: Late variable 'x' without initializer is definitely unassigned.
  print(x); // Error: 'definitely unassigned'.
        ^
Error: Compilation failed.

The first error is fine, we may iterate more than once with the loop, and at the 2nd iteration and up we will assign a value to x even though it is definitely already assigned. (We could allow this because the loop might run exactly once; but this is hardly a useful treatment of the loop because it doesn't have to be a loop in the first place if it must run exactly once; so the error is indeed fine).
It is also possible that the loop iterates zero times, in which case x remains unassigned. So print(x) might fail. However, x should be considered 'possibly assigned' at print(x) because it is possible that the loop runs exactly once.
Note that the analyzer does not report any 'definitely unassigned' errors for this program.
Perhaps this is just caused by a kind of recovery where the await-for statement is considered to be a compile-time error, and then it is ignored during analysis of successors in the control flow graph?

I'm working on a fix at https://dart-review.googlesource.com/c/sdk/+/311120.


table refactor: edit, delete functionalities, styling, toggling

From issues #131, #132, #133
Table Component Props:

columns (list of objects with each as a column; has dataField and the actual text represented (id vs 'Product ID'. also includes fields for sort (true/false), editor types (see App.tsx; like drop-down menu)
data
candtEditCols (set of col indices can't modify)
canModify (boolean for if table is editable)
modRoute: backend slug to modify this table. (ex: modRoute="/table")

Table Component State:

editRows: Set of row IDs being edited
data: from passed in prop data
showDeleteModal (boolean, whether to pop up delete confirmation)
rowToDelete (holds row object for one being deleted)
columns: from props but added formatter & editorClasses field for formatting

Functionalities:

InputFormatter:

formats all boxes if it's editable

handleTryDelete & handleClickClose:

pops up delete confirmation modal or closes it; passed to TModal as props along with rowToDelete as the row prop

handleEdit:

adds row id of one clicked to editRows state

handleSave:

since front-end is already updated, we find the row obj inside the data with that updated info and ideally do a fetch call to update backend, then updated state to remove row.id from editRows if successful. this is commented out

handleDelete:

similar, finds + removes row obj from data & updates state. ideally would be after if a fetch call to delete is successful.

the Fetch call

via one route passed into Table as modRoute prop (pass in the slash please)
has field "mode", with value "delete" or "edit"
id, with the unique row identification value
If it was an edit, will also have all other fields of the object, modified (including id; done via the spread operator)

Anything else

Edit/Delete words disappear if small screen (icon only)
people will need to modify fetched data / create columns before using Table so will have to read documentation maybe
will need to designate one column as id

Basically got all the functionalities to work. Styling unfinished. Explanations were commented under individual issues as I did them.

empty table button/message/styling: in #136 , #138
pagination logic + styling: notes in #145
showing X of X results custom + styling: in #143
choosing X results per page, functionality + styling: #144
select row state/highlight: #141
I basically have to figure out a lot of the styling (including checkbox things / overall styles), the arrangement of bottom bar elements, probably general code cleanliness (I left a lot of console.logs everywhere). sorting wasn't included in the epic but was on the design so idk if I have to do that? I'll probably write out how the data/columns/other props need to be prepped in order to feed them into a .
wasn't sure why codacy failed 😮

remember: when I change pages without hitting save, the row is still highlighted in edit mode when i go back to that page, but resets the edit button. should prob fix that

Good job @vanessa-hu! Overall, the table looks quite good.
One glitch I noticed while testing it is that sorting the table while editing one of the rows can lead to situations like below where the Edit column shows "Edit" instead of "Save" when you're already editing it:

To reproduce the glitch you can click Edit on the first row, sort the Product Price twice, then click Edit on the first row again, then sort the Product Price again. I think a quick fix would just to prevent sorting on edit if that's possible.
Also, I'm just wondering, what is the point of the checkboxes? Because clicking Edit, Save, or Delete only performs the action on the given row, not all the selected/checkboxed rows.

I don't think you can prevent sorting on edit since whether a column can be sorted, is passed in with the columns prop. But, there is an onSort listener with bootstrap table 2, so I can clear selectRows and editRows whenever a table is resorted (link here).
I'm not sure exactly why the select option is there, but it was in the figma design! based on the epic explanation #142 it seems like it was a good-to-have in case we want to do something specific in a parent component, so it's just stored in a state for now? @loafyyy

Combined with changes in server pull request here, the adminPanel can be displayed via the new Table component! Search bar is still specific to adminPanel, but also works still.
Fixed some bugs in pagination and added canSelect prop to denote whether we want a select column on the table.
For future tables that need edit/delete, that functionality will depend on the onEdit and onDelete props passed into the Table. those should make sure to communicate with the backend to make changes, then pass the updated data into Table as a prop so everything is actually updated. Currently the dummy table-test "works" because there's a state var in Table called data (that's a copy of the prop) that I modify, to try out what delete would look like (visually). but that could be removed in the future because of the passed-in prop updating via onEdit and onDelete that should auto-update the data to have different row info/deleted rows.
https://user-images.githubusercontent.com/21111373/103573506-5b62d300-4e9c-11eb-9007-f59859f1bc2a.mp4

Combined with changes in server pull request here, the adminPanel can be displayed via the new Table component! Search bar is still specific to adminPanel, but also works still.
Fixed some bugs in pagination and added canSelect prop to denote whether we want a select column on the table.
For future tables that need edit/delete, that functionality will depend on the onEdit and onDelete props passed into the Table. those should make sure to communicate with the backend to make changes, then pass the updated data into Table as a prop so everything is actually updated. Currently the dummy table-test "works" because there's a state var in Table called data (that's a copy of the prop) that I modify, to try out what delete would look like (visually). but that could be removed in the future because of the passed-in prop updating via onEdit and onDelete that should auto-update the data to have different row info/deleted rows.
https://user-images.githubusercontent.com/21111373/103573506-5b62d300-4e9c-11eb-9007-f59859f1bc2a.mp4


[#38] delete old gradle config files

Closes #38

I checked root, core, common and server module, no gradle files left

Coverage remained the same at 86.034% when pulling 10a167837d4359e59a44adbdfc0967bf0b8a0769 on feature/38_delete_old_gradle_files into cd14afd6e1ce5258b2498e9ee69778c0fa9a99c0 on develop.


Generate sitemap only during build proccess

Is it possible for me to generate the sitemap xml file during build only? i searched the 'changefreq' option in the repository and could see if it is possible or not.

i think i made a stupied question.. didn´t know  much about sitemap xml before asking.. sorry! it is denifed on http://www.sitemaps.org/schemas/sitemap/0.9 xsd right?

Hi, if you want to generate sitemap on build, try https://github.com/jbaubree/vite-ssg-sitemap or https://www.npmjs.com/package/vite-plugin-sitemap if you dont use vite-ssg.


Add install commands

poly-scribes C++ code still requires installation instructions.

For this, CEREAL_INSTALL must probably set to true.

Closed by #26


Can you use Github Actions to build pre-compiled binary releases?

Can you use Github actions to build and publish pre-compiled binary?
I am not experienced with Github actions but I can try and code it for you if you want.
I found an example for a repo written in GO: https://github.com/Jguer/yay/blob/master/.github/workflows/docker-multiarch-tag.yml

It's undocumented but Github Actions actually support Docker containers.

You mean like this? https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-a-docker-container-action
Would the GitHub-provided container have enough resources to build Chromium?

@csagan5 What I used is actually this, but it only works on Ubuntu VMs, which is kind of too slow. I have an updated version running on macOS which is 25% faster.

@wchen342 from what I understand it would not work for an Android build because it would take more than 6h?
I have considered in the past using https://build.opensuse.org/ (assuming they would allow it), but it would not be integrated with GitHub actions.

@csagan5 It works for most single targets (MonoChrome+arm, Chrome+arm64). The only exception is MonoChrome+arm64 that has twice more ninja targets (which I have no idea why). I don't build Trichrome so I didn't try that.

@csagan5 I saw a few weeks ago that Github Actions now supports self-hosted runners.
I was planning on beginning automating builds with my beefiest private server (8gb ram, 120gb storage) before the months over. I'll report back my findings in this issue or another.

8gb ram, 120gb storage

@nikolowry is that the one you mentioned takes ~4 hours to build? Is it a bare metal VPS or shared?

@csagan5 nothing fancy, just a Digital Ocean droplet with 4 vCPUs -- was hoping with a little experimenting and love I could figure out how to optimize for reliable builds. I've never built Chromium on there as of yet, but I'd imagine it will be 4-6 hours.
Does anyone know what /e/ uses for their builds? Their Bromite builds seem to take ~3.5 hours https://gitlab.e.foundation/e/apps/browser/pipelines

I'd imagine it will be 4-6 hours

I would say more, but let me know.

Does anyone know what /e/ uses for their builds?

It is not visible from GitLab, they will probably explain if you ask.

I just saw the automatic build for ungoogled-chromium-archlinux timed out for v80 because of #928. I think a workaround is possible but it will be a quite ugly one (upload half-finished output as artifact and continue as another workflow).
I think if we got some donations then we can run our own machines, both for building and testing, but for now it seems not to be an option. What does @Eloston think?

Chromium really needs fast ram more than a lot of cores. 16GB tmpfs should be able to build chromium in 3 hours or so. If you don't have the money just use the OBS.
@csagan5
You should be able to build in the OBS, as I'm doing here: https://build.opensuse.org/package/show/home:justkidding:arch/ungoogled-chromium
dunno how the android setup would be tho.

@jstkdng I think the goal here is to find a way that can be integrated with github pull requests/tags/etc. Do you know OBS can do that or not?

You should be able to build in the OBS, as I'm doing here:

@jstkdng thanks for the pointer! I will definitely give a look.

Do you know OBS can do that or not?

@wchen342 I think you cannot use OBS as slaves; for me the goal is not to necessarily use GitHub actions so OBS will be fine.

@wchen342
You could try to use github webhooks as the OBS has its own rest api, but you would have to build all of chromium for every small change.

@jstkdng I think the goal here is to find a way that can be integrated with github pull requests/tags/etc. Do you know OBS can do that or not?

No, the goal is to build Chromium just for releases.

Chromium really needs fast ram more than a lot of cores. 16GB tmpfs should be able to build chromium in 3 hours or so. If you don't have the money just use the OBS.

I can also build Chromium on my computer in less than 3 Hours, but what about others(Windows and MacOS)?
I just want a to find general solution for all platforms, thats the goal of this discussion.

@csagan5 Just a heads up, OBS seems to be prohibiting chromium that contains patent codes, see the links in https://aur.archlinux.org/packages/ungoogled-chromium/#comment-728578.

@csagan5 Just a heads up, OBS seems to be prohibiting chromium that contains patent codes, see the links in https://aur.archlinux.org/packages/ungoogled-chromium/#comment-728578.

I have just downloaded and installed it manually.

I have just downloaded and installed it manually.

The fact that someone has run into the problem means there is a possibility that the project can get taken down at some time. Maybe the rules are not enforced so well so we can get around it from time to time, but it does not mean we should rely on such loopholes to make things work.
The decision is package maintainer's and I still prefer using Github itself at this time.

OBS seems to be prohibiting chromium that contains patent codes

They must refer to the codecs; in this case then I will not try to build it on OBS.

@csagan5
you could just use their own chromium tarball without the patented parts. I'm gonna try doing that: https://build.opensuse.org/source/network:chromium/chromium/chromium-80.0.3987.87.tar.xz
@wchen342

The decision is package maintainer's and I still prefer using Github itself at this time.

I'd prefer to use my own hardware tbh, but I don't have enough compute power. Also, the project could also be shut down on github as you are using the chromium tarball with patented stuff as well.

In our case, it could be in google's best interest to just send a C&D or a DMCA to github.

Technically the file is not saved on Github servers, only exists transiently during build so I'm not sure that's the same thing. Not an expert so I could be wrong on this.

Edit 2: Just downloaded the tarball from OpenSUSE's repo and the one my repository uses, the sha256 sums are the same.

That's interesting. I think the problem with my Android build and probably bromite too is that the usual tarball doesn't include Android codes. I have to check them out using gclient manually (I'd like to know how @csagan5 does this actually).

I'm checking that OpenSUSE blacklist page: https://en.opensuse.org/index.php?title=openSUSE:Build_Service_application_blacklist&action=history
and chromium has been listed there since 2010, maybe in 2010 there where patented code portions in the chromium source but now that no longer is the case and they just forgot to update it, so no need to worry.

@csagan5 here's a brief overview of building release 80.0.3987.78 on my Digital Ocean Droplet with 4 vCPUS, 8gb memory and 165gb storage:
Duration: 8h23m
CPU Usage: All 4 vCPUs were at maxed out at 100% usage for the entirety of the build
Memory: Usage hovered around 2-3gb for the entirety of the build
Disk Usage: 45gb

Thank you @everyone. This discussion has been really interesting.
I think at the end we need a paid build service to build chromium. No free server would give you the requirements to do such a huge task. Even OBS will stop their free service someday and turn it into paid(I am sure of it, they just want some attention ;) ).
Anyways, you guys know better than me, I am new to this project and I just want this browser to be available for anyone.

Yeah, the ideal solution would be to have a build server, sort of how arch does (pkgbuild.com) , and to have it build for all distros. We could even install the OBS software into that server and just let it do its thing. Of course, that costs money, like 100+ USD per month (speaking from experience).
Until that money can be obtained every month we just have to wait and use our own solutions for as long as we can.

@jstkdng Yes, OBS is the best solution atm :)

@jstkdng @Rowisi If we can have a standalone build server then I will definitely vote for that :)
Then reason I want to stick with Github at this time is I want to solve this issue and the unit test issue at once, since Actions can be used as a CI too, and part of the test we need for every pull request is it will build successfully. Otherwise we need to configure two different things runs build at the same time.

@jstkdng OBS does not blacklist Chromium because it can be sued but simply because the build process of Chromium includes binary parts which get embedded in the final binary. This is allowed by the Chromium project also for redistribution, but the pieces which do not come from sources might be patented thus not open source. They stick to OSI licenses only and they should be praised for that.
@wchen342 I do not check anything out with gclient manually: I use gclient sync, @nikolowry also does something similar. Most of the downloaded binaries are however not used/embedded to build Bromite thanks to the patches to kill such integrations.

We could even install the OBS software into that server

That would be overkill; if you setup a server for build purposes you can use with GitHub/GitLab directly.

maybe in 2010 there were patented code portions in the chromium source but now that no longer is the case (that would explain same sha256 sums) and they just forgot to update the list

@jstkdng I think someone should ask them directly, considering also that a sizable amount of resources would be needed. The patented bits are still there in Chromium and the criteria for not allowing them are the same F-Droid has for inclusion/exclusion.

on my Digital Ocean Droplet with 4 vCPUS, 8gb memory and 165gb storage

That would be too expensive and unfortunately not much faster than cheaper options, but thanks for sharing.

OBS doesn't support alpine,void linux(musl libc)


chore: bump up kind for k8s v1.31

Description
This PR upgrades the Kubernetes version to v1.31 and eliminates the usage of deprecated API for integration tests.
The batch/v1beta1 API version of CronJob is no longer served as of v1.25. read here
Also, now the test looks for a report name instead of a number .report.summary.highCount for cluster vulnerability report. It's a critical, because there is no any vulnerability derectly for Kubernetes v1.31 on November 2024.
Checklist

[x] I've read the guidelines for contributing to this repository.
[x] I've added tests that prove my fix is effective or that my feature works.
[ ] I've updated the documentation with the relevant information (if needed).
[ ] I've added usage information (if the PR introduces new options)
[ ] I've included a "before" and "after" example to the description (if the PR is a user interface change).

@simar7
I've finished this PR finally, could you please take a look?
honestly, I thought there is any issue with k8s v1.31. but there was a problem with tests )


@add init file to data folder

Codecov Report

Merging #16 (e1cf7e9) into master (79c7149) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #16   +/-   ##
=======================================
  Coverage   91.44%   91.44%
=======================================
  Files          19       19
  Lines        1403     1403
=======================================
  Hits         1283     1283
  Misses        120      120

Continue to review full report at Codecov.

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


Adding OWNERS_ALIASES

https://git.k8s.io/community/contributors/guide/owners.md#owners_aliases

/test dataplane-operator-build-deploy

/test dataplane-operator-build-deploy

/test dataplane-operator-build-deploy

/test dataplane-operator-build-deploy

/test dataplane-operator-build-deploy


Avoid prototype chain access

Another micro perf enhancement.
Basically store variable to avoid long prototype chain access in loop.
From our app we see
191.3 ms (2.61%) -> 151.3% (2.13%) on a 5 times average without cache.

This method is only called on instantiation, so I don't think it should affect read speed during application run time.

yes, we won't got much on run time.

So could it be that this is exposing a flaw in the benchmark? Seems suspicious to me that this would decrease read time by 40ms.

The second time run with cache, the time is good. guess still worth for init load

@roderickhsiao The internals of this library were just rewritten so this may not be needed anymore. If you want to verify again that would help. Otherwise, you can close this PR.


Always install dataclasses

When I install mpire from pip install mpire, it will always install dataclasses, even if there is a judgment
This is very confusing and makes this dependency unusable in our library. Please fix this problem as soon as possible.
python version: 3.8.6
mpire version: 2.3.3

@sailxjx  that is odd. It seems that installing from source using pip install . behaves differently from pip install mpire. I will investigate this further and will keep you posted.

I will apply PEP 508, which will hopefully resolve it. This fix will be added to the next release of MPIRE.

Glad to hear it.

Fixed in v2.3.4


Destinations with provided JWT - audience mismatch

After having upgraded to sap-cloud-sdk 2.1.0 combined with VDMs in version 2.0.0, accessing destinations via the VDMs does not work anymore when providing a JWT fetched from the destination service.
When being in an XSUAA context without fetching the DestinationService access token, access works fine (which is done when doing calls from UI in a Business User's tenant scope).
The JWT fetched from the DestinationService for a certain subscribed tenant contains the clientId of the DestinationService subscription within its audience property (aud).
When using that, as follows:
someWhitelistedApi.requestBuilder()
    .getAll()
    .top(1)
    .select(someWhitelistedApi.schema.SOME_PROPERTY)
    .execute({destinationName: "MyDest", jwt: destinationJwtForTenant, useCache: true});

you get the following error:
ErrorWithCause: Could not find a destination with name "MyDest"! Unable to execute request.
at /home/vcap/deps/0/node_modules/@sap-cloud-sdk/odata-common/dist/request-builder/request-builder-base.js:108:23
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async /home/vcap/app/dist/app.service.js:117:32
at async Promise.all (index 1)
at async AppService.healthcheck (/home/vcap/app/dist/app.service.js:115:16)
at async AppController.triggerHealthCheck (/home/vcap/app/dist/app.controller.js:24:16)
at async /home/vcap/deps/0/node_modules/@nestjs/core/router/router-execution-context.js:46:28
at async /home/vcap/deps/0/node_modules/@nestjs/core/router/router-proxy.js:9:17
Caused by:
Error: Jwt token with audience: [
'sb-clonexxxxxxxxxxxxxxxxxxxxxx|destination-xsappname!bxxx',
'uaa'
] is not issued for these clientIds: [** 'sb-myApp!t0815', 'myApp!t0815' **].
at returnError (/home/vcap/deps/0/node_modules/@sap/xssec/lib/validator.js:254:25)
at /home/vcap/deps/0/node_modules/@sap/xssec/lib/validator.js:306:36
at TokenInfo. (/home/vcap/deps/0/node_modules/@sap/xssec/lib/tokeninfo.js:140:24)
at /home/vcap/deps/0/node_modules/jsonwebtoken/verify.js:223:12
at /home/vcap/deps/0/node_modules/@sap/xssec/lib/verificationkey.js:111:24
at /home/vcap/deps/0/node_modules/@sap/xssec/lib/keycache.js:230:24
at _requestToNetworkAXIOS (/home/vcap/deps/0/node_modules/@sap/xssec/lib/requests.js:52:13)
at processTicksAndRejections (internal/process/task_queues.js:97:5) {
cause: Error: Jwt token with audience: [
'sb-clonexxxxxxxxxxxxxxxxxxxxxx|destination-xsappname!bxxx',
'uaa'
] is not issued for these clientIds: [ ** 'sb-myApp!t0815', 'myApp!t0815' ** ].
at returnError (/home/vcap/deps/0/node_modules/@sap/xssec/lib/validator.js:254:25)
at /home/vcap/deps/0/node_modules/@sap/xssec/lib/validator.js:306:36
at TokenInfo. (/home/vcap/deps/0/node_modules/@sap/xssec/lib/tokeninfo.js:140:24)
at /home/vcap/deps/0/node_modules/jsonwebtoken/verify.js:223:12
at /home/vcap/deps/0/node_modules/@sap/xssec/lib/verificationkey.js:111:24
at /home/vcap/deps/0/node_modules/@sap/xssec/lib/keycache.js:230:24
at _requestToNetworkAXIOS (/home/vcap/deps/0/node_modules/@sap/xssec/lib/requests.js:52:13)
at processTicksAndRejections (internal/process/task_queues.js:97:5) {
statuscode: 401
With previous SDK versions, that worked properly, I guess the aud property of the JWT hadn't been checked before.
Working with provided JWTs per tenant is neccessary when doing API calls from outside the UI, e.g. a healthcheck, that performs a Ping to all subscribed tenants' destination.
Used Versions:

node version: 14.18.2
npm version: 6.14.15
SAP Cloud SDK version: 2.1.0
whitelisted VDMs (e.g. @sap/cloud-sdk-vdm-material-planning-data-service): 2.0.0

Found out, that it‘s working when setting ˋiasToXsuaaTokenExchangeˋ to ˋfalseˋ.
Got it working by trial and error, since the docs didn‘t give any hints.
Maybe adding this information to the migration guide to cloud sdk 2.0+ would be helpful…?

Hi @nocheintobi,
sorry that you had to reengineer our code to find a solution.  Your intuition is correct that we switched to a library @ap/xssex in version 2.0 of the SDK to do some token exchange for IAS token if needed and also doing the verification which is more strict.
For cases when you do not have a user context and want to get destinations from other tenants on behalf of your application you can also use the iss property instead of a JWT:
https://sap.github.io/cloud-sdk/docs/js/features/connectivity/destination#destination-lookup-without-a-json-web-token
With this option the SDK will fetch a destination service token for the given tenant for your. You have to be careful not to make some mistakes regarding isolation of data.
I will adjust the migration guide. Is it ok if I close this issue?
Best
Frank

Hi Frank,
thank you for reply! I'm fine with closing the issue and appreciate the resulting task :) ...
Tobi


Not sure if bug or support or?

Describe The Bug:
LOVE LOVE LOVE that you created this.  THANK YOU VERY MUCH.  Seemed to be working great; not sure if the last Sunsa FW changed anything here, but recently getting a ton of error messages in Homebridge.  Can't say if I was getting this error message prior as I've been having problems recently, trying to see what is going on
[22/08/2022, 11:15:57] [Sunsa] Sunsa API Error: Response timeout
[22/08/2022, 11:21:47] [Sunsa] Sunsa API Error: Response timeout
[22/08/2022, 11:26:19] [Sunsa] Sunsa API Error: Response timeout
[22/08/2022, 11:30:27] [Sunsa] Sunsa API Error: Response timeout
To Reproduce:
Just seeing it randomly pop up in HB log
Expected behavior:

Logs:
Show the Homebridge logs here, remove any sensitive information.

Plugin Config:
Show your Homebridge config.json here, remove any sensitive information.

Screenshots:

Environment:

Plugin Version:
Homebridge Version:
Node.js Version:
NPM Version:
Operating System:

Sorry, submitted before I was done.  I'm not tech savvy, so let me know what else I can provide.
Thanks again!
Brett

additional/different error messages......
[22/08/2022, 15:28:58] [Sunsa] Sunsa API Error: Request error connect ETIMEDOUT <IP_ADDRESS>:443
[22/08/2022, 15:51:28] [Sunsa] Sunsa API Error: Response timeout
[22/08/2022, 15:56:42] [Sunsa] Sunsa API Error: Request error connect ETIMEDOUT <IP_ADDRESS>:443
[22/08/2022, 16:02:10] [Sunsa] Sunsa API Error: Request error connect ETIMEDOUT <IP_ADDRESS>:443
[22/08/2022, 16:15:39] [Sunsa] Sunsa API Error: Request error connect ETIMEDOUT <IP_ADDRESS>:443
[22/08/2022, 16:19:50] [Sunsa] Sunsa API Error: Request error connect ETIMEDOUT <IP_ADDRESS>:443
[22/08/2022, 16:22:58] [Sunsa] Sunsa API Error: Response timeout
[22/08/2022, 16:35:42] [Sunsa] Sunsa API Error: Request error connect ETIMEDOUT <IP_ADDRESS>:443

This seems to be normal behavior for their API. I don't know if they don't like the fact that this plugin is polling every 10 seconds for the blinds status or what. I was thinking about adding the ability to manually define the polling interval in a future update to see if it alleviates the error messages. Unless the error is happening every 10 seconds for all blinds it shouldn't be anything to worry about as it would just delay the status of the blinds updating in homebridge at every error.

thanks for your reply (sorry for my delayed response).  I started reviewing HB log as I'm having a ton of troubles with these wands since the last FW update.  Based on your info, my guess is these wands are disconnecting frequently and HB log is showing those disconnects.  My log is filled with these notes all day everyday.  Was hoping it was something to do with the plugin and not the wands.  I'll ping Adam to see if he has any ideas.  Thanks again

No worries. I currently have firmware 2.2.242T-2.0.420P (-------) and also see those error from time to time. They should all be a failed response from the sunsa API. The API url is called and an HTTP response code of >= 500 will show "Sunsa API Error: Response timeout" and no HTTP response code gives the "Sunsa API Error: Request error connect ETIMEDOUT <IP_ADDRESS>:443" error. I don't know if it matters if the wands are connected or not as the API would still give a response and not throw one of those errors.


Server does not work

Whenever I boot up a 1.11.2 server, I get this log:
https://pastebin.com/jSyHxsKX
Also, my exact version of forge is 1.11.2-<IP_ADDRESS>8

The first error I came across in looking through it is this: (on line 225)
[14:58:27] [main/FATAL] [mixin/]: Mixin apply failed cubicchunks.mixins.fixes.json:common.isblockloaded.MixinEntity -> net.minecraft.entity.Entity: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException @ModifyArg annotation on modify$getModifiedYPos_getBrightnessForRender$zbf000 could not find 'func_70070_b'
It appears that it has to do with func_70070_b not being found, but I'm curious where that function originates from - Minecraft or CubicChunks. I think on my own time I'll peek around the loading code and see where it might be.

idk if this helps, but in this pastebin: https://pastebin.com/dnENQbE6 (found after a bit of googling)
It looks like a grouping of vanilla functions.
I found this: func_70070_b,getBrightnessForRender,0,
which may help pin down the issue. Is it the fact that since it isn't rendering, as a server, it simply doesn't have the function?
EDIT BEFORE POSTING: it looks like it's forge functions. I'm gonna take a peek at the code tomorrow and see how my hypothesis stands up

I simply forgot that it's a client-only method. It should be in separate client-only mixin. Should be easy to fix, but there may be other issues that you didn't get to because this doesn't work.

MixinWorld.java looks like it needs some tweaking - it has the function markBlockRangeForRenderUpdate
Other than that, I haven't found anything, but I'm guessing MixinWorld.java is calling a couple things to throw. (pos in the file structure is main\java\cubicchunks\asm\mixin\core\common)

markBlockRangeForRenderUpdate is not a client only method, but it's actually used to notify for block range render updates. All implementations of IWorldEventListener#markBlockRangeForRenderUpdate are no-op except that in RenderGlobal.


[Suggestion] New tags (low-priority)

Is it possible to add following tags: 'Data mining' and 'Machine learning'?

There are lots of new tags ideas:
code-golf: myjinxin2015's new One Line Task series:
numerical-algorithms: for when you have to just approach a number you want:
probability and combinatorics: for some reasons there is permutations but not those two.
riddle: some katas just require you to solve a riddle instead of writing a program to solve a task. The existing puzzle tag is not very appropriate for this one (and causing lots of people to complain about their nature).

I meant tags like these
Tags:
Fundamentals (1191)
Algorithms (874)
Data Types (795)
Logic (660)
Strings (423)
Numbers (420)
Mathematics (336)
Arrays (308)
Basic Language Features (275)
Puzzles (274)
Games (226)
Programming Paradigms (217)
Data Structures (190)
Control Flow (179)
Declarative Programming (155)
Advanced Language Features (101)
Regular Expressions (94)
Lists (92)
Arithmetic (61)
...

yeah, we're talking about the same thing :P
I'm just throwing out a lot more suggestions that also has the need to be added.

Machine Learning tag added. Thanks!

How does CW tags appeared in the http://codewars.com/kata/ list work? (I mean this:
) I feel like it's just randomly generated from the tags you've written in the authoring interface and nothing else.

Looks like there's some predefined tags and those tags have optional aliases defined. If a tag you provided are in there (as exact match or as one of aliases) then the matched tag is shown.
I think that's how it works basically, but there's also "related" tags and "parent" tags, so that might be also used when assigning tags. I haven't touched any of this yet, so I'm not sure.

Is it possible to have some publically available tag-adding strategy?

Maybe we can have a public repository to maintain this tag list. That's easier than allowing users to add on Codewars. I'll think about it.

@ice1000 I added "theorem proving" tag so I think it should get applied if you republish your existing kata after changing the tags.

Republished most my Katas


Use fixtures and mocking instead of network requests

By using a framework such as Mockito to mock certain classes, we can cut down on the amount of requests we have to send over the network and reduce testing time. Granted, we will still have to send some requests to properly test them. Fixtures can be created in the src/test/resources/ directory and will be returned when mocked classes request a certain resource. See here for an example.
This will require a huge undertaking and might best be accomplished in smaller chunks.

On second thought, this is not optimal because the Reddit API is constantly changing. When using fixtures, we assume that everything will remain the same, when in reality that is not the case.


fix: Internal error on unusual schemas for the multipart/form-data media type

Fixes #1152

Codecov Report

Merging #1182 (c926afd) into master (02df4dc) will decrease coverage by 0.07%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #1182      +/-   ##
==========================================
- Coverage   99.32%   99.24%   -0.08%
==========================================
  Files          70       70
  Lines        5318     5292      -26
  Branches      863      867       +4
==========================================
- Hits         5282     5252      -30
- Misses         18       20       +2
- Partials       18       20       +2

Flag
Coverage Δ

unittests
99.24% <100.00%> (-0.05%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/schemathesis/models.py
99.17% <100.00%> (-0.01%)
:arrow_down:

src/schemathesis/serializers.py
98.16% <100.00%> (+0.14%)
:arrow_up:

src/schemathesis/extra/pytest_plugin.py
98.21% <0.00%> (-1.79%)
:arrow_down:

src/schemathesis/cli/callbacks.py
98.24% <0.00%> (-1.76%)
:arrow_down:

src/schemathesis/runner/serialization.py
97.29% <0.00%> (-0.18%)
:arrow_down:

src/schemathesis/lazy.py
95.28% <0.00%> (-0.05%)
:arrow_down:

src/schemathesis/runner/impl/core.py
97.46% <0.00%> (-0.02%)
:arrow_down:

src/schemathesis/hooks.py
100.00% <0.00%> (ø)

... and 11 more

Continue to review full report at Codecov.

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


Uploaded annotations in wrong position and\or frame

I uploaded annotations in CVAT XML 1.1 format, but the bboxes are located in the wrong place or even on the wrong image.
Since this XML file was created with an external script, I could have a mistake.
How does CVAT group annotations and images before displaying?  Is it with the image id, or the image path?
Thanks

How do you solve that? I am encountering the same issue that you described. I have COCO annotation json which I generate it from my model predictions. I gathered predictions from the frames. However, the image orders are different.

I don't remember exactly how I re-ordered my frames in the XML. That's why
I gave up on using CVAT for serious projects.
On Sat, May 9, 2020, 22:54 Anıl GÜRSES<EMAIL_ADDRESS>wrote:

How do you solve that? I am encountering the same issue that you
described. I have COCO annotation json which I generate it from my model
predictions. I gathered predictions from the frames. However, the image
orders are different.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/opencv/cvat/issues/837#issuecomment-626227366, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADD2554RGDU4LHJXJPA7KUDRQWYHFANCNFSM4JM2VXIA
.

Thank you for your response. I have been trying to fix my image id order for a week. I haven't made any progress.

I solved it. The frame ids are sorted lexically. However, the image ids are sorted numerically.

@anilgurses , @adizhol , files path should be sorted lexicographical. After that you can enumerate them and it is the right order.

@anilgurses , @adizhol , files path should be sorted lexicographical. After that you can enumerate them and it is the right order.

Thanks for the clarification


Clarify nodes per worker workers per node

Our docs are a little confusing here. Executors use “workers_per_node” and providers use “tasks_per_node."
A user had to look in the code to understand what to use.

As of Parsl 0.7.1 we've moved tasks_per_node option from provider __init__ to the  provider.submit()call. As a result passing tasks_per_node to the provider as config time should raise an exception. Our docs have been updated to remove mentions of the tasks_per_node, except in the changelog and documentation for the provider.submit call


Remove Shapeshift controller

The Shapeshift controller was recently removed from the extension, and is slated for removal from mobile. This removes it from Gaba as well.

Codecov Report

Merging #209 into develop will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           develop   #209   +/-   ##
======================================
  Coverage      100%   100%
======================================
  Files           23     22    -1
  Lines         1520   1488   -32
  Branches       211    206    -5
======================================
- Hits          1520   1488   -32

Continue to review full report at Codecov.

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


Removed encoding and decoding for saved filters

Removed encoding and decoding for saved filters

When logging in and going to dashboard I get an internal server error


on  ArtifactoryClient.create exception thrown

I'm getting the following error when I try to instantiate the Artifactory client.
This seems similar to Issues #22 and #15
ArtifactoryClient artifactory = ArtifactoryClient.create(resolverServerUrl, resolverUsername, resolverPassword);
 groovy.lang.MissingMethodException: No signature of method: com.fasterxml.jackson.databind.ObjectMapper.addMixIn() is applicable for argument types: (java.lang.Class, java.lang.Class) values: [interface org.jfrog.artifactory.client.model.Repository, ...] 	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55) 	at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46) 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) 	at org.jfrog.artifactory.client.impl.ArtifactoryImpl.<init>(ArtifactoryImpl.groovy:46) 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) 	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102) 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:194) 	at org.jfrog.artifactory.client.ArtifactoryClient.create(ArtifactoryClient.groovy:87) 	at org.jfrog.artifactory.client.ArtifactoryClient.create(ArtifactoryClient.groovy) 	at com.jenkins.plugins.servicenow.artifactory.ArtifactoryService.<init>(ArtifactoryService.java:36) 	at com.ge.integration.jenkins.notification.Phase.initialize(Phase.java:152) 	at com.ge.integration.jenkins.notification.Phase.perform(Phase.java:210) 	at com.ge.integration.jenkins.notification.Phase.handle(Phase.java:114) 	at com.ge.integration.jenkins.notification.JobListener.onFinalized(JobListener.java:52) 	at hudson.model.listeners.RunListener.fireFinalized(RunListener.java:230) 	at hudson.model.Run.onEndBuilding(Run.java:1890) 	at hudson.model.Run.execute(Run.java:1809) 	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 	at hudson.model.ResourceController.execute(ResourceController.java:98) 	at hudson.model.Executor.run(Executor.java:381)

Update:
With regards to versioning
I'm using the latest version of this library.
Jenkins 1.621
Artifactory 2.3.0
The environment I am using this for requires these versions.
I have tried on Java 1.8.02 and Java 1.7.79

Thanks for reporting this @AdityaAgg,
We will check and fix the issue.
It would help us if you could provide us a sample project that reproduces the issue.

Solved, going to close the issue.
I was using the wrong version of the Jackson Library. JFrog's client library imports and requires Jackson 2.4.6; however, I had imported Jackson 2.1.1 in a dependency that I imported before hand.
My build tool (Maven) read it as a conflict and used 2.1.1 omitting 2.4.6, causing the error described above.


Regex search/replace bug in replace

Does this issue occur when all extensions are disabled?:
Yes

VS Code Version:
1.71.2

OS Version:
Windows 10 21H1 Build 19043

Example
;TEST
;S:001
;DONE:1.1
;TEST
;S:002
;DONE:2.22
;TEST
;S:003
;DONE:3.333

Regex Enabled:
Yes

Search:
(?<=;TEST\n);S:\d+\n;(DONE:\d\.\d{1,2})(\d+)?

Replace:
$1

           :white_flag: Expected Result:
:triangular_flag_on_post: Actual Result:  Toggle search area only

                        ;TEST
                        ;S:001
                        ;DONE:1.1
                        ;TEST
                        ;S:002
                        ;DONE:2.22
                        ;TEST
                        ;S:003
                        ;DONE:3.333

;TEST
-;S:001
-;DONE:1.1
+DONE:1.1
;TEST
-;S:002
-;DONE:2.22
+DONE:2.22
;TEST
-;S:003
-;DONE:3.333
+DONE:3.33

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.72.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Updated to version 1.72.2. The issue persists.
Can you also increase the search/replace field by 20% to the left?

Are you talking about the search/replace within a file?

Or the global one?

Also, what do you mean "Toggle search area only"? How is this different than what you expect?

Can you also increase the search/replace field by 20% to the left?

We currently don't have plans to change the positioning in the core editor. There may be extensions that can change that for your layout if you want.

Are you talking about the search/replace within a file?

Yep, about this subj

Also, what do you mean "Toggle search area only"?

Groups found are not replaced. Text are simply selected in turn

How is this different than what you expect?

Expected result after replacement all text
;TEST
DONE:1.1
;TEST
DONE:2.22
;TEST
DONE:3.33

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Travis: Update CI matrix, drop comment

This PR updates the CI matrix to Ruby versions listed at http://rubies.travis-ci.org/.

2.2.8
2.3.5
2.4.2
jruby-<IP_ADDRESS>
remove gem update --system because rvm nowadays does this out of the box
remove commented-out bits about exclusions for OS X (which had no content)

Update OS X 2.4.2 can not install. This output:
Libraries missing for ruby-2.4.2: /usr/local/opt/openssl<EMAIL_ADDRESS>Refer to your system manual for installing libraries```

You can now add new versions and Ruby 2.5.0.

Superseded by #716


SyncHttpDelivery has possibliity to be throw NullPointerException

Expected behavior
Do not throw NullPointerException
Observed behavior
Sometime, SyncHttpDelivery throws NPE here.
Steps to reproduce
Sorry, I don't know reproduce steps.
I guess we had network problem(me or bugsnag) when I met the problem.
The problem produced at Aug 9th, 14:43:46 only once.
Version
3.2.0
Additional information
I think the problem is caused by this code
connection does not initialize If URL#openConnection throws IOException. However, this code tries connection.disconnect() in finally block.

Thanks for the detailed report @yonekawa - it looks like there are a couple of scenarios where that could throw an NPE.


feat(input-autocomplete): added title prop

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 83.201%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
8768

Relevant Lines:
9695

💛  - Coveralls


Fixes #94, fixes #112: Improved and fixed info() function.

Ready to be merged.
Please review.
Details from the commit log:

Added a best parameter to info().
Fixed implementation of info() by adding the missing 'codename' item in its result.
Improved test cases for info() by adding a generic all-distro test that compares the result of info() with the result of the specific consolidated accessor functions.
Minor editorial improvements in documentation of info().
Removed todo3 about issue #94.

Please fix conflicts.

Fixed.

Not that I know of, other than the fact that it was used in ld already, and maybe that I'm simply used to it. I have no problem moving to the new string.format() syntax, but there is more to change then than just this one place.

The discussion in issue #112 suggests to also support prettyin info().
Plus, the discussion above suggests to start using the new string formatting language. (... as new as Python 2.6 ;-)

The last commit does all that, and updates the testcases accordingly.
Please re-review.

tests are broken

The issue in the last commit was that support for the {} syntax without field name or number was introduced only in python 2.7, and my local test machine does not have py26 installed, so i did not realize it upfront.


Preload textures

Hey,
How does one preload textures in matter?
Is there a way to use Pixi's preloader or any static assets preloader with matter?
Eventually, you can only pass a url to the texture property of a body.

I think there's already a request for this, see #100 which also includes a workaround.
Please tell me if that covers it so I can close this, thanks.

I've had success preloading images by chaining all of my MJS code from the browser's native Image().onload callback and passing each image's .src property as the texture value as shown in this Stack Overflow post.

Yeah exactly like that thanks for sharing, closing this one as it's more of an advanced feature for game engines than a focus of this project.


Exploit Vulnerability is working again

VTC RC5 fixed a exploit, this got bypassed yesterday and it's working again.
Cannot say much at the moment.

I was testing on several servers, this seems to be a error on ReHLDS and not on VTC-Side, going to leave this open for a while.

This seems to be a HLDS/ReHLDS exploit with tempdecal.wad, its already fixed on ReHLDS side, so I am going to close this and report where it has to be.


Issues with pip install scrubadub

Fails on
Collecting sklearn (from scrubadub)
  Using cached sklearn-0.0.post5.tar.gz (3.7 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [18 lines of output]
      The 'sklearn' PyPI package is deprecated, use 'scikit-learn'
      rather than 'sklearn' for pip commands.

      Here is how to fix this error in the main use cases:
      - use 'pip install scikit-learn' rather than 'pip install sklearn'
      - replace 'sklearn' by 'scikit-learn' in your pip requirements files
        (requirements.txt, setup.py, setup.cfg, Pipfile, etc ...)
      - if the 'sklearn' package is used by one of your dependencies,
        it would be great if you take some time to track which package uses
        'sklearn' instead of 'scikit-learn' and report it to their issue tracker
      - as a last resort, set the environment variable
        SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True to avoid this error

      More information is available at
      https://github.com/scikit-learn/sklearn-pypi-package

      If the previous advice does not cover your use case, feel free to report it at
      https://github.com/scikit-learn/sklearn-pypi-package/issues/new
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.

This has been fixed, but no new release yet on PyPI:
https://github.com/LeapBeyond/scrubadub/blob/b84f72ae5b8fd8d1babd7fe96d9892d3c06bb64e/requirements/python#L19

Thanks for reporting this, it seems to be a duplicate of #142 (which is being resolved now), so I'm closing this ticket.


LVL ceiling light firmware 1.3.2

OK tried the version: 1.3.2 for ceiling light as mentioned in the closed issue before.
Used the esp32 version (first option) when asked.
Got through the first steps but ended in error when finishing:
Using WLAN adapter: wlan0
Nov 12 08:47:56 dnsmasq[15]: started, version 2.80 cachesize 150
Nov 12 08:47:56 dnsmasq[15]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfile
Nov 12 08:47:56 dnsmasq-dhcp[15]: DHCP, IP range <IP_ADDRESS> -- <IP_ADDRESS>, lease time 12h
Nov 12 08:47:56 dnsmasq-dhcp[15]: DHCP, sockets bound exclusively to interface wlan0
Nov 12 08:47:56 dnsmasq[15]: read /etc/hosts - 5 addresses
Configuration file: /dev/stdin
wlan0: Could not connect to kernel driver
Using interface wlan0 with hwaddr b8:27:eb:56:c9:51 and ssid "cloudcutterflash"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
Nov 12 08:48:01 dnsmasq-dhcp[15]:<PHONE_NUMBER> available DHCP range: <IP_ADDRESS> -- <IP_ADDRESS>
Nov 12 08:48:01 dnsmasq-dhcp[15]:<PHONE_NUMBER> client provides name: wlan0
Traceback (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/src/cloudcutter/main.py", line 475, in
args.handler(args)
File "/src/cloudcutter/main.py", line 239, in __update_firmware
__configure_local_device_or_update_firmware(args, update_firmware=True)
File "/src/cloudcutter/main.py", line 96, in __configure_local_device_or_update_firmware
authkey, uuid, pskkey = config.get_bytes(DeviceConfig.AUTH_KEY, default=DEFAULT_AUTH_KEY), config.get_bytes(DeviceConfig.UUID), config.get_bytes(DeviceConfig.PSK, default=None)
File "/src/cloudcutter/device.py", line 29, in get_bytes
return self.get(key, default).encode(encoding)
AttributeError: 'NoneType' object has no attribute 'encode'
Oh no, something went wrong with updating firmware! Try again I guess...
Several attempts give slightly different results. I have seen a Cloutcutter AP name poping up once but now it is back to the original one. I can still get it in pairing mode.
I run it also with the -v flag but dont see much more output. Does it store a logfile somewhere? (log dir is empty)

Please do a git pull to update to the latest code, this was fixed yesterday.

Using WLAN adapter: wlan0
Nov 13 07:35:05 dnsmasq[15]: started, version 2.80 cachesize 150
Nov 13 07:35:05 dnsmasq[15]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfile
Nov 13 07:35:05 dnsmasq-dhcp[15]: DHCP, IP range <IP_ADDRESS> -- <IP_ADDRESS>, lease time 12h
Nov 13 07:35:05 dnsmasq-dhcp[15]: DHCP, sockets bound exclusively to interface wlan0
Nov 13 07:35:05 dnsmasq[15]: read /etc/hosts - 5 addresses
Configuration file: /dev/stdin
wlan0: Could not connect to kernel driver
Using interface wlan0 with hwaddr b8:27:eb:56:c9:51 and ssid "cloudcutterflash"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
Nov 13 07:35:10 dnsmasq-dhcp[15]:<PHONE_NUMBER> available DHCP range: <IP_ADDRESS> -- <IP_ADDRESS>
Nov 13 07:35:10 dnsmasq-dhcp[15]:<PHONE_NUMBER> client provides name: wlan0
Traceback (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/src/cloudcutter/main.py", line 475, in
args.handler(args)
File "/src/cloudcutter/main.py", line 239, in __update_firmware
__configure_local_device_or_update_firmware(args, update_firmware=True)
File "/src/cloudcutter/main.py", line 96, in __configure_local_device_or_update_firmware
authkey, uuid, pskkey = config.get_bytes(DeviceConfig.AUTH_KEY, default=DEFAULT_AUTH_KEY), config.get_bytes(DeviceConfig.UUID), config.get_bytes(DeviceConfig.PSK, default=None)
File "/src/cloudcutter/device.py", line 29, in get_bytes
return self.get(key, default).encode(encoding)
AttributeError: 'NoneType' object has no attribute 'encode'
Oh no, something went wrong with updating firmware! Try again I guess...
I did a git pull and started over.
When I start the light it immediatly show an access point so no need to make it glow.
During the process it changes a few times from glowing to full etc.
After the first upload, it finds the light straight away, it seems it gets a little further than yesterday.

The log you posted indicates you didn't actually update, that isn't the latest code.

OK delete the PI image and started over. FInally got it flashed and it popped up in Home assistant but adoption was not possible because API was missing from the YAML it said. Surprisingly after a few hours it did adopt without issue but is now asking for pins... No idea how or where to find the info. It's currently using FW Kickstart-Bk7231T and I wonder how to get the brightness and colortemp controls back.
Thanks for the cloudcutter work, one done, 12 more to go....

The api encryption key is something that had to have been in your config, there is nothing we can do to help you there if you used your own firmware.  Kickstart doesn't support device functionality, it is merely meant to be used as an easy stepping stone (it also doesn't have an API encryption key).