adb push failed on Android 8.1 devices

	at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
	at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
	at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
	at okio.OutputStreamSink.write(JvmOkio.kt:56)
	at okio.AsyncTimeout$sink$1.write(AsyncTimeout.kt:99)
	at okio.RealBufferedSink.flush(RealBufferedSink.kt:267)
	at dadb.AdbWriter.write(AdbWriter.kt:92)
	at dadb.AdbWriter.writeClose(AdbWriter.kt:60)
	at dadb.AdbStream.close(AdbStream.kt:118)
	at dadb.AdbStream.nextMessage(AdbStream.kt:109)
	at dadb.AdbStream.access$nextMessage(AdbStream.kt:24)
	at dadb.AdbStream$source$1.message(AdbStream.kt:61)
	at dadb.AdbStream$source$1.read(AdbStream.kt:40)
	at okio.RealBufferedSource.request(RealBufferedSource.kt:206)
	at okio.RealBufferedSource.require(RealBufferedSource.kt:199)
	at okio.RealBufferedSource.readByte(RealBufferedSource.kt:209)
	at dadb.AdbSyncStream.send(AdbSync.kt:73)
	at dadb.Dadb$DefaultImpls.push(Dadb.kt:54)
	at dadb.TestDadb.push(DadbTest.kt:331)
	at dadb.DadbTest$adbPush_basic$1.invoke(DadbTest.kt:119)
	at dadb.DadbTest$adbPush_basic$1.invoke(DadbTest.kt:113)

https://github.com/mobile-dev-inc/dadb/blob/master/dadb/src/main/kotlin/dadb/AdbSync.kt#L69
When the DATA is written, the read would fail with "Broken Pipe"
And i test Android 9, 10, 11, 12, it works well

I confirm this strange bug on Android 8.
@tiann
Do you have any solution to suggest for the dadb team?

I compared the difference of system/core/adb/file_sync_service.cpp  between Android 8.1 and Android 9.0, and the do_recv has some changes:
❯ diff file_sync_service_8.1.cpp file_sync_service_9.0.cpp
51,54c51,52
<     // TODO: use fs_config to configure permissions on /data.
<     return android::base::StartsWith(path, "/system/") ||
<            android::base::StartsWith(path, "/vendor/") ||
<            android::base::StartsWith(path, "/oem/");
---
>     // TODO: use fs_config to configure permissions on /data too.
>     return !android::base::StartsWith(path, "/data/");
65c63
<     cap_data.magic_etc = VFS_CAP_REVISION | VFS_CAP_FLAGS_EFFECTIVE;
---
>     cap_data.magic_etc = VFS_CAP_REVISION_2 | VFS_CAP_FLAGS_EFFECTIVE;
208a207,212
>
>     if (posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL | POSIX_FADV_NOREUSE | POSIX_FADV_WILLNEED) <
>         0) {
>         D("[ Failed to fadvise: %d ]", errno);
>     }
>
415a420,423
>     if (posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL | POSIX_FADV_NOREUSE) < 0) {
>         D("[ Failed to fadvise: %d ]", errno);
>     }
>
419c427
<         int r = adb_read(fd, &buffer[0], buffer.size());
---
>         int r = adb_read(fd, &buffer[0], buffer.size() - sizeof(msg.data));

I am not familiar with dadb's file_sync, does this break something?

Here is the source code:
file_sync_service.zip
you can also read in online: http://aospxref.com/android-9.0.0_r61/xref/system/core/adb/file_sync_service.cpp


LongNeighbors

@hmakholm has a smhasher test called LongNeighbors.  This test creates similar strings by flipping bits and looking for collisions.  I ran Meow 128 through this test and it fails that.
A description of this test is LongNeighborTest
My driver for Meow in the smhasher test is here smhasher, specifically, this MeowTest.cpp
I don't think there is a bug there, but maybe...  I was able to modify the Meow algo to pass this test, but I don't think it would be acceptable:  doubling the number of AES rounds.  This causes the throughput to be 50% of the current version (smhasher reports 24MiB vs 48MiB unmodified).
It's easy to recreate this test under Linux:
$ git clone https://github.com/injinj/smhasher
$ cd smhasher
$ cmake src
$ make
$  ./SMHasher Meow128 -o
-------------------------------------------------------------------------------
--- Testing Meow128 (Meow 128-bit)

[[[ Keyset 'TestLongNeighbors' Tests ]]]

Looking for 2-bit collisions in the last 2400 bits.
Looking for 4-bit collisions in the last 2048 bits.
Looking for 6-bit collisions in the last 160 bits.
Trying bases of length 10 to 300, 5 of each length.
......[16]...............[32].....
This horrible collision has surprise score 4.14258e+25 and length 38 bytes:
000: B3 C1 BA 57 71 18 B2 6B AE C8 3A C1 A9 04 C4 E3 3B F6 F0 62 84 1F 78 99
                                                          ^D2^     ^1B^
018: BD CF 10 8E 9A 73 32 4F 29 17 84 B8 86 33
    ^B5^                 ^4D^     ^8C^
The hashes are length 16 bytes:
000: B9 4B AF 11 1D DD 42 F0 15 78 BA CA 97 06 7E F8
....
This horrible collision has surprise score 4.37134e+25 and length 42 bytes:
000: 99 AD 12 8C FE E7 7D 2E 17 89 47 27 AC C6 75 95 FE CF 12 8C 95 8B 91 4D
                                                                      ^93^
018: 01 BC 85 56 D9 50 FE 6D A5 0F 89 77 E2 EF A5 B6 87 E7
       ^3C^     ^DB^                 ^F7^     ^85^     ^67^
The hashes are length 16 bytes:
000: 42 4A 96 AC 8A A1 E9 FF 44 12 80 C6 20 82 CD DA
.
This horrible collision has surprise score 4.61799e+25 and length 43 bytes:
000: 90 A5 12 8C BF E5 7F 2E 57 CB 05 27 E4 CE 35 95 F7 C7 12 8C D7 99 91 5D
018: 41 BE C7 54 D3 18 BE ED AC 47 8B 75 EB 37 07 A4 9C 64 B8
    ^C1^                 ^6F^                       ^DC^
The hashes are length 16 bytes:
000: 9B E8 1A 94 69 45 EB BC EF 73 19 4F C9 38 A6 10
...
This horrible collision has surprise score 6.49333e+25 and length 46 bytes:
000: BD 8D 12 8C FB EE 75 2E 17 80 4E 26 8C E7 75 94 DA EF 12 8C 95 CA 91 0D
018: 08 BD 8D 5F F2 78 FF 64 88 27 88 3F 8E 8F CE FC E2 8A 99 CE 2B E3
                ^D2^                 ^7F^              ^18^     ^0B^
The hashes are length 16 bytes:
000: 35 C1 E6 5B 6B 66 C7 28 52 CB 9D 10 E1 87 AD A6
..[48]...............[64].

Among 285 tested bases, we expected 2.30799e-25 bads. Actually there were 5.
*********FAIL*********

This is expected, roughly as I predicted in the comments (1, 2).

This is expected, roughly as I predicted in the comments (1, 2).

Ah yes, nice analysis.

We have addressed this in v0.5, which we will post as soon as we've finalized a few last things.  Many thanks for the Long Neighbors test - I run your smhasher branch now as well as the other ones to make sure we pass them all :)
I will close this issue once v0.5 is posted and you can verify independently that we have no issues on your smhasher branch.
- Casey

Please note, the author of Long Neighbors to @hmakholm.  I'm just a chimp with a keyboard.  It is a cool way of attacking hash functions.

@leo-yuriev t1ha2_atonce128 also fails the LongNeighbors test, and has been disqualified by @rurban. Is there a way to fix it?

I would not call it "disqualified". I mostly use  poor hash functions, when I know that the quality does not matter much. It just fails a test. This test came after the hash, so you can expect old hash functions to fail it. Newer hash functions don't.

@leo-yuriev @rurban I noticed that the test doesn't fail with a non-zero seed (I simply added seed++ in t1ha2_atonce128_test; I then tried a few other non-zero seeds). So what does that mean?  Are there still simple patterns in the input which result in collision, it's just harder to find them with a non-zero seed?  Or does the seed make the patterns go away completely?

@svpv -- among the kinds of inputs the LongNeighbors test tries to find collisions between are long sequences of zero bytes with just a few bits set near the end. Some hashes have particular problems with inputs of that shape. If a hash has this problem and it treats its seed more or less in the same way as the input, it is quite plausible that the problem is only detected for nonzero seeds.
Once the test has shown that it is possible for the hash to get into a state where a few bits of difference in the remaining input can yield a 128-bit collision, it's prudent to assume such a state can also be reached with a nonzero seed -- but the input might need to be just right to achieve that, so the test probably won't chance upon it. The mere existence of such a state should lead to skepticism about the hash for purposes where extreme rarity of random collisions matters.

