 I'd suggest making a placeholder project release on GitHub and putting the files there—it's hosted on S3 too but no limits and public access is expected.

I'll email the celebA authors and ask their permission to temporarily host it through git-LFS. Thanks for letting me know!

Thanks for the quick reply! Video looks very cool and I can't wait to dig in ;-)

The authors have put up a Google Drive link on the celebA project page:
https://drive.google.com/drive/folders/0B7EVK8r0v71pWEZsZE9oNnFzTm8
Let me know if anything else like this happens, I'm checking the issues fairly regularly.


Raising fdlimit to maximum on startup

One of the common problems I hit while running my own server software in high-load production is a shortage of fdlimit resources. A common approach to mitigate this problem is to automatically set the fdlimit before tokio::main() to a maximum value possible accordingly to sysctl settings: https://github.com/vdudouyt/std-fpm/blob/master/src/fdlimit.rs
Alternatively you can use the fdlimit crate, although I don't like it's thiserror dependency causing some proc-macro2 stuff to appear in cargo tree.

I agree with ChatGPT:
Limits on the number of file descriptors (fdlimit) in operating systems like Linux are often set to relatively low values by default for several reasons:

Security and Stability: Restricting the number of file descriptors helps prevent a single application or process from exhausting all available system resources, which could negatively impact the performance or stability of the entire system.
Legacy and Compatibility: Older Unix-like systems had more limited resources, and some applications might not have functioned correctly with higher limit values. Consequently, conservative values remain inherited as default settings.
Manageability: System administrators prefer to control the resources allocated to processes to ensure predictable system behavior.

Is It a Good Idea to Change Limits from a Web Server?
Modifying the fdlimit from within a web server at runtime is a controversial practice. Here are the pros and cons:
Pros:

Automation: Setting limits in code ensures that the application will have access to the necessary resources, which is crucial for high-load scenarios.
Convenience: Developers don’t need to rely on administrators to manually configure limits on each system.

Cons:

Lack of Transparency: If the web server modifies system settings "silently," it can complicate debugging and maintenance. Administrators may be unaware of the changes, making it harder to diagnose resource-related issues.
Security Risks: Raising file descriptor limits can make the system vulnerable to resource exhaustion attacks, where an attacker attempts to use up all available descriptors.
Loss of Control: System administrators might prefer to manage these limits manually based on the system's resource requirements and policies.

Recommendations:

Coordination Is Better: Changing limits should ideally be part of system configuration and agreed upon with the administrator. This can be done via configuration files like /etc/security/limits.conf or through server settings (e.g., systemd).
Logging and Documentation: If limits are changed programmatically, it should be well-documented and logged, so administrators can track the changes.
Configurability: A good practice is to make this behavior configurable, allowing the administrator to decide whether to increase the limits automatically.

Overall, adjusting limits is a powerful tool but should be used carefully and thoughtfully.

fixed


test(image-stream): Fix test image data

This updates the base test image to be a complete, but small
disk image, as thre previous image was quite large for running tests (32MB),
and was chopped off at an arbitrary position, causing other tools to fail
on it as an input.
Change-Type: patch

For the compressed and archive files, should we have multiple files testing different compression methods and ratios? See also #1499
And (just for reference purposes) perhaps it'd be useful to have a text file listing the compressed and uncompressed size of each of the test-images, and for the archive files (i.e. .zip) you could list each archive's directory tree?

For the compressed and archive files, should we have multiple files testing different compression methods and ratios? See also #1499

I'm not sure that makes sense to me – at that point we're starting to test the compression algorithms... Regarding #1499, yeah, I think that'd be good to create a user error in that case and test that. Better suited to be done in a separate PR.

I'm not sure that makes sense to me – at that point we're starting to test the compression algorithms...

But if we ever switch decompression libraries, we'll be sure that the new library (and therefore Etcher) is able to decompress all the compression types and ratios that the old library supported? *shrug*

Regarding #1499, yeah, I think that'd be good to create a user error in that case and test that. Better suited to be done in a separate PR.

Oh yeah, I agree that that should be done in a separate PR, I was just using it as an example of a decompression library not supporting every single possible compression type ;-)

But if we ever switch decompression libraries, we'll be sure that the new library (and therefore Etcher) is able to decompress all the compression types and ratios that the old library supported? shrug

@jhermsmeier We should definitely at least give the compression algorithms a pass, and ensure the result matches the original image. We've caught various issues this way, and is usually what helps us choose a compression library.

But if we ever switch decompression libraries, we'll be sure that the new library (and therefore Etcher) is able to decompress all the compression types and ratios that the old library supported?

Oh yes, sure that makes sense, that didn't cross my mind.


Adding GoogleMap widget is causing Android 10 device to restart.

It keeps restarting the physical android phone after successful installation. The phone is running on android 10. The app runs if i remove this `GoogleMap(
        mapType: MapType.hybrid,
        initialCameraPosition: _kGooglePlex,
        onMapCreated: (GoogleMapController controller) {
          _controller.complete(controller);
        },
      ),`

The app works perfectly fine with on lower android version i.e android 9 downward

