Identifiers validation failed for dataset Fungus Collections at Staatliches Museum für Naturkunde Karlsruhe (Herbarium KR)

Identifier validation failed for the dataset Fungus Collections at Staatliches Museum für Naturkunde Karlsruhe (Herbarium KR):

Crawler attempt: 321
Publishing organization: Staatliche Naturwissenschaftliche Sammlungen Bayerns
Publishing country: GERMANY
Installation: BioCASe Installation Staatliche Naturwissenschaftliche Sammlungen Bayerns
Number of occurrences indexed for this dataset at the time of the issue: 0
Cause: Dataset has no API records, but 22% of IDs aren't new
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3482094/step

New IDs sample:

urn:catalog:KR:SMNKfungicoll:KR-M-0014958 / 455939 / 21950
urn:catalog:KR:SMNKfungicoll:KR-M-0014962 / 455943 / 21954
urn:catalog:KR:SMNKfungicoll:KR-M-0014986 / 489213 / 21979
urn:catalog:KR:SMNKfungicoll:KR-M-0014988 / 455970 / 21981
urn:catalog:KR:SMNKfungicoll:KR-M-0014990 / 489217 / 21983
urn:catalog:KR:SMNKfungicoll:KR-M-0014993 / 455975 / 21986
urn:catalog:KR:SMNKfungicoll:KR-M-0015018 / 489245 / 22011
urn:catalog:KR:SMNKfungicoll:KR-M-0015019 / 456001 / 84506
urn:catalog:KR:SMNKfungicoll:KR-M-0055792 / 814371 / 304248
urn:catalog:KR:SMNKfungicoll:KR-M-0055788 / 814363 / 304244

Old IDs sample:

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Fungus Collections at Staatliches Museum für Naturkunde Karlsruhe (Herbarium KR) : https://doi.org/10.15468/0bhhip.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.

Same situation as here: https://github.com/gbif/ingestion-management/issues/976


compile error

Hi,
I use code composer studio v12.0 and import the project. When I try to build the project, I encounter a couple of errors. some of them are shown below:

I am using MMWave SDK v3.6

You should build the system using ccsv9 and mmwave-sdk v<IP_ADDRESS>. This is strictly important and you should install the exact dependencies as follow:

Code Composer Studio (CCS) version CCSV9_2
mmWave software development kit (SDK) version <IP_ADDRESS>
TI-RTOS Kernal SYS/BIOS version 6.73.01
Uniflash version 5.1.0

Hi,
thank you for attention. After your mention I installed all dependencies same as yours but the same errors are apeared. here is a screenshot:


Access and deal with accessibility issue for PASS UI as a whole

@htpvu do you have more information about this?


CompositionEngine: ANativeWindow::dequeueBuffer failed for display [scrcpy] with error: -32

[x] I have read the FAQ.
[x] I have searched in existing issues.

Environment

OS: Arch Linux
scrcpy version: 1.21
installation method: pacman
device model: Xiaomi M2101K6G
Android version: 12

Describe the bug
scrcpy crashes after a few frames. I've tried different resolutions and encoders, but none of them helped. This problem might be specific to my phone but it's worth a try. Also i couldn't find this exact CompositionEngine error in the issues. Also there is a weird thing. This is specific to the OMX.google.h264.encoder and c2.android.avc.encoder encoders. They don't crash immediately they just start spamming the above mentioned CompositeEngine lines in the logcat.
Terminal output:
$ scrcpy
scrcpy 1.21 <https://github.com/Genymobile/scrcpy>
/usr/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 488.1 MB/s (40067 bytes in 0.000s)
[server] INFO: Device: Xiaomi M2101K6G (Android 12)
INFO: Renderer: opengl
INFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 21.3.4
INFO: Trilinear filtering enabled
INFO: Initial texture: 1080x2400
WARN: Device disconnected
[server] ERROR: Exception on thread Thread[main,5,main]
java.lang.IllegalStateException
	at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
	at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:3535)
	at com.genymobile.scrcpy.ScreenEncoder.encode(ScreenEncoder.java:110)
	at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:91)
	at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:65)
	at com.genymobile.scrcpy.Server.scrcpy(Server.java:93)
	at com.genymobile.scrcpy.Server.main(Server.java:309)
	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:357)

Logcat:
01-23 20:36:17.443 18781 18781 D AndroidRuntime: Calling main entry com.genymobile.scrcpy.Server
01-23 20:36:17.445 18781 18781 I scrcpy  : Device: Xiaomi M2101K6G (Android 12)
01-23 20:36:17.670 18796 18796 D AndroidRuntime: Calling main entry com.genymobile.scrcpy.CleanUp
01-23 20:36:18.090   640   640 E CompositionEngine: Error when queueing buffer for display [scrcpy]: -32
01-23 20:36:18.103   640   640 E CompositionEngine: ANativeWindow::dequeueBuffer failed for display [scrcpy] with error: -32
01-23 20:36:18.103   640   640 W CompositionEngine: Dequeuing buffer for display [scrcpy] failed, bailing out of client composition for this frame
01-23 20:36:18.117 18781 18781 E AndroidRuntime: 	at com.genymobile.scrcpy.ScreenEncoder.encode(ScreenEncoder.java:110)
01-23 20:36:18.117 18781 18781 E AndroidRuntime: 	at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:91)
01-23 20:36:18.117 18781 18781 E AndroidRuntime: 	at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:65)
01-23 20:36:18.117 18781 18781 E AndroidRuntime: 	at com.genymobile.scrcpy.Server.scrcpy(Server.java:93)
01-23 20:36:18.117 18781 18781 E AndroidRuntime: 	at com.genymobile.scrcpy.Server.main(Server.java:309)
01-23 20:36:18.117 18781 18781 E scrcpy  : Exception on thread Thread[main,5,main]
01-23 20:36:18.117 18781 18781 E scrcpy  : java.lang.IllegalStateException
01-23 20:36:18.117 18781 18781 E scrcpy  : 	at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
01-23 20:36:18.117 18781 18781 E scrcpy  : 	at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:3535)
01-23 20:36:18.117 18781 18781 E scrcpy  : 	at com.genymobile.scrcpy.ScreenEncoder.encode(ScreenEncoder.java:110)
01-23 20:36:18.117 18781 18781 E scrcpy  : 	at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:91)
01-23 20:36:18.117 18781 18781 E scrcpy  : 	at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:65)
01-23 20:36:18.117 18781 18781 E scrcpy  : 	at com.genymobile.scrcpy.Server.scrcpy(Server.java:93)
01-23 20:36:18.117 18781 18781 E scrcpy  : 	at com.genymobile.scrcpy.Server.main(Server.java:309)
01-23 20:36:18.117 18781 18781 E scrcpy  : 	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
01-23 20:36:18.117 18781 18781 E scrcpy  : 	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:357)
01-23 20:36:19.017 18796 18796 I scrcpy  : Cleaning up
01-23 20:36:19.024 18796 18796 I scrcpy  : Restoring normal power mode

Please test #2947.

I builded the dev branch but it doesn't seem to work.

I builded the dev branch but it doesn't seem to work. (Same issue still)

How do you run what you built from the dev branch? Did you also build the server?

Found some additional logs that might be related:
01-23 21:00:24.937 22042 22042 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs.xml...
01-23 21:00:24.937 22042 22042 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs_google_audio.xml...
01-23 21:00:24.937 22042 22042 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs_google_telephony.xml...
01-23 21:00:24.938 22042 22042 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs_google_video.xml...
01-23 21:00:24.938 22042 22042 D MediaCodecsXmlParser: parsing /vendor/etc/media_codecs_performance.xml...
01-23 21:00:24.938 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.qti.avc.encoder at line 53 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.938 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.android.avc.encoder at line 77 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.938 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.android.hevc.encoder at line 83 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.938 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.android.h263.encoder at line 86 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.938 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.android.mpeg4.encoder at line 89 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.938 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.android.vp8.encoder at line 92 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.938 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.qti.avc.encoder at line 98 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.938 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.qti.avc.decoder at line 141 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.939 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.android.avc.decoder at line 182 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.939 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.android.hevc.decoder at line 188 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.939 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.android.h263.decoder at line 195 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.939 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.android.mpeg4.decoder at line 199 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.939 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.android.vp8.decoder at line 202 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.939 22042 22042 D MediaCodecsXmlParser: MediaCodec: cannot update non-existing codec: c2.android.vp9.decoder at line 207 of /vendor/etc/media_codecs_performance.xml
01-23 21:00:24.939 22042 22042 I MediaCodecsXmlParser: Did not find media_codecs_shaping.xml in search path
01-23 21:00:24.939 22042 22042 E MediaCodecsXmlParser: Cannot find the role for a decoder of type video/divx4
01-23 21:00:24.939 22042 22042 E MediaCodecsXmlParser: Cannot find the role for a decoder of type video/divx
01-23 21:00:24.939 22042 22042 E MediaCodecsXmlParser: Cannot find the role for a decoder of type video/mp4v-esdp

How do you run what you built from the dev branch? Did you also build the server?

$ git clone https://github.com/Genymobile/scrcpy
$ git checkout dev
$ ./install_release

install_release is just for building the official release (it downloads the prebuilt server).
Anyway, with the official release, just execute scrcpy -m1024: https://github.com/Genymobile/scrcpy/blob/master/FAQ.md#exception

Okay I'm sorry, I just realized this doesn't build the server. I'll try again with building the server.

Anyway, with the official release, just execute scrcpy -m1024:

In the describe this bug section I wrote:

I've tried different resolutions and encoders, but none of them helped.

So yeah, it didn't help unfortunately.