(While we are on the subject of LongNeighbors, I am finalizing Meow v0.5 right now and it is a bit haphazard because there are so many SMHashers. I currently test on 4 different SMHashers just to make sure there's nothing we don't pass cleanly, but it is somewhat cumbersome especially because not all of them report failures in a way that you can read at the end, so you have to scroll through the entire output sometimes to make sure nothing failed.  Is there maybe a plan to someday unify the SMHashers back into one single one that we can count on to have all the latest sauce, and which clearly prints any suspicious things at the end?  I ask here only because two SMHasher fork people are already on this thread - @injinj and @rurban.
In general, it isn't the end of the world if it stays the way it is, because we really only need it at the very end when we're pretty sure the hash function is solid, so it's rare that anything fails.  But even so, it would be nice to have a more fire-and-forget way of validating through all SMHasher variants).
- Casey

LongNeighbors still has a licensing problem, thus it cannot yet be published. so I can have it only in a branch. see https://github.com/rurban/smhasher/issues/58
@injinj's gnuplot additions and yves https://github.com/demerphq/smhasher/ similar svg and TAP additions are also cool, besides the support for extra seed size in the structs. I have to add extra init code for such hashes so far.

As of the v0.5 branch which is now uploaded, we pass LongNeighbors so I'm closing this issue.  LongNeighbors at 128-bit and 64-bit are part of the standard testing I do before we update, too, so hopefully there will be no regressions that slip through on that, either.
- Casey

I forked the 0.4 branch and updated it to use 2x AESDEC rounds here: https://github.com/injinj/meow_hash  This also passes LongNeighbors and is faster for small keys, but slower than v0.5 in the bulk speed test.  I am going to use this version for other things.

v0.5 is trying to do a lot more than pass LongNeighbors.  It tries to prevent seed discovery, and allows full 128-bit seeding.  So it probably won't ever get to the point where it is as fast as v0.4 with double AESDEC for very small keys, but it's not necessarily a good idea to use v0.4 with double AESDEC because I don't know that anyone has checked to see if that is secure.  I suspect it probably isn't, but I haven't looked.
- Casey

I added your comments to the fork README.  I'll still probably use it, the speed is fantastic with hyperthreading disabled, nearly as fast as the crc_c instruction.

Quick take: If you change it to xor the "Mixer" into the 4 initial states you probably have a decent level 2 hash, I currently have a probability 1 in 2^80 collision, but of course worse may be possible.

Quick take: If you change it to xor the "Mixer" into the 4 initial states you probably have a decent level 2 hash, I currently have a probability 1 in 2^80 collision, but of course worse may be possible.

Done:  https://github.com/injinj/meow_hash/blob/17b49a0bf05a440943fc29c41f5bee5ad14363a6/meow_hash.h#L173-L183
It requires length to be known at MeowBegin(), but doesn't change performance or smhasher pass.


ecl search does not show invalid syntax

In im directory/search/ecl enter the following
*:
<<762951001= <<67866001
MINUS <<10363901000001102
This is invalid ECL as it should be
(*:
<<762951001= <<67866001)
MINUS <<10363901000001102
IMAPI responds with
{"status":"BAD_REQUEST","timestamp":"06-01-2023 08:52:34","message":"Conversion = ' Parser error : line 3 offset 0 i.e 'M' Expecting '","debugMessage":"Conversion = ' Parser error : line 3 offset 0 i.e 'M' Expecting '","code":"DataFormatException"}
The crucual message being parser error line 3 offset  i,e, M ,,,,,,,,
This is not shown to the user so they dont know what to do


feat/regular-search

Please review before merging.

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

GitHub release
v3.0.0

Your semantic-release bot :package::rocket:


Add Two backgrounds option

Short description of the changes:
Include an option for the reflectivity data to use one or two background ranges
Long description of the changes:

Check list for the pull request

[ ] I have read the [CONTRIBUTING]
[ ] I have read the [CODE_OF_CONDUCT]
[x] I have added tests for my changes
[ ] I have updated the documentation accordingly

Check list for the reviewer

[ ] I have read the [CONTRIBUTING]
[ ] I have verified the proposed changes
[ ] best software practices

[ ] all internal functions have an underbar, as is python standard
[ ] clearly named variables (better to be verbose in variable names)
[ ] code comments explaining the intent of code blocks

[ ] All the tests are passing
[ ] The documentation is up to date
[ ] code comments added when explaining intent

Manual test for the reviewer

References

@mdoucet I'm going to fix the couple of tests that are still failing, then I'll let you know with another request for your review/approval.


mbakgun/awesome-kotlin-multiplatform

Update README.md: The Mid journey application was moved under App Projects because it is not a UI library.🙏

Thanks!


On linux ripme should check for it's config files under ~/.config/ripme

Ripme version: 1.5.7
Java version: 1.8.0_131
Operating system: Ubuntu 16.04
Exact URL you were trying to rip when the problem occurred: Any
Please include any additional information about how to reproduce the problem:

Expected Behavior
Ripme should check for it's various config files (rip.properties, history.json) under /home/$USER/.config/ripme instead of just writing new in which ever dir it was run from
Actual Behavior
Ripme just generates new config files in whatever dir it was run from

You got a point, but similar would have to be implemented for other platforms as well (for instance, I think >=MacOS X never used such notation).
I think, technically, there's such a place on Window$ too, but that's far more tedious to find than on Linux.
And I've no idea how it's done on *BSD, which might even differ on different distros.

After a bit of looking I've found the following for where to put config files on various OS
Windows: %APPDATA%/ripme/
MacOS: Either the same as linux (I'm not 100% sure if MacOS has ~/.config) or ~/Library/Application Support/ripme
*BSD: BSD is pretty unixy so I assume ~/.config will exist and if not just write the config info where ever the user ran ripme from
Linux/Unix/*nix like system: ~/.config/ripme

Hello. I am new here. I want to start working on this issue. Is is good to follow @cyian-1756 advice about default paths. Default MacOS path for configs: ~/Library/Application Support/

Is is good to follow @cyian-1756 advice about default paths?

I say yea. On most *nix like OSs (minus MacOS) the default path for config files in ~/.config/$Name_of_the_program and on windows people just seem to dump everything in %APPDATA%

For Windows you'd probably want %LOCALAPPDATA%\ripme instead of %APPDATA%\ripme but TBH I don't really know the difference. I think the intent is that %APPDATA% which directs to %USERPROFILE%\AppData\Roaming is used for settings that will be synced between systems (though this is still up to the apps individually), and %LOCALAPPDATA% is for the installation on the current system.

^ Yes, that's how M$ intended it and for once I don't need to disagree with them.

This could help: https://github.com/harawata/appdirs
It's a Java library made specifically for this kind of thing.


[ROCM] Add ROCM support to gpu_gcc.bazelrc, clang defines for rocm in…

… gpu.bazelrc
NOTE: rocmclang is not yet enabled in the toolchain. These defines may need to be adjusted once it's added.

retest gpu-pycpp please


V8.6

Renamed CoMonad functions coret and cobind to match names (extract, extend) and argument order used in Haskell and some literature. The additional reason for the change in the order of arguments is to make it easier to formulate comonad laws without using additional lambdas.

Added simple CoMonadLaws class.

Inspired by Haskell comonad library: https://github.com/ekmett/comonad

Looks reasonable. An alternative would be to define aliases for coret and cobind, but since Haskell is the front-runner in this right now, let's change the definition.
Should we add duplicate to the signature? Then we can write two helper functions that build CoMonad from the core components?

It looks like that depending on the definition used (https://github.com/ekmett/comonad lists 3 ways) minimal comonad laws also differ. So I guess to additional helper functions to create comonads we will also need a similar mechanism for CoMonadLaws.
I suggest we merge the first simple version we have right now. It is a slight improvement over existing placeholder definition. (disclaimer: this is all I need right now for my project :). Meanwhile, we can open a new issue to discuss the design of more complex comonad library and I will try to help with it as time permits.

@vzaliva What do you think is the status of this?

I think it was OK, but may need to be rebased to latest master?

@gmalecha if you are planning to merge this I will find some time to review it, sync with current master, etc.

I think it is reasonable to merge. It might be a good idea to make Definitions for coret and cobind on the off-chance that people are actually relying on CoMonad, though I kind of doubt it.

I plan to work on this this weekend.

I will do a new Pull Request


Always close after assert_screen to make test stable.

Fixes REAME and all test that closes before assertion.
Fixes #18
After #10, assert_screen can be called several times in a single test. We don't have to close before assert_screen anymore.
Closing before assert_screen has some problem. We need #15 to perform test that closes stdin before assertion, so the preferred form is to always close after all assertions.
start_terminal(...)
write(a)
assert_screen(b)
write(c)
assert_screen(d)
...
close

In #10, I forgot to change the order of assert_screen and close because test was passing, but it turned out to be flaky.

Would it be possible to move close within teardown?
If you always have to do close at the end it seems possible.
I am experimenting with the following code. (for fail/pass conditional execution)
module Yamatanooroti::WindowsTestCaseModule
  def self.included(cls)
    cls.instance_exec do
      teardown do
        CLOSE_OPERATIONS()
      end
    end
  end
end

This can deprecate close() and moves the actual processing into the teardown().
This approach works for test-unit, but requires def teardown for ruby's test, which may be invasive to the client code.

close in teardown

Thank you! I updated Yamatanooroti::TestMultiplatform to use both startup(start_terminal) and teardown(close). Tools that use Yamatanooroti can also adopt this approach in their own test.

This can deprecate close() and moves the actual processing into the teardown().

Doing close-in-teardown by default is not good at writing this kind of test.
def test_foobar
  start_terminal 5, 30, cmd1
  assert_screen foo
  close # manual close
  start_terminal 5, 30, cmd2
  assert_screen bar
  # auto close
end

We can provide auto close by another approach, similar to File.open, PTY.spawn. I think this is more ruby-ish and less invasive.
start_terminal do # Auto close API
  assertions_here
end # close here

start_terminal # Manual close API
assertions_here
close

# Comparison with File API
File.open(path, mode) do |f| # Auto close File API
  f.puts text
end

f = File.open(path, mode) # Manual close File API
f.puts text
f.close


Additional detail about health check frequency

This document goes into quite a bit of depth on health check behaviour, but does not mention how frequently health check pings occur.
It seems like it's every-five-minutes, but I'd love to have some official documentation confirming.

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

ID: 2526d6f8-e90d-5ecc-dbca-14540fcad599
Version Independent ID: e308750d-5a63-db74-9113-38cad322d48c
Content: Get started with autoscale in Azure - Azure Monitor
Content Source: articles/azure-monitor/platform/autoscale-get-started.md
Service: azure-monitor
Sub-service: autoscale
GitHub Login: @rboucher
Microsoft Alias: robb

Hi @vlkuznet, Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

#reassign:shilpasharmaAM

#assign:rboucher

#label:"CreateAzMonWIFeb2021"

Thank you for your contribution to the Azure Monitor documentation. We have created a workitem for this issue in our internal backlog database. We will prioritize it and make any necessary changes as we are able.
#please-close


text.texts_from_df not read test data

Issue: train data read as test.
    if val_df is not None:
        test = val_df
        x_test = train[text_column].fillna('fillna').values
        y_test = train[label_columns].values
        x_train = x
        y_train = y

should be
    if val_df is not None:
        test = val_df
        x_test = test[text_column].fillna('fillna').values
        y_test = test[label_columns].values
        x_train = x
        y_train = y

@Zihao-myob :    Thanks - this has been  fixed in ktrain v0.4.3.


Reorg

In 7 easy(?) steps I moved to electron-builder. Benefits:

Outputs multiple platforms easily
No more hand-written scripts
Good directory conventions
Main electron code goes inside ./app. Only ./app is included in the build, which is why we target the webpack build there and we moved index.html inside it.
Browser code is now more accessible (inside ./lib/)
Way easier time explaining how to get up and running to newcomers ✨

Thanks @sindresorhus for the suggestion

Great :) Unfortunately it revert PR #307.
Please, in package.json, inside build, can you add "extend-info" property that points to Info.plist inside ./static (or inside ./build if you think it's better to move it)?
Otherwise I could do the pull request myself if you prefer :)
Thank you very much!

I see that you disabled asar. It is not recommended because windows io is very poor. JFYI: I will fix https://github.com/electron-userland/electron-builder/issues/602 soon and open PR to enable asar.


⚠ Bofrost.be has degraded performance

In d501df3, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2427 ms

Resolved: Bofrost.be performance has improved in 81053d4.


Simplify buffer creation for hard liveness interval value

We can simply use snprintf() to generate string representation of an integer value in a 7 bytes bufffer.

Hello @yashi, as far as I remember this was done like this because there are some highly embedded toolchains that have a restricted usage of printf-family, in fact, there are platforms where there are no printf-family at all for code size/performance reasons.
I agree with using libc calls when possible, but this case is kind of special.
Is this critical for your use case? In that case, we can turn the approach into a macro-conditional section, where, if the end user ensures the existence of snprintf by enabling some CMake flag, the library will use your proposal.
If this is not critical for your use case, we prefer to keep it as it is.

OK.  Thanks. Closing.


~ gemspec: Remove versioning from parallel and parser gem dependencies.

This was clashing with a Rails app in which this was included. No need for the versioning!

@thoran
Thanks for the PR!
Looks like I will need to update some of the GH actions first, as there are some conflicts between ruby versions / bundler used.

@thoran
I pushed some changes to main branch, and Gemfile.lock has been deleted - I did it because I want to support some older versions of ruby that are EOL-ed, and for those I needed to use different versions of bundler gem, which then caused issues with BUNDLED WITH part of lock file.
Can you sync/rebase your fork with newest code changes? I would then merge your changes to explicit versions to main 👍

@nikola-maric Rebased.


[VT-111] Adding a task does not follow "task add ..." conventions

PeterN on 2015-01-09T23:16:43Z says:
Let's create a new task with a project and a tag. Intuitively it should go as follows:
1.- press "a"
2.- project:myproj +mytag -- Description of the task
3.- a new task was created, except it bears a description "project:myproj +mytag -- Description of the task"
The problem is that in the routine task_add, vit escapes everything what was written on the prompt by pair of double quotes and executes:

task add "what was written on the prompt"

What should have happened instead is:

task add what was written on the prompt

I attach a patch fixing this.

Migrated metadata:
Created: 2015-01-09T23:16:43Z
Modified: 2015-03-02T04:28:10Z

Scott Kostyshak on 2015-03-01T00:51:41Z says:
I agree that this is a bug. I think this might be related to VT-114. I will take a look at this (and your patch) for 1.3, which I hope to get a beta of out soon.
Thank you for your patch, Peter!

Scott Kostyshak on 2015-03-01T00:52:34Z says:
Peter posted a patch on VT-111. Perhaps it fixes both of these issues.

Scott Kostyshak on 2015-03-01T02:49:40Z says:
Peter, are you sure this patch is for this bug? If not, do you still have the patch for this bug? If you do, and you feel like writing a proper commit message (referencing this bug report) and adding an entry in the ChangeLog, that would be great.

Scott Kostyshak on 2015-03-02T04:27:55Z says:
Peter, please repost your patch on the bug it is meant for so it does not get lost.

Scott Kostyshak on 2015-03-02T04:28:10Z says:
Fixed at 1dec1d2f for 1.3.

VT-111_filterfix.patch.txt


Add profiling to influxd

Overview
This pull request adds -cpuprofile and -memprofile to influxd
Usage
To use profiling, run:
$ influxd -cpuprofile /tmp/cpu.prof

Then run stuff against InfluxDB and hit CTRL-C on your server to stop it. Then run pprof through the Go tool chain:
$ go tool pprof $GOBIN/influxd /tmp/cpu.prof
Entering interactive mode (type "help" for commands)
(pprof)

I mostly use the web command which generates a call graph in SVG and pops it into your browser. There's a bunch of cool options though.

:+1:


Add app_id in AuthorizeResult (InstallationStoreAuthorize)

The way to access app_id is tricky in some cases. In many features (e.g., Events API, Interactivity payloads), the field is available as api_app_id at the top level of request body. However, in the case of message actions, the field is available in message.bot_profile.app_id.
This pull request adds app_id in AuthorizeResult when Bolt framework can get the value without extra cost. Specifically, developers can expect the field is available in AuthorizeResult when using InstallationStoreAuthorize after applying this change. Of course, there is no blocker if a developer would like to set app_id in AuthorizeResult in their own custom authorize functions.
Considering more easiness to access the value in requests, we may want to expose the value in requests as a top-level field in context objects. While we can do that as well, it's not in the scope of this pull request so far. If others think we should do that too, I can work on it. Personally, I'm happy to add it too.
Category (place an x in each of the [ ])

[x] slack_bolt.App and/or its core components
[x] slack_bolt.async_app.AsyncApp and/or its core components
[ ] Adapters in slack_bolt.adapter
[ ] Document pages under /docs
[ ] Others

Requirements (place an x in each [ ])
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've run ./scripts/install_all_and_run_tests.sh after making the changes.

For context, I wanted to easily access app_id when building a deep link in a message - slack://app?team={team_id}&id={app_id}. In the case, checking the way to access app_id in payloads was a bit confusing. I think this is a common use case.

Codecov Report

Merging #126 into main will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #126   +/-   ##
=======================================
  Coverage   91.08%   91.08%
=======================================
  Files         148      148
  Lines        4184     4186    +2
=======================================
+ Hits         3811     3813    +2
  Misses        373      373

Impacted Files
Coverage Δ

slack_bolt/authorization/async_authorize.py
82.25% <ø> (ø)

slack_bolt/authorization/authorize.py
82.25% <ø> (ø)

slack_bolt/authorization/authorize_result.py
100.00% <100.00%> (ø)

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 4ecce6b...522d8b1. Read the comment docs.

To keep consistency, is this something we should add to AuthorizeResult in bolt-js and bolt-java?

When we do oauth in JS land, we do have app_id part of the Installation object. But we don't return it AuthorizeResult when calling the built in oauth authorize function

@seratch thanks for motivating this with a use case, that makes it much easier to understand. if there are any other use cases you have in mind, that might also help.
my main question is: why is producing an app_id the responsibility of authorize?

Considering more easiness to access the value in requests, we may want to expose the value in requests as a top-level field in context objects.

IMHO, this is a more "idiomatic" approach. in Bolt for JS, we use default global middleware to process incoming payloads and make data available in a consistent place within context. this type of operation seems to fit that pattern well.
The authorize function is about producing data that is not already in the payload, for which a store can be queried, and for which values are varied per-installation. The app_id is static within an App instance, so I don't think it makes sense to ask authorize to produce it.
if we don't want to use a default global middleware, you could also use a constant in the app. this might be reasonable if there aren't too many other use cases besides producing a deep link that we can think of.

@stevengill Thanks for the comment. Considering Ankur's suggestion, we can revisit the details of the implementation once we decide implementing this.
@aoberoi I think it's also great if we can agree we should have app_id in context. If we should choose the only a single best answer, I don't have any strong reason to choose authorize over context here.
Having the value as a static data requires an additional bots.info call or asking developers to set the value when booting the app. So, I prefer extracting app_id from request body and set it in context for this.
If we can agree to add the value to context, I'm happy to close this PR and will come up with another one to add the value in context.

I've created an issue for implementing app_id in context: https://github.com/slackapi/bolt-python/issues/129
Let me close this PR now.

I would like to revisit this - for context: https://github.com/slackapi/bolt-python/issues/129#issuecomment-717174392

Closing this PR - refer to https://github.com/slackapi/bolt-python/issues/129#issuecomment-753801091 for its context

Closing this PR - refer to https://github.com/slackapi/bolt-python/issues/129#issuecomment-753801091 for its context


Not compatible with react 18

This package package.json need an upgrade to be compatible with react 18.0

Need this update

What is not compatible? It still works and is built for me.

@bryanltobing It will work, check your react version . This package is still working with React 16 needs to change the package.json


PROBLEM : FOLLOWING  !

now i cant retrieve Following of users!
i use this in google colab :
c = twint.Config()
c.Username = "myName"
c.Store_csv = False
c.Following = True
c.Output = c.Username + "_following.txt"
c.Hide_output = True
twint.run.Following(c)
but i give just these ->
CRITICAL:root:twint.feed:Follow:IndexError
CRITICAL:root:twint.get:User:'NoneType' object is not subscriptable
for many account checked and results is same

please HELP me

This affects me, too, though I use the command line interface.
> twint -u jack --following --user-full
CRITICAL:root:twint.feed:Follow:IndexError

Same for me. I have checked and it seems that response is empty...

I have the same issue! Is twint still being updated? Are there any other osint tools that can help with this job - i.e. getting a list of followings?

Yeah, same issue for me. I will watch this thread for any workarounds if anybody finds.

Anyone out there on this error for a user's followers/following? CRITICAL:root:twint.feed:Follow:IndexError Saw another thread where it had to do with  "That's because twitter killed the no js (mobile version) version of twitter on 15th December. Followers were scraped using that version." https://github.com/twintproject/twint/issues/409

Also got the issue of CRITICAL:root:twint.feed:Follow:IndexError.
Anybody found a workaround?
Following.

following

anyone found a workaround.

I don't believe there is one Twitter killed the way Twint was using to pull followers. I use TweetBeaver for this kind of work now.

Please if anyone manage to solve this issue, add it here...

Does anyone have any alternatives to twint as @jcsimmons1 suggested? for tweets, I've found snscrape to be good. But for following, favorites, followers, etc. I'd love to find an alternative because snscrape does not support those.

Same issues, just not changing


Test suite

Currently there are no tests.
Create a test suite, preferably using plenary test in idiomatic style. It should test things like config options create the correct status line given various inputs.
For a stretch goal create a mock process to interact with and simulate errors and timeouts.

Added plenary/busted test suite in #14


Classes which contain methods with PHP 7.1 nullable return types trigger error

A number of my class methods have been converted to PHP 7.1 nullable return types.
https://wiki.php.net/rfc/nullable_types
It seems that any class which contains a method which implements nullable return types triggers an error and the class isn't included in the classmap.
Here's an example class which causes this bug:
public static function someMethod( string $some_param ) : ?string {
	return null;
}

This gives me an error that looks like this:
Array ( [0] => Syntax error, unexpected '?' on line 10 in /path/to/my/class.php )

Hi and thanx for reporting!
I have now updated php-parser to version 3 and that should add support for php 7.1.
Please reopen issue if the problem persists..
Happy new year!


[ActivityReminder] Bug fixes for the 2.13 cutting edge and 2.14 firmware

Fix all  bugs in #1949

Great - thank you!


Fix propagate warning state

Description
Changes proposed in this pull request:

Fix #822
Introduce new e2e test to check Status propagation;

Template operator is being deployed with --final-state set to Warning; will be checked after template-operator is being enabled; after disabling it should return to Ready

Use matrix in GH Actions pipeline, to have all e2e scenario tests run in parallel, if there are multiple runners available the pipeline will run faster (7min instead of 11min most of the time, if three runners are available ~5min) + e2e scenarios are fully decoupled

Related issue(s)

/test pull-lifecycle-mgr-build


output the n-best translation

Description
I use the universal transformer to train the EN-DE translation system. Now I want to output the n-best translation result.  How should I set the decoding parameters?

python ${T2T_BIN_ROOT}/t2t-decoder \
  --data_dir=$DATA_DIR \
  --problem=$PROBLEM \
  --model=transformer \
  --hparams_set=transformer_base \
  --output_dir=$OUTPUT_DIR \
  --decode_hparams="beam_size=$BEAM_SIZE,alpha=$ALPHA,return_beams=True" \
  --decode_from_file=$DECODE_FILE \
  --decode_to_file=translation.en

use return_beams=True

@xiaoqiangkx thanks for your reply . It's useful and I got the 5-best lists. But I encounter some problems.The output translation are written into one file. It's difficult to spilt it  into 5 candidate translations. Could you give me some help?

@xiaoqiangkx I have found a way to solve this problem.Thank you so much!

@shiny1022 Could you please describe your solution of splitting them?

It seems that the n-best output is separated as tab splitter. It is easy to separate them.


Nested routes and associations

I had a working form that created a resource record with associations to other models.
I ended up nesting that resource into another one but now I'm having trouble getting the form to work.
This is what I did in my routes file:
  resources :venues do
    resources :facilities
  end

My form used to look like this
<%= simple_form_for facility, method: :put, remote: true do |f| %>
          <%= f.association :activities %>
          <%= f.association :amenities  %>
<% end %>

If I leave it like that I get this error
undefined method facility_path
If I change it to: <%= simple_form_for [@venue, @facility], method: :put, remote: true do |f| %> (saw this in railscast) but that didn't help either.
Any ideas please?

Sorry, I ended up solving this but I can't delete this issue.
For anyone wondering, I had to set the url manually instead of having rails try to figure it out:
This is what I ended up with: <%= simple_form_for facility, url: venue_facility_path, method: :put, remote: true do |f| %>


Ranobes Domain has changed

Source information
Ranobes.net
Steps to reproduce
Example
1:Open the Source and Webview
2: See the site say "Site is Temporarily DIsabled" with the new domain below

Expected behavior
Source to show the site's content
Actual behavior
The Source leads to a retired domain
LNReader version
1.1.15
Android version
Android 11
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 1.1.15.
[X] I have updated all installed extensions.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

Duplicate of #540


more clear stating wedo is a ble device

and some other minor contribution

I am afraid "compatible chinese device" doesn't have any other identifier. Bluetooth identifier is as "officially" expected, no box name, no paper. Just from an aliexpress/alibaba shop.
Making more visible that WEDO is a BLE device is the very reason to start a pull: I didn't know WEDO is a BLE device nor my chinese copy so it took me time before running: bluepy_helper_cap. Do you think any other way to make this characteristic it more visible?

Ah, I think now I understand your pain point. BLE is the newer technology. I think non-BLE devices is will be rare over time. Actulaly, LEGO EV3 is the only one non-BLE device in the device list. So I think the step guide about bluepy_helper_cap is not good. It should guide to run not for BLE devices, but for all devices except LEGO EV3. I will pull your changes, and do some more edit on top of it.
I didn't know that the LEGO compatible devices are available at Aliexpress :)  Regarding the wording, "chinese" sound a little bit weird, so I may remove that word.

@n3storm I pulled your changes, and made one commit on top of it to address your pain point. Thanks for the feedbacks!

Thanks :)


lucyw/update second session

This includes @ElijahCaine 's PR for dodc-update-2015, so should not be merged before his commit.

@DevOpsBootcamp/website  When you get a chance!

Everything looks good! :+1: from me :smile:


add Job-Matrix support

When I create Jobs I see myself copying the same Job over and over while I only change one parameter in each copy. To get an idea of the performance of a site my setup most often looks like this:

X Locations (e.g Continents)
Y Pages/Scripts
Z Connections

I end up creating X * Y * Z Jobs to test all combinations. A Job-Matrix could work like the normal Job-creation with the only difference that the three mentioned parameters would be multi selects. As a start the Job-Matrix could simply create all the Jobs, but to be able to update them easily afterwards a persistent Job-Matrix entity would be even better.
What do you think about this feature? Is there another solution for my problem?

Being able to generically define a job to run with multiple locations and connections makes sense. In our case, we mostly have one script for a specific job group, so here it wouldn't make sense to also define mutliple scripts to run.
How do you use scripts so that different measurements should end up in the same job group. Do you simply differentiate page names? Would be nice to get an insight on your workflow.
I'm afraid the only possibility for you to do this right now is to edit an existing job, modify it and save it as a copy. Still much work, but at least you don't need to start from scratch ;)

My scripts are very simple, mainly because I use them to define the page name. I was not sure how the usage of page names was planned, because the ::: syntax was not documented. Most of my scripts just looks like this:
setEventName landing:::someName
navigate https://www.domain.tld/

Multiple Jobs then share the same Job Group, so I can aggregate them in the visualizations.
How do you use the scripts?

We measure multiple pages with one script. So for example to measure a typical customer journey in german apple store:
setEventName homepage_entry:::Apple_homepage_entry
navigate https://www.apple.com/de/
setEventName category:::Apple_category_accessories
navigate http://www.apple.com/de/shop/mac/mac-accessories
setEventName productList:::Apple_productList_mac
execAndWait document.querySelector('.ac-gn-link-mac').click();
setEventName search:::Apple_search
navigate http://www.apple.com/de/search/earpods?src=globalnav
setEventName productDetails:::Apple_productDetails
navigate http://www.apple.com/de/shop/product/MD827ZM/B/apple-earpods-mit-fernbedienung-und-mikrofon

The benefit of this approach is that local browser cache fills up in a realistic way while walking through the application. Scripting your tests like real users customer journeys is a better approach than webpagetests single step measurement first and repeated view in our opinion. So we mostly have one JobGroup per application. if we need to measure more than one page as entry page we have some additional scripts for that.
That's the reason for using atributes location and connectivity for a job matrix sounds reasonable to us but not necessarily the page.

Thanks for sharing how you simulate customer journeys. This definitely creates more insights than checking only the entry page.
If you want to test multiple entry pages it would make sense to add the different scripts to the matrix as well, while for sure you can only add a single script too.


ForwardTo to a VPN with NetworkCredentials?

Hi, im trying to tunnel requests to a VPN service that needs network credentials (username, password).
Im getting a popup window to enter the credentials with the current solution that looks like this:
            var proxy = new WebProxy
            {
                Address = new Uri($"http://{proxyHost}:80"),
                BypassProxyOnLocal = false,
                UseDefaultCredentials = false,

                // *** These creds are given to the proxy server, not the web server ***
                Credentials = new NetworkCredential(
                    userName: "***",
                    password: "***"
                )
            };

            var httpClientHandler = new HttpClientHandler
            {
                Proxy = proxy,
            };

            services.AddProxy(httpClientBuilder =>
                httpClientBuilder.ConfigurePrimaryHttpMessageHandler(() => httpClientHandler));

Configure looks like this:
            var upstreamHost = new UpstreamHost($"http://{proxyHost}:80/");
            app.RunProxy(context => context
                .ForwardTo(upstreamHost)
                .CopyXForwardedHeaders()
                .AddXForwardedHeaders()
                .Send());

Im using Firefox to proxy all requests to this proxykit dotnet service which works. However, the credentials are not added to the tunnel to the vpn so the browser asks for it.
Any ideas are most welcome. Im running out of options.
Best,
Anders

I have a suspicion you may need to strip out authorization header on the upstream response so it doesn't return to your browser. To be honest, tunnelling to a VPN service is not a scenario I envisaged in usual reverse proxying circumstances so I'm not going to explore any further. The code is there for you to take and try to get it working for whatever you are trying to do.


OCI HelmRepository doesn't support charts at the root of AWS ECR

Hello,
This issue is related to #896 and addresses what I believe may be a more proper fix for the problem.
As noted in #896, with v0.29.0 deployed and a HelmRepository like the following created:
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
  name: xxx
  namespace: flux-system
spec:
  interval: 10m
  provider: aws
  type: oci
  url: oci://<account>.dkr.ecr.<region>.amazonaws.com

the behavior we see is that the service panics due to an unhandled nil return, resulting from the failed parsing of the URL with the regex here.
According to the documentation for HelmRepository objects of type oci, the URL is "expected to point to a registry repository." Based on this, I would expect that the proper configuration for a HelmRelease and HelmRepository referencing a chart in AWS ECR at oci://<account>.dkr.ecr.<region>.amazonaws.com/<service> would look something like this:
---
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
  name: xxx
  namespace: flux-system
spec:
  interval: 10m
  provider: aws
  type: oci
  url: oci://<account>.dkr.ecr.<region>.amazonaws.com/<service>
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: xxx
  namespace: flux-system
spec:
  interval: 10m
  targetNamespace: default
  chart:
    spec:
      chart: <service>
      sourceRef:
        kind: HelmRepository
        name: xxx
        namespace: flux-system
  releaseName: xxx

In the above configuration the HelmRepository object is correctly pointing to the Helm repository where the chart is stored in ECR, and the .spec.chart in the HelmRelease object should effectively be redundant, as within a Helm repository there can be only one uniquely named chart. However, with this configuration, the source-controller appears to attempt to look up the <service> chart using the URL from the HelmRepository object as a base, generating an error like the following:
invalid chart reference: failed to get chart version for remote reference: could not get tags for "<service>": could not fetch tags for "oci://<account>.dkr.ecr.<region>.amazonaws.com/<service>/<service>"

The chart in question is located in AWS ECR at oci://<account>.dkr.ecr.<region>.amazonaws.com/<service>, so it is no surprise that the source-controller is unable to find any tags with the additional /<service> appended on the path. This suggests that the HelmRepository object is not actually referring, then, to a Helm repository properly, but rather to either an Helm registry or to a subpath within a Helm registry underneath which specific Helm repositories can be located. In either case, it is clear that the source-controller is expecting to be able to find the specific Helm charts in ECR at a path that involves appending /<.spec.chart> to the URL from the HelmRepository object.
As a result of this finding, it appears that the only valid way to support a chart located at a path like oci://<account>.dkr.ecr.<region>.amazonaws.com/<service> would be for the URL in the HelmRepository object to be set to oci://<account>.dkr.ecr.<region>.amazonaws.com. However, as noted in #896 and as patched in #897 this URL is treated as invalid, because it does not successfully parse according to the regex built to parse and validate ECR images. The patch in #897 handles this case by returning an explicit error message declaring the failure to parse, effectively establishing that Helm charts housed in an AWS ECR repository that does not contain a / character in the name are not to be supported by the source-controller.
My request is one of the following (with a preference for the option number 1):

Could the regex used to validate the HelmRepository URL be updated to make the /([^:]+) component optional? This would allow a URL like oci://<account>.dkr.ecr.<region>.amazonaws.com to pass and return the account and region properly to authenticate to AWS ECR. That enables the use of Helm charts located in ECR repositories without a / character in their names, which I believe is a use case that should be supported.
Could the documentation be updated to reflect the fact that HelmRepository objects of type oci do not properly correspond to a Helm repository, but rather a Helm registry or subpath within a Helm registry where Helm repositories may be located?

I would be happy to contribute and test a solution if option number 1 is deemed desirable.
Thanks!

Thanks @bnsfrt for opening this PR. I think that you are correct in your analysis and we need to implement the missing parts to make this works for AWS ECR whether we provide a registry or registry/subpath url. We should also update the related documentation as mentioned above.
For the implementation part, it would be best to update the following function, so it can fallback to parsing a registry.
https://github.com/fluxcd/pkg/blob/dbad05cf95b380c6f619a9bf76dc755c6ff6e3cc/oci/auth/aws/auth.go#L41
The fallback option is preferred because Helmrepository is the only reconciler that deals with registry urls, other consumer s provide images repositories urls.

Great! I'm glad to know I'm barking up the right tree. Would you like me to go ahead and take a crack at opening a PR for this change myself?

that would be much appreciated.

I've raised https://github.com/fluxcd/pkg/pull/362 to address the issue and tested that the source-controller works with the change.


Use re-usable workflows for GitHub Actions

Use re-usable workflows for GitHub Actions to remove the duplication that we have, for example for doing e2e-tests.

This should now be easier to achieve: https://github.blog/changelog/2022-08-22-github-actions-improvements-to-reusable-workflows-2/

I'm implementing reusable workflows, thanks for staying tuned to every change on their side @tomkerkhove

Happy to help!


Building on Windows with alternative CMake generators

Hi all,
I've been trying to build Appleseed with a different generator on Windows (specifically either "Ninja" or "NMake Makefiles JOM") but I've got one issue here:
win-vs.txt
I'm guessing ${TargetPath} is an MSTarget-specific variable? Can I change this so that it's like the other ones? Eg.
get_target_property (target_path ${target} LOCATION)
Or will this break Visual Studio/MSTarget?
Cheers!

Just an update, it is advised to use CMake generator expressions for macro stuff like this when fed into the add_custom_command directive:
https://cmake.org/cmake/help/v3.0/manual/cmake-generator-expressions.7.html#informational-expressions
I'm testing this approach now with some success with NMake JOM, but I haven't tested using the regular VS generators.

https://github.com/appleseedhq/appleseed/pull/2060

Done in #2060


J003064/seo module validations

Hello @priyashantha will you be able to review this for me, when you get a moment ?

@fonsekaean Sure.


Unreadable dialog text in IU 2023.2

The problems does not occur in IntelliJ Ultimate, but in PhpStorm.
YouTrack issues:
https://youtrack.jetbrains.com/issue/IDEA-331235/Wrong-theme-colors-in-file-name-dialog-in-PhpStorm-2023.2

A similar bug makes the text in the new UI open recent project panel hardly readable when it becomes white on hover. Likewise, the internal inspector shows the intended colors, but the UI doesn't:

YouTrack issue:
https://youtrack.jetbrains.com/issue/WI-74145/Wrong-theme-colors-in-project-panel-in-2023.2

Dialog text seems to work now, but didn't after just one 1 IDE restart. So PR #120 should fix the most important problem.


Enhancement: Keep packages sorted in composer.json

This PR

[x] keeps packages sorted in composer.json

💁♂ For reference, see https://getcomposer.org/doc/06-config.md#sort-packages.

Codecov Report

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

@@            Coverage Diff             @@
##             develop     #146   +/-   ##
==========================================
  Coverage      98.73%   98.73%
  Complexity      1603     1603
==========================================
  Files            110      110
  Lines           3796     3796
==========================================
  Hits            3748     3748
  Misses            48       48

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 8d838f2...3eb494b. Read the comment docs.

Thank you, @mikaelcom!

Thank YOU! I saw you contributed to many other repos, you're motivated!


componentStack is not available to errorComponent or defaultErrorComponent

Which project does this relate to?
Router
Describe the bug
Even though info?: { componentStack: string; } appears in ErrorComponentProps, it is never passed to the error component.
The error info with the component stack is captured though, as it is logged to the console as warning and it is passed to onCatch and defaultOnCatch.
Your Example Website or App
https://stackblitz.com/edit/github-ktjn1n-i4bu1m?file=src%2Fmain.tsx,src%2Froutes%2Fabout.tsx
Steps to Reproduce the Bug or Issue

Create an error component that attempts to render the component stack:

function CustomErrorComponent({ error, info }: ErrorComponentProps) {
  return (

{error.message}

        Stack:

{error.stack}

        Component stack:

{info?.componentStack}

  );
}

Register it as defaultErrorComponent:

const router = createRouter({ routeTree, defaultErrorComponent: CustomErrorComponent });

Throw an error in some route.
Navigate to that route and see that the component stack is undefined.

In the linked MCVE example, the about route is throwing an error. Opening the link and navigating to the About page will reproduce this.
Expected behavior
The same errorInfo with the component stack that is passed to onCatch as its second parameter would also be passed to the error component in the info prop.
Screenshots or Videos
No response
Platform

OS: WSL
Browser: Edge
Version: 1.64.0

Additional context
No response

Since setting state in componentDidCatch is deprecated, we cannot do much here, as getDerivedStateFromError does not expose errorInfo
https://react.dev/reference/react/Component#componentdidcatch-caveats
The best "solution" would probably be to remove errorInfo from ErrorComponentProps

Added this removal of errorInfo onto the v2 checklist. Closing this for now.


Add many functionalities and data usage

This PR comes after the PR #17 and adds :

Companies' metadata declaration to API response
Computed scores to API response
Add compute score repartition for each APE and each year

@leonarf Please be patient, reopen previous PR (if possible). We will tackle issue one by one. But this gigantic PR is too hard to review.


Cannot import the pandasdb module or Database Class

Cannot import the pandasdf module and cannot import the Database class as shown in the documentation

What python version do you have?

Python 3.9.13 from anaconda

Its missing future imports, I updated the package on PyPi, now it should work.

did you update the package on pypi because,
pip install pandasdb2 --upgrade did nothing and the error still persist.
from pandasdb import Database this is giving the same error

Python version

My bad, there was some other stuff that needed to be moved under if TYPE_CHECKING:, now it should work.
Also, I changed the folder name to be the same as the package name, so now you can just do: from pandasdb2 import Database.


Virtual Onix Puma, Witnesses at 2000km, 8HNT per day

Hotspot b58 Addresses
11hsyViz32idrBHSrX4V5rdwwQJaZB4YnyV5vCkXVcfRTS8uYhj
Discord Handle
DjRibad#2285
Reason(s)
Hotspot witnessing at 2000km, using a compressor. Same RSSI and SNR for both cores at 10km and 2000km. Please stop this

.

Removal already requested in
https://github.com/helium/denylist/issues/2556
Please understand that requests are processed manually, and creating dozens of requests for the same hotspot may only delay the overall processing of those requests.


Required Timestamp as Paramter done by Library

The Signed Routes all need a timestamp, would be good if this could be done by the lib itself.
I used round(microtime(true) * 1000) for my approach.

As described here (https://www.binance.com/restapipub.html#timing-security) the timing security is implemented in application level. The application you are developing MUST be responsible for validating timestamps (maybe in your application, the user would like to send a different timestamp, for previous or future transactions).
The timestamp parameter (which is documented thoroughly in the phpdoc blocks) is not the only one required by the signed endpoints; you ought to validate the parameters yourself. Have in mind, this is a library for rapid prototyping allowing you to access the Binance services, not a working application.
And yes, the code you mentioned is a nice workaround. As you can see in the tests provided (https://github.com/larislackers/php-binance/blob/master/tests/BinanceApiContainerTest.php#L88) we have used the same thing (more or less) for the timestamp parameter.


Ukrainian Language Update & Support

This PR updates Ukrainian language strings and adds it to the languages.json.

We are currently not adding new languages.


[ENH]  Adopt changes through dplyr 1.0.8 to 1.1.2

Feature Type

[x] Adding new functionality to datar

[x] Changing existing functionality in datar

[ ] Removing existing functionality in datar

Problem Description
Adopt changes through dplyr 1.0.8 to 1.1.2
Feature Description
Adopt changes through dplyr 1.0.8 to 1.1.2
Additional Context
No response

Current support dplyr 1.0.8


someone just called me a noob and i smeel and i am trash, lol

this must be prevented. has bad effects on kids

good

good

good prevention

good prevention

Uhh, just for future reference, while people are toxic on here, that's not really an issue you solve on Github, you solve it in the game by mods banning the toxic players.


Speed about download.py

When I modified the line 104 'libx264' as 'copy', the speed of getting video files became super fast....
why use 'libx264'?

Good point. What about the space?

Train dataset use about 311G.

Thanks for the information. I will close the issue given that this trick was already mentioned here.

@wangzhangup How fast is your download speed? Do you use VPN?

@zhujingsong No VPN! I bought a VPS on DigitalOcean.


ENH : add support to write inverse_operators (surf + volume)

everything is in the title

looks good otherwise

typos fixed
click the green button if it's ok with you


Cannot get pronunciation (pronunciation is None type)

I use this code:
from googletrans import Translator

translator = Translator()
result = translator.translate('Hello', src='en', dest='ru')

print(result.src)
print(result.dest)
print(result.text)
print(result.pronunciation)

and get result:
en
ru
Привет
None

Translate is correct, but there is no pronunciation. I use googletrans 2.4.0 and python 3.7.7

I just had the same issue. I fixed this by modifying line 188 of client.py, changing pron = data[0][1][-2] to pron = data[0][1][2]

Okay, now it works well for some languages (forks for ru, fr, but not for fa). Thank u, I am waiting while this bag will be fixed

Fixed this issue by 312f36ad. Thanks.


Test: Native python locator

Refs: #23719, #23567

[ ] macOS @eleanorjboyd
[x] linux @cwebster-99
[x] windows @luabud
[x] anyOS @brettcannon

Complexity: 1
Create Issue

Requirements

Latest Python extension pre-release
Set "python.locator": "native" in user settings. Reload.

Testing
This is an open ended testing for the python locator. Add the above setting and see if it finds various pythons on your machine, hit the refresh button (in the selection quickpick) and see how it reacts.

so exciting! this is what the native locator found:

and this is with js:


Add at the end of the page

As there are already some blocks on today's journal page which I set as a daily template, the messages from telegram are added below the first block instead of at the end. Is it possible to add at the end of the page? Thank you!

BTW, I know if I add [[quick capture]] as a part of the template it can work as expected. However it's not every day that a message is sent from telegram. So I think it's better that the inbox name can be added by the plugin. Thanks again for the fantastic work!

Sorry I found here that it has been added at the end. Will close this issue.


Enable adaptive quantization for all codecs on nvidia

Superseded by https://github.com/alvr-org/ALVR/pull/1327.


Add TubeMogul Puppet module to README.rst

Hi there,
We released our Aptly Puppet module some time ago and we recently pushed some updates. We thought it could be nice to have it in the official Aptly README :)
More information here : https://forge.puppet.com/TubeMogul/aptly
Thanks !

Thanks!


Remove vtables from JSON library

This removes the unused vtables from the JSON library, which allows us to hide the reader and writer implementations.
This is a first step toward changing the JSON library to provide a C++-style data structure.

Known issues: #20695 #21381
The artifact build failure looks like it was the Mac build problem from a few weeks ago, but doesn't look like there's a bug filed for it.


fl studio 21

Environment (please complete the following information):

OS (e.g., Windows 10):
Extension version (e.g., 1.2.3):

Describe the bug:

Repro steps:

Expected behavior:

Additional context:

my file eont open

Closing as incomplete. Please feel free to add more information if you have any and we can re-open the issue.


Docs: Typo in tracer documentation

What were you searching in the docs?
In this section the parameter captureHTTPsRequests has a S instead of a s.
Is this related to an existing documentation section?
No response
How can we improve?
Change the letter to s
Got a suggestion in mind?
No response
Acknowledgment

[x] I understand the final update might be different from my proposed suggestion, or refused.

Hi @psperber, thank you for opening the issue - there is indeed a typo.
I see you've opened a PR, I'll merge it right away.
Thank you!


test: remove dependency to html-template in integration tests

The issue is that all our integration tests depended on html-template
It was fine just until this week when we did generator v2 release - and now our tests will not work until html-template actually starts supporting v2 - it is because we have a functionality that templates can define what generator versions they depend on -> https://github.com/asyncapi/java-template/blob/master/package.json#L102
This PR:

removes html-template from tests
introduces new local templates, simplistic for react and nunjucks - and now these are used in tests
local verdaccio (npm registry) is extended to work with all integration tests (not registry tests only) so we have a place where we can during tests publish the local templates (for real production testing)
eslint had to be reconfigured a bit due to introduction of react template in the code - so we can lint it properly

Side effect: we have local test templates that along the way we can extend with more features and extend integration tests to test more functionality.

@Florence-Njeri I updated readme in test folder so you need to approve as well

I understand why an alternative simplistic test template is needed to replace HTML template. But my concern is that will using a local template require maintainers always to update it to avoid situations where the tests pass but the generator is not working in the actual usage? If this is temporary, and we will update the HTML template and others to support the generator v2 release, then I think using a local simplistic template for now is understandable. : ) @derberg

@lmgyuan the reality is that we did not use html-template in a way that there were some great features to test. So local templates give us more flexibility actually, more can be tested long term.
Do why we didn't do it from the beginning? I added first integration tests when there was no use case for testing installation from nom registry. So there was no use case to figure there is something like verdaccio. So I neglected local templates as templates that do not enable us to test all scenarios. Now with verdaccio it is super easy and we can test basically any scenerio.
/rtm

@lmgyuan the reality is that we did not use html-template in a way that there were some great features to test. So local templates give us more flexibility actually, more can be tested long term.
Do why we didn't do it from the beginning? I added first integration tests when there was no use case for testing installation from nom registry. So there was no use case to figure there is something like verdaccio. So I neglected local templates as templates that do not enable us to test all scenarios. Now with verdaccio it is super easy and we can test basically any scenerio.
/rtm

This makes a lot of sense! Thanks for your explanation!


Worker hashrate drops when connecting more than 1 machne

I have been working on setting up a mining pool using MPOS and have been thinking of using coiniumserv as well. however I have MPOS running right now with stratum-mining and any time I connect more than 1 L3+ to a worker it drops hashrate to 0 for that worker. However My miner shows its submitting shares.

They have to be valid shares, sounds more of a Stratum issue than MPOS though. If shares aren't added properly MPOS will not see them and not be able to calculate a hash rate.

@TheSerapher thanks, I figured as much. I will dig deeper, however I did not see any log files for stratum, so more testing it is.


Automatic Reminders

This is a feature which I'm trying to implement but don't really have the necessary programming experience/knowledge.
A tie-in to a weather service API such as Forecast.io which is set up in such a way that it can be configured by each municipality separately to automatically remind users to shovel when there is an x percent chance that it will snow y amount at z amount of time before the predicted snowfall. This would make it so that reminders would not have to manually be sent to users by the municipality when snow was predicted.

Added the ForecastIO gem and was able to pull in forecast information regarding things - but there is a lot of data to parse thru and make decisions about. To get an API key - please setup an account at: ForecastIO


(chores) camel-aws2-kms: adjust memory settings and JVM behavior for the tests

KMS is done. The failures are now in lambda. Merging ...


Arc wrap watcher output

Motivation
Controller machinery has been changed to support arbitrary streams; users may instantiate controllers with already established watches, or already created stores. A subscriber interface has also been added to allow for stream sharing; due to the implementation details of the subscriber interface, the output is incompatible with what the controller expects.
This change started as a proof of concept based on https://github.com/kube-rs/kube/issues/1189. It attempts to bridge the two APIs by Arcing the output from watchers. Since this is done at a very low level in the codepath, both the controller and other dependent helpers (e.g. the reflector or event flattener) have been changed to both read and write arc'd streams. As an added benefit, arced streams should relieve some memory pressure by avoiding clones on k8s objects.

Solution

Changed step_trampolined to arc the object. This is propagated all the way up to the watcher().
Reflectors now clone the Arc instead of doing their own Arcs.
Event flatten now unwraps the inner value of an event and returns it as an Arc
Controller now internally works on Arc'd streams. A few associated type bounds have been changed in the triggers (mostly for ok values of TryStreams). Mappers have also had their signatures changed.

@clux my pleasure! Thanks for having a look. I made some changes to get CI to pass. I'm surprised the change came out as small as it did. All in all, having worked on it, there are some nice things about the API change (particularly around the reflector, using shared memory to pass all of the state around, etc.), but I do think the change is pretty significant and scary. I'm happy to investigate more if either you or @nightkr want to see what other alternatives look like.
Problems:

Event::modify has to change to support arc wrapping objects in the watcher. To get it to pass, I ended up using Arc::get_mut. If we end up having an event wrapping an arc, we could potentially modify it before the object is stored, or before the stream is shared. IIUC, we'd had only one reference at that point in time. As long as this contract holds, and it is properly documented, then all's well. However, it also exposes a potential footgun for users. We can mitigate it through an error, or logging, or something else, or we could potentially solve this problem in an entirely different way. My goal here was to get this to compile. It's one of these things that makes me feel uncomfortably worried :D
Having a objects arc wrapped so early in the codepath means users that are not interested in stream sharing, or even the reflector interface, have to deal with Arc. This is also going to be a breaking change. Is there anything we can do here to make the API easier to understand, or to at least communicate what has to be done for people to upgrade safely?
Some tests are a bit more awkward now (particularly around using matches!). Will definitely need a thorough look to make sure we're not sacrificing any quality there.
stream_subscribe interface: since it deals with a stream of watch results, it ends up arc wrapping everything. One of my early ideas was to change the interface itself to take a stream of objects. Perhaps we could also use a TryStream? I have to admit this is the point where I genuinely feel a bit stuck. If either of you have an idea here, please let me know :)

Still left to do:

Pass stream in the reconciler (as mentioned in comment)
Write an example for stream sharing.

About StreamSubscribe, looking more closely at its signature, it does look like it requires an unflattened stream in ::steam_subscribe which feels wrong to me. I'd have expected a usage kind of like:
let w1 = watcher(api, cfg).reflect(writer); // a flattened stream of all events
let w2 = w1.subscribe().predicate_filter(p); // a copy of the flattened stream with more specific filters applied

and pass w1 and w2 to different controllers, so that they'd reuse the reflector, and filter more specifically after. as it stands, if the stream is unflattened, then both sides might have to make a reflector IIUC.
I don't remember the reason for this, might have to dig in the original PR at #1131, but this feels wrong looking at it now.

Coming back to this. I merged the latest main (the merge was pretty pain free actually). I'm going to prototype everything again in a different branch just so that I can reload the context into my brain and get acquainted with some of the controller logic.
There are still 2 issues:

StreamSubscribe API last time looked a bit weird, going to look at it separately.
Check up on the comments, there was an issue with watcher::modify which made the arc use a bit awkward, will need to check what I wrote, the answer, and whether I was correct the first time around to begin with.

Will keep folks up to date! Thanks for bearing with me :)

The time has come to finally retire this. Superseded by https://github.com/kube-rs/kube/pull/1449.


Can you provide a general data format for constructing test data independently?

While it’s great that you have integrated a lot of data, it feels like there’s still a lack of templates for users to customize and construct their own data sets. This would reduce the workload of integrating data sets and increase the flexibility of the framework.

Hi, you could find helpful tips here and the example datasets.


Getting started with the GeneiACS. Do i need to configure any files before i getting the GUI ?

Hello there,
Actually I'm trying to use genieacs on docker container. It seems genieacs is working fine in my system. But in the URL when I type this( http://<IP_ADDRESS>:7547/ ), it gives me 405 Method Not Allowed.
When check that error on this site ( http://100pulse.com/http-statuscode/405.jsp ), they are saying that you may be attempting to run a script that is not supported.
Help me what script should I change to make this works.
Thank you.

This is by design. The CPE POST's data to that endpoint.
If you are wanting to see what CPE's have registered with the ACS, you need
to install and configure GenieACS-GUI. The gui listens on port 3000 by
default.
-dan
On Wed, Feb 18, 2015 at 10:32 PM, Siddeshi<EMAIL_ADDRESS>wrote:

Hello there,
Actually I'm trying to use genieacs on docker container. It seems genieacs
is working fine in my system. But in the URL when I type this(
http://<IP_ADDRESS>:7547/ ), it gives me 405 Method Not Allowed.
When check that error on this site (
http://100pulse.com/http-statuscode/405.jsp ), they are saying that you
may be attempting to run a script that is not supported.
Help me what script should I change to make this works.
Thank you.
—
Reply to this email directly or view it on GitHub
https://github.com/zaidka/genieacs-gui/issues/16.

@akcoder
Yes, I have installed GinieACS-GUI. The problem is that, can I access the gui to the outside world from the docker container?
For that, what I need to do ?
I have tried with

PORT exposing technique.
I have installed a brower inside the container and tried to access it. But browser itself doesn't open for the command firefox. Throws an error like display=10 (also 11, 99 etc..) not found.
I have tried to change the IP address of the container to static IP, then also throws an exception like operation not permitted.
For port 3000, it is saying that can't establish the conecton, (all the required servers are runing in the container).
Tell me, what might be the solution or suggestion.

Thank you.

How to access this port 3000 ?

Lets take this over to the mailing list.
I'm not familiar with Docker.
But what I can tell you is that you need the following ports exposed
externally for the CPE: 7547, and 7567.  Port 7557 should not be exposed
to the public internet.
Port 3000 is where the GUI runs, provided you have GenieACS-GUI installed
(and haven't changed the port).
-dan
On Mon, Feb 23, 2015 at 3:44 AM, Siddeshi<EMAIL_ADDRESS>wrote:

How to access this port 3000 ?
—
Reply to this email directly or view it on GitHub
https://github.com/zaidka/genieacs-gui/issues/16#issuecomment-75535018.

Port 3000 is not GenieACS specific. It's just the port that the development server that ships with Rails uses (i.e. WEBick). You can get it to listen to port 80, but WEBrick is not recommended for production use anyway. Use something like Apache or Nginx instead.


langchain4j integration with redis

I am waiting for a redis integration with langchain4j.

@radhakrishna67 redis as an embedding store? we will add this to our backlog.

Yes, Vectore Store

is there any update when this is going to be implemented?

is there any update when this is going to be implemented?

Hi! I'm trying to contribute redis integration. PR is expected to be mentioned within a week. Draft PR can see PR


Add tag aside

Propose to add the aside tag.
https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element/aside

Tachyons v5 will become a monorepo so this pull request is being closed, if the pull request is still relevant please open an pull request with the main repo https://github.com/tachyons-css/tachyons/ & link to this one.


Crash with Macaw's Doors - wooden portcullis

Minecraft version
1.19.2
LibX version
1.19.2-4.2.8
UtilitiX version
1.19.2-0.7.6
Forge version
43.2.6
The latest.log file
https://pastebin.com/uFhnn4Ky
Issue description
The error message suggests that there is a problem with the code in the Minecraft mod "UtilitiX". More specifically, the error occurs when trying to access the property "hinge" of a block with the name "wooden_portcullis". The error message states that this property does not exist in the block.
The wooden_portcullis doesn't have the property hinge as seen here in the GarageDoor class which the portcullis uses:
https://github.com/sketchmacaw/MacawsDoors/blob/main/1.19.2/src/main/java/com/mcwdoors/kikoz/objects/GarageDoor.java
Steps to reproduce

Place down a Wooden Portcullis from Macaw's Doors
Place another one on top of the first one
Crash

Other information
No response

Yeah, my bad. It looks like this is caused because the wooden portcullis is in the #wooden_doors tag. Issue on my side


Have you tried to train DeiT-Tiny with something mixup variants?

Great works! I would like to know if you train DeiT-Tiny with something mixup variants by openmixup.
If yes, could you share some results?

Hi @ChenMnZ, thanks for your question. Unfortunately, we have only trained DeiT-Tiny with the official training receipts (Mixup with alpha=0.8 and CutMix with alpha=1.0) on OpenMixup and get 74.50 top-1 accuracy. If you are interested in benchmarking mixup variants with DeiT-Tiny, we can cooperate in conducting relevant experiments in ImageNet-1K. Please feel free to ask me if you have more questions or contact me directly, e.g., via e-mail or WeChat (Lupin_1998).

I close this issue if there is no more question. You can reopen it or start a new issue if you have more questions.


(FACT-3142) Add support for Mariner to Facter 4.x

Add support for CBL-Mariner, Microsoft's Linux distribution for
cloud infrastructure and edge products and services.

Can one of the admins verify this patch?

@mminkus could you squash your commits and prefix the commit summary with (FACT-3142)?

@mminkus could you squash your commits and prefix the commit summary with (FACT-3142)?

I thought you can squash the commits when they are merged. Or do you want me to squash the commits locally and do a force push?

Please squash and amend the commit summary (as our automation links commits to JIRA tickets based on the summary line) and force push to your branch. Thanks!


Add zetabounds to PrimeNumberTheoremAnd.lean

This makes ZetaBounds.lean visible to the doc generator

Just out of curiosity, what do all those changes in lake-manifest.json
do...?
On Mon, Mar 11, 2024 at 12:04 PM Ian Jauslin @.***>
wrote:

This makes ZetaBounds.lean visible to the doc generator
You can view, comment on, or merge this pull request online at:
https://github.com/AlexKontorovich/PrimeNumberTheoremAnd/pull/117
Commit Summary

aeac204
https://github.com/AlexKontorovich/PrimeNumberTheoremAnd/pull/117/commits/aeac204b63920fd804991536a5cb027ce927b81f
Add zetabounds to PrimeNumberTheoremAnd.lean

File Changes
(2 files
https://github.com/AlexKontorovich/PrimeNumberTheoremAnd/pull/117/files)

M PrimeNumberTheoremAnd.lean
https://github.com/AlexKontorovich/PrimeNumberTheoremAnd/pull/117/files#diff-3a588489334561a086ff22fbe9655d609eb7d50f253e50471fbc95776d3f36fa
(1)
M lake-manifest.json
https://github.com/AlexKontorovich/PrimeNumberTheoremAnd/pull/117/files#diff-d2bbbefe896fa3db86583f19e6fb402ed9ba755d564f4de97f398b0596f4c2b8
(36)

Patch Links:

https://github.com/AlexKontorovich/PrimeNumberTheoremAnd/pull/117.patch
https://github.com/AlexKontorovich/PrimeNumberTheoremAnd/pull/117.diff
—
Reply to this email directly, view it on GitHub
https://github.com/AlexKontorovich/PrimeNumberTheoremAnd/pull/117, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AN6Z33ADV2SEVHLQY54IOJDYXXIZZAVCNFSM6AAAAABEQTBPO6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGE3TSNJRGMZTONQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Nothing important. It's an update of the dependencies of the project (which got triggered because I didn't freeze them in the lakefile, which I should probably do).

Got it, thanks!
On Mon, Mar 11, 2024 at 8:11 PM Ian Jauslin @.***>
wrote:

Nothing important. It's an update of the dependencies of the project
(which got triggered because I didn't freeze them in the lakefile, which I
should probably do).
—
Reply to this email directly, view it on GitHub
https://github.com/AlexKontorovich/PrimeNumberTheoremAnd/pull/117#issuecomment-1989676171,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AN6Z33HLKPO5VQIITUYIRJTYXZB23AVCNFSM6AAAAABEQTBPO6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBZGY3TMMJXGE
.
You are receiving this because you modified the open/close state.Message
ID: @.***
com>


Fix license for French addresses

See #3341

Thanks for updating these, @jdesboeufs!

Yes, thank you!


A tricky bug in IDM: it doesn't control the height

But we have some space for the car to drop to the down. In IDM policy as it does not control it the vehicle height will always be the init value

so it looks weird and the vehicle will float

Can you show me a figure... I can not get your point.. All vehicles will drop down due to gravity even if it is controlled by ReplayPolicy

Don't seems like the issue now.
I am referring to the case where force_fps=False and vehicle will be floating.


Removed broken links

What does this PR do?
Removed broken links for ruby on rails and visual basic 2010 book, alternatives are already there
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[x ] Read our contributing guidelines.
[ x] Search for duplicates.
[ x] Include author(s) and platform where appropriate.
[ x] Put lists in alphabetical order, correct spacing.
[ x] Add needed indications (PDF, access notes, under construction).
[x ] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Related to #6942


NRI: add support for NRI with extended scope.

This PR is one in a set of 3 PRs, that propose and implement a prototype to extend the scope of NRI to enable common, pluggable runtime extensions. The other related PRs in this set are:

extend the scope of current NRI
cri-o integration of the above

Please refer to the NRI PR for a general description of what this is all about.

Looks like this was opened from a branch that was outdated; can you try rebasing your branch to get rid of the unrelated commits?

Looks like this was opened from a branch that was outdated; can you try rebasing your branch to get rid of the unrelated commits?

Rebased on top of main.

Sorry for so late reply on this pull request.
I like that idea - TTRPC-izes NRI, even if NRI is about binary call.
Currently, the containerd supports NRI hook in RunPodSandbox and StartContainer.
The number of NRI calls for one pod is more than CNI. In some cases,
like resource overcommitted work node, the fork-process pattern might have
performance issue. TTRPC-ized NRI can improve that.
But for stub of CRI, I have questions:
Is the stub used to maintain the state of container?

containerd has integrated NRI with Delete state. Basically, the stateful
daemon process will receive Creation and Delete state from NRI calls to
keep consistent with containerd state.
And currently, with common OCI-Runtime-Spec implementations, the container
process will be setup in two phases: fork(runc-create) and exec(runc start).
containerd setups the stub between two phases, which can make sure that the
resource policy can be applied to container(cgroup) in time. But like ApplyPendingUpdates
and PostCreateContainer stubs, I would like to know what kind of case it is.
If it is just a wrapper of CRI, maybe we can consider to use gRPC middleware
to export proxy plugin functionality.
Thanks,

Sorry for so late reply on this pull request.

No problem. And thanks for the extra effort of taking a look at this. I really appreciate it !

I like that idea - TTRPC-izes NRI, even if NRI is about binary call. Currently, the containerd supports NRI hook in RunPodSandbox and StartContainer. The number of NRI calls for one pod is more than CNI. In some cases, like resource overcommitted work node, the fork-process pattern might have performance issue. TTRPC-ized NRI can improve that.

But for stub of CRI, I have questions:

One thing related to this. Based on our discussion with @mikebrow, we would like to eventually extend our integration/implementation to also handle containers created using other 'frontends' protocols than just CRI (ctr and docker in particular). We rolled our initial implementation this way, partly because the current NRI integration is NRI-only and partly because we'd like to better understand all the implications and problems related to extending it to the rest.

Is the stub used to maintain the state of container?

I assume here that by 'stub of CRI' you mean the code added in this patch set to the CRI plugin for triggering NRI processing and altering containers accordingly. Please let me know if this assumption is wrong.
That stub, the new NRI-related additions/adaptation, does not maintain state of the containers on its own. It basically does the following things:

state synchronization with NRI
hook NRI into (CRI) request processing/pod and container lifecycle events
handle NRI-triggered updates to containers

State synchronization lets NRI know about all existing pods and containers on startup. Additionally, it allows any NRI plugin that establishes a connection to NRI dynamically to synchronize itself. For request processing, the stub gathers all the necessary data for plugins, makes the call to NRI, then takes the response and applies the necessary changes to containers, also making sure that the changes are applied in the correct order. There are slight differences in how containerd and cri-o mangle and store some of the data carried by CRI into an OCI container, for instance the details of how labels and annotations get converted (if at all) to OCI annotations. We want to hide these differences as much as possible from NRI plugins, so we need to have some extra processing/logic for this in the runtime NRI adaptation.

containerd has integrated NRI with Delete state. Basically, the stateful daemon process will receive Creation and Delete state from NRI calls to keep consistent with containerd state.

Yes, I've tried to follow the same pattern. When containers are stopped, hooking in NRI processing is done in a similar fashion as deletion is handled for the original NRI plugins.

And currently, with common OCI-Runtime-Spec implementations, the container process will be setup in two phases: fork(runc-create) and exec(runc start). containerd setups the stub between two phases, which can make sure that the resource policy can be applied to container(cgroup) in time. But like ApplyPendingUpdates and PostCreateContainer stubs, I would like to know what kind of case it is.

ApplyPendingUpdates applies any updates which might have occured after NRI itself has processed the create request (at which point the container being created became visible to NRI plugins) but before the creation of the container has been fully processed by containerd/the runtime itself.
The primary purpose of Post* stub calls is to allow a plugin to perform any extra action outside of the realm of control of OCI if necessary. Additionally, these provide a mechanism for a plugin to acquire the final state a container ended up in, once it has been processed by all NRI plugins.

If it is just a wrapper of CRI, maybe we can consider to use gRPC middleware to export proxy plugin functionality.

They are not just pure wrappers. Many of them, at least the ones that can result in modifications to containers, need to happen at a particular point during the processing of the corresponding CRI request. So I think these can't really be implemented as a pure add-on that would happen in addition to opaque processing of the related CRI request. I guess those requests that can't result in container modifications could in principle be implemented like that (pod-related ones and the Post* ones). But even for those I'm not sure if digging out all the necessary information for hooking in NRI would be really possible from 'outside' of the CRI plugin.

Thanks,

If I misunderstood some aspect of your questions, please let me know.

@fuweid PTAL, if you have some time.

fyi.. we are currently adding event notifications to kubelet for container/pod state changes.. so we can reduce (make much longer) the pod sync status cycle, and make the state changes known to kubelet much much faster than is done today (once every 2min or with an expensive probe). see: https://github.com/containerd/containerd/pull/7073

fyi.. we are currently adding event notifications to kubelet for container/pod state changes.. so we can reduce (make much longer) the pod sync status cycle, and make the state changes known to kubelet much much faster than is done today (once every 2min or with an expensive probe). see: #7073

Ok, thanks. I need to take a closer look. Functionality looks orthogonal to NRI, although it does seem/need to touch around the same spots in the code/CRI plugin as we touch for NRI integration (and I'm guessing this same observation triggered your comment).

/ok-to-test

@klihub note:
<<<<<<< pr/proto/nri
golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=

main

let's get it in main check it out evaluate risk then consider for LTS after...

/retest-required

/test pull-containerd-node-e2e

/retest-required

/retest

Marking this draft since I found a few problems I need to sort out before any merge. Will mark it ready again once I'm done with those.

Removing backport label, added in https://github.com/containerd/containerd/pull/7954


Use // for one-line comments and /* */ for multi-line comments

I think the # is abolishing all existing standards in other languages, where all comments are declared by // and /* */.

Well, that's not exactly true 🤔Most interpreted languages actually use # as comment symbol for single line comments. Plus, it is useful for having shebangs in the source code.
Thanks a lot for the suggestion though 😁

I don't think why you must be like every interpreted language ever.

I think the # is abolishing all existing standards in other languages
Python: Hold my beer!

@timleg002
It's not just about being like every other programming language. Shebang is the main reason why I opted for this style. 😁
@vitkarpov haha true 😂

Don't know about you, but I'm a fan of keeping languages clear. Also I really hate Python, so I thought this language was worth checking out

I dislike python syntax as well. But for comments, it's just a norm in interpreted languages (one that I don't mind), plus I'd really like to maintain compatibility with the shebangs, for which I can't forfeit this syntax.
I do hope that you still enjoy the language, however, changing comments from # to // not only provides no real benefit, but also bereaves the language of a rather useful functionality - shebangs.

Closing.


Leap Year functionality

[ ]  Need doctest / nosetests
[ ] Need leap year code functionality to test

Pull request completed for leap year code. Working on test cases..


Solo5/uvkm: automated test

Add an automated test for Solo5 integration. E.g. ./test/misc/integration/ukvm that starts the demo service with ukvm and verifies ping / curl response.

It's being run as part of misc group on jenkins automatically, so I closed this


curated column subsets?

Working with occurrence data I feel overwhelmed by the number of columns.
Would it be a good idea to allow for easy subsetting of columns?
Here is some code in which I have done that:
# === select a subset of columns for improved table legibility :
shortened_df = df[[
    # time-related columns:
    "date_year", "endDayOfYear", "verbatimEventDate", "startDayOfYear", "dateIdentified", "eventTime", "date_mid",
    "eventDate", "month", "date_start", "date_end", "day", "year",
    # row identifier columns:
    "recordNumber", "ownerInstitutionCode", "parentEventID", "identifiedBy", "eventID", "collectionID", "organismID", "recordedBy", "datasetID", "category", "datasetName",
    "institutionCode", "occurrenceID", "collectionCode", "dataset_id", "id", "modified", "catalogNumber", "fieldNumber",
    "institutionID",
    # additional remarks:
    "occurrenceRemarks", "taxonRemarks", "eventRemarks", "samplingProtocol",
    "typeStatus", "preparations", "establishmentMeans", "dynamicProperties", "type",
    # occurrence specifics:
    "individualCount", "occurrenceStatus", "originalScientificName", "absence",
    "terrestrial", "basisOfRecord", "dropped",
]]

We could include arrays of curated column lists so that a user could do something like:
df = df[pyobis.column_subset.taxonomic + pyobis.column_subset.temporal]

To drop everything but the curated list of "taxonomic" and "temporal" columns. Thoughts?

I have got some doubts on this:

how would we decide upon what particular columns to keep on these lists.
I do not know what particular columns do researchers query the most, so that if we include them it would help them a lot
I think there might be a possibility when a researcher doesn't know about this thing (when he/she is new to pyobis and won't lookup documentation in much detail but at a glance. Because when I do something I see the docs at a glance, do some experimentation to understand it by self and then get back to docs.)