[repo link](https://github.com/snrweb/transport)

`lib\main.dart:1
√ Built build\app\outputs\flutter-apk\app-debug.apk.
I/nsport_app_use( 9632): Background young concurrent copying GC freed 21653(1229KB) AllocSpace objects, 10(488KB) LOS objects, 14% free, 4104KB/4778KB, paused 7.123ms total 298.276ms
I/System.out( 9632): [okhttp]:check permission begin!
I/System.out( 9632): [okhttp]:not MMS!
I/System.out( 9632): [okhttp]:not Email!
I/System.out( 9632): [OkHttp] sendRequest<<
I/nsport_app_use( 9632): Background concurrent copying GC freed 21153(823KB) AllocSpace objects, 12(576KB) LOS objects, 49% free, 3617KB/7234KB, paused 3.196ms total 116.370ms
V/FA      ( 9632): Inactivity, disconnecting from the service
Connecting to VM Service at ws://<IP_ADDRESS>:51892/WupUculXlGg=/ws
I/GED     ( 9632): ged_boost_gpu_freq, level 100, eOrigin 2, final_idx 2, oppidx_max 2, oppidx_min 0
I/BufferQueue( 9632): [unnamed-9632-0](this:0x87970000,id:0,api:0,p:-1,c:-1) BufferQueue core=(9632:com.example.transport_app_user)
W/nsport_app_user( 9632): type=1400 audit(0.0:21223): avc: denied { read } for name="u:object_r:debug_bq_dump_prop:s0" dev="tmpfs" ino=8178 scontext=u:r:untrusted_app:s0:c100,c257,c512,c768 tcontext=u:object_r:debug_bq_dump_prop:s0 tclass=file permissive=0
W/nsport_app_user( 9632): type=1400 audit(0.0:21224): avc: denied { read } for name="u:object_r:debug_bq_dump_prop:s0" dev="tmpfs" ino=8178 scontext=u:r:untrusted_app:s0:c100,c257,c512,c768 tcontext=u:object_r:debug_bq_dump_prop:s0 tclass=file permissive=0
E/libc    ( 9632): Access denied finding property "vendor.debug.bq.dump"
I/BufferQueueConsumer( 9632): [unnamed-9632-0](this:0x87970000,id:0,api:0,p:-1,c:9632) connect(C): consumer=(9632:com.example.transport_app_user) controlledByApp=true
E/libc    ( 9632): Access denied finding property "vendor.debug.bq.dump"

W/nsport_app_user( 9632): type=1400 audit(0.0:21225): avc: denied { read } for name="u:object_r:debug_bq_dump_prop:s0" dev="tmpfs" ino=8178 scontext=u:r:untrusted_app:s0:c100,c257,c512,c768 tcontext=u:object_r:debug_bq_dump_prop:s0 tclass=file permissive=0
I/BufferQueueConsumer( 9632): [unnamed-9632-0](this:0x87970000,id:0,api:0,p:-1,c:9632) setConsumerName: unnamed-9632-0
E/libc    ( 9632): Access denied finding property "vendor.debug.bq.dump"
I/BufferQueueConsumer( 9632): [SurfaceTexture-0-9632-0](this:0x87970000,id:0,api:0,p:-1,c:9632) setConsumerName: SurfaceTexture-0-9632-0
I/BufferQueueConsumer( 9632): [SurfaceTexture-0-9632-0](this:0x87970000,id:0,api:0,p:-1,c:9632) setDefaultBufferSize: width=720 height=1380
E/GraphicExt( 9632): GraphicExtModuleLoader::CreateGraphicExtInstance false
I/zzbz    ( 9632): Making Creator dynamically
I/BufferQueueProducer( 9632): [SurfaceTexture-0-9632-0](this:0x87970000,id:0,api:1,p:1738,c:9632) connect(P): api=1 producer=(1738:???) producerControlledByApp=false
W/Gralloc3( 9632): allocator 3.x is not supported
E/ion     ( 9632): ioctl c0044901 failed with code -1: Invalid argument
D/BufferQueueProducer( 9632): [SurfaceTexture-0-9632-0](this:0x87970000,id:0,api:1,p:1738,c:9632) cancelBuffer: slot 0
I/DynamiteModule( 9632): Considering local module com.google.android.gms.maps_dynamite:0 and remote module com.google.android.gms.maps_dynamite:203112999
I/DynamiteModule( 9632): Selected remote version of com.google.android.gms.maps_dynamite, version >= 203112999
V/DynamiteModule( 9632): Dynamite loader version >= 2, using loadModule2NoCrashUtils
D/BufferQueueProducer( 9632): [SurfaceTexture-0-9632-0](this:0x87970000,id:0,api:1,p:1738,c:9632) cancelBuffer: slot 0
D/BufferQueueProducer( 9632): [SurfaceTexture-0-9632-0](this:0x87970000,id:0,api:1,p:1738,c:9632) cancelBuffer: slot 0

D/BufferQueueProducer( 9632): [SurfaceTexture-0-9632-0](this:0x87970000,id:0,api:1,p:1738,c:9632) cancelBuffer: slot 0
D/BufferQueueProducer( 9632): [SurfaceTexture-0-9632-0](this:0x87970000,id:0,api:1,p:1738,c:9632) cancelBuffer: slot 0
D/BufferQueueProducer( 9632): [SurfaceTexture-0-9632-0](this:0x87970000,id:0,api:1,p:1738,c:9632) cancelBuffer: slot 0
D/BufferQueueProducer( 9632): [SurfaceTexture-0-9632-0](this:0x87970000,id:0,api:1,p:1738,c:9632) cancelBuffer: slot 0
I/Google Maps Android API( 9632): Google Play services client version: 12451000
I/Google Maps Android API( 9632): Google Play services package version: 203915033
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->putInt(Ljava/lang/Object;JI)V (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J (greylist,core-platform-api, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)

W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->putInt(Ljava/lang/Object;JI)V (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->allocateInstance(Ljava/lang/Class;)Ljava/lang/Object; (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Llibcore/io/Memory;->peekLong(JZ)J (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Llibcore/io/Memory;->pokeLong(JJZ)V (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Llibcore/io/Memory;->pokeInt(JIZ)V (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Llibcore/io/Memory;->peekInt(JZ)I (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Llibcore/io/Memory;->pokeByte(JB)V (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Llibcore/io/Memory;->peekByte(J)B (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Llibcore/io/Memory;->pokeByteArray(J[BII)V (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Llibcore/io/Memory;->peekByteArray(J[BII)V (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I (greylist,core-platform-api, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->arrayIndexScale(Ljava/lang/Class;)I (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, linking, allowed)

W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Llibcore/io/Memory;->peekByte(J)B (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden field Ljava/nio/Buffer;->address:J (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->putInt(Ljava/lang/Object;JI)V (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, reflection, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->getUnsafe()Lsun/misc/Unsafe; (greylist,core-platform-api, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed)
W/nsport_app_use( 9632): Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)

E/OpenGLRenderer( 9632): Display event receiver pipe was closed or an error occurred.  events=0x9
W/SurfaceComposerClient( 9632): ComposerService remote (surfaceflinger) died [0x9b134280]
I/BufferQueueProducer( 9632): [SurfaceTexture-0-9632-0](this:0x87970000,id:0,api:1,p:1738,c:9632) disconnect(P): api 1
Lost connection to device.
Exited (sigterm)

`

can you try the app on another phone?

can you try the app on another phone?

@WojuadeAA it works on android 5/lollipop but not on android 10

@snrweb which SDK platform did you develop the app on?

@snrweb which SDK platform did you develop the app on?

@WojuadeAA minSdkVersion 20         targetSdkVersion 30

@snrweb
Please provide flutter doctor -v and a minimal complete reproducible code sample that shows the issue.

flutter doctor -v

`[√] Flutter (Channel stable, 1.22.3, on Microsoft Windows [Version 10.0.18363.959], locale en-GB)
• Flutter version 1.22.3 at C:\flutter
• Framework revision 8874f21e79 (8 days ago), 2020-10-29 14:14:35 -0700
• Engine revision a1440ca392
• Dart version 2.10.3
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at C:\Users\Oluwatobi\AppData\Local\Android\sdk
• Platform android-30, build-tools 29.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
X Android license status unknown.
Run flutter doctor --android-licenses to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[!] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] VS Code (version 1.50.1)
• VS Code at C:\Users\Oluwatobi\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.16.0
[√] Connected device (1 available)
• Nokia 2 3 (mobile) • PT99621AA19B1400661 • android-arm • Android 10 (API 29)
! Doctor found issues in 2 categories.`

@snrweb
Please provide flutter doctor -v and a minimal complete reproducible code sample that shows the issue.

this is the repo lin https://github.com/snrweb/transport
and intentionally removed the map api keys

@snrweb I cloned your repo but is complaining about google services json which I see is empty.
Can you just provide a minimal complete reproducible code sample that only involves Google Maps flutter plugin that'll help to replicate the issue ?

@snrweb I cloned your repo but is complaining about google services json which I see is empty.
Can you just provide a minimal complete reproducible code sample that only involves Google Maps flutter plugin that'll help to replicate the issue ?

{
"project_info": {
"project_number": "719360737864",
"firebase_url": "https://transportapp-288804.firebaseio.com",
"project_id": "transportapp-288804",
"storage_bucket": "transportapp-288804.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:719360737864:android:0ad81d7874363180c3ce7d",
"android_client_info": {
"package_name": "com.example.transport_app_user"
}
},
"oauth_client": [
{
"client_id": "719360737864-oud2s6h1hu63eklo58n5pdnk2l7m10fr.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.example.transport_app_user",
"certificate_hash": "942c19624ceac3acb77f6bdafc5a447b922ec857"
}
},
{
"client_id": "719360737864-vovvooag70ln9ahrdrcr6kesmm55si11.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyD5mis8ZKoW*****"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "719360737864-vovvooag70ln9ahrdrcr6kesmm55si11.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}

I see the maps loading properly and the phone didn't restart. I am on Samsung S10+ device.

From your log, it says:
E/OpenGLRenderer( 9632): Display event receiver pipe was closed or an error occurred.
Is it happening consistently when you have GoogleMaps ? And not when you remove it?
Is it only happening with Google Maps or with other plugins too ?

I see the maps loading properly and the phone didn't restart. I am on Samsung S10+ device.

From your log, it says:
E/OpenGLRenderer( 9632): Display event receiver pipe was closed or an error occurred.
Is it happening consistently when you have GoogleMaps ? And not when you remove it?
Is it only happening with Google Maps or with other plugins too ?

It doesn't crash when i remove GoogleMaps.
And it doesn't happen with other plugin.
The app crashes and phone restarts the moment i add the GoogleMap widget

@snrweb
Can you try couple of things:

Add below in manifest and try again to see if issue persists.

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>

If above doesn't solve issue, remove that manifest entry, try by setting targetsdkversion to 29 and check on same device again.

@snrweb
Can you try couple of things:

Add below in manifest and try again to see if issue persists.

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>

If above doesn't solve issue, remove that manifest entry, try by setting targetsdkversion to 29 and check on same device again.

I did a flutter clean and applied the solutions you suggested and the error still persists. Phone restarts and the same error log

I am unable to replicate this issue since it works at my end on Android 10 device using latest stable version. Keeping this issue open for further analysis.

The map finally worked after I did a proper restart

I solved a similar problem on a Samsung A01 device running Android 10 by adding the following two permissions and also adding try - catch in all my functions related to the GoogleMapsFlutter widget

It works for me y hope it can help someone.


Add Linux installation method

Provide .deb files to install Lintje on Linux more easily. Use an external deb file package hosting. Suggestions for hosting are welcome!

Debian packages are available since 3.0.1!
https://github.com/tombruijn/lintje/blob/main/doc/installation.md


Release v0.15.0.

Changed

Bump github.com/gdamore/tcell/v2 from 2.0.0 to 2.2.0.
Bump github.com/mattn/go-runewidth from 0.0.9 to 0.0.10.
Allowing CI to modify go.mod and go.sum when necessary.
Executed go mod tidy.

Added

TitleColor and TitleFocusedColor options for border title which enables the
setting of separate colors for border and title on a container.

Pull Request Test Coverage Report for Build 2182

22 of 22 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 91.28%

Totals

Change from base Build 2063:
0.02%

Covered Lines:
8385

Relevant Lines:
9186

💛  - Coveralls


Add base common logic

Category

[x] New feature
[ ] Bug fix
[ ] Improvement
[ ] Refactor
[ ] etc

Description
Add base common logic for development. Calling manager according to secret type.
Add schema & provider yaml.
resolve #1

Separate per each issue.


Measure the load time with analytics

track the load time for the app and record this in Analytics

Loading some of the activities has noticeable lag as well, those might be worth considering as well.


Rewrite Keras Model._generator methods to Model.

See: #803

@kjun9 notes in https://github.com/stellargraph/stellargraph/pull/925#discussion_r383090127 that this may require tensorflow > 2.1 to do properly.

I've split this up for ease of managements:

#1064
#1065
#1066


No migrations showing up after install

I pip installed version f170c3c and added 'admin_view_permission', to INSTALLED_APPS, but no new migrations are showing up when I run showmigrations or migrate. To confirm admin_view_permission is being loaded, when I add a typo to the name and run showmigrations I get an ImportError, as expected. Is there anything I need to do besides adding to INSTALLED_APPS and running migrate?
django 1.9.2
python 3.4.4

Hi @joelion,
Yes, you need only to add it to INSTALLED_APPS and run migrate. The package doesn't contain any actual migrations. It uses migrate to create the new permissions on the db (like django does for the default permissions).
I hope this to answer your question.
Thanks,
Lefteris

Got it. I was expecting more fanfare, so I didn't even check the admin page to see if it changed.
However, now as soon as I enable the plugin and go to admin, I don't have any permissions to see or do anything on the admin site.

My account is a superuser (screenshot taken when plugin isn't enabled)

Hi @joelion,
This not normal. Superuser should have the ability to see all the models.
Did you add the 'admin_view_permission' at the top on the INSTALLED_APPS? To see what's going wrong you can run python manage.py shell and execute the following commands:
from django.contrib.auth.models import User
u = User.objects.get(username=<your username>)
u.user_permissions.all()
u.groups.all()

Both command should return empty querysets. Otherwise set them to None and try to login as superuser again.
Thanks,
Lefreris

Great, got it. I didn't realize that the order in INSTALLED_APPS mattered. Putting admin_view_permission at the top got everything working as expected.
Really surprised this feature it's built-in functionality... thanks


TypeError: Cannot read property 'description' of undefined when running @microsoft/eslint-formatter-sarif

When I running eslint -f @microsoft/eslint-formatter-sarif foo.js in a project met below error:
TypeError: Cannot read property 'description' of undefined
    at node_modules/@microsoft/eslint-formatter-sarif/sarif.js:152:57
    at Array.forEach (<anonymous>)

The line that caused above error is here
I found reason why I encounter this error is that some of the rulesMeta do not the property named docs
e.g.
  'ember-best-practices/no-lifecycle-events': {
    message: 'Do not use events for lifecycle hooks. Please use the actual hooks instead: https://github.com/ember-best-practices/eslint-plugin-ember-best-practices/blob/master/guides/rules/no-lifecycle-events.md'
  },
  'ember-best-practices/no-observers': {
    message: 'Do not use observers. Consider using computed properties instead. Please see following guide for more information: https://github.com/ember-best-practices/eslint-plugin-ember-best-practices/blob/master/guides/rules/no-observers.md'
  },
  'ember-best-practices/no-send-action': {
    message: 'Do not use send action. Consider using closure actions to work with JS functions instead of relying on the old action system. Please see following guide for more information: https://github.com/ember-best-practices/eslint-plugin-ember-best-practices/blob/master/guides/rules/no-send-action.md'
  },

This will cause the command eslint -f @microsoft/eslint-formatter-sarif failed and can not output sarif.

@zhanwang626 , with your last pr, that fixes this issue, right?

@scalvert , i will move to sarif-js-sdk :)

Yes, I think so.

@zhanwang626 , with your last pr, that fixes this issue, right?

Yes, I think so.

based on that, i will close the issue. thank you for the contribution  :)


Enabled edit sysenv command

Enabled edit sysenv command to edit system environment variables. Current usage: sysvar [name]="[value]"

With these changes, it is now possible to change output format inside tcli.

oops. did not mean to add the first commit to this PR


Try to run AGQA with the command on README.md

Hi, first of all thank you for the code.
I'm trying to train a model with AGQA dataset.
I tried to run the command on the README.md which is same as below with setting DEFAUT_DATASET_DIR.
python train_glance_focus_sup.py --basedir expm/agqa --name gf_logs --device_id 0 --test_only 0 \
--qa_dataset agqa --base_data_dir $DEFAULT_DATASET_DIR \
--batch_size 128 --nepoch 20 --lr 5e-5 --i_test 9000 --i_weight 9000 --output_dim 157 \
--train_data_file_path '{}/txt_db/train_balanced.txt'
--test_data_file_path '{}/txt_db/test_balanced.txt'
--event_anno_path '{}/txt_db/charades.json'
--app_feat_path '{}/vis_db/frcnn.pth'
--feature_dim 512
--ans2label_path '{}/txt_db/agqa_balanced_txt_vocab.json'
--losses_type ['qa','cls','l1']

However, it comes out with an error as below.

Actually, The above error comes out after loading data like below,

The value of ans2label prints out as None
Thanks.
Best,
Paul

Considering the error in Line 119, it seems that maybe you initialize a validation dataset of AGQA. However, AGQA v2 dataset does not provide the val split. You should not initialize a val_dataset. Hope it will help!


feat(performance): get rid of the global Code_Execute hook and instead have localized hooks for performance reasons

https://github.com/return-of-modding/ReturnOfModding/blob/8cb0a6a7adaea4a382d915e97e09b394d8b09e2e/src/rorr/gm/Code_Execute_hook.hpp#L10
This hook might trigger way too much in certain situations
Investigate using asmjit for generating hook functions for only hooking things the user want to actual hook might be preferable.

Fixed in https://github.com/return-of-modding/ReturnOfModding/commit/1d8ee40fae205e69de0794344faae18a8085b5eb


"code": 401,   "message": "Invalid credentials."  while passing the jwt

Hey,
I'm currently trying to implement the JWT Authentication Bundle in my API Platform Project.
Everything has worked well so far, except that I'm unable to access my resources with a generated JWT Token.
I'm able to generate a JWT Token, when passing a username and a password to the backend.
But as soon as I'm trying to use this token I receive this 401 error.
The request is passed with http to the backend on my localhost, I also tried https.
I manually validated the jwt on jwt.io and everything seems to be fine with the token.
The API Platform project runs in a docker container.
If you need some further information, just let me know
Operating System: Mac OS
My security.yml
security:
    password_hashers:
        # use your user class name here
        App\Entity\User:
            # Use native password hasher, which auto-selects the best
            # possible hashing algorithm (starting from Symfony 5.3 this is "bcrypt")
            algorithm: auto
    encoders:
        App\Entity\User:
            algorithm: auto

    # https://symfony.com/doc/current/security/experimental_authenticators.html
    enable_authenticator_manager: true
    # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
    providers:
        # used to reload user from session & other features (e.g. switch_user)
        app_user_provider:
            entity:
                class: App\Entity\User
                property: email
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        public:
            methods: [POST]
            pattern: ^/user/create
            security: false
        login:
            methods: [POST]
            pattern: ^/authentication_token
            json_login:
                check_path: /authentication_token
                username_path: email
                password_path: password
                success_handler: lexik_jwt_authentication.handler.authentication_success
                failure_handler: lexik_jwt_authentication.handler.authentication_failure
        main:
            stateless: true
            # anonymous: true
            provider: app_user_provider
            guard:
                authenticators:
                     - lexik_jwt_authentication.jwt_token_authenticator

            # activate different ways to authenticate
            # https://symfony.com/doc/current/security.html#firewalls-authentication

            # https://symfony.com/doc/current/security/impersonating_user.html
            # switch_user: true

    # Easy way to control access for large sections of your site
    # Note: Only the *first* access control that matches will be used
    access_control:
        # - { path: ^/users, roles: PUBLIC, methods: [POST] }
        - { path: ^/docs, roles: IS_AUTHENTICATED_ANONYMOUSLY } # Allows accessing the Swagger UI
        - { path: ^/authentication_token, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/, roles: IS_AUTHENTICATED_FULLY }

api-platform.yml
api_platform:
    title: Hello API Platform
    version: 1.0.0
    mapping:
        paths: ['%kernel.project_dir%/src/Entity']
    patch_formats:
        json: ['application/merge-patch+json']
    swagger:
        versions: [3]
        api_keys:
            apiKey:
                name: Authorization
                type: header
    # Mercure integration, remove if unwanted
    mercure: ~
    # Good cache defaults for REST APIs
    defaults:
        stateless: true
        cache_headers:
            vary: ['Content-Type', 'Authorization', 'Origin']

Lexikon_jwt_authentication.yml
lexik_jwt_authentication:
    secret_key: '%env(resolve:JWT_SECRET_KEY)%'
    public_key: '%env(resolve:JWT_PUBLIC_KEY)%'
    pass_phrase: '%env(JWT_PASSPHRASE)%'

JwtDecorator.php
<?php
// api/src/OpenApi/JwtDecorator.php

declare(strict_types=1);

namespace App\OpenApi;

use ApiPlatform\Core\OpenApi\Factory\OpenApiFactoryInterface;
use ApiPlatform\Core\OpenApi\OpenApi;
use ApiPlatform\Core\OpenApi\Model;

final class JwtDecorator implements OpenApiFactoryInterface
{
    public function __construct(
        private OpenApiFactoryInterface $decorated
    ) {}

    public function __invoke(array $context = []): OpenApi
    {
        $openApi = ($this->decorated)($context);
        $schemas = $openApi->getComponents()->getSchemas();

        $schemas['Token'] = new \ArrayObject([
            'type' => 'object',
            'properties' => [
                'token' => [
                    'type' => 'string',
                    'readOnly' => true,
                ],
            ],
        ]);
        $schemas['Credentials'] = new \ArrayObject([
            'type' => 'object',
            'properties' => [
                'email' => [
                    'type' => 'string',
                    'example' =><EMAIL_ADDRESS>                ],
                'password' => [
                    'type' => 'string',
                    'example' => 'apassword',
                ],
            ],
        ]);

        $pathItem = new Model\PathItem(
            ref: 'JWT Token',
            post: new Model\Operation(
                operationId: 'postCredentialsItem',
                tags: ['Token'],
                responses: [
                    '200' => [
                        'description' => 'Get JWT token',
                        'content' => [
                            'application/json' => [
                                'schema' => [
                                    '$ref' => '#/components/schemas/Token',
                                ],
                            ],
                        ],
                    ],
                ],
                summary: 'Get JWT token to login.',
                requestBody: new Model\RequestBody(
                    description: 'Generate new JWT Token',
                    content: new \ArrayObject([
                        'application/json' => [
                            'schema' => [
                                '$ref' => '#/components/schemas/Credentials',
                            ],
                        ],
                    ]),
                ),
            ),
        );
        $openApi->getPaths()->addPath('/authentication_token', $pathItem);

        return $openApi;
    }
}

Maybe something wrong with your security.yaml? I see some old config that shouldn't appear in there since you have enable_authenticator_manager: true.
Is it ok to have password_hashers and encoders in the same config file (not sure about this tho)? I think you should remove the encoders and also the guard stuff.
How about change to the following config and try again?
https://github.com/lexik/LexikJWTAuthenticationBundle/blob/2.x/Resources/doc/index.md#configuration

Hey, thank you for trying to help :)
But sadly trying out the new config hasn't changed anything :/
I also noticed that when I make a request via the UI of the API platform I even get a 401 JWT not found, which is somehow also quite strange.

Despite the fact that I have inserted a token

This is the new security.yml:
security:
    enable_authenticator_manager: true
    # ...

    password_hashers:
        # use your user class name here
        App\Entity\User:
            # Use native password hasher, which auto-selects the best
            # possible hashing algorithm (starting from Symfony 5.3 this is "bcrypt")
            algorithm: auto
    # encoders:
    #     App\Entity\User:
    #         algorithm: auto
    providers:
        # used to reload user from session & other features (e.g. switch_user)
        app_user_provider:
            entity:
                class: App\Entity\User
                property: email
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        public:
            methods: [POST]
            pattern: ^/user/create
            security: false
        login:
            pattern: ^/authentication_token
            stateless: true
            json_login:
                check_path: /authentication_token
                username_path: email
                password_path: password
                success_handler: lexik_jwt_authentication.handler.authentication_success
                failure_handler: lexik_jwt_authentication.handler.authentication_failure

        api:
            pattern:   ^/
            stateless: true
            jwt: ~

    access_control:
        - { path: ^/authentication_token, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/docs, roles: IS_AUTHENTICATED_ANONYMOUSLY } # Allows accessing the Swagger UI
        - { path: ^/, roles: IS_AUTHENTICATED_FULLY }

Hey, sorry for the close/reopen, that's a misclick.
Are you using the apache webserver? If yes, check https://github.com/lexik/LexikJWTAuthenticationBundle/blob/2.x/Resources/doc/index.md#important-note-for-apache-users. Otherwise, please create and share an application with just enough code to reproduce the issue.

Hey, thank you for trying to help :)
But sadly trying out the new config hasn't changed anything :/
I also noticed that when I make a request via the UI of the API platform I even get a 401 JWT not found, which is somehow also quite strange.