Here's the output with scrcpy-server built from the dev branch:
$ build/app/scrcpy -m1024
scrcpy 1.21 <https://github.com/Genymobile/scrcpy>
DEBUG: Using server: /usr/local/share/scrcpy/scrcpy-server
/usr/local/share/scrcpy/scrcpy-server: 1 file pus...ed, 0 skipped. 509.8 MB/s (60376 bytes in 0.000s
DEBUG: Screensaver enabled
[server] INFO: Device: Xiaomi M2101K6G (Android 12)
DEBUG: Server connected
DEBUG: Starting controller thread
DEBUG: Starting receiver thread
INFO: Renderer: opengl
INFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 21.3.4
INFO: Trilinear filtering enabled
DEBUG: Using icon: /usr/local/share/icons/hicolor/256x256/apps/scrcpy.png
INFO: Initial texture: 464x1024
DEBUG: Starting stream thread
[server] DEBUG: Using encoder: 'OMX.qcom.video.encoder.avc'
[server] ERROR: Encoding error: java.lang.IllegalStateException: null
DEBUG: End of frames
WARN: Device disconnected
DEBUG: quit...
DEBUG: Receiver stopped
[server] DEBUG: Device message sender stopped
[server] DEBUG: Controller stopped
[server] ERROR: Exception on thread Thread[main,5,main]
java.lang.IllegalStateException
	at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
	at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:3535)
	at com.genymobile.scrcpy.ScreenEncoder.encode(ScreenEncoder.java:147)
	at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:99)
	at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:73)
	at com.genymobile.scrcpy.Server.scrcpy(Server.java:93)
	at com.genymobile.scrcpy.Server.main(Server.java:303)
	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:357)
DEBUG: Server disconnected
DEBUG: Server terminated

INFO: Initial texture: 464x1024
DEBUG: Starting stream thread
[server] DEBUG: Using encoder: 'OMX.qcom.video.encoder.avc'
[server] ERROR: Encoding error: java.lang.IllegalStateException: null