they will need to find which columns are present in the which curated list and that might add up to efforts

but this idea is really great which might ease efforts and make it more easier and friendly to the less code-friendly person.


find setuid/setcap bins?

Wondering if there is any value in adding some functionality to find setuid files? Basically just a function that calls find / -perm 4000 2>/dev/null (for setuid) and getcap -r / 2>/dev/null (for setcap) and maybe does some output parsing or further processing? I'm unsure what "further processing" would actually be useful, but checking these binaries for RPATH issues or against the gtfobins list and such is sometimes fruitful.

New function getsfiles is merged into the master branch.
See pull #67

Function is implemented: getsfiles.
No additional comments in one Week.
→ close


Text/images rendering anomalies  in Flutter 1.2

[✓] Flutter (Channel stable, v1.2.1, on Mac OS X 10.13.6 17G65, locale
    zh-Hans-CN)
    • Flutter version 1.2.1 at /Users/mafengwo/Desktop/Android/flutter
    • Framework revision 8661d8aecd (2 weeks ago), 2019-02-14 19:19:53 -0800
    • Engine revision 3757390fa4
    • Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/mafengwo/Desktop/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling
      support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = /Users/mafengwo/Desktop/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_152-release-1136-b06)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    • ios-deploy 1.9.4
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 31.3.1
    • Dart plugin version 181.5656
    • Java version OpenJDK Runtime Environment (build
      1.8.0_152-release-1136-b06)