Despite the fact that I have inserted a token

This is the new security.yml:
security:
    enable_authenticator_manager: true
    # ...

    password_hashers:
        # use your user class name here
        App\Entity\User:
            # Use native password hasher, which auto-selects the best
            # possible hashing algorithm (starting from Symfony 5.3 this is "bcrypt")
            algorithm: auto
    # encoders:
    #     App\Entity\User:
    #         algorithm: auto
    providers:
        # used to reload user from session & other features (e.g. switch_user)
        app_user_provider:
            entity:
                class: App\Entity\User
                property: email
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        public:
            methods: [POST]
            pattern: ^/user/create
            security: false
        login:
            pattern: ^/authentication_token
            stateless: true
            json_login:
                check_path: /authentication_token
                username_path: email
                password_path: password
                success_handler: lexik_jwt_authentication.handler.authentication_success
                failure_handler: lexik_jwt_authentication.handler.authentication_failure

        api:
            pattern:   ^/
            stateless: true
            jwt: ~

    access_control:
        - { path: ^/authentication_token, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/docs, roles: IS_AUTHENTICATED_ANONYMOUSLY } # Allows accessing the Swagger UI
        - { path: ^/, roles: IS_AUTHENTICATED_FULLY }

I see you didn't use bearer token when sending a request (maybe i'm wrong?). Try use bearer token instead of authentication header?