Hmm, weird, it should retry with -m800 (that might not solve your problem, but this is still unexpected):
https://github.com/Genymobile/scrcpy/blob/17c97820b2030759e8b7e431e7d353c30bcff3dc/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java#L130-L140
Could you try with this additional diff, please?
diff --git a/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java b/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java
index e4e87c72..80cd8576 100644
--- a/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java
+++ b/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java
@@ -157,9 +157,11 @@ public class ScreenEncoder implements Device.RotationListener {
                     if (sendFrameMeta) {
                         writeFrameMeta(fd, bufferInfo, codecBuffer.remaining());
                     }
-
                     IO.writeFully(fd, codecBuffer);
-                    firstFrameSent = true;
+                    if ((bufferInfo.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG) == 0) {
+                        // If this is not a config packet, then it contains a frame
+                        firstFrameSent = true;
+                    }
                 }
             } finally {
                 if (outputBufferId >= 0) {

$ build/app/scrcpy -m1024
scrcpy 1.21 <https://github.com/Genymobile/scrcpy>
DEBUG: Using server: /usr/local/share/scrcpy/scrcpy-server

Also, you should run ./run build -m1024 instead, to use the correct scrcpy-server :wink:

Before running it I copied build/server/scrcpy-server to /usr/local/share/scrcpy/ so that should be fine but the run script is more convenient.

The patch didn't help unfortunately, everything still looks the same. :/

(Although now I can see it retrying in the logs)

Thank you, that fixes the new retry feature in the next release (introduced by #2947): a9429efa34b3cbdc57847cb37d3621b889522c7f :tada:

everything still looks the same

This problem might be specific to my phone but it's worth a try.

Probably a device problem indeed.
Try with a tiny definition just to confim (scrcpy -m 200).
Also try to record with screenrecord:
adb shell screenrecord /sdcard/file.mp4
adb pull /sdcard/file.mp4

Does it work?

This is specific to the OMX.google.h264.encoder and c2.android.avc.encoder encoders.

Are there other encoders on the device? How do they behave?

Some more logs that might be related (this appears before scrcpy crashes):
01-23 21:48:36.125 25213 25355 E Adreno-C2D: <c2d_surface_createYUV:1468>: Error Surface creation failed, error=1, one or more attributes are not aligned for this surface type: surf_bits=11, format=8388760, stride0=1152, stride1=1, stride2=1152, height0=2400, height1=1200, height2=0, phys0=0x00e00000, phys1=0x010a8000, phys2=0x01152000
01-23 21:48:36.125 25213 25355 E C2DColorConvert: convertC2D: Update dst surface def failed (1)
01-23 21:48:36.127 25213 25355 E OMX-VENC: Color Conversion failed
01-23 21:48:36.130 25213 25355 E OMX-VENC: ERROR: ETBProxy() failed!
01-23 21:48:36.130 25213 25355 E OMX-VENC: ERROR: send OMX_ErrorHardware to Client
01-23 21:48:36.131 25332 25353 E ACodec  : [OMX.qcom.video.encoder.avc] ERROR(0x80001009)
01-23 21:48:36.131 25332 25353 E ACodec  : signalError(omxError 0x80001009, internalError -2147483648)
01-23 21:48:36.131 25332 25352 E MediaCodec: Codec reported err 0x80001009, actionCode 0, while in state 6/STARTED
01-23 21:48:36.134 25332 25332 E scrcpy  : Encoding error: java.lang.IllegalStateException: null
01-23 21:48:36.138 25332 25351 D scrcpy  : Device message sender stopped
01-23 21:48:36.144 25332 25350 D scrcpy  : Controller stopped
01-23 21:48:36.145 25332 25332 D AndroidRuntime: Shutting down VM
01-23 21:48:36.146 25332 25353 E ACodec  : signalError(omxError 0x80001001, internalError -2147483646)

I'll test the things you've suggested in a minute.

-m200 (88x200) also crashes
screenrecord does work, but the phone becomes slow and the recording is laggy.
Of the 4 encoders scrcpy --encoder _ lists:

OMX.qcom.video.encoder.avc crashes
c2.android.avc.encoder draws a few frames then hangs
OMX.google.h264.encoder draws a few frames then hangs
c2.qti.avc.encoder draws a few frames then hangs

closing because of inactivity and possibly a specific hardware problem

at least I'm not the only one... #3051

@rom1v I've noticed recently that on v2.4, even though it's not crashing as written here, I get a similar error log, all the time, about 20 times every second, as such:
CompositionEngine surfaceflinger                               ANativeWindow::dequeueBuffer failed for display [scrcpy] with error: -32

Is it a known issue? Why does it occur? It's spamming logcat...
This was tested on Pixel 6 with Android 14.


Add aerodrome tybg eth

Moo Aero TYBG-WETH
Strat: 0xe5c4CD247ac11F4E20583b4D3357627F4411D9A4
Vault: 0x89303abD5E328Bd5d09920641a779783A228f412
TYBG SAFU:

Contracts verified ✓
Liquidity ✓
No wallet holds more than 5% ✓
Emission rate = 0 ✓
Token owner is 0x000.. and to me there seems to be no way to rug through the contract ✓

slightly concerned about holders. are those EOAs with 2% not the same entity? maybe they got it the same way, not sure what those similar processRoute txs do.
need to add TYBG token in address-book in api

Those look like buys to me. The whole supply was minted and put into LP on sushiswap with 1 ETH so I think the large holders bought sometime at the beginning.
api pr is done (not merged yet) just forgot to post link in here (added to original comment)


Feature request: mix and match device control

I would like to have both tasker and google home on one page in the device control section without having to switch. Is it possible to add this?

#29


servers for .one

Availability check .one tlds always returns as "available".
Thanks.

Are you sure? Have you tried if the whois.nic.one server responds from that machine's shell?
I did a quick test with this code:
use Iodev\Whois\Factory;

$whois = Factory::get()->createWhois();

if (!$whois->isDomainAvailable("bess.one")) {
    print "Domain is NOT available!";
}

$response = $whois->lookupDomain("bess.one");
print $response->text;

$info = $whois->loadDomainInfo("bess.one");
print_r([
    'Domain created' => date("Y-m-d", $info->creationDate),
    'Domain expires' => date("Y-m-d", $info->expirationDate),
    'Domain owner' => $info->owner,
]);

and it works, giving this result:
Domain is NOT available!

Domain Name: bess.one
Registry Domain ID: D4B816BA688E54FE6BFE03E3603E2C803-NSR
Registrar WHOIS Server: WHOIS.ENOM.COM
Registrar URL: WWW.ENOM.COM
Updated Date: 2021-07-19T08:12:29.91Z
Creation Date: 2018-07-17T08:12:00.00Z
Registrar Registration Expiration Date: 2022-07-17T08:12:10.00Z
Registrar: ENOM, INC.
Registrar IANA ID: 48
Domain Status: clientTransferProhibited https://www.icann.org/epp#clientTransferProhibited
Registrant Name: Proxy Protection LLC (770148773)
Registrant Organization: Proxy Protection LLC
Registrant Street: 417 Associated Rd #324
Registrant Street: C/O bess.one
Registrant City: Brea
Registrant State/Province: CA
Registrant Postal Code: 92821
Registrant Country: US
Registrant Phone: +1.7147064182
Registrant Phone Ext:
Registrant Fax:
Registrant Email<EMAIL_ADDRESS>Admin Name: Proxy Protection LLC
Admin Organization: Proxy Protection LLC
Admin Street: 417 Associated Rd #324
Admin Street: C/O bess.one
Admin City: Brea
Admin State/Province: CA
Admin Postal Code: 92821
Admin Country: US
Admin Phone: +1.7147064182
Admin Phone Ext:
Admin Fax:
Admin Email<EMAIL_ADDRESS>Tech Name: Proxy Protection LLC
Tech Organization: Proxy Protection LLC
Tech Street: 417 Associated Rd #324
Tech Street: C/O bess.one
Tech City: Brea
Tech State/Province: CA
Tech Postal Code: 92821
Tech Country: US
Tech Phone: +1.7147064182
Tech Phone Ext:
Tech Fax:
Tech Email<EMAIL_ADDRESS>Name Server: NS1.DREAMHOST.COM
Name Server: NS2.DREAMHOST.COM
Name Server: NS3.DREAMHOST.COM
DNSSEC: unsigned
Registrar Abuse Contact Email<EMAIL_ADDRESS>Registrar Abuse Contact Phone: +1.4259744689
URL of the ICANN WHOIS Data Problem Reporting System: HTTP://WDPRS.INTERNIC.NET/
>>> Last update of WHOIS database: 2021-12-30T09:05:36.00Z <<<

For more information on Whois status codes, please visit https://icann.org/epp

The data in this whois database is provided to you for information
purposes only, that is, to assist you in obtaining information about or
related to a domain name registration record. We make this information
available "as is," and do not guarantee its accuracy. By submitting a
whois query, you agree that you will use this data only for lawful
purposes and that, under no circumstances will you use this data to: (1)
enable high volume, automated, electronic processes that stress or load
this whois database system providing you this information; or (2) allow,
enable, or otherwise support the transmission of mass unsolicited,
commercial advertising or solicitations via direct mail, electronic
mail, or by telephone. The compilation, repackaging, dissemination or
other use of this data is expressly prohibited without prior written
consent from us.

We reserve the right to modify these terms at any time. By submitting
this query, you agree to abide by these terms.
Version 6.3 4/3/2002
Array
(
    [Domain created] => 2018-07-17
    [Domain expires] => 2022-07-17
    [Domain owner] => Proxy Protection LLC
)

Maybe there was some connection trouble..


Flexability when validating TOTP code.

From wikipedia
Some authenticators allow values that should have been generated before or after the current time in order to account for slight clock skews, network latency and user delays.
Is this possible using your library to allow this flexability?
If so, could you post some code showing how this is possible.
Thanks

Looking further at the TOTPGenerator class.
The public boolean verify(final String code) method is the strict version.
The public boolean verify(final String code, final int delayWindow) method seems to be the more lenient version.
Would using the 2nd method mentioned able provide the flexibility I've inquired about?

Yes, correct. The delay window allows you to accept codes slightly before or after.


Connection Pool

Hi,
During the last days i have a lot of customer which has few problems.
In general i feel like there is some connection which left open.
I have some sync process which send sometime a lot of queries and can can take long time (sync between the AD and mongo).
Some time when users try to login the get some connection errors like ECONNREFUED and ECONNTIMEOUT and so on.
When they change the sync interval to be bigger it reduce the problems.
Also those customers are usually big customer which has some AD replication and they use some dns for the AD and there is different servers beyond.
Im not sure if this multiple server are related or not, but maybe i open a connection to one server then it make problems if then i get another server in next call or something like this.
Also i have notice in my local test long time ago that if im trying to run some operation / queries in parallel i get some problems. then i need to wait a bit before running the next operation.
Is there some connection pool mechanism implemented?
A way to set it or config it?
Is there a way to see the a logs about connections?
I don't want to set the logs to debug because this will just print too much data i can't really read.
maybe an info level would be enough?
I use version 0.6.1 of node-activedirectory.
( i would try to test more stuff my self, but those are big production customer, so i can't just play on their production servers.. and can't reproduce such a complicated AD environments locally)

What is the underlying LDAPJS version that is installed? There were a number of changes to the underlying module and the connection pooling changes which haven't been integrated into ActiveDirectory.js.
The connection pooling is an LDAPJS thing. You need to enable the bunyan logging in LDAPJS to get more information.

The ldapjs version is 0.7.1, is it good for the connection pooling?
If i enable the bunyan in activedirectory.js will it pass it to ldapjs or i need to enable it separately?

if I recall, you have to explicitly enable the bunyan logging for the ldapjs module. Off the top of my head, I don't remember the specifics.

Ok ill check,
what about the connection pool?


Increase scan radius to include more nearby pokemon

Right now this only scans for nearby Pokémon within 10 s2cellids (this is the default).
The next step is to increase the scan radius by setting the position over and over again.

Looks like this will be helpful:
https://github.com/Armax/Pokemon-GO-node-api/issues/70

https://github.com/jonatkins/s2-geometry-javascript (original)
https://github.com/coolaj86/s2-geometry-javascript (updated fork)

I'm working on putting this in the (web) client - which is where it is in the official app anyway and where it does need to be to build an app that truly functions indistinguishably from the regular app to not be blocked as a bot (i.e. it doesn't stay logged in 24 hours a day or run when you're not using it).
From what I've read it doesn't sound like it would be easy to get s2 running in the browser (which is where the heartbeat ought to happen, but here's the python code from PokemonGo-Map:
#Constants for Hex Grid
#Gap between vertical and horzonal "rows"
lat_gap_meters = 150
lng_gap_meters = 86.6

#111111m is approx 1 degree Lat, which is close enough for this
meters_per_degree = 111111
lat_gap_degrees = float(lat_gap_meters) / meters_per_degree

def calculate_lng_degrees(lat):
    return float(lng_gap_meters) / (meters_per_degree * math.cos(math.radians(lat)))

def generate_location_steps(initial_location, num_steps):

    ring = 1 #Which ring are we on, 0 = center
    lat_location = initial_location[0]
    lng_location = initial_location[1]

    yield (initial_location[0],initial_location[1], 0) #Middle circle

    while ring < num_steps:
        #Move the location diagonally to top left spot, then start the circle which will end up back here for the next ring
        #Move Lat north first
        lat_location += lat_gap_degrees
        lng_location -= calculate_lng_degrees(lat_location)

        for direction in range(6):
            for i in range(ring):
                if direction == 0: #Right
                    lng_location += calculate_lng_degrees(lat_location) * 2

                if direction == 1: #Right Down
                    lat_location -= lat_gap_degrees
                    lng_location += calculate_lng_degrees(lat_location)

                if direction == 2: #Left Down
                    lat_location -= lat_gap_degrees
                    lng_location -= calculate_lng_degrees(lat_location)

                if direction == 3: #Left
                    lng_location -= calculate_lng_degrees(lat_location) * 2

                if direction == 4: #Left Up
                    lat_location += lat_gap_degrees
                    lng_location -= calculate_lng_degrees(lat_location)

                if direction == 5: #Right Up
                    lat_location += lat_gap_degrees
                    lng_location += calculate_lng_degrees(lat_location)

                yield (lat_location, lng_location, 0) #Middle circle

        ring += 1

I'm currently translating this to JS and I'll post back when I'm done.

It has begun: https://github.com/Daplie/pokemap-webapp/blob/no-server/static/scan.js

And it works!!!

How does this work with this module? can can i set bigger limit in scan.

@donedgardo You can set the scan limit to be whatever you like!
It's set in static/config.js in the client:
https://github.com/Daplie/pokemap-webapp/commit/6674a64bc6e6d0a2459e7e51e6cba8aa8953d52d

Like he asked, how does this work with this module? (Without the GUI)

The question only makes sense in the context of a client (such as the Web App).
The Pokemon GO servers only provide limited information based on the location of the player - otherwise known as the S2CellId.
They RPC call does "allow" for a variable range, but I assume it's only for internal debugging by Niantic employees as the reports are that using it will get you blocked, so this server (and the library underneath it) uses +/-10 from the player location.
Say the player is placed at hypothetical cell 42, the data that comes back will show all pokemon in cells the 21 cells inclusive of 32 to 52 (though pokestops and gyms are shown much farther out).
Therefore, the most efficient way to scan would be to update your location to cell 63 next to get data back inclusive of 53 to 73.
The problem is that that would put you going in only one scaler direction and trying to go in both scaler locations (alternating such that next you visit 0 - 20 and next 74-94 and the wrap to end for the next scan) would result in "location hopping" (your player instantaneously travels to distances that are unrealistically far apart) and would also get you blocked.
For that reason the common method of scanning is to "walk around" in an outward spiral from some starting point, which is what this algorithm does - using Lat/Lng math rather than strictly S2CellIds:
https://github.com/Daplie/pokemap-webapp/blob/no-server/static/scan.js
Since this server is designed to be stateless and to allow clients to mimic official clients, thus not getting blocked, it doesn't make sense to try to put the scan algorithm on the server. That would lead to having the problems of the PokemonGo-Map server written in python (from which this project was forked and ported) - high memory consumption, high CPU usage, etc, etc, etc..
However, JavaScript is JavaScript is JavaScript, so you can use the client code from scan.js to create your own server that violates these principles... but that would just lead to poor performance and/or getting blocked.
What would make the experience better, however, would be to cache pokestops, gyms, and pokemon in the client and on each update expire and delete pokemon from the cache that are past their disappear_at date.

If this scenario is truly a problem, then how are these "open maps" like pokevision and so on, capable of displaying world-wide pokemons at your request, wherever you want, without being blocked?

PokéVision is crowd-sourced approximate location, not using real-time api data from the game.
PokéVision can tell you that a particular region has a particular type of pokemon sometimes, but the api gives you exact coordinates - i.e. I can go around my neighborhood and know exactly which pokemon is where and exactly when.
The pokemon last only 15 minutes and then "disappear" and (eventually) respawn "nearby".

@coolaj86 thanks! Although, pokevision website does provide realtime and they mention to be using niantics api. I was scraping off their api until i decided to use a simpler server like yours. Going to try your changeLoc function was returning [null, null] last night.

Oh, I must have been thinking of the other app.
I've noticed that late at night the servers are often down for maintenance.
Which function specifically are you talking about? I don't have one named exactly changeLoc.


one small bug in the code

Hi, I am trying running your code, but I get an error  in model's encoder :y = q. concrete(h, 0.66, value=labels, name='y'). the error is Attribute Error :'float' object has no attribute 'sum', So I want to know  the shape of h and labels . and I doubt whether this error is derived from my pytorch version.
by the way, the code is completely same as your code
Thank you very much!!

Hi, which version of pytorch are you using?

I'm closing this issue due to inactivity. Feel free to reopen it if your problem persists.


merge option

var fs = require("fs")
var nano = require("..")
var postcss   = require('postcss');

var input = fs.readFileSync("input.css", "utf8")

var output =
     postcss()
     .use(nano( {
       calc: false,
       merge : false,
       comments : {
         removeAll : true
       }
    }
   ))
   .process(input).css

fs.writeFileSync("index.output.css", output)
console.log(output)

input.css :

/*! heading */
h1 {
	margin:0 auto;
	z-index:2;
	font-size: calc((3px * 2 - 1px));
}
/*! heading 2 */
h2 {
	color:red;
	z-index:3;
	margin-top:2px;
	margin-right:1px;
	margin-bottom:2px;
	margin-left:1px;
}

output.css
h1{margin:0 auto;z-index:1;font-size:calc((3px * 2 - 1px))}h2{color:red;z-index:2;margin:2px 1px}

This is handled internally and not part of postcss-merge-rules. But you are correct, it should be optional.

Why when I put merge to false, the merging is done anyway?

The logic for this is an internal part of cssnano. https://github.com/ben-eb/cssnano/tree/master/lib - support for merging values is only partially done. postcss-merge-rules will only merge whole rulesets, something like postcss-merge-declarations should be done as a separate module. But, I haven't had the time for this just yet.

Ok thanks ;)

@magsout By the way, this was extracted out yesterday. :smile:
https://github.com/ben-eb/postcss-merge-longhand

👍


max phrase length added

Added maximal length of extracted phrases, one redundant variable deleted.

@barancik thanks for the improvement.
@stevenbird, @barancik has made one of the suggested improvement to the NLTK code as listed on https://github.com/alvations/mt4nltk.
The +1 , -1 indices in the phrase_extraction is a little confusing but that was the attempt to implement the Koehn's algorithm verbatim. Possibly the next improvement is the remove the +1 -1 indices in the code and make it more natural to read.

@stevenbird , the default max_phrase_length 7 is because it's Moses default. But after continuing work on the phrase extraction. I realize setting the default to -1 to extract all phrases would be more appropriate.
Suggesting change from:
def phrase_extraction(srctext, trgtext, alignment, max_phrase_length=7):
    # ...
        # Index e_end from e_start to len(e) - 1 or the length of maximum phrase
        max_idx = min(srclen, e_start + max_phrase_length)

def phrase_extraction(srctext, trgtext, alignment, max_phrase_length=-1):
    # ...
        if max_phrase_length is -1: # Extracts phrases of all length.
            max_idx = max_phrase_length = srclen
        else:
            # Index e_end from e_start to len(e) - 1 or the length of maximum phrase
            max_idx = min(srclen, e_start + max_phrase_length)

When emulating Moses, users should set it to 7. We'll add that as a note in the docstring.
I'm adding more features to the phrase extraction so that we can get lexicalized weights and reordering from the internal alignments.

@alvations, note that we now presume at least Python 2.7, so xrange is fine.

Thanks @barancik. I'm going to merge this, and change back to using xrange.

@stevenbird , thanks for the note and the merge!


lvar parse error

Given the following Ruby code
name = :name
property(name)

and the following node matcher definition
def_node_matcher :property_definition?, <<-PATTERN
  (send nil? {:property :property!} ({sym string} _) (hash ...))
PATTERN

RuboCop crashes with the following error message:
    NoMethodError:
       undefined method `string_type?' for s(:lvar, :name):RuboCop::AST::Node
       Did you mean?  str_type?
     # ./lib/rubocop/cop/shopify/smart_properties_default_values.rb:42:in `property_definition?'
     # ./lib/rubocop/cop/shopify/smart_properties_default_values.rb:21:in `on_send'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/cop/commissioner.rb:58:in `block (2 levels) in trigger_responding_cops'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/cop/commissioner.rb:106:in `with_cop_error_handling'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/cop/commissioner.rb:57:in `block in trigger_responding_cops'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/cop/commissioner.rb:56:in `each'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/cop/commissioner.rb:56:in `trigger_responding_cops'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/cop/commissioner.rb:34:in `block (2 levels) in <class:Commissioner>'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/ast/traversal.rb:50:in `block in on_begin'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/ast/traversal.rb:50:in `each'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/ast/traversal.rb:50:in `on_begin'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/cop/commissioner.rb:35:in `block (2 levels) in <class:Commissioner>'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/ast/traversal.rb:13:in `walk'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/cop/commissioner.rb:46:in `investigate'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/rspec/cop_helper.rb:71:in `_investigate'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/rspec/cop_helper.rb:23:in `inspect_source'
     # /Users/natmorcos/.gem/ruby/2.5.3/gems/rubocop-0.65.0/lib/rubocop/rspec/expect_offense.rb:133:in `expect_no_offenses'
     # ./spec/cops/shopify/smart_properties_default_values_spec.rb:102:in `block (4 levels) in <top (required)>'

Expected behavior
Rubocop successfully parses the line and ignores it given that the first argument is neither a string nor a symbol but actually an expression.
Actual behavior
Rubocop crashes as outlined above.
Steps to reproduce the problem
Outlined above.
RuboCop version
$ [bundle exec] rubocop -V
0.65.0 (using Parser <IP_ADDRESS>, running on ruby 2.5.3 x86_64-darwin18)

Hi, @NatMorcos!
Please try changing the string fragment in the pattern to str. This is the node type as given to us by the parser gem. We currently don't alias sym to symbol and str to string (although this makes me think maybe we should.)
def_node_matcher :property_definition?, <<-PATTERN
  (send nil? {:property :property!} ({sym str} _) (hash ...))
PATTERN

🤦♂ ah, yup. Thank you!


None of the async examples are actually async

There are multiple functions in the example applications which are marked as async but don't use .await at all, instead doing blocking I/O. This means that if there are more tasks running than there are threads in the thread pool, the executor will only run the ones that got there first, as they are blocking the worker threads. For example in examples/pokedex.rs the search function is marked as async but makes HTTP requests using reqwest's sync API, which defeats the purpose of using async functions. In order to make use of the new async functions, they need to only use async I/O.

Yes, I am aware of this.
Considering the examples using async only run a single Command at once, I think the chances of running out of threads are a bit low.
The examples were meant to show how you can use futures with the library to run stuff in the background. They are not meant to showcase proper use of async I/O. Even if you use blocking I/O, an async function is still useful as it gives you opacity and lets you change the implementation to something non-blocking in the future.
That said, I agree we should fix this. The last thing we want is for users to think that just slapping async makes everything magically work.
Coincidentally, I fixed the pokedex example yesterday in #122, by using surf instead and performing both requests at the same time. reqwest async API is still in alpha and uses tokio, which has executor lock-in.
I have also just went ahead and ported the todos example to async-std.


Boolean environment variable interpolation in config file

As reported by @frosenb, attempting to read a boolean value from the environment from the config file causes an error. For example,
export ISBASE64=true

then
secret-is-base64 = "$(ISBASE64)"

Postgrest issues an error and dies:
ConfigError {configErrorLocation = Key "" "secret-is-base64", configConversionError = Just [ConversionError {conversionErrorLoc = "boolValue", conversionErrorWhy = TypeError, conversionErrorVal = Just (String "true"), conversionErrorType = Just Bool, conversionErrorMsg = Nothing}]}

having same issue when passing a number on DB_SCHEMA=1
       ConfigError {configErrorLocation = Key "" "db-schema", configConversionError = Just [ConversionError {conversionErrorLoc = "textValue", conversionErrorWhy = TypeError, conversionErrorVal = Just (Number 1.0), conversionErrorType = Just Text, conversionErrorMsg = Nothing}]}

What if you quote it like db-schema = "1"?

@begriffs this errors is on deploying using the postgrest-heroku, i think that is on env-to-config.
Directly on postgrest.conf works fine.

Can you check whether it works if you deploy a fresh Heroku app? I fixed a typo in the buildpack and perhaps you deployed initially pre-typo and subsequent deploys are messed up because of it.

The same for me when deploying on jelastic paas. I can define the env variable by a form and there are set then on startup. But I got the same error message as above.

@begriffs i think all the issues related to env vars and configs were fixed by your 2 PRs
(comment/reopen if not so)


bug in alignment %

I'm skimming the logs for data, I noticed an >100% alignment rate for this data.
https://chip-atlas.org/view?id=SRX373733
Also I have checked the experimentList.tab file, and found the same percentage. Not sure if this is a bug or something else.
Alex

Hi Alex,
This is the bug occured when the experiment is paired-end sequence. We will fix the bug by the next update of ChIP-Atlas.
Shinya

Noted, thanks! So it is not related to the peak bed files? Just related to the calculation of percentage?

This is just related to the calculation of percentage. We apologize for the inconvenience.


Add hooks for limiting metadata size

We currently don't have any way of enforcing limits on metadata received

Let's figure out a design for this and what the API implications are.
I don't think implementation is hard here.

Easy design:
Use a channel argument at server creation time to specify a server wide limit, enforce it in the transport.

Probably another larger but good warm up.
Needs a channel_arg defined in the public API to be passed to the server construction, and a check in chttp2_transport.c to implement it.
We want to limit to 8kb or 16kb.
CC @a11r.


Add Panorama server without user account

We want to allow adding a Panorama server without user account credentials.  This can be useful for browsing and downloading publicly available documents from the server (e.g. Panorama Public).
NOTE: This PR targets the branch for Add new toolstrip menu item to open remote Panorama files in Skyline
UI changes:

EditServerDlg

Changed title from "Edit Server" to "Edit Panorama Server"
Added "Anonymous access" checkbox. Checking the box disables the "Email" and "Password" fields

Tooltip for the "Anonymous access" checkbox

'Anonymous' server in server list

When user tries to upload to Panorama, and there are no servers with user account information this message is displayed:

PublishDocumentDlg

A "Show anonymous servers" checkbox is displayed when there are one or more anomymous Panorama servers

In addition to the UI changes described above, this PR also includes:

Some clean-up of PanoramaUtil.cs, including simplification if the IPanoramaClient interface and the implementing class WebPanoramaClient.  Methods throw a PanoramaServerException with a detailed message rather than returning the ServerState / UserState (these classes were removed).
When building the Panorama folder tree view, folders where the user does not have read permissions are ignored. Any subfolders, even if they have read permissions, are also ignored.
Added a mnemonic for "Open From Panorama".
Prompt user to save the current open document before opening from Panorama

We discussed and agreed:

Anonymous access checkbox to Edit Server form (should it be Edit Panorama Server?) that has a tip with the explanation text, and grays out the username and password fields. Making "(optional)" unnecessary on those fields, and also the message box and message at the top of the form.
For the PublishDocumentDlg also when anonymous servers are present add a checkbox "Show anonymous servers" that has an explanatory tip and starts out unchecked. When checked the anonymous server gets shown in gray, removing the need for #4, but #3 would remain for the case where there are no servers with credentials.

This pull request is currently requesting to merge into the branch Skyline/work/20230502_Sophie_PanoramaClient.
Is that what you want, or were you planning on merging this into master?
You can use the "Edit" button to change which branch a pull request is merging into.

Replaced by https://github.com/ProteoWizard/pwiz/pull/2711


RFC: Repo cleanup, py2/py3 compatibility

This PR contains initial work towards a codebase simultaneously compatible with Python 2 and Python 3. Specifically, I used futurize to make the existing py2 codebase py3-compatible.
I have split this into separate commits so that thematically separable changes can be reviewed separately.
Note: If you want to review the changes without whitespace getting in the way, append ?w=1 to the relevant URL on Github to ignore whitespace changes, like this.
Note: The changes in here also contain the changes from PR #129, as it was easier to include those changes in the line ending normalization.
To start working with futurize, since I'm on Linux, I first had to normalize the line endings, otherwise all the files showed up as changed. This is because the repo contains CRLF (Windows-style) line endings, and no .gitattributes file to enable cross-platform line-ending compatibility. With the .gitattributes in place, this should now be transparent to all devs, without any special git settings, Windows users get CRLF endings on checkout, all the other get LF. (I already handled such a transition for a bigger project)
This work is contained in commit 2216fa2.
The next set of change is what future calls "stage 1", easy replacements with very low bug potential and no additional dependencies. cb1fc53 dfab1e6
After those are the autogenerated stage 2 changes, which fix more incompatibilities, but add a dependency on the future package. A small amount of manual fixes, which the futurize heuristics didn't pick up, were also added. 342fe51 d5b9cbe
FYI: I also have a branch with an initial set of pep8 fixes, but I have not included this here yet since I don't know how you folks feel about pep8. Also, as there is already a commit in here that touches all the files, we might as well fix the style issues at the same time.
I know that PR #120 is currently open, and not included in these changes. This is not ideal w.r.t the line ending normalization, but most of the changes in here happened with terminal commands, so it's easily replayable once that PR is merged (if it gets merged).
All the tests pass, and all the examples that worked before, keep working with those changes. Tested only on py2, since there's no wxpython for py3 yet.
On a TODO-list for this PR:

Fold in the pep8 changes if acceptable
(probably) set up a Travis-CI account to get started with at least some automated testing (pytest, plus maybe run some examples?).

Ping @chriskiehl
Relevant issue: #65

@chriskiehl any feedback on this?

Hey @bilderbuchi!
I haven't had a chance to review this in detail yet (it's a big diff!), but don't think that I'm ignoring it. Just a few things ahead of it in my queue of stuff to do!

sure, no problem. Keep in mind that I'll have to re-do the changes anyway, as other PRs got merged in the meantime, but it would be great to get any discussion out of the way first, before re-doing, then merging.
Also, it makes sense to review commit-by-commit (it's only 5 commits, effectively), they're thematically isolated (as detailed in the PR description).

@chriskiehl have you had a chance to review this already? how can I help move this PR (and Py3 compatibility in general) forward?

Hey @bilderbuchi,
Unfortunately, odds of this PR moving forward anytime soon are pretty slim. Gooey is currently a WX project, and that is a fundamental limitation on which Python versions can be targeted. Given that fact, I don't see a compelling reason to introduce the maintenance overhead of 2to3 conversion -- at the end of the day, we're still stuck on a 2.x code base.
I made some strides to prep Gooey for a new tool kit -- stuff like (finally!) ripping logic out of the views and doing some general project clean up. But alas, contract work is eating up 99% of my free time. Working on Gooey means falling behind on paid work, so I've been trying to keep it to a minimum ;) Until those end, bringing real Python 3 compatibility via a new GUI kit isn't happening.
So, in short, it'll probably be a few months before anything other than bug fixes happen on this project  : (
Sorry, man!

hey @chriskiehl
I'm not sure if that is a big maintenance overhead, the majority of the changes is using the print function instead of statements, and some imports from builtins to make code work for both 2 and 3. Also, since from your comment I'm not sure if you picked this up, but this PR creates code that runs on both 2 and 3 withouth modification, so 2to3 is not involved, and therefore does not create overhead (in setup.py or wherever).
Also, at the end of the day, the work done here is prep work for future 3 compatibility, just like your prep work for a new tool kit, and will have to be done anyway whenever you want to move forward with 3 compatibility.
Btw, I have heard recently that wx phoenix snapshots are already usable, so maybe WX on Py3 is not that far off, actually.
In the end, I guess it boils down to one question: Do you want outside help in moving Gooey towards Py3? I can see myself working towards that goal (and I already did with this PR), but if you can't review (and hopefully merge) PRs I throw your way, I'd better not bother.
Btw, do you know of other packages that do something like what Gooey does? I have recently introduced Python at work (research, not programming), and I think my colleagues would find Gooey useful, but I won't fall back to Py2 just for this one package.
finally, the line ending changes are totally decoupled from py3 compat, and should be done anyway to have a "proper" structure. I guess I should have sent a separate PR for them.

Also, because this is textual communication after all, I wanted to clarify that I don't want to pressure or blackmail into doing something not sustainable on your side, I just want to calibrate my expectations, and want to avoid that we waste each other's time. :-)

was excited to hear about this but am using python 3 so sadly can't use it in the current state, would be glad to see this version if it works with 3 become adopted

@lathomas64 it's better to contribute over at the originating issue #65, if this PR gets closed any discussion will not be very visible anymore.


fix: DEV-3004: The Zoom setting changes "Accept" to "Fix + Accept" during Review Stream

closing this to resolving an error in which task this is linked to


Fred/building_crowdsim for generating the navmesh file and required configuration files for menge

This sub-package is developed for generating the navmesh file and required configuration files from the building.yaml output by traffic-editor GUI.
This package is integrated within the building_map_tools package, and can be called using ros2 run command.
Before using building_crowdsim, the building.yaml files with "human_lanes" and "crowd_sim" tag. An example building.yaml for office scenario can be found here: https://github.com/FloodShao/traffic_editor/tree/fred/building_crowdsim_test/building_crowdsim_test_files
ros2 run command, after package building:

for generating the navmesh using "human_lanes"
ros2 run building_map_tools building_navmesh navmesh [input_building_yaml] [output_dir]
for generating the configfiles using "crowd_sim"
ros2 run building_map_tools building_navmesh configfile [input_building_yaml] [output_dir] [world.sdf_to_be_inserted_with_plugin] [gazebo_or_ign_tag]

I see a bit of test code scattered around the code base, specifically in

building_navmesh.py
navmesh/test.py

I guess it could either be moved to actual unit / integration test files or deleted, what do you think?

Another "high level" comment is that I would try to follow the conventions in the rest of the code base, from a quick glance (similar to the plugins PR):

snake_case for function names and general style consistency (I see some snake case, some camelCase, some UpperCamelCase for function names scattered around). IIRC we generally follow PEP8 for Python.
getters / setters are not typically used in Python and attributes are usually accessed directly, this should reduce the code size by quite a lot in simpler files, such as most of the smaller files under navmesh

Agreed. We can merge #218 first, and I'm working on #225 and #224. Thanks for all that comments and advice on the code, that helps a lot.
Yes, I will try to avoid the getters and setters in python class (I should have checked with @luca-della-vedova first). and that definitely will make the code small.
I will modify the code style and licenses as well. Thanks!

Hi, @aaronchongth and @luca-della-vedova, I have reworked the class structure, removed unnecessary setter and getter functions, and modified the code style. I have rebased this pr last THU, so this PR includes the crowd_simulation_plugin now.
As for the test, I created a test branch base on this pr, in which a CMake base package in added to run the pipeline. https://github.com/FloodShao/traffic_editor/tree/fred/building_crowdsim_navmesh_test/building_crowdsim_pr_test.
Now you can follow the steps to test it:

use followsing repose:

repositories:
  rmf/rmf_core:
    type: git
    url: https://github.com/osrf/rmf_core.git
    version: master
  rmf/rmf_schedule_visualizer:
    type: git
    url: https://github.com/osrf/rmf_schedule_visualizer.git
    version: master
  rmf/traffic_editor:
    type: git
    url: https://github.com/FloodShao/traffic_editor.git
    version: fred/building_crowdsim_navmesh_test
  rmf/rmf_demos:
    type: git
    url: https://github.com/osrf/rmf_demos.git
    version: master
  meng_core:
    type: git
    url: https://github.com/FloodShao/menge_core.git
    version: master

colcon build the whole rmf workspace.
find the launch file in source folder (because I didn't install the launch file in the package share folder).
for office scenario:
https://github.com/FloodShao/traffic_editor/blob/fred/building_crowdsim_navmesh_test/building_crowdsim_pr_test/maps/office/office.crowd_simulation.launch.xml
for airport scenario:
https://github.com/FloodShao/traffic_editor/blob/fred/building_crowdsim_navmesh_test/building_crowdsim_pr_test/maps/airport_terminal/airport_terminal.launch.xml
launch the command:
for office scenario: ros2 launch office.crowd_simulation.launch.xml
for airport_scenario: ros2 launch airport_terminal.launch.xml gazebo_version:=9 if you only have gazebo9 now.

I think these steps should be able to test the pipeline after getting the "building.yaml".
Thank you for your time and patient for reviewing this PR.

I'm looking at the generation CMakeLists and trying to understand the steps and if they can be simplified or documented better.
From what I understand there is need to add three build items to the CMakeLists if anyone was to add crowd simulation to their world:

The navmesh generation, which is the format that Menge expects to move the actors around.
The configfile generation, Another menge specific set of xml files (behavior_file and scene_file that define respectively the behavior of agents and their number / category / spawning points).
The nav graphs generation that I'm guessing is used by the simulation plugin to control the actors (?).

I wonder if there is any merging that can be done for those, I think the only reason we would want them separate would be if there is a use case for generating only a subset of them and it seems that anyone who wants to integrate crowd simulation will always need to generate all the three sets of files?
The idea behind the merging would be to make it easier for people to integrate, right now it seems they would need to add three custom commands with the right parameters or it would just not work.
Also I don't really understand the phony folder, what is its purpose?

Hi @luca-della-vedova , only https://github.com/FloodShao/traffic_editor/blob/fred/building_crowdsim_navmesh_test/building_crowdsim_pr_test/CMakeLists.txt#L44-#L75 is related to the crowd simulation setup. Only these block is inserted compared to the https://github.com/osrf/rmf_demos/blob/master/rmf_demo_maps/CMakeLists.txt
step 1 and step2 you are right. the nav_garphs generation is for the robot delivery rviz.
Yep, I think I can merge the two commands together into one if that's necessary. Because step 1 and step 2 are processing the same building.yaml, except step 2 requires a generated world.sdf as input.

Current PR changes:
build and tested under focal/foxy/gazebo11
"plugin" part:

Modify the ign CMakeLists to change the ign plugin name the same as gazebo
Modify the gazebo actor spawn method to to make sure the plugin parameter the same as ign. Now the simulation only support gazebo11!
"python" part:
Make the ModelType class platform independent.
Use one line command ros2 run building_map_tools building_crowdsim [.yaml] [output_dir] [world.sdf] to generate all the required files for menge
Add tests to package setup. compare the navmesh test with the standard result. Now the tests can be conducted under colcon test and checking the test result under colcon test-result
(Thanks to Brandon's https://github.com/colcon/colcon-ros/issues/105)

Test:
In branch https://github.com/FloodShao/traffic_editor/tree/fred/building_crowdsim_pr_test.
Both gazebo and ign launch file for office scenario are provided. Airport scenario only provided with gazebo launch file.
Environment:

Must be under gazebo 11! Although I think eloquent + gazebo11 should also work.
Please make sure you have model://MaleVisitorPhone in your ~/.gazebo/models (cannot directly use the walk.dae anymore after changes the actor spawn method)
Steps:
Use the above branch for "traffic_editor"
colcon build
Go to src/rmf/traffic_editor/building_crowdsim_pr_test/maps/office.
use ros2 launch office.launch.xml or ros2 launch office_ign.launch.xml for office scenario

Running colcon test I found a test failure in the package:
</system-out></testcase><testcase classname="building_map_tools.test.building_crowdsim.test_build_configfile" file="test/building_crowdsim/test_build_configfile.py" line="83" name="test_plugin_from_yaml" time="0.181"><failure message="TypeError: __init__() takes 1 positional argument but 2 were given">test/building_crowdsim/test_build_configfile.py:89: in test_plugin_from_yaml
    plugin_file = Plugin('gazebo')

Running colcon test I found a test failure in the package:
</system-out></testcase><testcase classname="building_map_tools.test.building_crowdsim.test_build_configfile" file="test/building_crowdsim/test_build_configfile.py" line="83" name="test_plugin_from_yaml" time="0.181"><failure message="TypeError: __init__() takes 1 positional argument but 2 were given">test/building_crowdsim/test_build_configfile.py:89: in test_plugin_from_yaml
    plugin_file = Plugin('gazebo')

Apologies for that. This was caused by the changing Plugin constructor. The previous Plugin constructor requires one parameter for the platform. And I forgot to changed that line in the test file.

Just fixed the deleting file problem and the test failure problem (it turns out the I forgot to update the test yaml file to be consistent with the current code as well.)
Now I think nothing is broken, and all tests pass.


chore: upgrade golang to 1.21

Upgrade runtime and dependency versions to fix security warnings

Thank you.


Bugfix/white238/spackpackage

The main reason for this was to turn off clang-format explicitly when devtools was not enabled.  This was causing a problem in the version checking regex that will be fixed in BLT soon.
  This will get upstreamed to spack's repo as well.

@nselliott I think this should fix the SPIO test on all the platforms. It at least fixes rzansel.


Split out diagnostic tools to separate module

Currently, diagnostic methods are tightly coupled within the Appliance class. To improve code organization and modularity, we should refactor the diagnostic tools into a separate module.
Especially, diagnostic class should be able to attach onto Appliance and grab diagnostic data.
Hon class should not have integrated loader for dummy devices created from dumped JSON responses from API. If this functionality is necessary, it should be also separated and act as a replacement for a fully functional loader for real devices.

Partially resolved in #23


[IBM] Reach feature parity with other plugins

#169 and #227

Triage: @Cohen-J-Omer, we just have this meta-issue to track feature parity. You can close as soon as #169 is closed.

Resolved by PR#334.


fix incorrect statement about connection ID lengths in the Transport

Tested by running some integration tests with 2-byte CIDs. Also tested 1-byte CIDs, which failed, but that's not unexpected, collisions are not unlikely.


Update documentation in calib3d.hpp

Fixed small mistake in documentation.
The prism coefficients in y'' equation were mistakenly written as s1,s2 instead of s3,s4

:+1:


Preserve glTF 'extras' field

Translate the 'extras' field of all glTF entities into a corresponding USD representation. Do we want to dump a single metadatum or do we additionally decode key-value dicts?

I think the later approach would be a wider fit for various runtime usecases


Enable file writing

r? @oli-obk

@bors r+

:pushpin: Commit 6c36a8c949a3e506b48481d746df85e6596d097d has been approved by oli-obk

:hourglass: Testing commit 6c36a8c949a3e506b48481d746df85e6596d097d with merge b0de1e9b9521fe86c94dabd6e21c8dface68379d...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: oli-obk
Pushing b0de1e9b9521fe86c94dabd6e21c8dface68379d to master...


Django 3.0 Support

Django 3.0 removes django.utils.encoding.python_2_unicode_compatible(), which is used as a decorator on the PayFastOrder model.
Removing this decorator is required for Django 3.0 support.
Reference

https://github.com/macropin/django-registration/issues/371

Any chance this can merged, I'm seeing the same issue on my side:
Traceback (most recent call last):
  File "./manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "-/ve/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "-/ve/lib/python3.7/site-packages/django/core/management/__init__.py", line 377, in execute
    django.setup()
  File "-/ve/lib/python3.7/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "-/ve/lib/python3.7/site-packages/django/apps/registry.py", line 114, in populate
    app_config.import_models()
  File "-/ve/lib/python3.7/site-packages/django/apps/config.py", line 211, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "-/ve/lib/python3.7/site-packages/payfast/models.py", line 6, in <module>
    from django.utils.encoding import python_2_unicode_compatible
ImportError: cannot import name 'python_2_unicode_compatible' from 'django.utils.encoding' (-/ve/lib/python3.7/site-packages/django/utils/encoding.py)

Is this project going to be updated for Django 3 by any chance?

This project is old, came across a number of errors. Is this gonna be fixed in Django 3? Or can I contribute?


[HUDI-6809] Optimizing the judgment of generating clustering plans

Change Logs
We currently uses Flink to generate  clustering plans online, and then Spark to execute them offline.
What we expect is to generate a clustering plan every four commits，like:
commit1,commit2,commit3,commit4,clustering1,commit5,commit6,commit7,commit8,clustering2
However, current timeline is:
commit4,clustering1,commit5,clustering2,commit6,clustering3....
This is not what we want.
Whether to generate a clustering plan should be determined by whether plan generation has been enabled, rather than whether plan execution has been enabled.
Impact
clustering plan generate.
Risk level (write none, low medium or high below)
If medium or high, explain what verification was done to mitigate the risks.
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Can you check the test failures and maybe writer a simple test case for it?

@danny0405   Could you please to review this pr again？

There are still some test failures: https://dev.azure.com/apache-hudi-ci-org/apache-hudi-ci/_build/results?buildId=20125&view=logs&j=600e7de6-e133-5e69-e615-50ee129b3c08&t=bbbd7bcc-ae73-56b8-887a-cd2d6deaafc7&l=13552

There are still some test failures: https://dev.azure.com/apache-hudi-ci-org/apache-hudi-ci/_build/results?buildId=20125&view=logs&j=600e7de6-e133-5e69-e615-50ee129b3c08&t=bbbd7bcc-ae73-56b8-887a-cd2d6deaafc7&l=13552

The last test passed. Local testing is also fine.

You need to check the Azure test failures instead.

You need to check the Azure test failures instead.

Fixed, but not caused by this PR.  cc @danny0405 .

@hudi-bot run azure

@hudi-bot run azure

@hudi-bot run azure


Bump gem version to 5.5.2

Bump bump.

I think we can probably include https://github.com/alphagov/govuk_publishing_components/pull/202 in this version bump too. I'm going to merge it now and then we can update the CHANGELOG here.

@fmlharrison Are we able to squash everything into one commit, including the merge commit?

Replaced with PR #215


Fix showcase listing

This replaces the other pull request v1.2.2  which had problems with travis.  Now travis seems to work

:+1:

:+1:


Running longevity test mistakenly runs all other NFRs

Running longevity test mistakenly runs all other NFRs
make start-longevity-test and make stop-longevity-test mistakenly executes all NFRs. Only longevity test must run.

Closed by https://github.com/nginxinc/nginx-gateway-fabric/pull/2045


postLoginHandler

Hi,
I'm enjoying using this library and stormpath in general.
I'm trying to integrate firebase into express stormpath by creating custom firebase tokens and ideally passing them back to the user in the response of the oauth/token route. I'm using password grant token oauth2. It seems that the postLoginHandler hook is called after the response has already been returned to the user. Does that mean I'll need to request the firebase token in a seperate request?
Thank you ,
Adam

Hey @Adam-Burke- the flow for both login and registration is pre-handler -> request to Stormpath -> post-handler. What exactly is the firebase token you're generating and what are you trying to do with it?


fix(CI): Testing CI/CD pipeline

:tada: This PR is included in version 1.1.0 :tada:
Your semantic-release bot :package::rocket:


✏ Implement TV Show request functionality

Create utility functions to request TV Show data.
Currently, our ShowCard and ShowDetails components accept an ID to request further information. This will be compatible with TV Shows.
Considering separate utility file for TV Shows for organization.
This ticket will represent the parent ticket, further child tickets may be created.

Blocked by #227


installation issue

Hi, I received the below message when tried to install this package
Warning message:
In i.p(...) :
installation of package ‘C:/Users/Tam/AppData/Local/Temp/RtmpYFd7Ch/file2a889718ff/platypus_0.1.1.tar.gz’ had non-zero exit status

R version?

yes. R version.
Best regards,
Gs. Dennis TAM Tze Huey (谭子伟)
PhD Candidate
Department of Remote Sensing,
Faculty of Built Environment and Surveying,
Universiti Teknologi Malaysia,
81310 UTM, Johor Bahru, Johor,
MALAYSIA.
Email: @.; @.

From: Abish Pius @.>
Sent: Tuesday, January 25, 2022 10:23 AM
To: maju116/platypus @.>
Cc: tzehuey85 @.>; Author @.>
Subject: Re: [maju116/platypus] installation issue (Issue #97)
R version?
―
Reply to this email directly, view it on GitHubhttps://github.com/maju116/platypus/issues/97#issuecomment-1020744978, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKEBHG4ZLSXCK3SRIKQQFCDUXYCSHANCNFSM5MW65PPA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>


iFrame embedding not working

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

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

🛡 Security Policy

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

📝 Describe your problem
I'm running four instances of uptime-kuma as docker containers on a Raspberry Pi.
In order to have them displayed side-by-side I'm using iFrames in HTML

		<iframe style="width:25%; height:99%; border:0" scrolling="no" src="//<IP_ADDRESS>:8080/list">Internet
		<iframe style="width:25%; height:99%; border:0" scrolling="no" src="//<IP_ADDRESS>:8081/list">Infrastructure
		<iframe style="width:25%; height:99%; border:0" scrolling="no" src="//<IP_ADDRESS>:8082/list">Smart Home
		<iframe style="width:24%; height:99%; border:0" scrolling="no" src="//<IP_ADDRESS>:8083/list">RasPi

Trying several values for the environment variable, such as 1, '1', true, 'true', TRUE and 'TRUE' the iframes are still empty.
To run the docker containers, I'm using these commands:
docker run -d -e UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=1 --restart=always -p 8080:3001 -v uptime-kuma-Internet:/app/data --name uk-Internet louislam/uptime-kuma:1
docker run -d -e UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=1 --restart=always -p 8081:3001 -v uptime-kuma-Infrastructure:/app/data --name uk-Infrastructure louislam/uptime-kuma:1
docker run -d -e UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=1 --restart=always -p 8082:3001 -v uptime-kuma-SmartHome:/app/data --name uk-SmartHome louislam/uptime-kuma:1
docker run -d -e UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=1 --restart=always -p 8083:3001 -v uptime-kuma-RasPi:/app/data --name uk-RasPi louislam/uptime-kuma:1

I've even pruned my whole docker setup, but no avail, the issue stays the same. Can anyone help me?
🐻 Uptime-Kuma Version
1.11.3
💻 Operating System and Arch
Raspbian Linux 5.10.89-v7l+
🌐 Browser
Google Chrome
🐋 Docker Version
20.10.12
🟩 NodeJS Version
v10.24.0

Already saw & read about this in #1135 #851 #245 #234, but still couldn't get it working.

Your iframe src is missing http:. Did you try having that in?

Thanks, how could I have missed this >.<

Final iFrame code:

		<iframe style="width:25%; height:99%; border:0" scrolling="no" src="http://<IP_ADDRESS>:8080/list">Internet
		<iframe style="width:25%; height:99%; border:0" scrolling="no" src="http://<IP_ADDRESS>:8081/list">Infrastructure
		<iframe style="width:25%; height:99%; border:0" scrolling="no" src="http://<IP_ADDRESS>:8082/list">Smart Home
		<iframe style="width:24%; height:99%; border:0" scrolling="no" src="http://<IP_ADDRESS>:8083/list">RasPi


(boost_1_81_0_b1) Compilation Linker Errors: undefined reference to `boost::urls::url_view

General Overview: I keep running into a linker problem where there are undefined references to boost::urls functions via the linker such as:
/opt/rh/gcc-toolset-11/root/usr/bin/ld: /home/warrenniles/Desktop/project/webserver/server.cpp:199: undefined reference to `boost::urls::parse_relative_ref(boost::core::basic_string_view<char>)'

/opt/rh/gcc-toolset-11/root/usr/bin/ld: server.o: in function `boost::urls::url_view::url_view(boost::urls::url_view const&)':
/home/warrenniles/Desktop/project/webserver1/external_libraries/include/boost/url/url_view.hpp:222: undefined reference to `boost::urls::url_view::url_view(boost::urls::url_view_base const&)'

/opt/rh/gcc-toolset-11/root/usr/bin/ld: server.o: in function `boost::variant2::detail::variant_storage_impl<std::integral_constant<bool, true>, boost::urls::url_view, boost::system::error_code>::variant_storage_impl<>(std::integral_constant<unsigned long, 0ul>)':
/home/warrenniles/Desktop/project/webserver1/external_libraries/include/boost/variant2/variant.hpp:670: undefined reference to `boost::urls::url_view::url_view()'

My question is how I can go about fixing this problem and/or what I am doing wrong with my setup? Trying to create a boost beats, urls, and cassandra plug and play webserver. I have included basic server.hpp structure as well as my makefile.
Here is the information on the files:
server.hpp
...
#include <boost/url.hpp>
#include <boost/url/url.hpp>
#include <boost/url/url_view.hpp>
using namespace boost::urls;
...

and in the makefile
makefile
#Compiler
CC = g++
#C++ Version Number
VERSION = 2a
# compiler flags:
#  -g	 - this flag adds debugging information to the executable file
#  -Wall  - this flag is used to turn on most compiler warnings
CXXFLAGS  = -std=c++$(VERSION) -g -Wall
LFLAGS    = -std=c++$(VERSION) -g -Wall -c

# Libraries - Where boost and other external library include and libs are located
INC = $(shell pwd)/external_libraries/include/
LIB = $(shell pwd)/external_libraries/lib/
FLAGS = -lboost_coroutine -lboost_context -lboost_chrono -lcrypto -lssl -lboost_system -pthread -fcoroutines -lcassandra
all: main

main : main.o server.o cassandra/cql.o
	$(CC) $(CXXFLAGS) main.o server.o cassandra/cql.o $(foreach inc,$(INC), -I$(inc)) $(foreach lib,$(LIB), -L$(lib)) $(FLAGS) -o main

main.o : ssl/server_certificate.hpp main.cpp
	$(info Compiling Main.cpp)
	$(CC) $(LFLAGS) main.cpp $(foreach inc,$(INC), -I$(inc)) $(foreach lib,$(LIB), -L$(lib)) $(FLAGS) -o main.o

server.o : server_config.hpp server.hpp server.cpp
	$(info Compiling Server.cpp)
	$(CC) $(LFLAGS) server.cpp $(foreach inc,$(INC), -I$(inc)) $(foreach lib,$(LIB), -L$(lib)) $(FLAGS) -o server.o

cassandra/cql.o : cassandra/cql.hpp cassandra/cql.cpp
	$(info Compiling cql.cpp)
	$(CC) $(LFLAGS) cassandra/cql.cpp $(foreach inc,$(INC), -I$(inc)) $(foreach lib,$(LIB), -L$(lib)) $(FLAGS) -o cassandra/cql.o

cassandra/orm.o : cassandra/orm.cpp
	$(info Compiling orm.cpp)
	$(CC) $(LFLAGS) cassandra/orm.cpp cassandra/orm.hpp $(foreach inc,$(INC), -I$(inc)) $(foreach lib,$(LIB), -L$(lib)) $(FLAGS) -lcassandra

clean :
	$(RM) main main.o server.o cassandra/cql.o cassandra/orm.o

Wheres -lboost_url?

 Its been a long coding session. Thanks again Vinnie. Really embarrassed with this one lol.

If you want to atone, we would be very interested to hear your experiences with using the library since it is brand new and we made many novel API choices which may or may not have been ideal.... your good experiences or bad experiences are welcomed.


'react-router' does not contain an export named 'browserHistory'

import {browserHistory} from 'react-router'。but throw the error that browserHistory does not exist..and  Cannot read property 'location' of undefined

There is no browserHistory export in v4. If you're using v2/3, then you just need to install the correct version (npm install react-router@3). If you are using v4, you should read this section of the migration guide.

Also you can refer 'A Simple React Router v4 Tutorial'
https://medium.com/@pshrmn/a-simple-react-router-v4-tutorial-7f23ff27adf
Where you need to install 'npm install react-router-dom --save' in your project directory and
then you can include following
import { BrowserRouter, Link, Route } from 'react-router-dom';
Example :
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter, Link, Route } from 'react-router-dom';
const App = () => (
App
About

)
const About = () => (
About
App

)
ReactDOM.render(

,
document.getElementById('root')
);
Is working fine for me.

I had the same problem and I wasted a couple of days to figure it out. This error happens simply because react-router v4 does not have the 'browserHistory'(donno if that's a good thing or not though). I solved the issue by installing v3 like this:   npm install react-router@3 --save

Working for me too. Thanks

Need Help: When I am on '/About' route, it's also rendering App component at the top of the page.


Deep Link to Dashboard or Report from Files

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/347
Originally created by @derek-knox on 2019-01-30 23:30:12

Goals:
In order to have the Files > Dashboard/Report deep route links we need to:

refactor how we iterate and display the files (repos.py index())

for example to deep link to reports we need the model, design, and reportId

have the ids (unique vs report/dashboard id approach)

standardize on unique identifiers (unique or id? and update across backend)

Tasks:

[x] determine endpoint for deeplinking (dashboard and report)

/dashboards/dashboard/<slug> & analyze/<model>/<design>/reports/report/<slug>

[x] ensure repos.py index() provides data needed to deeplink according to ^
[x] set deeplinks for dashboard and report items in Files
[x] ensure dashboards page loads with deeplink
[x] ensure reports page loads with deeplink

View 7 previous comments from the original issue on GitLab


Add immutable rules to projects

Add immutable rules
Add unit tests for immutable rules
Add integration tests for immutable rules

Your changes are included in the latest (v5.6.2) release :rocket:


Compliance DLP Template - Inconsistent High Volume

After my PR (#6725) was rejected that fixed the Min and Max count (assuming so MS can keep the credit of fixing?), the GDPR template is now inconsistent with the rest of the page. All of the High Volume templates have Max count any except for GDPR which has Max count 500

@chrfox please help us in resolving this issue. Thanks

Hi @dltmurphy
The max count of 500 is what is in the UI. I tried to edit your PR to make that change, but I did not have permissions to do so. The only option was to work your feedback in through a different PR so that everyone could benefit from it. I am grateful that you pointed this issue out and I was not trying to take credit away from you.
I'll look into all the max counts in the templates in the UI and edit the content accordingly. Thanks<EMAIL_ADDRESS>

Hi @chrfox
any is a catch all which allows any max limit to be reached. Changing from any to 500 will mean if the volume limit is ever increased beyond 500, administrators who explicitly set 500 rather than any will have to update their policies to capture the higher volume alerts. It will increase the workload of administrators for something that can be avoided by keeping it as I had it in my PR at any
In terms of needing to do your own PR as you didn't have permissions to mine, you just had to ask and engage with me so we could have this conversation and either merged my PR or I would have ticked the box that gives you the permission to go the 500 route, instead of doing what you have done again by closing it and moving on.


enp5s0 became eth0 with no warning after kernel version bump; network config disrupted

Problem
After a kernel version bump, it appears that enp5s0 became eth0 with no warning. This caused my network configuration to cease to function.
I fixed the problem by booting into the generation immediately before the kernel version bump, and then nixos-rebuild switch to give me the niceties of my current config. Of course, the bug will return when I reboot.
Steps to reproduce

uncertain; it may only affect some NICs; I have not yet grepped the kernel changelog to find out what, exactly, changed, or why.

Additional context

We've been here before; see https://github.com/NixOS/nixpkgs/issues/71086
My sense is that linux kernel naming scheme has become volatile, and that interface names are no longer a reliable way of picking out specific NICs

Suggested Fix
Allow referring to network interfaces (in configuration.nix) by MAC address. Something along the lines of:

networking.interfacesByMac."AA:BB:CC:DD:EE:FF:00" = {
ipv4.addresses = [....]
}
would also need to be able to refer by MAC address in e.g. networking.firewall.interfaces, and everywhere else (networkmanager.unmanaged, etc.)
This would be substantially more stable for config, given how mutable linux kernel ethernet interface naming scheme has become
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.10.61, NixOS, 21.11 (Porcupine)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.15`
 - channels(lattice): `"nixos-21.05.2987.fd6dba47199, unstable-21.11pre313466.bc06c93905f"`
 - channels(root): `"nixos-21.11pre313614.09cd65b33c5, nixos-unstable, unstable"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

The linux kernel has always followed the traditional naming scheme: eth0, eth1, wlan0, etc. What's responsible for the so called "predictable" naming scheme (like enp5s0) is systemd, so I'd say this is a bug in either systemd or the way we configure it in NixOS.  If would help tracking this down if you could tell us what nixos-version in the last good and first bad generation.
By the way, if you have been setting static routes or addresses, the best way to make the configuration robust is assigning a custom name to the interfaces you need by matching the MAC address, as you suggested. This chapter of the NixOS manual shows how.

this is great; thanks for the clarification; I didn't know systemd altered interface names.
FYI the problem mysteriously disappeared a few generations later; all the same, I will follow that section in the manual to refer more precisely to my devices.
TYSM!


dropindex tableName attribute is required in the XSD while it shouldn't be

Environment
Liquibase Version: 4.3
Liquibase Integration & Version: not relevant
Liquibase Extension(s) & Version: not relevant
Database Vendor & Version: Oracle
Operating System Type & Version: not relevant
Description
The XSD define the tableName attribute of the dropIndex change as mandatory.
The documentation and code though just have it required for asany, mariadb, mssql, mysql, and sybase.
Thus the XSD should not have the attribute as required.

Hi @Vampire Thanks for informing us of this issue.  We will need to process this change and update the xsd to have it as optional but required for certain databases.  We will add this to the list of issues we are processing.

Hello,
Is this issue still open.

Still an issue on liquibase 4.15. It should be removed as a mandatory attribute or we should update the documentation.


What is the difference between the online and offline cartographer?

What is the difference between the online and offline cartographer  in addition to data acquisition? The key is the algorithm flow and processing speed！

As you mentioned, the main difference is in data acquisition - the online node subscribes to laser, imu, odometry, etc. data and runs in real time.
Because the offline node reads all of this data directly from the bag, it sets its own pace and goes through the bag as quickly as it can. If you attempted to do this with the online node and e.g. you played the bag faster using the -r parameter of rosbag play, in case you played it too fast, you would risk missing messages in Cartographer. You would have to find the highest bag playing rate with which Cartographer would not miss messages. However, it does not really make sense to do all of this, and you should use the offline node instead, which will always process the bag at maximum speed.

Thank you for your quick reply ， I think I understand what you mean！
But the perfomance is different between online and offline data according to the paper about spa, Whether also have an impact on the accuracy of the map in cartographer?

@ojura nailed it! That is exactly right.

But the perfomance is different between online and offline data according to the paper about spa, Whether also have an impact on the accuracy of the map in cartographer?

I am not sure which paper you are referring to. Our paper does not distinguish between online and offline since it has no impact on quality.

K. Konolige, G. Grisetti, R. K ̈ummerle, W. Burgard, B. Limketkai,
and R. Vincent, “Sparse pose adjustment for 2D mapping,” in IROS,
Taipei, Taiwan, 10/2010 2010
VI. EXPERIMENTS

We based our implementation on this paper, but there is no code reuse. I.e. their experiments are completely unrelated to our implementation.

Hey, I have the same question. The Offline node read the data only faster? That mean the map quality at the end are the same between online and offline cartographer. How about the loop closure detection? they use the same algorithm or it is any difference? thx

Yes, the offline just processes data as quickly as possible by reading it directly from the bag. This allows for faster experiments, but is not as flexible as online.

Thanks

Hello! @ojura @SirVer @sunmk2006 @mohamadfarhat
I am new on cartographer, and I would like to change the playing rate of the bag.
According to the manual, I managed to play the bag via the command:
ex. roslaunch cartographer_ros offline_backpack_2d.launch bag_filenames:=${HOME}/Downloads/b2-2016-04-05-14-44-52.bag
In fact, I want to follow @ojura 's suggestion, using ex. "rosbag play file_path_and_name.bag -r 1.2" to run the SLAM process 0.2 times faster than real time. But when I leave the bag_filenames empty in the roslaunch command, there will be a mistake, reporting no bag file used (which is obvious).
Therefore, I suppose that I should  somehow turn off the bag_filenames part in the 1st example, and launch another terminal session to run "rosbag play" in the rate I desire.
Am I right? And is there an easy way to achieve this?
Thanks a lot in advance.

@tiandaji, the offline node processes the bag at the maximum speed your CPU can process. You can not set the rate, it is determined by your CPU's performance. If you want to control the speed, you can use the online node + rosbag play -r 1.2.

@ojura Thx so much, I got it.


null-ls cannot be used with ccls due to offset_encoding

I've recently come to realize that we cannot use null-ls with ccls (which is the default lang server for C/C++ rn) due offset_encoding differences.
Thanks to this PR (#61) we are able to use clangd as the the language server, which will throw constant warnings for most of my C/C++ files.
warning: multiple different client offset_encodings detected for buffer, this is not supported yet
I've quickly attempted the suggested "fix" from here for null-ls, but doesn't seem to affect anything.
We should consider the following:

disable null-ls for ccls (@n3oney this might be more for you)
configure offset encodings for clangd to supress the multiple different client offset_encodings detected warning (@horriblename maybe you might know anything about this)

Relevant:

Null-ls issue: https://github.com/jose-elias-alvarez/null-ls.nvim/issues/428
Context around ccls: https://github.com/neovim/nvim-lspconfig/pull/1649
Neovim issue: https://github.com/neovim/neovim/pull/16694

I don't understand, clangd works fine now right? why should it be changed?

I'm not sure what's wrong for me then, I see this for quite literally ever .cpp file I open:

ah I'm guessing it's cos I disabled the git code action thing. alr, I'll look into it, should be an easy fix

For ccls, I think filtering out the warnings is probably better than disabling null-ls. afaik vim.git.gitsigns.codeActions is the one using null-ls here.
From the null-ls issue:

This is a legitimate warning, but if you don't care and just want to suppress it, you can filter it out by overriding vim.notify:
local notify = vim.notify
vim.notify = function(msg, ...)
    if msg:match("warning: multiple different client offset_encodings") then
        return
    end

    notify(msg, ...)
end

I'm keeping this open for the time being, as any attempt at filtering the message (be it through vim.notify or nvim-notify) seems to fail.