[✓] VS Code (version 1.31.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.24.0

[✓] Connected device (2 available)
    • wu的 iPhone • d61e0d15dd9fc74d88a0f6559bcd6f3cfeaaa22c • ios • iOS 10.3.3
    • iPhone XR  • C676F741-5B1B-48E1-AE6B-26DB316383C0     • ios • iOS 12.1
      (simulator)

• No issues found!

platform iOS

It was normal in flutter1.0

same problem after updating to Flutter 1.2

same problem after updating to Flutter 1.2

I decided to demote 1.0


Widget: accident_count_by_severity_urban

Name
Widget for accidents in urban street resolution for all accident types at a specific street.
Title
accident_count_by_severity_urban
Visualization

Sample graphic image of the widget that will be displayed by FE.
Visualization explanation
Similar to accident_count_by_severity widget, show by type : critical, severe and light accidents
Use case
This infographic should be displayed only when street name and city name are identified (not final. expected new logic- TBC)
(works in street resolution - that the wanted street can be either in street1 or in street2 - see InjuredAccidentsWithPedestriansWidget widget)
SQL query
New logic- TBC
(When creating the query and filtering CBS data - it's better to use the numeric values of the categorical fields (accident_severity = 1 is better than accident_severity_hebrew = 'תאונה קטלנית'). For code redeablity - one can create constants and dictionaries.)
Additional context
API widget structure provided by BE team:
"name": "accident_count_by_severity_urban",
"data": {
"items": {
"severity_fatal_count": 2,
"severity_severe_count": 2,
"severity_light_count": 20,
"start_year": 2017,
"end_year": 2021,
"total_accidents_count": 24
},
"text": {
"title": "בשנים *** - *** ברחוב ז'בוטינסקי, פתח תקווה התרחשו *** תאונות"
}
},
"meta": {
"rank": ***,
"information": "כמות התאונות הקטלניות, הקשות והקלות ברחוב בפרק הזמן הנבחר."
}

Hi @MichalOren , @atalyaalon
Was the above items structure coordinated with FE team? If not, who should it be coordinated with?
Thanks, Ziv

Hi @MichalOren ,
The title and information fields you specified are different from the current values for the sub urban widget. Should they stay different, or be changed to be like the urban?