Hey, thank you for trying to help :)
But sadly trying out the new config hasn't changed anything :/
I also noticed that when I make a request via the UI of the API platform I even get a 401 JWT not found, which is somehow also quite strange.

Despite the fact that I have inserted a token

This is the new security.yml:
security:
    enable_authenticator_manager: true
    # ...

    password_hashers:
        # use your user class name here
        App\Entity\User:
            # Use native password hasher, which auto-selects the best
            # possible hashing algorithm (starting from Symfony 5.3 this is "bcrypt")
            algorithm: auto
    # encoders:
    #     App\Entity\User:
    #         algorithm: auto
    providers:
        # used to reload user from session & other features (e.g. switch_user)
        app_user_provider:
            entity:
                class: App\Entity\User
                property: email
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        public:
            methods: [POST]
            pattern: ^/user/create
            security: false
        login:
            pattern: ^/authentication_token
            stateless: true
            json_login:
                check_path: /authentication_token
                username_path: email
                password_path: password
                success_handler: lexik_jwt_authentication.handler.authentication_success
                failure_handler: lexik_jwt_authentication.handler.authentication_failure

        api:
            pattern:   ^/
            stateless: true
            jwt: ~

    access_control:
        - { path: ^/authentication_token, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/docs, roles: IS_AUTHENTICATED_ANONYMOUSLY } # Allows accessing the Swagger UI
        - { path: ^/, roles: IS_AUTHENTICATED_FULLY }

Are you using Bearer Token header? Cause i see you only have Authentication: <jwt> in your request but not Authentication: Bearer <jwt>.

I also noticed that the header in the Ui is not correct, so I always used Insomnia to set the header to authorzation bearer.
I use as the symfony server (PHP Server), so this should actually work

I also noticed that the header in the Ui is not correct, so I always used Insomnia to set the header to authorzation bearer.
I'm using the symfony server (PHP Server), so this should actually work

So it works now? Did you manage to find the source of the issue?

No unfortunately it still does not work and I still do not know why.
No idea, maybe it's because of the php server

No unfortunately it still does not work and I still do not know why.
No idea, maybe it's because of the php server

Have you try this if your server are using apache? You may compore require symfony/apache-pack, it will download .htaccess to your /public directory. Perhaps you can modify something there?
https://github.com/lexik/LexikJWTAuthenticationBundle/blob/2.x/Resources/doc/index.md#important-note-for-apache-users
I'm not sure if we can set it at .htaccess instead though.

To use the Symfony Apache-Pack doesn't seam to work either. I'll try to set up an Apache now and then try this again

Having absolutely the same issue. Used docker-compose config from api platform. Followed all their instructions from here. After passing correct creds i get token, but when I try make request with it i get 401 error. Checked token on jwt.io. It says everything is correct and signature is valid.

To use the Symfony Apache-Pack doesn't seam to work either. I'll try to set up an Apache now and then try this again

What's the status of your progress? Did you manage to authenticate?

To use the Symfony Apache-Pack doesn't seam to work either. I'll try to set up an Apache now and then try this again

What's the status of your progress? Did you manage successfully to authenticate?

Unfortunately I could not try anything else yet due to time constraints. But I will try out the suggested solutuion soon

To use the Symfony Apache-Pack doesn't seam to work either. I'll try to set up an Apache now and then try this again

What's the status of your progress? Did you manage successfully to authenticate?

Unfortunately I could not try anything else yet due to time constraints. But I will try out the suggested solutuion soon

And also like @furang  suggested, do remember to check your user identify that are use for authenticate.

Seems like the issue is solved as per https://github.com/lexik/LexikJWTAuthenticationBundle/issues/906#issuecomment-915974929.

user_identity_field: email

Thank you bro

I'm faced by the same issue : after generation of token LexikJWT bundle control access by username <==> email.
Of course is always false.
BUT the option 'user_identity_field' is deleted into last version (3.1)
Then, I found nothing solution for resolve this at this time with latest version.
And I wonder if I need to act with token generation or after control access with this token ? And how ?
Nothing information about deleting this option unfortunately.


Fix failure to create gRPC isvc when specifying multiple ContainerPorts

Signed-off-by: Andrews Arokiam<EMAIL_ADDRESS>
What this PR does / why we need it:
Made changes to copy ports in service reconciler to target service.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #2376
Type of changes
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

Feature/Issue validation/testing:

Logs

Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Checklist:

[ ] Have you added unit/e2e tests that prove your fix is effective or that this feature works?

Release note:

NONE

/lgtm
/approve


instance field added to prometheus metrics

Which issue(s) this PR fixes:
this pr solve issue #532  .
What this PR does / why we need it:
This PR exposes instance field on exported prometheus metrics. We need it to collect the metrics from external Prometheus and create alerting rules with more information about on which instance there is a problem affecting the node.
Special notes for your reviewer:
None.

just signed the sla

/assign @xueweiz

Not quite familiar with Prometheus. When collecting the metrics from a specific node, you already know where they come from, is it possible to attach some information during that?

@Random-Liu This PR actually does that. Usually exporters export metrics with additional instance field, so you can know which metric came from which instance when you collected them to Prometheus.

@Random-Liu my previous answer was completely wrong, sorry for the wrong information. After i have collected exporter metrics from prometheus-operator, i have noticed that prometheus adds metadata tags as you mentioned earlier. So this PR is not neccessary at all.

My mistake, this PR still needed because without this PR, exporter exports metrics in the below format:
problem_gauge{container="node-problem-detector", endpoint="exporter", instance="<IP_ADDRESS>:20257", job="node-problem-detector", namespace="node-problem-detector", pod="node-problem-detector-fbzjc", reason="AUFSUmountHung", service="node-problem-detector", type="KernelDeadlock"}

instance field here is the ip address of the pod, so we need the ip address of the node.

@xueweiz hey! Could you review that PR, this enhancement will make our life easier.

/assign @wangzhen127

@wangzhen127 @xueweiz @Random-Liu did you take a chance to review the code changes?

/assign @Random-Liu

/ok-to-test

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/retest

@vteratipally @Random-Liu The problem was i forgot to change e2e tests. I have noticed that tests were failing because current e2e tests were looking for some metric like below:
problem_gauge{reason="AUFSUmountHung",type="KernelDeadlock"}

But with the update of updated code, new exporter exports the metrics like below:
problem_gauge{instance="localhost",reason="AUFSUmountHung",type="KernelDeadlock"}

It was hard to debug the problem so i had messed up the git history a little bit. I did some modifications on current e2e tests but somehow i could not make it pass the pull-npd-e2e-test phase so i give up for now. Somehow pull-npd-e2e-test still fails but i do not think it's about current e2e tests, it looks like a network problem.
I would appreciate if anyone else can implement that pull request.

/test pull-npd-e2e-test

/test pull-npd-e2e-test

/test pull-npd-e2e-test

/retest - final try

/retest

@vteratipally awkward logs again and again. I also have asked for help on Slack.

I have tested the patch locally as well, not sure why this is still failing. Seems fine on my end

It's really weird problem i guess. I can not find anything about the real problem but somehow it looks like the problem is not about the code as you mentioned. There is no logical explanation that 3 tests are passing and 2 tests are failing, sadly logs of the failing tests are not addressing anything about the patched code.

could you please squash all the commits.

the test failed because of the build error. Might have missed some of the changed code during rebase,

@vteratipally yes, on the rebased code i have missed the refactor newly added test file, should be fixed with the last commit :+1:

@vteratipally stuck at the same place, not so surprised :) Is there a way to increase ssh connection timeout, perhaps it may help.

/test pull-npd-e2e-test

https://github.com/kubernetes/node-problem-detector/blob/master/test/e2e/lib/ssh/ssh.go  this is the file they use it for ssh tests

@vteratipally thanks for the help. But npd uses k8s.io/kubernetes/pkg/ssh as ssh library and ssh dial timeout set in right here. I think there is no way to override that timeout value in node problem detector.

/test pull-npd-e2e-test

I have created that issue on https://github.com/kubernetes/kubernetes and someone opened that PR.  After that PR merged, i will be able to debug by increasing ssh timeout.

/test pull-npd-e2e-test

there is a discussion about the ssh package usage in here. Hope that it will solve the problem.

/test pull-npd-e2e-test

@Random-Liu sorry for the late answer. We also thought about that method but running a pod with hostNetwork is not a very secure method. I guess exposing the instance node ip address is more secure and best practice in that case.  By the way currently we are running our node-problem-detector deployments with hostNetwork but other approach would be great.

/close


Create localized versions of the page on the same position in the menu as original version is

Fix: https://github.com/dnnsoftware/Dnn.Platform/issues/2568

@alexnaurea Any update on the comment above?


New package: BeagleSoftware.BeTL version 0.1.0

Pull request has been created with komac v2.6.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

@microsoft-github-policy-service agree

@microsoft-github-policy-service agree

Can authors approve this pull request?

I don't know what's the matter. Because I can install it successfully


Leading slash in absolute paths is missing

I just had an option to use the LSP version of this plugin. (This is awesome btw!)
I have an issue in which when using a full path for cscope.files the leading "/" is missing and navigation
does not work anymore.
I.E: /home/<user>/... becomes home/<user>/...
This is easily fixed by using a relative path instead.
Still, I thought it is worth mentioning.
10x for the hard work!

Hey @xdavidel
I have uploaded fix. Please check.

Looks OK to me! 10x


Superset-4.1.1 : Not able to see download to CSV option in Superset UI.

Bug description
In Superset-4.1.1
After running a query and getting results I am not able to find the option of download_to_csv in the SQL-Lab UI.
Screenshots/recordings

Superset version
master / latest-dev
Python version
3.11
Node version
16
Browser
Chrome
Additional context
No response
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

@rabindragogoi We found a similar problem when upgrading and noticed that the SQLLab permission name was Sqllab in our database and the migrations didn't fix that. I'm assuming someone renamed the permission making some letters uppercase but didn't add a migration for it. We manually changed the name of the permission in the database.
Pinging @betodealmeida @villebro @eschutho @sadpandajoe for awareness.

Looking at that permissions file, there is a mix of SQLLab and SQL Lab, should we look into a migration to fix this for everyone as part of 5.0?

@sadpandajoe , @michael-s-molina : Could you please let me know if there will there be a fix to this issue?

@sadpandajoe , @michael-s-molina : Could you please let me know if there will be a fix to this issue?

@rabindragogoi there isn't currently an official fix. @michael-s-molina mentioned that you may want to update the rule to match what is in your database. Maybe someone will have time to work on this

Wanted to expand on michael-s-molina answer https://github.com/apache/superset/issues/31395#issuecomment-2535793154  on an unofficial fix that worked for me which may help determining the official fix.
I went into my metadata database (MYSQL) and looked into the ab_view_menu table to find the entry that says "SqlLab". There's two it seems, one for "SqlLab" and one for "SQL Lab", make sure to find the one that is labeled "SqlLab".
Update that entry to be "SQLLab" which for me was running the following MYSQL query:
Update ab_view_menu set name="SQLLab" where id=35 \g in my case the id corresponding to "SqlLab" was 35
then do a full restart of the superset application.


FollowEvent is not recorded

I was trying to query FollowEvent from daily data set:
SELECT count(*) FROM [githubarchive:day.events_20150101]
WHERE type='FollowEvent';

But it always gives 0. I couldn't find this event in the response from http://data.githubarchive.org/2015-01-01-15.json.gz
Is it missing?

Doh, I just read GitHub's documentation second time and noticed that these events are no longer created. So there is no problem with Github Archive


The container console in Kubernetes doesn't use the full width or height of the browser window

Before you start please confirm the following.

[X] Yes, I've searched similar issues on GitHub.
[X] Yes, I've checked whether this issue is covered in the Portainer documentation or knowledge base.

Problem Description
The terminal wraps at around 80 chars.
The height is much shorter than the height of the browser window.
The width is significantly larger than 80 chars
Expected Behavior
Ideally the size should be the size of the window.
Actual Behavior
It's smaller than the window and wraps
Steps to Reproduce

Kick off a container such as alpine and run /bin/sh
Open the terminal

Portainer logs or screenshots

Portainer version
2.21.1
Portainer Edition
Community Edition (CE)
Platform and Version
Docker Desktop with Kubernetes 1.3x
OS and Architecture
Windows + WSL
Browser
Firefox
What command did you use to deploy Portainer?
Standard

Additional Information
This is I think a known bug but I couldn't find it, and I know it isn't easy to fix (certainly not in 2.21).
With recent changes in 2.22 it might now be possible to get this working a whole lot easier.

@Nick-Portainer  In addition.  The same container console under docker vs the container running inside kubernetes (via kind).  Has colour and automatically resizes.   So it should be just a matter of bringing the same changes from docker to the kube console.   Please add the colour! that would be amazing!  Piece of cake for @aliharriss I suspect.


Extract from CLI the name -> DNS provider mapping

This avoids duplication of this mapping in lib clients
Ex : https://github.com/containous/traefik/pull/738#issuecomment-258810469

Agreed - exposing this has got to make referencing code simpler.

@xenolf : I resolved the conflict.
No specific reason to use exoscale, I wanted to test one provider.
Do you want to extend the coverage for each provider ?


Use task.IsCompletedSuccessfully rather than ReferenceEquals

As ASP.NET Core now targets .NET Core it can use task.IsCompletedSuccessfully; this is preferable to comparing to Task.CompletedTask as an async method uses a different completed task than Task.CompletedTask so it will catch more instances.
Also will make @stephentoub happier 😄

so it will catch more instances

Including asynchronously completing operations that then complete fast enough that they're complete by the time the check happens.

Much better,

Rebased


Ruby hello world example

Simple hello world app
Readme

I signed it!
On Thu, Nov 30, 2017 at 6:14 PM, googlebot<EMAIL_ADDRESS>wrote:

Thanks for your pull request. It looks like this may be your first
contribution to a Google open source project. Before we can look at your
pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/
https://cla.developers.google.com/ to sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll
verify. Thanks.

If you've already signed a CLA, it's possible we don't have your
GitHub username or you're using a different email address. Check your
existing CLA data https://cla.developers.google.com/clas and verify
that your email is set on your git commits
https://help.github.com/articles/setting-your-email-in-git/.
If your company signed a CLA, they designated a Point of Contact who
decides which employees are authorized to participate. You may need to
contact the Point of Contact for your company and ask to be added to the
group of authorized contributors. If you don't know who your Point of
Contact is, direct the project maintainer to go/cla#troubleshoot.
In order to pass this check, please resolve this problem and have
the pull request author add another comment and the bot will run again.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/cloud-bigtable-examples/pull/268#issuecomment-348177901,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGsvIC25Rx9BgIbwwX5a9KChZqxIDEFks5s7qMngaJpZM4QwftY
.

--
Regards
Jiren
In a day, when you don't come across problems You can be sure that you are
traveling in a wrong path.

It looks great.  We should keep this pull request around so that we can point people to it.  I think that we should merge this once the Ruby client is more feature rich.
Thanks!

@jiren, can you please redo this with the new client in the google-cloud-ruby repo?


stdenv: export minimum bash version for Nix

Relates to https://github.com/NixOS/nix/issues/10263 and #296936
This will help external tools (Nix and direnv for now) perform the same version check setup.sh is already doing when building.
Description of changes
setup.sh now exports a new variable NIX_ENV_MIN_BASH_VERSION with the value 4. This is the single source of truth now.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Converted to draft until Nix Team makes a decision on https://github.com/NixOS/nix/issues/10263.

Hmm, the main issue I see with this is how to keep that variable in sync with the check that setup.sh does itself, otherwise you'd run the risk of a future change silently breaking this feature again if we forget that the value is defined in two places.
We currently don't substitute any part of setup.sh (by default) AFAICT, the way to bring data in to that script is via environment variables, at which point the namespace pollution isn't solved at all. Doing string substitution on setup.sh is potentially possible, but that seems to make the whole thing a lot more complicated than it needs to be.

Hmm, the main issue I see with this is how to keep that variable in sync with the check that setup.sh does itself, otherwise you'd run the risk of a future change silently breaking this feature again if we forget that the value is defined in two places.

Erk, right :/
Let's forget about it then


issue1

mention H-Farm in the project Readme

fixed in https://github.com/MariaElenaCanonico/example-repo/commit/bf08a7ba510a1448f6eedd9a62b8cdf93e8f1a72


Firefox Add-on

I really miss a Firefox add-on that works like the Chrome extension.
I poked into it and got it running fairly easy. I had to add the following to the manifest.json:
{
    "applications": {
        "gecko": {
            "id"<EMAIL_ADDRESS>            "strict_min_version": "57.0"
        }
    }
}

I don't know if this is compatible with the Chrome extension.. I haven't tested it yet and I'm not very familiar with webextensions.
What I did for this "proof of concept"
I found this site useful: https://www.darrenlester.com/blog/porting-chrome-extension-to-firefox

I used Extension Compatibility Tester for Firefox to check if there is a general problem.
Downloaded and extracted Chrome extension .crx
I added an ID to the manifest.json (see above)
I zipped the files
I loaded it as a temporary add-on using: about:debugging#/runtime/this-firefox (this only works in Developer Edition, nightly, etc.)
It worked, but the editor itself didn't load. I had to allow cookies for https://stackedit.io/ which did the trick.

What's left is to submit the Add-on For Review on https://addons.mozilla.org/ (AMO). UPDATE: just did this, see comments.
I'd like to understand if there is a way to include building StackEdit FF add-on as part of this repository and if you want to publish it on AMO.

In case someone wants to test-driving the Firefox version, I signed it via AMO for self-distribution.
stackedit_markdown_extension-1.0.4-fx.xpi.zip
ALLOW COOKIES FOR https://stackedit.io/ otherwise it will not work.

A signed extension can be installed in standard Firefox (no developer edition, nightly, etc needed).
It is not available on https://addons.mozilla.org/ yet because I chose not to publish it there. Use the attached file to install the extension.

I love this! I know this is a pretty old project, @benweet and @etoulas, but do either of you know if/how this could be made into a userscript, so it would be browser-agnostic?

Great idea to make it a userscript. I don't have a lot of experience with that though.
I'm assuming you need to import the stackedit package and then iterate through all textareas and add the stackedit button them. That's very rough but I'd start from there.


wasysym doesn't find font

when compiling pep_mitgliedsantrag.tex Lua generates:
!LuaTeX error: cannot open Type 1 font file for reading (wasy10.pfb)
 ==> Fatal error occurred, no output PDF file produced!

I think there is a font missing...
It seems that it isn't installed with the standard TeX-files

Both the package and the font are definetly long time members of TeX Live and miktex.
See:
https://www.ctan.org/pkg/wasysym
https://www.ctan.org/pkg/wasy2
If you have not full install of TeX Live you can install those packages with tlmgr:
tlmgr install wasy2
tlmgr install wasysym


SOL-55618: remove non-GA feature samples

Temporarily removing the samples as the features are not GA yet:

HowToUseCachedMessageSubscriptions.java
HowToUseLocalTransactions.java
HowToUseRequestReplyPattern.java

LGTM! We can merge when we remove the references to these files from https://github.com/SolaceDev/solace-dev-tutorials/blob/master/src/pages/tutorials/java/_howtos.yml

Note: do they want the code removed or will it just be added in another branch for when these features are added?

Sorry!  I should have mentioned:

those 3 samples have been backed up, and are also still available in SolaceDev original GH repo
the tutorials listing has been updated to, those 3 removed: https://github.com/SolaceDev/solace-dev-tutorials/commit/1c3ee7dd9222c5113b69a24f8899a45300acea1d#diff-bd4db656e4190a8bcdd90b62897e97d3304b3c5ba511b29bd4c62cbd33351f35

Thanks Aaron, merging 👍


New Process supporting Data Identification

If there exists a back end that persists input data of jobs and provides an data identifier, it would be nice to have a process to automatically get the same input data as in a job before. Whereas I define data in this context as the collection identifier and all filter operations on it.
So if a back end provides an data identifier (something like doi), the user can call
e.g. "load_persisted_data" with the "doi" identifier as input and gets the same data as the original job, without having to look into the filter operations or having to extract only the filtering operations from a shared process graph. It then replaces the "load_collection" and the filter processes of the graph.

I think this can be solved with either the new load_collection (with the new filter callback filtering on 'sci:doi') or find_collection (similar to load_collection) or load_result (with the job id as parameter). I don't think it's very good to have specialized processes for such specialized things. I don't think (tell me if I'm wrong) many providers will persist data with DOIs.

How's the procedure? is the persisted data a collection or a user job? If it's a collection at the back-end then load_collection with a filter on sci:doi is the easiest solution. This is now possible directly in load_collection. If it's a job result then you can only load it by job id at the moment as we haven't yet defined details about job results. But I'd like to store it with STAC metadata and then you could also add a filter option to load_results in future. But I think that's a very specialized case which is better solved by a filter, otherwise people would always want convenience functions for all their special tasks.

This was just about a data collection at the back end, so I think a filter by doi would be perfectly fine in this case an I think also intuitive.  load_result sounds also nice, this would make it easy to validate reproductions.

I implemented something similar (an extension of the get_collection process) at the EODC back end in an test instance and I think, if this goes into the next version, EODC and I can implement it, so that we have some kind of "proof of concept" to show.

Have you looked into the new load_collection (there's no get_collection in the next API version). It allows filtering directly when loading a collection. This is also discussed in todays telco, so maybe we can better discuss afterwards. How's your JSON definition of your new process?

Yes I looked into it and I think this basically can be used by my current solution at the EODC test instance, by simply adding the filter expression as you suggested before.
My JSON definition just the same as get_collection from version 0.3.1
but with an additional filter for the data identifier doi:
"dataid": {
"description": "Filter by data identifier.",
"schema": {
"type": "string",
"examples": [
"doi:10.1038/eodc1170"
]
}
}

Oh, I just realized that load_collection only works for loading a subset of data from a collection.
The process you'd need to use is find_collection with the same callback as specified above:
get_collection(first(find_collection(callback)))

What's the ToDo here? I think solving #104 will make this usable...


feat: enable to add trusted_profile_ids as access group members

Description
Enable to add trusted_profile_ids as access group members
Issue: #10179

Release required?

[ ] No release
[ ] Patch release (x.x.X)
[x] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content
Enable to add trusted_profile_ids as access group members

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

can we be consistent with the default values. Some are [] and some are null

@ocofaigh Referred some of the other modules and found that generally the default values used for
string - null
list - []
map - {}
It is being used in the same way in this module too. So it can be considered as consistent.
Let me know if we still think to make changes... Thanks.

@maheshwarishikha I meant consistent within this module. admin_observability_ag_trusted_profile_ids has a default value of [], yet all others have null. Suggest to also set that one to null to match the others

/run pipeline

/run pipeline

:tada: This issue has been resolved in version 1.3.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add ANS poster to website

Hi @jbae11, Please add your ANS poster to this website. This issue can be closed when the PR has been merged.

closed with #107


add data filter to osdsctl

What this PR does / why we need it:
Which issue this PR fixes (optional, in (, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #294
Special notes for your reviewer:
Release note:

Coverage increased (+3.8%) to 62.276% when pulling 51529f5abf9da8b476bbbd594cc85377814b40a7 on lasshpanzer:cli_filter into bbd209262e35f116a0200febf3803fe47c40c673 on opensds:development.

Because this patch will have impact on Client package, so we need to have a detailed discussion.


5.3.29 Wont Install on OSX El Cap

Output
Error: Make failed:
The last 5 lines in the log file:
ext/intl/intl_convert.h:28:6: note: candidate function not viable: no known conversion from 'const char16_t *' to 'const UChar *' (aka 'const int *') for 3rd argument

void intl_convert_utf16_to_utf8(
     ^

2 warnings and 8 errors generated.

make: *** [ext/intl/msgformat/msgformat_helpers.lo] Error 1

Expected Result
Congratulations! Now you have PHP with 5.3.29 as php-5.3.29

Command
phpbrew install 5.3.29 +default +openssl +intl +fpm

Build Log
Build Log Gist
Platform
OS: OS X 10.11.6
Running PHP: 5.5.38
Installing PHP: 5.3.29
Other Notes
I've already successfully installed 7.1.9, 7.0.12, and 5.6.31

phpbrew compiles php from the souce. I guess some header files (which php depends on) are too new for the old php.

Where can I start looking regarding the header files? I'd like to see if I can find a workaround or fix for this, but I dont even know where to begin looking

@sheanhoxie Take a look at issue #899, it is probably a problem with a breaking change in icu4c version 59.* - meaning you want the previous version installed to compile PHP.
I don't know if the following will work for you, but you should do something like this:
$ echo "Unlinks bad icu4c ... " && brew unlink icu4c
$ echo  "Installs good icu4c along existing one" && brew install --force https://raw.githubusercontent.com/ilovezfs/homebrew-core/d2485c72643aa7e6aec0da9ced3aa66401ae42ce/Formula/icu4c.rb
$ [[ 2 -eq "$(brew info icu4c | grep Cellar | grep 58 | wc -l)" ]] && echo "Success" || echo "Failure"
$ echo "Your install command ..."
$ phpbrew install 5.3.29 +default +openssl +intl +fpm -- --with-icu-dir=/usr/local/Cellar/icu4c/58.2/

@augustohp Thanks for the help. Unfortunately it didnt work. Here's my logs in case that helps
Errors
.phpbrew/build/php-5.3.29/Zend/zend_language_parser.y:48.1-5: invalid directive: `%code'
.phpbrew/build/php-5.3.29/Zend/zend_language_parser.y:48.7-14: syntax error, unexpected identifier
make: *** [.phpbrew/build/php-5.3.29/Zend/zend_language_parser.c] Error 1
Gist of build.log

@sheanhoxie Did you ever get 5.3.29 installed?

@steveoliver No, trying to get the environment setup using Docker atm

Can we apply the same fix to phpbrew that was applied to fix  https://github.com/Homebrew/homebrew-php/issues/4383


Could not launch the spyder3 in terminal command.

Issue Report Checklist

[x] Reproduced the issue after updating with pip-review --local --interactive
[x] Could not open the sypder3

Problem Description
After the pip-review --local --interactive command has been done, the sypder3 could not launch.
What is the expected output? What do you see instead?
Paste Traceback/Error Below (if applicable)

PASTE TRACEBACK HERE

Message form MacOS:
Traceback (most recent call last):
  File "/usr/local/bin/spyder3", line 10, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.7/site-packages/spyder/app/start.py", line 178, in main
    from spyder.app import mainwindow
  File "/usr/local/lib/python3.7/site-packages/spyder/app/mainwindow.py", line 49, in <module>
    requirements.check_spyder_kernels()
  File "/usr/local/lib/python3.7/site-packages/spyder/requirements.py", line 66, in check_spyder_kernels
    % actual_ver)
  File "/usr/local/lib/python3.7/site-packages/spyder/requirements.py", line 24, in show_warning
    raise RuntimeError(message)
RuntimeError: Please check Spyder installation requirements:
spyder-kernels < 1.0 is required (found 1.5.0).

Message form Windows:
ERROR: spyder 3.3.6 has requirement pyqt5<5.13; python_version >= "3", but you'll have pyqt5 5.13.1 which is incompatible.
ERROR: spyder 3.3.6 has requirement pyqtwebengine<5.13; python_version >= "3", but you'll have pyqtwebengine 5.13.1 which is incompatible.
ERROR: spyder 3.3.6 has requirement spyder-kernels<1.0,>=0.5.0, but you'll have spyder-kernels 1.5.0 which is incompatible.

Versions

Spyder version: 3.3.6
Spyder-kernels: 1.5.0
Python version: 3.7.4
PyQt version: 5.13.1
Operating System name/version: MacOS 10.14.6 & Microsoft Windows [Version 10.0.18362.356]

ERROR: spyder 3.3.6 has requirement pyqt5<5.13; python_version >= "3", but you'll have pyqt5 5.13.1 which is incompatible.
ERROR: spyder 3.3.6 has requirement pyqtwebengine<5.13; python_version >= "3", but you'll have pyqtwebengine 5.13.1 which is incompatible.
ERROR: spyder 3.3.6 has requirement spyder-kernels<1.0,>=0.5.0, but you'll have spyder-kernels 1.5.0 which is incompatible.

Please read the messages, I think they are clear enough. You need to manually fix the versions of the packages mentioned above for things to work correctly.


🐞 [Bug]:Farmerbot fails to start fully  due to an RMB communication error.

What happened?
Farm ID : 195
The client reported that his Nodes managed by Farmerbot did not shut down.
Upon reviewing the log file, we found that the farmerbot was not starting up due to the following error:
8:20AM DBG failed to read message error="websocket: close 1006 (abnormal closure): unexpected EOF"
8:20AM DBG connecting url=wss://relay.grid.tf

Some additional notes by @scottyeager:

I checked the log file. The core thing here is that the bot never fully starts up. That is indeed due to the failure of RMB communication associated with this error
We see on each attempt of the bot to start that it adds one node successfully using the same RMB relay before failing repeatedly on the second node. So there is some successful RMB communication happening
I also checked on the rate limiting implementation for RMB. It looks like it only drops messages with an error, it isn't supposed to drop connections entirely if the user tries to send too many messages

Log File :
farmerbot_16enuun.log
which network/s did you face the problem on?
Main
Twin ID/s
No response
Version
No response
Node ID/s
626, 548, 547(Offline currently)  - 3038(Online)
Farm ID/s
195
Contract ID/s
No response
Relevant log output
Config File

farm_id: 195
never_shutdown_nodes:
  - 626
power:
  periodic_wake_up_start: 09:00AM
  periodic_wake_up_limit: 3

You should make sure the nodes are healthy and working before adding them to the farmerbot,

@rawdaGastan : There is a more recent report from a second farmer (farmID_250), about the same error lines in the logs he obtained.
farmer@bot:~/farmerbot$ tail -n 50 farmerbot.log
2024/11/18 14:08:47 Connecting to wss://tfchain.grid.tf:443...
2:08PM INF starting peer session=farmerbot-rpc-250 twin=826
2:08PM DBG connecting url=wss://tfchain.grid.tf/ws
2024/11/18 14:08:49 Connecting to wss://tfchain.grid.tf/ws...
2:08PM DBG connecting url=wss://relay.grid.tf
2:08PM DBG Add node nodeID=3736
2:08PM DBG failed to read message error="websocket: close 1006 (abnormal closure ): unexpected EOF"
2:08PM DBG connecting url=wss://relay.grid.tf
2:08PM DBG Add node nodeID=4746
2:08PM DBG failed to read message error="websocket: close 1006 (abnormal closure ): unexpected EOF"

All of the nodes included in this config are currently up in the dashboard, so we can possibly rule out the suspicion of the nodes being unhealthy before being added to the farmerbot. Also, the --continue-power-on-error is already included in the script that was used to set up.
farm_id: 250
included_nodes:

565
3736
6026
4746
4961
5262
4458
5985
3763
never_shutdown_nodes:
565
power:
periodic_wake_up_start: 09:00AM

You can try to use --continue-power-on-error flag

We are advising all farmers to use this flag, but it doesn't seem to help in every case. Aside from the EOF error above, regular timeouts while trying to reach powered off nodes also seem to block the bot from starting, for example:
error :
9:13PM FTL error="failed to add node with id 2950 with error: failed to get node 2950 statistics from rmb with error: context deadline exceeded"

@rawdaGastan, can you clarify the expected behavior with --continue-power-on-error?

this flag --continue-power-on-error allows the farmerbot to continue updating nodes and managing them even some nodes have errors in RMB connection. Otherwise farmerbot won't be able to start if the flag is not set and some nodes have issues with RMB
It is expected that nodes cannot communicate through RMB when they are offline.

this flag --continue-power-on-error allows the farmerbot to continue updating nodes and managing them even some nodes have errors in RMB connection. Otherwise farmerbot won't be able to start if the flag is not set and some nodes have issues with RMB

This matches what we expected. The thing then is that we are seeing various cases where the bot does not start due to RMB error, despite the --continue-power-on-error flag being passed. So that's why I was trying to clarify if there's still some case that should cause the bot to refuse to start due to RMB failures with the flag present.

It is expected that nodes cannot communicate through RMB when they are offline.

These errors are coming from online nodes. I'm also not sure what the severity of these errors is. I did some searching regarding EOF error for websockets and found this:

The error indicates that the peer closed the connection without sending a close message. The RFC calls this "abnormal closure", but the error is normal to receive.

But I also found some different suggestions about adjusting timeouts over reverse proxies, etc. So I guess it would also be good to clarify if this EOF error is something that we should be concerned with addressing.

There are multiple farmers reporting the same rmb issue including the earlier farmid_250. Please see the snippets of logs below:
.
Farmid_3148


Fix High availability Kubernetes diagram image link error

Signed-off-by: Yuanbin.Chen<EMAIL_ADDRESS>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For 1.11 Features: set Milestone to 1.11 and Base Branch to release-1.11
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
NOTE: After opening the PR, please un-check and re-check the "Allow edits from maintainers" box so that maintainers can work on your patch and speed up the review process. This is a temporary workaround to address a known issue with GitHub.>
Please delete this note before submitting the pull request.

Wait for approve

@zacharysarah
Thanks,  Change done!

@tengqm
Change done!

/lgtm

@chenyb4 the image still does not appear in the Netlify preview. Reviewers (and contributors), please check the Netlify preview before your reviews. Just looking at the markdown changes is not sufficient. I'm not sure what the problem is -- the path looks correct. Try the .png file instead? If we can't get a reliable fix in, we'll have to think about removing until we can solve the problem.
/lgtm cancel

/hold

@Bradamant3 could be a Netlify issue?
the image can be seen using the Github Markdown:
https://github.com/chenyb4/website/blob/a174325b23b1c9672d24e774d7db41d5def8c110/content/en/docs/admin/high-availability/building.md

@Bradamant3
Markdown see right.
https://github.com/chenyb4/website/blob/a174325b23b1c9672d24e774d7db41d5def8c110/content/en/docs/admin/high-availability/building.md

Direct link to Netlify preview page: https://deploy-preview-8795--kubernetes-io-master-staging.netlify.com/docs/admin/high-availability/building/

It looks my change error.
The k8s doc web display right.
https://kubernetes.io/docs/admin/high-availability/building/
This PR will close.

/close


Every (11) mention of "E5" is too vague here

Hello,
There are 11 occurrences of the term "E5" here.  It doesn't clarify if Office 365 E5 is the key ingredient or if EMS E5 would be enough.  It's a fair thing to wonder but it shouldn't need to be a wonder, it should be made nice and clear.
Please confirm exactly which E5 product is required.  Same goes for any mentions of the term "E3".  Since Microsoft offers several different E3 products and E5 products, it is merited to be more thorough here.
Thanks.

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

ID: b1aac99b-5c65-74d3-7610-b7ba4fcac493
Version Independent ID: a0b2ab87-7d52-3429-630e-6b7a316b5f23
Content: Manage mailbox auditing - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/enable-mailbox-auditing.md
Service: o365-seccomp
GitHub Login: @chrisda
Microsoft Alias: chrisda

@JeremyTBradshaw, I can see your point. Technically, it's the Advanced Audit feature that makes everything happen. Licenses that include Advanced Audit are described here.
I changed the first reference of E5 to say this:

By default, only mailbox audit events for users with licenses that include the Advanced Audit feature are available in audit log searches in the Microsoft 365 compliance center or via the Office 365 Management Activity API. These licenses are described here. For brevity, this article will collectively refer to licenses that include Advanced Audit as E5/A5/G5 licenses.

I then changed the remaining references from E5 and/or E5 Compliance add-on to E5/A5/G5.
Updates should be visible W 4/13 ~ 4:00 PDT.
OK?

Hi @chrisda , yes that looks perfect. Thank you as always, and sorry to keep raising issues that you are the one who has to deal with them.

Cool.
Thanks for the feedback.
Closing

@chrisda It seems like the article still only reference "E5" and not specifically which E5. Was the update not pushed to docs.microsoft.com?


executor: add Pender, rework Cargo features.

This introduces a Pender struct with enum cases for thread-mode, interrupt-mode and
custom callback executors. This avoids calls through function pointers when using only
the thread or interrupt executors. Faster, and friendlier to cargo-call-stack.
embassy-executor now has arch-xxx Cargo features to select the arch and to enable
the builtin executors (thread and interrupt).

bors r+

bors r+

This introduces a Pender struct with enum cases for thread-mode, interrupt-mode and custom callback executors. This avoids calls through function pointers when using only the thread or interrupt executors.

Very happy to see this abstraction, for a year or so now in my async-executor, which is loosely based on the embassy one, and uses my own preemptive scheduler I've had this:
impl Executor {
    pub fn new(on_idle_fn: OnIdleFn, on_enqueue_fn: OnEnqueueFn) -> Self {...}
}

and in threads:
        fn on_enqueue_fn(_executor: Pin<&Executor>, _task: &mut TaskHeader) -> () {
            Scheduler::wake(thread_handle());
        }

        fn on_idle_fn(executor: Pin<&Executor>) -> () {
            critical_section::with(|cs| {
                if executor.is_idle() {
                    match executor.next_deadline() {
                        Some(deadline) => Scheduler::suspend_until_cs(cs, deadline),
                        None => Scheduler::suspend_immediately_cs(cs),
                    }
                }
            });
        }

Of note, waking a thread is one thing, telling the pre-emptive scheduler when there's no work to do in another thing for which you might also want to consider a similar abstraction, perhaps Idler, thoughts?

telling the pre-emptive scheduler when there's no work to do in another thing for which you might also want to consider a similar abstraction, perhaps Idler, thoughts?

Not sure if I understand the purpose? but: embassy's raw executor handles "no work to do" by returning from poll(), so user code can do whatever. There's no need to pass an object into the executor to tell it what to do on idle.

Not sure if I understand the purpose?  but: embassy's raw executor handles "no work to do" by returning from poll(), so user code can do whatever. There's no need to pass an object into the executor to tell it what to do on idle.

The purpose of on_idle_fn it in my system is so that a pre-emptive scheduler can sleep the thread and pend a context switch, the waking of threads needs to be co-ordinated with the waking of tasks (the deadline/expiry) because the 'alarm' code is in the pre-emptive scheduler.
Yes, you're right in embassy the 'poll()' method returns when there's no work to - the loop exits if there are no queued tasks, I guess in the embassy code-base there might not be a need for an Idler.  Carry on! 😄


API to return past actions of a user

I there currently a way to return the past actions of a specific user?

It's all good, I found this file that explains that it's a GET request to /users/{userId}/actions.
But this should probably be in the docs somewhere.

Yes. Thanks. We will plan to add this.


Some more topic ideas

https://profiler.firefox.com/ is a very nice tool for visualizing and sharing perf profiles.
https://deterministic.space/high-performance-rust.html seems to have some tips that aren't included in the book, like -C target-cpu=native, codegen-units, using a different allocator, etc...

Thanks for the suggestions.
I have added Firefox Profiler to the profilers section. I plan to include the things you mentioned from the high-performance-rust post, but I will do it separately from this issue because it's a bigger piece.


New iSpindel icon

I whipped this up if you want to integrate it. It was bothering me that the iSpindel icon doesn't look as nice as the others and reminded me of a suppository. ;)
If you want some changes, just let me know or feel free to bin it if you don't like it. No feelings hurt.
iSpindel.svg.zip

Love this @sickchilly 🥇
Just as is it is more aligned with what the other SVG equipment icons are! I'll look at adding it to my local server and see how it looks next to the others and let you know if there should be any modifications made to it.

big improvement over the existing "pill"/"suppository" shaped icon IMO

@sickchilly could you edit the SVG to remove the inherit padding around the icon? This way it isn't shrunk as much to fit the space?
Similar to the zseries.svg where there isn't an obvious padding around the outside?

I think this will do that. Looks like Illustrator included the artboard dimensions the first time.
iSpindel_v02.svg.zip

Ah that makes sense, much better next to everything else... after I changed to force a max-height given the narrower width of the image.

otherwise it just is too gigantic 🤣


Tor munin graphs are not shown

Hi,
I have followed the instructions step by step. Yet the graphs are not shown on the webpage.
After connecting to munin-node cli I can clearly see that the data collecting, as far as I can say, works fine:
telnet localhost 4949
Trying ::1...
Connected to localhost.
Escape character is '^]'.
munin node at localhost.localdomain
list
cpu df df_inode entropy forks fw_conntrack fw_forwarded_local fw_packets if_err_eth0 if_eth0 interrupts irqstats load memory netstat ntp_kernel_err ntp_kernel_pll_freq ntp_kernel_pll_off ntp_offset ntp_states open_files open_inodes postfix_mailqueue postfix_mailvolume proc_pri processes swap threads tor_bandwidth tor_connections tor_countries tor_dormant tor_flags tor_routers tor_traffic uptime users vmstat
fetch tor_traffic
read.value 4755850
written.value 1562503
.
fetch tor_routers
routers.value 6498
.
fetch tor_dormant
dormant.value 1
.

In the logs I can see that tor-cli is being promted every 5 mins:
Aug  6 21:15:01 vm25523 systemd: Starting Session 442 of user munin.
Aug  6 21:15:04 vm25523 Tor[8122]: New control connection opened from <IP_ADDRESS>.
Aug  6 21:15:06 vm25523 Tor[8122]: New control connection opened from <IP_ADDRESS>.
Aug  6 21:15:08 vm25523 Tor[8122]: New control connection opened from <IP_ADDRESS>.
Aug  6 21:15:15 vm25523 Tor[8122]: New control connection opened from <IP_ADDRESS>.
Aug  6 21:15:18 vm25523 Tor[8122]: New control connection opened from <IP_ADDRESS>.
Aug  6 21:15:18 vm25523 Tor[8122]: New control connection opened from <IP_ADDRESS>.
Aug  6 21:15:19 vm25523 Tor[8122]: New control connection opened from <IP_ADDRESS>.

In the /var/lib/munin I can see tor .rrd files
In the munin logs, I can not see any errors
I have restarted the munin node service & httpd
Other graphs are fine

System info:
- CentOS Linux release 7.5.1804 (Core)
- Linux vm25523 3.10.0-862.6.3.el7.x86_64 #1 SMP Tue Jun 26 16:32:21 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
- munin-2.0.33-1.el7.noarch
- munin-common-2.0.33-1.el7.noarch
- munin-node-2.0.33-1.el7.noarch

Any idea what could be wrong?
Thanks for suggestions.

Closing this, I just did not notice the tor graphs are under network section.


Docs: Fix typos in generated READMEs

Fixed typos on README.md files for generated pages.

Sorry for the delay in merging these.  Nice work!!

Yep! Thanks a lot for keeping things running a bit @kellim !!! 👍


Assignment 1

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
answering assignment questions regarding theanagram checker function
What did you learn from the changes you have made?
functions, outputs, boolean and string data types, methods
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
wanted to use a set but it was not appropriate because it took the unique characters while we needed all characters for the problem
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
couldn't use set so used list
How were these changes tested?
tested various anagrams
A reference to a related issue in your repository (if applicable)
n/a
Checklist

[x] I can confirm that my changes are working as intended

You did a good job here!
Just a quick note, the approach of using set() to check for anagrams is problematic because sets only check for the presence of characters, not their frequency. For example, set("Silent") == set("listen") would be True, but set("Silent") == set("lent") would also return True, which is incorrect because the letter frequencies differ.
Please go ahead and do the modifications and then let me know, Thanks!

hi Pedram - thanks for the feedback/corrections. I committed the fixes, let me know if this looks good. thanks!

you did a great job here!
Please go ahead and close this pull request now. Thanks!


wrong mouse coordinates under W10 in a DPI virtualized application

use the commented code from
https://github.com/JBontes/DragDrop/blob/master/Source/DropTarget.pas#L1259
and add this to fix the point
var
l: TPoint;
m: TMonitor;
mi: TMonitorInfoEx;
dm: DEVMODE;
...
m := Screen.MonitorFromWindow(Result.Handle);
mi.cbSize := SizeOf(mi);
GetMonitorInfo(m.Handle, PMonitorInfo(@mi));
EnumDisplaySettings(mi.szDevice, Cardinal(-1), dm);
l := p;
if dm.dmPelsWidth <> mi.rcMonitor.Width then
begin
l.x := (l.x * mi.rcMonitor.Width) div dm.dmPelsWidth;
end;
if dm.dmPelsHeight <> mi.rcMonitor.Height then
begin
l.y := (l.y * mi.rcMonitor.Height) div dm.dmPelsHeight;
end;

I cannot seem to get this to work. Where do I need to add this code?

just try TCustomDropTarget.FindTarget on W10 with a non DPI aware application. You'll see that the function return the wrong target because of DPI virtualization.
My code change X/Y according to the DPI difference between the display settings and the virtualized monitor.

The problem I am having is when a monitor is scaled, then only the upper-left portion will accept a drag-drop. The rest of the target just gives me a cross or no-drop cursor. But it only happens on DragEnter. If I enter the target at the right spot then I can drop anywhere on the target. This lead me to think it was a problem with the DragEnter and not the DragOver.
But, I think I figured out what is going on. It may be a bug in Windows 10.
In DragEnter the point variable does not take into account the scale of the monitor, but the DragOver procedure does.
So here is what I did to fix it:
I added this function: (I had to ShellScaling to the uses)
function ScalePoint(pt: TPoint): TPoint;
var
  m: TMonitor;
  scaleFactor: TDeviceScaleFactor;
begin
  Result := pt;
  m := Screen.MonitorFromPoint(Result);
  if GetScaleFactorForMonitor(m.Handle, scaleFactor) = S_OK then
  begin
    Result.Offset(-m.Left,-m.Top);
    Result.X := trunc(Result.X / (Ord(scaleFactor) / 100));
    Result.Y := trunc(Result.Y / (Ord(scaleFactor) / 100));
    Result.Offset(m.Left,m.Top);
  end;
end;

Then in the DragEnter function just before FTarget := FindTarget(pt), I added:
 pt := ScalePoint(pt);
This seams to have solved the problem for me. I think it solves the FindTarget issue too.

Hy,
i have done the above fix on year ago and it worked very well.
With windows 10 1803 it seems 2 be broken again... any ideas?

I remember it quit working for me too. I do not remember how I came about it, but here is how I fixed it.
I set the code in the DragEnter function back to the original, removed the ScalePoint function, and made the change in the FindTarget function:
  var
    r2: TRect;

    ...

    //Just before the if PtInRect call
    m := Screen.MonitorFromWindow(Result.Handle);
    if GetScaleFactorForMonitor(m.Handle, scaleFactor) = S_OK then
    begin
      r2.Left := round(m.Left - ((m.Left - r.Left) * (Ord(scaleFactor)/100)));
      r2.Top := round(m.Top - ((m.Top - r.Top) * (Ord(scaleFactor)/100)));
      r2.Width := Round(r.Width* (Ord(scaleFactor)/100));
      r2.Height := Round(r.Height* (Ord(scaleFactor)/100));
    end;

    //Then changed the PtInRect call to:
    if PtInRect(r2, p) then
      exit;

This has been working for me. I did not test it to see if it still works in the older versions of Windows 10.

so, we can close this issue.

I think so. I changed my code back to the original, and it appears rapante85 is right. Thanks for everyone's help.


Cassandra Source - make sure all records read are delivered

The following code should be changed to retry the delivery to the queue with back off functionality:
    logger.debug(s"Attempting to put SourceRecord ${record.toString} on queue for $keySpace.$table.")
    if (queue.offer(record)) {
      logger.debug(s"Successfully enqueued SourceRecord ${record.toString}.")
    } else {
      logger.error(s"Failed to put ${record.toString} on to the queue for $keySpace.$table.")
    }```

Looks like it's already done
    while (!queue.offer(record, 1, TimeUnit.SECONDS)) {
    }```