Multiple insert in batch command on multiple clusters

OrientDB Version: 3.0
Java Version: 8
OS: Windows
Expected behavior
Hi ,
I work with OrientDbObject with Java API.
I want to make a multiple insert in batch command.
I've 3 Vertex with a different clusters : RootProject, Element and Set.
They look like that :
Element Studio Screen
RootProject Studio Screen
So I made my batch command like that :
//Begining of first command to create and insert all elements and comesFrom
		StringBuilder creationAndInsertionCmd = new StringBuilder("BEGIN;");

		List<OrientObject> specificVertexIds = new ArrayList<>();
		for (OrientObject genericContent : genericContents) {
			if (ProjectVertex.class.isAssignableFrom(genericContent.getClass())) {
				ProjectVertex specificElement;
				ProjectVertex genericElement = (ProjectVertex) genericContent;

				if (Element.class.isAssignableFrom(genericElement.getClass())) {
					String name = ((Element) genericElement).getName();
					TypeEnum type = ((Element) genericElement).getType();
					creationAndInsertionCmd.append("INSERT INTO ").append(Element.class.getSimpleName()).append(" (name, type) VALUES ('").append(name).append("','").append(type).append("');");
					specificElement = orientDBManager.createInstanceOfVertex(Element.class);
					((Element) specificElement).setName(name);
					((Element) specificElement).setType(type);
				} else if (Set.class.isAssignableFrom(genericElement.getClass())) {
					creationAndInsertionCmd.append("INSERT INTO Set;");
					specificElement = orientDBManager.createInstanceOfVertex(Set.class);
				} else {
					creationAndInsertionCmd.append("INSERT INTO ").append(RootProject.class.getSimpleName()).append(" (name) VALUES ('").append(newProjectName).append("');");
					specificElement = orientDBManager.createInstanceOfVertex(RootProject.class);
					((RootProject) specificElement).setName(newProjectName);
				}

				if (specificRootProject == null) {
					specificRootProject = (RootProject) specificElement;
				}
				specificVertexIds.add(specificElement);
			}
		}

		// End first command writing
		creationAndInsertionCmd.append("COMMIT RETRY 1000;");
		orientDBManager.executeCommand(creationAndInsertionCmd.toString());

In my OrientDBManager, the method executeCommand() look like that :
	public List<OElement> executeCommand(String command, Object... args) {
		LOGGER.debug("COMMAND : " + command);
		openDatabaseSession();
		OResultSet rs;

		rs = databaseSession.execute("sql", command, args);

		List<OElement> resultList = new ArrayList<>();
		while (rs.hasNext()) {
			OResult item = rs.next();
			OElement result = item.toElement();
			resultList.add(result);
		}
		rs.close(); // REMEMBER TO ALWAYS CLOSE THE RESULT SET!!!

		return resultList;
	}

Actual behavior
But i've found make insert in different vertices where cluster are different made this error :

Encountered "  "INSERT "" at line 1, column 5131.
Was expecting one of:
 ...
 ...
 ...
";" ...
DB name="dossard"
Error Code="1"] with root cause

I tried in OrientDBStudio to just do this 2 query :
INSERT INTO Element (name,type) values ('MyElement1', 'FACT');
INSERT INTO Element (name,type) values ('MyElement2', 'CONFLICT');

But this query work :
INSERT INTO Element (names, type) values ('MyElement1', 'FACT'), ('MyElement2', 'CONFLICT')

That's makes sense.
But i want to made insert in Element , Set,  and RootProject clusters.
My batch commande looks like that :
BEGIN;
INSERT INTO RootProject (name) VALUES ('test_command_1');
INSERT INTO Element (name, type) VALUES ('System wants to ensure deliveries while reducing LT','FACT');
INSERT INTO Set;
INSERT INTO Element (name, type) VALUES ('System will create security inside the system','UNDESIRED');
INSERT INTO Element (name, type) VALUES ('Safety time will be included in the LT','UNDESIRED');
INSERT INTO Element (name, type) VALUES ('Work in progress is higher than planed','UNDESIRED');
INSERT INTO Set;
INSERT INTO Element (name, type) VALUES ('Inventory is increasing','UNDESIRED');
...
COMMIT RETRY 1000;

That not work. So my question it's : it's impossible to insert multiple Vertices of different clusters?
Steps to reproduce
Create vertices with  'Element' cluster and with name, type as properties, 'Set' cluster with no properties and 'RootProject' cluster with name as properties.
CREATE CLUSTER Element for example
Do my command on batch
Thanks in advance for your answers !

Hi @StevenHeven
I'm not sure I got the problem... I tried the following in Studio, in BATCH mode, and it seems to work fine
create class RootProject extends V;
create class Element extends V;
create class Set extends V;

BEGIN;
INSERT INTO RootProject (name) VALUES ('test_command_1');
INSERT INTO Element (name, type) VALUES ('System wants to ensure deliveries while reducing LT','FACT');
INSERT INTO Set;
INSERT INTO Element (name, type) VALUES ('System will create security inside the system','UNDESIRED');
INSERT INTO Element (name, type) VALUES ('Safety time will be included in the LT','UNDESIRED');
INSERT INTO Element (name, type) VALUES ('Work in progress is higher than planed','UNDESIRED');
INSERT INTO Set;
INSERT INTO Element (name, type) VALUES ('Inventory is increasing','UNDESIRED');
COMMIT RETRY 1000;

Am I missing something?
Thanks
Luigi

Hi,
No reply since a while, closing


error: library dfftpack has Fortran sources but no Fortran compiler found

I encounter an error when building 'dfftpack' library on heroku. It seems that there is no fortran compiler in heroku so dfftpack library cannot be built. How can I solve this problem?

Can you please provide more information? What versions are you using, etc. Is this with installing scipy?

building 'dfftpack' library              error: library dfftpack has Fortran sources but no Fortran compiler found


Maven Central artifacts publication

Maven Central artifacts publication.
We need to do a couple of things to be able to publish our project to maven central:

[ ] Prepare the project for publication, make sure we meet all requirements: https://central.sonatype.org/publish/requirements/
[x] Request ownership for this project in Sonatype Jira :
[ ] Configure CI pipeline to deploy artifacts to nexus

JIRA ticket for sinatype created: https://issues.sonatype.org/browse/OSSRH-91598

JIRA ticket is resolved, access should now be granted


Adding new environments

Hi,
I am trying to setup a new environment in Simpler for the WidowX robot.
I have a couple of questions regarding the WidowX setup:

Did you perform camera calibration with respect to the WidowX robot to set the CameraConfig in mani_skill2_real2sim/agents/configs/defaults.py? If yes, did you perform april tag calibration? If not, would you just recommend estimating the camera pose relative to the robot base in the real and setting the terms p and q accordingly?

Without changing the camera pose, but adjusting for the correct intrinsics, I get the following:

The edges are close but not entirely lined up. In addition to the camera extrinsics, perhaps the issue is also with placing the robot correctly with respect to the table. I'm trying to ensure that on both fronts, I am setting up the sim environment correctly.

Questions on correctly placing the robot base and the tabletop to match the real-world setup. For this, I'm trying to understand some of the scene setup parameters in base_env.py.
a. What is the scene_offset parameter? For the WidowX, line 160 says this is the default offset corresponding to the default offset of bridge_table_1_v1.glb. If I modify the .glb file, for example by changing the table dimensions, how should I derive this offset?
b. What is the scene_pose and how is it decided? It seems hardcoded to scene_pose = sapien.Pose(q=[0.707, 0.707, 0, 0]).
c. What are the _register_render_cameras and _setup_viewer functions meant for? I am confused because they seem to be changing the camera extrinsics. I am relying on the demo script to check if the camera observations from the sim and the real line up.

Thank you very much!

I took images from the Bridge dataset and used fSpy with 3 vanishing lines to get the intrinsics for the camera. See https://github.com/simpler-env/SimplerEnv/blob/main/ADDING_NEW_ENVS_ROBOTS.md -> "Notes on camera calibration"
(a) The glb file doesn't separate the table and the scene. However, you can set the origin of the glb file to be any location using e.g., Blender.
(b) The scene rotation is due to the habitat's transformation
(c) That's just for human camera used for debugging, not for policy evaluation input.


HHH-10877 - Introduce a configuration option to allow out of transaction updates

https://hibernate.atlassian.net/browse/HHH-10877

applied upstream


[jnigen] Failing to handle imports of gradle dependency

I'm trying to set up an initial jnigen of the video_player_android plugin to incrementally convert the existing native implementation, and it can't seem to find any of the ExoPlayer (media3) code:
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/CustomSSLSocketFactory.java...
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerEventListener.java...
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerState.java...
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java...
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/LocalVideoAsset.java...
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/Messages.java...
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/QueuingEventSink.java...
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/RtspVideoAsset.java...
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/VideoAsset.java...
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java...
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerCallbacks.java...
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerEventCallbacks.java...
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerOptions.java...
Loading source file android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java...
Constructing Javadoc information...
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerEventListener.java:8: error: cannot find symbol
import androidx.media3.common.PlaybackException;
                             ^
  symbol:   class PlaybackException
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerEventListener.java:9: error: cannot find symbol
import androidx.media3.common.Player;
                             ^
  symbol:   class Player
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerEventListener.java:10: error: cannot find symbol
import androidx.media3.common.VideoSize;
                             ^
  symbol:   class VideoSize
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerEventListener.java:11: error: cannot find symbol
import androidx.media3.exoplayer.ExoPlayer;
                                ^
  symbol:   class ExoPlayer
  location: package androidx.media3.exoplayer
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerEventListener.java:13: error: package Player does not exist
final class ExoPlayerEventListener implements Player.Listener {
                                                    ^
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerEventListener.java:14: error: cannot find symbol
  private final ExoPlayer exoPlayer;
                ^
  symbol:   class ExoPlayer
  location: class io.flutter.plugins.videoplayer.ExoPlayerEventListener
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerEventListener.java:19: error: cannot find symbol
  ExoPlayerEventListener(ExoPlayer exoPlayer, VideoPlayerCallbacks events) {
                         ^
  symbol:   class ExoPlayer
  location: class io.flutter.plugins.videoplayer.ExoPlayerEventListener
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerEventListener.java:23: error: cannot find symbol
  ExoPlayerEventListener(ExoPlayer exoPlayer, VideoPlayerCallbacks events, boolean initialized) {
                         ^
  symbol:   class ExoPlayer
  location: class io.flutter.plugins.videoplayer.ExoPlayerEventListener
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerEventListener.java:91: error: cannot find symbol
  public void onPlayerError(@NonNull final PlaybackException error) {
                                           ^
  symbol:   class PlaybackException
  location: class io.flutter.plugins.videoplayer.ExoPlayerEventListener
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerState.java:7: error: cannot find symbol
import androidx.media3.common.PlaybackParameters;
                             ^
  symbol:   class PlaybackParameters
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerState.java:8: error: cannot find symbol
import androidx.media3.exoplayer.ExoPlayer;
                                ^
  symbol:   class ExoPlayer
  location: package androidx.media3.exoplayer
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerState.java:27: error: cannot find symbol
  static ExoPlayerState save(ExoPlayer exoPlayer) {
                             ^
  symbol:   class ExoPlayer
  location: class io.flutter.plugins.videoplayer.ExoPlayerState
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerState.java:36: error: cannot find symbol
      long position, int repeatMode, float volume, PlaybackParameters playbackParameters) {
                                                   ^
  symbol:   class PlaybackParameters
  location: class io.flutter.plugins.videoplayer.ExoPlayerState
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerState.java:53: error: cannot find symbol
  private final PlaybackParameters playbackParameters;
                ^
  symbol:   class PlaybackParameters
  location: class io.flutter.plugins.videoplayer.ExoPlayerState
android/src/main/java/io/flutter/plugins/videoplayer/ExoPlayerState.java:63: error: cannot find symbol
  void restore(ExoPlayer exoPlayer) {
               ^
  symbol:   class ExoPlayer
  location: class io.flutter.plugins.videoplayer.ExoPlayerState
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:12: error: cannot find symbol
import androidx.media3.common.MediaItem;
                             ^
  symbol:   class MediaItem
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:13: error: cannot find symbol
import androidx.media3.common.MimeTypes;
                             ^
  symbol:   class MimeTypes
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:14: error: package androidx.media3.common.util does not exist
import androidx.media3.common.util.UnstableApi;
                                  ^
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:15: error: cannot find symbol
import androidx.media3.datasource.DataSource;
                                 ^
  symbol:   class DataSource
  location: package androidx.media3.datasource
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:16: error: cannot find symbol
import androidx.media3.datasource.DefaultDataSource;
                                 ^
  symbol:   class DefaultDataSource
  location: package androidx.media3.datasource
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:17: error: cannot find symbol
import androidx.media3.datasource.DefaultHttpDataSource;
                                 ^
  symbol:   class DefaultHttpDataSource
  location: package androidx.media3.datasource
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:18: error: package androidx.media3.exoplayer.source does not exist
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
                                       ^
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:19: error: package androidx.media3.exoplayer.source does not exist
import androidx.media3.exoplayer.source.MediaSource;
                                       ^
android/src/main/java/io/flutter/plugins/videoplayer/VideoAsset.java:10: error: cannot find symbol
import androidx.media3.common.MediaItem;
                             ^
  symbol:   class MediaItem
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/VideoAsset.java:11: error: package androidx.media3.exoplayer.source does not exist
import androidx.media3.exoplayer.source.MediaSource;
                                       ^
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:40: error: cannot find symbol
  MediaItem getMediaItem() {
  ^
  symbol:   class MediaItem
  location: class io.flutter.plugins.videoplayer.HttpVideoAsset
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:61: error: package MediaSource does not exist
  MediaSource.Factory getMediaSourceFactory(Context context) {
             ^
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:76: error: package DefaultHttpDataSource does not exist
      Context context, DefaultHttpDataSource.Factory initialFactory) {
                                            ^
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:75: error: package MediaSource does not exist
  MediaSource.Factory getMediaSourceFactory(
             ^
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:89: error: package DefaultHttpDataSource does not exist
      @NonNull DefaultHttpDataSource.Factory factory,
                                    ^
android/src/main/java/io/flutter/plugins/videoplayer/VideoAsset.java:73: error: cannot find symbol
  abstract MediaItem getMediaItem();
           ^
  symbol:   class MediaItem
  location: class io.flutter.plugins.videoplayer.VideoAsset
android/src/main/java/io/flutter/plugins/videoplayer/VideoAsset.java:81: error: package MediaSource does not exist
  abstract MediaSource.Factory getMediaSourceFactory(Context context);
                      ^
android/src/main/java/io/flutter/plugins/videoplayer/LocalVideoAsset.java:9: error: cannot find symbol
import androidx.media3.common.MediaItem;
                             ^
  symbol:   class MediaItem
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/LocalVideoAsset.java:10: error: package androidx.media3.exoplayer.source does not exist
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
                                       ^
android/src/main/java/io/flutter/plugins/videoplayer/LocalVideoAsset.java:11: error: package androidx.media3.exoplayer.source does not exist
import androidx.media3.exoplayer.source.MediaSource;
                                       ^
android/src/main/java/io/flutter/plugins/videoplayer/LocalVideoAsset.java:20: error: cannot find symbol
  MediaItem getMediaItem() {
  ^
  symbol:   class MediaItem
  location: class io.flutter.plugins.videoplayer.LocalVideoAsset
android/src/main/java/io/flutter/plugins/videoplayer/LocalVideoAsset.java:25: error: package MediaSource does not exist
  MediaSource.Factory getMediaSourceFactory(Context context) {
             ^
android/src/main/java/io/flutter/plugins/videoplayer/RtspVideoAsset.java:10: error: cannot find symbol
import androidx.media3.common.MediaItem;
                             ^
  symbol:   class MediaItem
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/RtspVideoAsset.java:11: error: package androidx.media3.common.util does not exist
import androidx.media3.common.util.UnstableApi;
                                  ^
android/src/main/java/io/flutter/plugins/videoplayer/RtspVideoAsset.java:12: error: cannot find symbol
import androidx.media3.exoplayer.rtsp.RtspMediaSource;
                                     ^
  symbol:   class RtspMediaSource
  location: package androidx.media3.exoplayer.rtsp
android/src/main/java/io/flutter/plugins/videoplayer/RtspVideoAsset.java:13: error: package androidx.media3.exoplayer.source does not exist
import androidx.media3.exoplayer.source.MediaSource;
                                       ^
android/src/main/java/io/flutter/plugins/videoplayer/RtspVideoAsset.java:22: error: cannot find symbol
  MediaItem getMediaItem() {
  ^
  symbol:   class MediaItem
  location: class io.flutter.plugins.videoplayer.RtspVideoAsset
android/src/main/java/io/flutter/plugins/videoplayer/RtspVideoAsset.java:29: error: package MediaSource does not exist
  MediaSource.Factory getMediaSourceFactory(Context context) {
             ^
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:7: error: cannot find symbol
import static androidx.media3.common.Player.REPEAT_MODE_ALL;
                                    ^
  symbol:   class Player
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:7: error: static import only from classes and interfaces
import static androidx.media3.common.Player.REPEAT_MODE_ALL;
^
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:8: error: cannot find symbol
import static androidx.media3.common.Player.REPEAT_MODE_OFF;
                                    ^
  symbol:   class Player
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:8: error: static import only from classes and interfaces
import static androidx.media3.common.Player.REPEAT_MODE_OFF;
^
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:15: error: cannot find symbol
import androidx.media3.common.AudioAttributes;
                             ^
  symbol:   class AudioAttributes
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:16: error: cannot find symbol
import androidx.media3.common.C;
                             ^
  symbol:   class C
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:17: error: cannot find symbol
import androidx.media3.common.MediaItem;
                             ^
  symbol:   class MediaItem
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:18: error: cannot find symbol
import androidx.media3.common.PlaybackParameters;
                             ^
  symbol:   class PlaybackParameters
  location: package androidx.media3.common
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:19: error: cannot find symbol
import androidx.media3.exoplayer.ExoPlayer;
                                ^
  symbol:   class ExoPlayer
  location: package androidx.media3.exoplayer
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:24: error: cannot find symbol
  @NonNull private final MediaItem mediaItem;
                         ^
  symbol:   class MediaItem
  location: class io.flutter.plugins.videoplayer.VideoPlayer
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:28: error: cannot find symbol
  @NonNull private ExoPlayer exoPlayer;
                   ^
  symbol:   class ExoPlayer
  location: class io.flutter.plugins.videoplayer.VideoPlayer
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:76: error: cannot find symbol
      @NonNull MediaItem mediaItem,
               ^
  symbol:   class MediaItem
  location: class io.flutter.plugins.videoplayer.VideoPlayer
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:105: error: cannot find symbol
  private ExoPlayer createVideoPlayer() {
          ^
  symbol:   class ExoPlayer
  location: class io.flutter.plugins.videoplayer.VideoPlayer
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:123: error: cannot find symbol
  private static void setAudioAttributes(ExoPlayer exoPlayer, boolean isMixMode) {
                                         ^
  symbol:   class ExoPlayer
  location: class io.flutter.plugins.videoplayer.VideoPlayer
android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java:68: error: cannot find symbol
    ExoPlayer get();
    ^
  symbol:   class ExoPlayer
  location: interface io.flutter.plugins.videoplayer.VideoPlayer.ExoPlayerProvider
android/src/main/java/io/flutter/plugins/videoplayer/HttpVideoAsset.java:87: error: cannot find symbol
  @OptIn(markerClass = UnstableApi.class)
                       ^
  symbol:   class UnstableApi
  location: class io.flutter.plugins.videoplayer.HttpVideoAsset
android/src/main/java/io/flutter/plugins/videoplayer/RtspVideoAsset.java:27: error: cannot find symbol
  @OptIn(markerClass = UnstableApi.class)
                       ^
  symbol:   class UnstableApi
  location: class io.flutter.plugins.videoplayer.RtspVideoAsset
Note: 60 errors
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.util.Map.size()" because "<parameter1>" is null
	at java.base/java.util.HashMap.putMapEntries(Unknown Source)
	at java.base/java.util.HashMap.putAll(Unknown Source)
	at com.github.dart_lang.jnigen.apisummarizer.Main.main(Main.java:132)

Fatal: Cannot generate summary: FormatException: Unexpected end of input (at character 1)

This is running in the plugin, after doing the example app built, the plugin depends on androidx.media3:media3-exoplayer via gradle, and my config includes add_gradle_deps: true, so I would expect it to find these symbols.
It's not clear to me why it's not, or what my next step as a user would be here.

I would encourage you to use the bytecode .jar of exoplayer instead of .java sources. The javadoc parser used to parse Java sources does not work with "incomplete" sources. The only reason I didn't remove it yet is because it is useful for adding documentation and parameter names to the generated bindings.
I plan to parse the javadoc jar and extract the docs from that instead, once that's done I'll remove the source parser altogether: https://github.com/dart-lang/native/issues/1079
In the meantime it's useful to improve the error messages here.

I would encourage you to use the bytecode .jar of exoplayer instead of .java sources.

How? I'm not intentionally using either, I'm just pointing to my plug-in source and requesting auto-addition of its build dependencies, following this example.
Am I responsible for manually configuring the import of all dependencies in this scenario? I thought that's what the example/ build was supposed to do for me.

You can add the exoplayer dependency to the app/build.gradle of your example like https://github.com/dart-lang/http/blob/master/pkgs/cronet_http/example/android/app/build.gradle#L75-L78
build the example app using flutter build apk for gradle to download and cache the dependencies. And only fill in classes:. No need to add any source_path.

You can add the exoplayer dependency to the app/build.gradle of your example

Is there an issue tracking the need to duplicate all dependency information from a plugin into the example app just for jnigen?

No need to add any source_path.

Should I file a new issue about the fact that the example that the README points to for exactly my scenario is using source_path?

Is there an issue tracking the need to duplicate all dependency information from a plugin into the example app just for jnigen?

There is an umbrella issue which includes this: https://github.com/dart-lang/native/issues/793#issuecomment-2118525810

Should I file a new issue about the fact that the example that the README points to for exactly my scenario is using source_path?

I can use this issue for that, thank you.


new optional input: asset_label

Fixes https://github.com/actions/upload-release-asset/issues/18

Can someone with commit access please review this PR ? @IAmHughes maybe ?

@IAmHughes Any chance this could be merged? This feature would be really handy to have.


Classify features into stable, deprecated, experimental

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description
As OKE and the module continues to evolve, we find the need to add and remove features. Some features are straightforward to implement, others need a bit more time to mature properly and yet others we need to remove.
As such, it is important to indicate and let our users know well in advance which features are at what level and also what we are planning going forward. I propose that features are classified into the following:

stable: well tested and can be used without issues.
deprecated: will be removed in the future. It's best users start planning to live without it or use an alternative.
experimental: recently added and complex enough that they need more time to mature or we don't yet know the full impact.

New or Affected Resource(s)

Potential Terraform Configuration

# Copy-paste any Terraform configurations for how the requested feature may be used.

References

@Djelibeybi

My only comment is that experimental features should never be enabled by default, and they should announce their experimental status loudly in whatever user visible output is appropriate.
Otherwise, LGTM.


Rename file to comply with divisive language

Dummy is considered divisive language and the alternative is much better anyway.
/assign @nak3

Will do, third_party is ignored by the checker by default.
/hold

/unhold

/lgtm
/approve

/retest

/lgtm
/approve

/retest

/retest

/retest

/retest

/retest


Added javascript code for hiding previous dates

Issue:#316
Tasks:

[x] To remove > from start date in edit file
[x] To hide previous dates

@GauravGusain98 I have made a new PR for this issue. As in the previous one somehow other files got merged and I tried reverting but I was unable to revert.
For the issue which You pointed out that the changes are not visible on your local so for this we need to run npm run watch
in command prompt. I was facing same issue got checked on stackoverflow. Here's the link:link
Here's the screenshot from my local


Py311

[ ] tests added / passed
[ ] ensure all linting tests pass
[ ] changelog entry

Codecov Report
Patch coverage has no change and project coverage change: -0.25 :warning:

Comparison is base (8c29459) 96.06% compared to head (1fe3b63) 95.81%.

:exclamation: Current head 1fe3b63 differs from pull request most recent head 9f91669. Consider uploading reports for the commit 9f91669 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #173      +/-   ##
==========================================
- Coverage   96.06%   95.81%   -0.25%
==========================================
  Files          34       34
  Lines        2033     2033
==========================================
- Hits         1953     1948       -5
- Misses         80       85       +5

see 2 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


fix: replace spawn with execa to fix Windows compatibility

Description
This PR replaces the usage of spawn with execa to resolve compatibility issues on Windows systems.
Changes Made

Replaced all occurrences of spawn with execa in the installStudio function.
Ensured that Prisma Studio runs asynchronously without blocking the execution of the rest of the code.

Issue
Should fix issues #35 and #13

It is technically possible that the user does not have npx installed.
Remember seeing this function, havent played with it.
https://devtools.nuxt.com/module/utils-kit#startsubprocess

It is technically possible that the user does not have npx installed.
Remember seeing this function, havent played with it. https://devtools.nuxt.com/module/utils-kit#startsubprocess

The original implementation already relies on npx, as do several other functions within this file, so npx should be available in the environment where this code is running. Given that context, I believe the PR maintains consistency with the existing codebase without introducing additional dependencies.

@ankur-arch this also looks like easy fix to another blocker. Will be great to adopt it

@husayt I'm currently cleaning up the repo and release process a bit. Will test and merge this soon.

Apologies for the delay in merging it. I tested it out and it LGTM!
Thank you for submitting the PR, @JohanManders, really appreciate it 🙌 .


Add serializable view tree class and appropriate method for each widget to generate a view tree

Also for codegen, %T is for type references (classes, interfaces, etc.) and %M is for member references (functions, properties, etc.), usually extensions. It takes a while to get used to how to do it correctly for KotlinPoet but over time it gets easier.


Viper won't override nested config with cli flags

Using viper we load config from a toml file. we wan't the default config to be loaded, then overridden by a config file if exists, then overridden by the cli flags.
viper claim this to work after https://github.com/spf13/viper/pull/195
couldn't get it working for us so I had to add some patch in #238 .
How to fix ?

[ ] Use normal viper methods to load cli flags after config
[ ] write tests to show that the flow described above works.

we have an ugly fix for it, though viper claimed to fix the problem and I saw some more elegant fixes to it on github.


[rstmgr] Rstmgr draft for bronze

First draft of reset manager and rough sample integration into the
top level.
This module is mostly inert without an associated clock and power manager.
It is also not fully integrated into the peripheral yet, as there are
some integration questions to be resolved.

@eunchan,
can you have a look and let me know what you think about the integration? Without the clock and power manager there, some of the inputs into the reset manager need to be faked out.  But I don't know if the right way to do it is to create another entirely fake module, or to have some way in intermodule.py to say "the top will create the corresponding struct".  The signals are not all hardwired either (so we can't rely on defaults), since some of them are the pad rests and others are clocks.
My temp hack just puts it in the top level to handle resets, but it's not actually connected to the fabric right now.  I wanted to see what you thought before going further.
I've not put in any scanmode bypasses yet, I thought I'd wait for some partner feedback.
In general, this follows the proposal here
@sriyerg / @sjgitty
I also wanted to ask you guys in general what you think about clock / reset / power integration.  When exactly should it be done? I don't think these modules are especially easy to test at block level, since they are inter-related, but I also understand that Sri does not want anything in the top level that hasn't passed a certain threshold.  I think however for our upcoming milestones, we should probably find a way to get this in somehow without just hacking it up.

@sriyerg / @sjgitty
I also wanted to ask you guys in general what you think about clock / reset / power integration. When exactly should it be done? I don't think these modules are especially easy to test at block level, since they are inter-related, but I also understand that Sri does not want anything in the top level that hasn't passed a certain threshold. I think however for our upcoming milestones, we should probably find a way to get this in somehow without just hacking it up.

@tjaychen  I think this is important enough to get into master, and I think you're
doing the right thing by prioritizing it now. @sriyerg, can you try and review this
next week? We should have an online discussion of it if needed. @tjaychen
are there enough top-level tests to run to give confidence that we're not
taking a step backwards?

there's nothing in top level that actually "resets" anything.  So the only test to run now is that we are able to run everything we used to - ie nothing got stuck.
things will get a little more complicated once i introduce a power manager. I plan to draw out some sequences and call a meeting to review next week with a few people (including the DV people) to see how we think this stuff should merge.

Tim, Thanks fore doing this! It is great in brief review. I will spend more time to run it on my machine.

@eunchan, the peripheral integration is kind of a mess right now though..do you really think this is an okay state to merge? What do you think is the best approach to hooking all the connections up?

yeah that's a fair point.  If you look at how i defined power / reset /
clock, there's an argument that all 3 of them should be combined.
Especially if the calibration functions are not going to be built within
them.
And I do think that is an approach we can still consider taking...the main
reason clock MIGHT be separate is because clock likely will not be always
on.
On Sun, Mar 29, 2020 at 9:56 AM Scott Johnson<EMAIL_ADDRESS>wrote:

@sjgitty approved this pull request.
Noticed one nit, but otherwise this looks good to go. Do you plan to get
in?
In hw/ip/rstmgr/data/rstmgr.hjson
https://github.com/lowRISC/opentitan/pull/1752#discussion_r399823641:

       Device reset reason.

       ''',

 swaccess: "rw1c",

 hwaccess: "hrw",

 hwext: "true",

 hwqe: "true",

 fields: [

   {

       bits: "4:0",

       name: "CAUSE",

       resval: 1,

       desc: '''Indicates reset cause.  The bits below are not mutually exclusive, and multiple

       bits can be set at the same time.'''

       enum: [

        {value: "1",  name: "por", desc: "Indicates when a device has reset due to power up"},

        {value: "2",  name: "low_poer_exit", desc: "Indicates when a device has reset due low power exit"},

typo "poer"?
In hw/ip/rstmgr/data/rstmgr.hjson
https://github.com/lowRISC/opentitan/pull/1752#discussion_r399823942:

@@ -0,0 +1,137 @@
+// Copyright lowRISC contributors.

I guess for bronze we might as well go ahead and keep this, but with so few
registers it is tempting to have them join with like PMU or something and
not
pay the TLUL cost.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/pull/1752#pullrequestreview-383431591,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSWRKJVAZ5KONV3MTBLRJ54T5ANCNFSM4LHI2HMA
.

Thanks @tjaychen, I compared it with the reset spec you wrote and it looks mostly good from my side (left a few comments, see below).
Concerning the "transitional" nature of this design, should we maybe add salient TODO comments at the top of the hjson and top level sv file of the reset controller, highlighting this fact and hinting at planned updates?
Also, we may want to briefly talk about whether the initial "strawman" sdc constraints for synthesis are compatible with this design (https://github.com/lowRISC/opentitan/blob/39ffebd3cdbeefd9a27868140651f31a14d5dfeb/hw/syn/tools/dc/constraints.sdc).

sounds good. I'll add the TODO comments.
What sorts of things were you thinking this could change the sdc? I wasn't initially thinking about putting any special multi-cycle constraints on resets. But were you thinking about things like set_ideal_net on each output because the signal will have a high fanout?  That does make sense...and I've been wondering for awhile what's the best way to do this.  Should we be inserting prim_bufs or something so sdc can always locate an output? Or would it work just as on the module port? Maybe the latter is fine if we don't flatten or boundary optimize.
What do you think?

What sorts of things were you thinking this could change the sdc? I wasn't initially thinking about putting any special multi-cycle constraints on resets. But were you thinking about things like set_ideal_net on each output because the signal will have a high fanout? That does make sense...and I've been wondering for awhile what's the best way to do this. Should we be inserting prim_bufs or something so sdc can always locate an output? Or would it work just as on the module port? Maybe the latter is fine if we don't flatten or boundary optimize.
What do you think?

Yes indeed I was thinking about doing set_ideal_network on everything that fans out to many pins. I have already added strawman constraints for the resets that we currently have, but these have to be refined.
I think assembling the reset infrastructure (especially the cells driving the reset tree roots) structurally with technology cells would be ideal. but for now, using module outputs may just work well enough for bronze purposes, since we do not flatten the design in synthesis. let's look closer at that once we could merge this initial version of the reset manager.

@tjaychen let's see if our discussion of this and other modules in Silicon meeting tomorrow shows any concerns, otherwise I think it would be good to get this merged so that the next elements (power and reset) can come in following. Plenty of time for refinement as we go.

I reverted the integration portion, since i think it's better done as a separate PR with pwrmgr.
I also updated the package file to be more reflective of the intermodule structs.

Thanks @tjaychen for your work on the spec and RTL! I did a thorough review and found 1 or 2 differences between spec and RTL that probably need to be looked at. The rest is just minor stuff like naming etc.

thanks for the review @vogelpi !

updated per comments, please have a look.

updated per latest comments.

Sorry for having blocked you Tim. Don't mind my comments as this will be reworked in follow-up PRs. Please go ahead.

O really? Let me check the style guide more. I didn't catch that if it's
used outside the package it has to be parameter.
On Fri, Apr 17, 2020, 04:54 Pirmin Vogel<EMAIL_ADDRESS>wrote:

@vogelpi commented on this pull request.
In hw/ip/rstmgr/rtl/rstmgr_pkg.sv
https://github.com/lowRISC/opentitan/pull/1752#discussion_r410173290:

@@ -0,0 +1,83 @@
+package rstmgr_pkg;

// global constants
parameter int ALWAYS_ON_SEL = 0;

// params that reference pwrmgr, should be replaced once pwrmgr is merged
//localparam int AlwaysOnSel = pwrmgr_pkg::AlwaysOnDomain;
//localparam int ExtResetReasons = pwrmgr_pkg::HwRstReqs;
localparam int PowerDomains = 2;
localparam int OffDomains = PowerDomains-1;
localparam int ExtResetReasons = 2;

I think it should be parameter because it is used outside of the package.
But since there will be future PRs to modify this anyway, I don't want to
block you any longer. Sorry for the confusion.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/pull/1752#discussion_r410173290,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSRJMAH2KN2IJC5ONA3RNA7PDANCNFSM4LHI2HMA
.

Sorry for having blocked you Tim. Don't mind my comments as this will be reworked in follow-up PRs. Please go ahead.

thanks for the detailed review Pirmin!
If CI passes, I will merge for now (i removed the duplicate params), but do please have a look at my latest comment. If it turns out I interpreted it incorrectly, I'm happy to push another PR to change.

O really? Let me check the style guide more. I didn't catch that if it's used outside the package it has to be parameter.

I was referring to this part in the style guide:
"When declaring a constant:

within a package use parameter.
within a module or class use localparam."

But now I noted the guide also says:

"Use parameter to parameterize, and localparam to declare module-scoped constants."
"Use package parameters to transmit global constants through a hierarchy instead of parameters. To declare a constant whose scope is internal to the module, use localparam instead."

And I noted that in some modules, e.g. hmac, we define local parameters in the module package that are then used in the module (i.e. not only inside the package). It seems as the style guide is quite flexible in this regard.
So this is fine. It's good that you merged it. :+1:

do you feel this is something we should try to make the language more
strict?
On Mon, Apr 20, 2020 at 12:08 AM Pirmin Vogel<EMAIL_ADDRESS>wrote:

O really? Let me check the style guide more. I didn't catch that if it's
used outside the package it has to be parameter.
I was referring to this part in the style guide:
"When declaring a constant:

within a package use parameter.
within a module or class use localparam."

But now I noted the guide also says:

"Use parameter to parameterize, and localparam to declare
module-scoped constants."
"Use package parameters to transmit global constants through a
hierarchy instead of parameters. To declare a constant whose scope is
internal to the module, use localparam instead."

And I noted that in some modules, e.g. hmac, we define local parameters in
the module package that are then used in the module (i.e. not only inside
the package). It seems as the style guide is quite flexible in this regard.
So this is fine. It's good that you merged it. 👍
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/pull/1752#issuecomment-616354482,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSXDKR4LQGQ5UNRYT4LRNPYFXANCNFSM4LHI2HMA
.

do you feel this is something we should try to make the language more strict?

Indeed. I have opened an issue in lowRISC/style-guides#35 . But I don't have a very strong opinion on what is better.


S meter

Hello,
I installed your software and I have a question: are the S meter parameters correct?
Signal level indication without antenna seems incorrect.
I am attaching a photo

Hi,
Ok. you're confusing HF and VHF / UHF bands.
Your table are referring to HF bands.
HF S-meter
S9 + 40 dB	-33 dBm
S9 + 30 dB	-43 dBm
S9 + 20 dB	-53 dBm
S9 + 10 dB	-63 dBm

S9  -73 dBm
S8  -79 dBm
S7  -85 dBm
S6  -91 dBm
S5  -97 dBm
S4 -103 dBm
S3 -109 dBm
S2 -115 dBm
S1 -121 dBm

VHF/UHF S-meter is different...
S9 + 40 dB	-53 dBm
S9 + 30 dB	-63 dBm
S9 + 20 dB	-73 dBm
S9 + 10 dB	-83 dBm

S9  -93 dBm
S8  -99 dBm
S7 -105 dBm
S6 -111 dBm
S5 -117 dBm
S4 -123 dBm
S3 -129 dBm
S2 -135 dBm
S1 -141 dBm

Take a look here for more information : https://hamwaves.com/decibel/en/
Regards,
Armel F4HWN

Hello
Will you share the source code for your part of the modification? In my opinion, SMETR compliant with IARU guidelines for VHF/UHF is completely impractical. Personally, I prefer the original SMETR performance from exumer v0.22. Your other software is great, but I would like to change SMETR "to suit me".
Regards,
Mateusz SQ9PXB

Hi Armel, you are doing a great job with this firmware. However, I join your request to restore the s-meter to the parameters from exumer v0.22 The current version is good in lab conditions for very low noise receivers with ultra high sensitivities. For low-cost transceiver in my opinion it is not suitable.
Regards Leszek SP9LEH

Hi,
Yes of course, source code is full available on my GitHub. Take a look at branch feature_f4hwn_v0.22 :)
In my opinion, calibration of the Egzumer SMeter is totally useless. That's why I've changed it. It's similar to what you'd see on a Yeasu FT-65, for example.
And it doesn't change the fact that if S9 in HF is -73dBm, it's -93dBm in VHF/UHF :)
Regards,
Armel F4HWN.

Thank you for your answer. Unfortunately, I don't see the feature_f4hwn_v0.22 branch....
Regards,
Mateusz SQ9PXB

It's OK now, I just can't find it, the GitHub repository was called "uv-k5-firmware-custom" and not "feature_f4hwn_v0.22". I've already downloaded the content, thank you :)
Mateusz SQ9PXB

As I said, my code is in a branch 😌
Armel F4HWN.

Thank you again for your help and great software. For my convenience, I have already recompiled it to my settings. I see that this is already version 2.2 :) At the beginning I had a problem with stackoverflow of 76 bytes, but I turned off the unnecessary function and it compiled.
Regards,
Mateusz SQ9PXB


python310Packages.psygnal: 0.2.0 -> 0.3.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.psygnal is: "Pure python implementation of Qt Signals"
meta.homepage for python310Packages.psygnal is: "https://github.com/tlambert03/psygnal"
meta.changelog for python310Packages.psygnal is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.3.0 with grep in /nix/store/gambynfka070ix381rq5q6fh4l3kb450-python3.10-psygnal-0.3.0

found 0.3.0 in filename of file in /nix/store/gambynfka070ix381rq5q6fh4l3kb450-python3.10-psygnal-0.3.0

Rebuild report (if merged into master) (click to expand)

14 total rebuild path(s)

7 package rebuild(s)

7 x86_64-linux rebuild(s)
7 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
napari
python310Packages.magicgui
python310Packages.napari
python310Packages.psygnal
python39Packages.magicgui
python39Packages.napari
python39Packages.psygnal

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/gambynfka070ix381rq5q6fh4l3kb450-python3.10-psygnal-0.3.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.psygnal https://github.com/r-ryantm/nixpkgs/archive/11d5e911df5b07936742af8faf2072769b421da8.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/gambynfka070ix381rq5q6fh4l3kb450-python3.10-psygnal-0.3.0
ls -la /nix/store/gambynfka070ix381rq5q6fh4l3kb450-python3.10-psygnal-0.3.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages failed to build:

python310Packages.magicgui
python310Packages.napari

4 packages built:

napari (python39Packages.napari)
python310Packages.psygnal
python39Packages.magicgui
python39Packages.psygnal

Maintainer pings
cc @SomeoneSerge for testing.

I think this needs to be updated simultaneously with https://github.com/napari/magicgui/releases/tag/v0.3.7

CC @ryantm
I just looked at https://r.ryantm.com/log/pypi/python38Packages.magicgui/2022-01-09.log and at the package's history on pypi: https://pypi.org/project/magicgui/#history
On 9th of January the 0.3.4 of magicgui had already been released but the auto-update didn't go through
I don't know what could be the cause

$ nixpkgs-update update "python3Packages.magicgui 0.3.0 0.3.7"
...
error: selector 'python3Packages.magicgui-0.3.0' matches no derivations

nixpkgs-update update "python3Packages.magicgui 0.3.0 0.3.7"

@SomeoneSerge Try using the --attrpath switch to the update command.

Thank you @ryantm! I've learned about this flag just recently. The actual update indeed fails, I don't know why, but I'm having the same issue e.g. with python3Packages.einops. I reported it here: https://github.com/ryantm/nixpkgs-update/issues/294


Logo Proposal

Hello! @Doctoror  i am asking if you need a logo for your project.
i want to remember that is totally free and you can say no and stop this in any moment 😃.
I would be proud to contribute to this project 😉.
if you are agree with this, It would be very helpful if you could tell me how you imagine a logo for your project or if you have something in mind that I can use to get on the right track.

Hello.
This project has problems which I don't have time to fix, I temporarily don't work on it.
Also, I don't plan to change logo anyway.
Thank you.


Both "sub-expression" and "sub-match" terms are used in the docs

Executing :lhelpgrep sub-expression and :lhelpgrep sub-match shows that both terms are used in the docs. Since they seem to mean the same maybe it's better to only leave one to remove the possible confusion.
Vim: https://github.com/vim/vim-win32-installer/releases/download/v8.2.0330/gvim_8.2.0330_x86.zip

On 2020-02-29, lkintact wrote:

Executing :lhelpgrep sub-expression and :lhelpgrep sub-match shows that both
terms are used in the docs. Since they seem to mean the same maybe it's better
to only leave one to remove the possible confusion.

They don't mean the same thing.  A sub-expression is part of
a regular expression, often delimited by ( and ).  A sub-match is
the string matched by the sub-expression.
That said, there are a few places where "match" is refers to
a regular expression that finds a match, such as addmatch() and
":syntax match".  There also appear to be a few instances of
"sub-match" in the documentation where "sub-pattern" would be more
correct.  I don't think those usages cause any confusion, though.
Regards,
Gary

@vim-ml I see, thank you. I'll leave the issue open in case anybody decides to make some corrections to the docs considering what you pointed out at.


pyplot.hold() method deprecated

matplotlib.pyplot.hold() seems deprecated in matplotlib v 3.0.0. so plotConn method is not working in the GUI

adrian pushed some changes to fix this


Improve viginere & transposition

[x] Viginere uses list slicing which creates a new lsit each time, VERY slow.
[x] A chi-squared association test is good for transposition stuff you can use it to really quickly match distributions and shit
[ ] Remeber that, with a viginere cipher, a key as long as the message is actually information theoretically secure https://en.m.wikipedia.org/wiki/Index_of_coincidence give users an option to choose to stop early or continue going on

Most of this was done with the import of cipheycore


WSL2 + Minikube + Lens (Unable to connect to K8 cluster in WSL2)

Describe the bug
Hello Everyone,
My setup:
Windows 10 WSL2
Docker, kubectl, minikube
I am trying to get Lens 5 to connect to the minikube cluster inside WSL2 but it won't work. I get the following error when pointing Lens to "\wsl$\Ubuntu\home\MYUSER.kube\config".
Has anyone been able to successfully connect Lens 5 to a K8s cluster inside a WSL2 (w/ Ubuntu 20.04) ?
To Reproduce
Steps to reproduce the behavior:

Assuming you have Windows 10 with WSL2 Ubuntu 20.04
Install Docker, kubectl, minikube (In WSL2)
Install Lens 5 (In Windows 10)
Try to connect Lens 5 to the Minikube cluster inside WSL2

Expected behavior
Lens 5 should recognize the ".kube/config" and connect to the Minikube cluster.
Screenshots
Not applicable
Environment (please complete the following information):

Lens Version: 5
OS: Windows 10 (WSL2 / Ubuntu 20.04)

Logs:
When you run the application executable from command line you will see some logging output. Please paste them here:
F0623 11:45:49.021116 16520 main.go:74] failed to initialize kubeconfiginvalid configuration: [unable to read client-cert \\wsl$\Ubuntu\home\DevOps\.kube\home\DevOps\.minikube\profiles\minikube\client.crt for minikube due to open \\wsl$\Ubuntu\home\DevOps\.kube\home\DevOps\.minikube\profiles\minikube\client.crt: The system cannot find the path specified., unable to read client-key \\wsl$\Ubuntu\home\DevOps\.kube\home\DevOps\.minikube\profiles\minikube\client.key for minikube due to open \\wsl$\Ubuntu\home\DevOps\.kube\home\DevOps\.minikube\profiles\minikube\client.key: The system cannot find the path specified., unable to read certificate-authority \\wsl$\Ubuntu\home\DevOps\.kube\home\DevOps\.minikube\ca.crt for minikube due to open \\wsl$\Ubuntu\home\DevOps\.kube\home\DevOps\.minikube\ca.crt: The system cannot find the path specified.]
goroutine 1 [running]:
k8s.io/klog/v2.stacks(0x1)
C:/Users/runneradmin/go/pkg/mod/k8s.io/klog/v2@v2.40.1/klog.go:1140 +0x8a
k8s.io/klog/v2.(*loggingT).output(0x2395140, 0x3, 0x0, 0xc0001bac40, 0x1, {0x1b6c0b5, 0x20}, 0x2396020, 0x0)
C:/Users/runneradmin/go/pkg/mod/k8s.io/klog/v2@v2.40.1/klog.go:1088 +0x66f
k8s.io/klog/v2.(*loggingT).printDepth(0xc000142900, 0x6018, 0x0, {0x0, 0x0}, 0x1, {0xc00037a460, 0x2, 0x2})
C:/Users/runneradmin/go/pkg/mod/k8s.io/klog/v2@v2.40.1/klog.go:735 +0x1ae
k8s.io/klog/v2.(*loggingT).print(...)
C:/Users/runneradmin/go/pkg/mod/k8s.io/klog/v2@v2.40.1/klog.go:717
k8s.io/klog/v2.Fatal(...)
C:/Users/runneradmin/go/pkg/mod/k8s.io/klog/v2@v2.40.1/klog.go:1622
main.main()
D:/a/lens-k8s-proxy/lens-k8s-proxy/main.go:74 +0x6a6

goroutine 6 [chan receive]:
k8s.io/klog/v2.(*loggingT).flushDaemon(0x0)
C:/Users/runneradmin/go/pkg/mod/k8s.io/klog/v2@v2.40.1/klog.go:1283 +0x6a
created by k8s.io/klog/v2.init.0
C:/Users/runneradmin/go/pkg/mod/k8s.io/klog/v2@v2.40.1/klog.go:420 +0xfb

goroutine 8 [syscall]:
os/signal.signal_recv()
C:/hostedtoolcache/windows/go/1.17.8/x64/src/runtime/sigqueue.go:169 +0x98
os/signal.loop()
C:/hostedtoolcache/windows/go/1.17.8/x64/src/os/signal/signal_unix.go:24 +0x19
created by os/signal.Notify.func1.1
C:/hostedtoolcache/windows/go/1.17.8/x64/src/os/signal/signal.go:151 +0x2c

proxy exited with code: 255

Kubeconfig:
Quite often the problems are caused by malformed kubeconfig which the application tries to load. Please share your kubeconfig, remember to remove any secret and sensitive information.
apiVersion: v1
clusters:
- cluster:
    certificate-authority: /home/myuser/.minikube/ca.crt
    extensions:
    - extension:
        last-update: Thu, 23 Jun 2022 11:09:03 CEST
        provider: minikube.sigs.k8s.io
        version: v1.26.0
      name: cluster_info
    server: https://<IP_ADDRESS>:49159
  name: minikube
contexts:
- context:
    cluster: minikube
    extensions:
    - extension:
        last-update: Thu, 23 Jun 2022 11:09:03 CEST
        provider: minikube.sigs.k8s.io
        version: v1.26.0
      name: context_info
    namespace: default
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
  user:
    client-certificate: /home/myuser/.minikube/profiles/minikube/client.crt
    client-key: /home/myuser/.minikube/profiles/minikube/client.key

Additional context
Any help getting Lens 5 to connect to a Minikube cluster inside WSL2 is appreciated. Thank you all in advance.

same issue for me as well. Cannot connect to minikube running on WSL-2 on windows-11-pro

I had two issues, the pathing was messed up in the syntax and the path to the actual client keys was wrong.
I'm running docker on windows 11, starting my minikube from WSL2.
Solution that worked for me:

Copy your config from \\wsl.localhost\Ubuntu-22.04\home\${WSL2-HOME}\.kube, I removed anything that was unrelated to minikube.
change paths of certificates to the absolute path from your windows machine, you should have something like the following config as the outcome:

apiVersion: v1
clusters:
- cluster:
    certificate-authority: \\wsl.localhost\Ubuntu-22.04\home\${WSL2-HOME}\.minikube\ca.crt
    extensions:
    - extension:
        last-update: Fri, 09 Sep 2022 20:13:40 IDT
        provider: minikube.sigs.k8s.io
        version: v1.26.1
      name: cluster_info
    server: https://<IP_ADDRESS>:60299
  name: minikube
contexts:
- context:
    cluster: minikube
    extensions:
    - extension:
        last-update: Fri, 09 Sep 2022 20:13:40 IDT
        provider: minikube.sigs.k8s.io
        version: v1.26.1
      name: context_info
    namespace: default
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: docker-desktop
  user:
    client-certificate-data: (key)
    client-key-data: (key)
- name: minikube
  user:
    client-certificate: \\wsl.localhost\Ubuntu-22.04\home\${WSL2-HOME}\.minikube\profiles\minikube\client.crt
    client-key: \\wsl.localhost\Ubuntu-22.04\home\${WSL2-HOME}\.minikube\profiles\minikube\client.key

in Lens, menu in top left > file > add cluster, paste and apply

I was also having problem and my cluster was not visible on lens :
Then I found a solution that we have to add our Cluster manually to the LENS DESKTOP by following ways :
1 . in your WSL command line start the minikube cluster .... by minikube start command
2. then run kubectl config view your config file will be visible .....
3. if kubectl is not installed then you have to go manually to config path \\wsl.localhost\Ubuntu-20.04\home\${your username}\.kube\config
4. then copy that config file and paste in lens ---> add cluster (ctrl+shift+a) .....
5. edit your config file and add  \\wsl.localhost\Ubuntu-{your version}\ before \home at certificate-authority , client-certificate, client-key
6. after edit the config file :

7. add cluster
Your minikube will be visible on lens desktop

In my case the problem was with WSL root path.
\\wsl.localhost simply don't work, I needed to change this to \\wsl$\Ubuntu\
So whole config looks like this
apiVersion: v1
clusters:
- cluster:
    certificate-authority: \\wsl$\Ubuntu\home\${WSL2-HOME}\.minikube\ca.crt
    extensions:
    - extension:
        last-update: Sat, 22 Oct 2022 17:28:11 CEST
        provider: minikube.sigs.k8s.io
        version: v1.27.1
      name: cluster_info
    server: https://<IP_ADDRESS>:54002
  name: minikube
contexts:
- context:
    cluster: minikube
    extensions:
    - extension:
        last-update: Sat, 22 Oct 2022 17:28:11 CEST
        provider: minikube.sigs.k8s.io
        version: v1.27.1
      name: context_info
    namespace: default
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
  user:
    client-certificate: \\wsl$\Ubuntu\home\${WSL2-HOME}\.minikube\profiles\minikube\client.crt
    client-key: \\wsl$\Ubuntu\home\${WSL2-HOME}\.minikube\profiles\minikube\client.key

I was also having problem and my cluster was not visible on lens : Then I found a solution that we have to add our Cluster manually to the LENS DESKTOP by following ways : 1 . in your WSL command line start the minikube cluster .... by minikube start command 2. then run kubectl config view your config file will be visible ..... 3. if kubectl is not installed then you have to go manually to config path \\wsl.localhost\Ubuntu-20.04\home\${your username}\.kube\config 4. then copy that config file and paste in lens ---> add cluster (ctrl+shift+a) ..... 5. edit your config file and add \\wsl.localhost\Ubuntu-{your version}\ before \home at certificate-authority , client-certificate, client-key 6. after edit the config file :  7. add cluster
Your minikube will be visible on lens desktop
NOTE:-
MINIKUBE CLUSTER MUST BE STARTED

Thank you shivankur 🔥 It worked!!!
May i know how to sync that path as default manually? cause if i try to sync that via lens says "you cannot select this location".

server: https://<IP_ADDRESS>:51887
name: minikube
contexts:

context:
cluster: docker-desktop
user: docker-desktop
name: docker-desktop
context:
cluster: minikube
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
name: docker-desktop
user:
client-certificate-data: REDACTED
client-key-data: REDACTED
name: minikube

For the time being I wanted to share my workaround: https://github.com/turikhay/minikube-lens-k8s-config-rewriter

The issue is with the configuration paths and certificate paths.

Copy ~/.kube/config from WSL to any directory, e.g. D:\Temp
Copy the certificates mentioned in ~/.kube/config to D:\Temp as well.
Change the paths to the certificates inside ~/.kube/config to D:\Temp
Add this new config to lens.

For me when I try to apply the above  solutions, my LENS get's stuck at "connecting"

I have the same issue. I followed the steps @Shivankur25 indicated earlier by copying over the contents of .kube/config file in wsl2 to Openlens config file. BTW, I also opened proxy connection in cmd on my windows machine kubectl proxy --port 8001 --reject-paths "^/api/./pods/./attach"
and added the proxy URL <IP_ADDRESS>:800 in Openlens, but now when it connects to the cluster I am getting the following error

To resolve issues with certificate paths:
minikube start --embed-certs

I was also having problem and my cluster was not visible on lens : Then I found a solution that we have to add our Cluster manually to the LENS DESKTOP by following ways : 1 . in your WSL command line start the minikube cluster .... by minikube start command 2. then run kubectl config view your config file will be visible ..... 3. if kubectl is not installed then you have to go manually to config path \\wsl.localhost\Ubuntu-20.04\home\${your username}\.kube\config 4. then copy that config file and paste in lens ---> add cluster (ctrl+shift+a) ..... 5. edit your config file and add \\wsl.localhost\Ubuntu-{your version}\ before \home at certificate-authority , client-certificate, client-key 6. after edit the config file :  7. add cluster
Your minikube will be visible on lens desktop
NOTE:-
MINIKUBE CLUSTER MUST BE STARTED

thnk u for the help it worked for me
reminder : add \\wsl.localhost\Ubuntu\ before \home at certificate-authority , client-certificate, client-key Adding ubuntu version is not necessary

I found another workaround for this issue:
Create the directory .kube inside the WSL path /home/{your_username}/ and copy the contents from .minikube/profiles and the file ca.crt.
This way, I didn’t need to modify the config file, and I can access my Kubernetes cluster using kubectl directly from the terminal. Additionally, I can also use Lens to manage my cluster seamlessly.
If you encounter any issues or need further assistance, feel free to ask!


don't perform verification when there are 0 proof obligations

I have a large project that contains lots of very simple functions. I am consequently spending lots of my time waiting for things such as the following:
Verifying CheckWellformed$$_module.__default.NR__L1PTES ...
  [0.647 s, 0 proof obligations]  verified

Verifying CheckWellformed$$_module.__default.NR__L2PTES ...
  [0.717 s, 0 proof obligations]  verified

Verifying CheckWellformed$$_module.__default.reveal__smc__remove__premium ...
  [0.923 s, 0 proof obligations]  verified

Verifying CheckWellformed$$_module.__default.reveal__smc__mapSecure__premium ...
  [0.880 s, 0 proof obligations]  verified

It would be nice if Boogie could skip invoking the verifier if there are really no proof obligations.

@0xabu : Sorry it has taken almost four years to respond to this issue.
I first educated myself on what the number of proof obligations means.  Turns out it means the total number of assert statements in the desugared code of the  implementation being verified.  By desugared code, I mean the code obtained by converting all specifications including preconditions, postconditions, loop invariants, etc. into assert and assume statements.  0 proof obligations means that there were no assert statements in the desugared code, so nothing to verify.
I am surprised by the time taken for each implementation in the output snippet shown by you.  Running times between 0.5 and 1 s are really large even if the theorem prover is invoked.  In addition to the actual invocation of SMT solver, there is time being spent in converting each implementation into a logical formula (this is where the total number of assertions is estimated, for example).  So, it is possible that each of your implementations is really large but with nothing to verify.  If so, this would be an "edge" case whose optimization might be wiser to leave to the verification tool that targets Boogie.
In any case, to take more action, we would need more investigation from your end.  In case you have moved on and are no longer interested in further investigation, let us know so I can close this issue.

Hi Shaz,
the verification tool here was the Dafny backend to Vale, and the sources to it were Komodo. Since Vale is primarily a mechanical translation of text into Dafny, and then Dafny does another mechanical translation to Boogie, I think both tools lacks sufficient knowledge of what they might (or in this case might not) be asking Boogie to verify.
That said, yes, I've moved on.

Dafny does a check (which I think was triggered by this concern in Komodo a few years ago) to see if the Boogie implementation it's about to give to Boogie has 0 proof obligations (with the same definition as Shaz gives above). If the implementation has 0 proof obligations, Dafny omits (rather than emits) it.
It would be nicer to have this functionality in Boogie, but from Dafny's perspective, at least the issue has been addressed. The mystery of why these 0-proof-obligations implementations cost so much time was never resolved.

I am not convinced that detecting the absence of asserts, although it could be implemented, is the solution to your problem.  I do not expect VC checking to be more than a few milliseconds for trivial VCs (time taken is usually a small fraction of a second for ordinary VCs).  The real problem to debug is why these trivial VCs are taking such a long time.  Is there any chance that those Komodo files demonstrating this problem could be resurrected?  If not, I will close this issue and simply keep an eye out for next time this particular phenomenon pops up.

I'm not sure whether this will help, but I dug up a Komodo enlistment, and I'm attaching the Boogie output generated by dafny's /print: option for the file in question:
smc_handler.gen.bpl.gz

I ran the version of Boogie in master on the file you sent me. It ran and even verified 6 implementations before getting stuck. Amazing!  It would be nice to know the options used by Dafny for invoking Boogie.  Perhaps that would make the verification go faster.
The file is really large, more than 350KLOC.  It has only ten implementations.  So, each implementation is likely extremely large.  If this file is representative of Boogie code being generated in Komodo, a running time of 0.5-1 s even for an implementation that has zero proof obligations is not surprising.  I can believe that for such  large implementations, VC generation itself could take that much time.
VC generation in Boogie (although worst-case quadratic in the size of the implementation) is expected to be linear time.  Scanning the implementation for a proof obligation is best done once the implementation has been desugared but before the VC generation is performed.  So the most we can save is the cost of the VC generation.  I will try to measure the time taken for different phases of VC generation for each implementation in the file you sent me and report back.

The full set of flags we pass to Dafny are specified here, but I'm not sure how those translate to Boogie. If I had to hazard a guess, you're most likely getting stuck on non-linear arithmetic (we pass /noNLarith to Dafny). We also have a fairly high timeout, and of course this work was all done on a ~4 year old version of Boogie and Z3, so I wouldn't expect everything to verify with modern tools.
As for the size: yes, the combination of Vale and Dafny led to a lot of output. This file in particular is the top-level implementation file in the system (it includes almost all the rest of the implementation) so was probably the largest input to Boogie, and thus the worst culprit for related scaling issues.

fixed by PR #389


use IPFS cluster as Hot Storage

Explore and document usage of IPFS cluster for FFS Hot Storage.

Hello 👋
I'm exploring powergate, and I'm curious to know why using an IPFS cluster for FFS would require specific development. From the IPFS cluster documentation, I see that:

A drop-in to any IPFS integration: each cluster peer provides an additional IPFS proxy API which performs cluster actions but behaves exactly like the IPFS daemon’s API does.

Which I interpret as "there is no difference at all between a single node or a cluster", and thus I'm surprised that FFS would require something specific to make it work.


Randomly getting output full of repetitive newlines on LLaVA invocations

Not sure if anyone else had hit into this but when using liuhaotian/llava-v1.5-13b with llava-hf/llava-1.5-13b-hf tokenizer, randomly I get outputs full of only newlines. The frequency of this happening increases when the temperature is close to 0 but also happens at 1 as well.

I've also hit this bug. My issue was that I had the generation outside of the assistant prompt. I was trying to be able to prompt the generation process (e.g. I give it what the model should start with).
WRONG:
def image_qa(s, image_path, question, system_prompt="", initial_assistant = ""):
s += sgl.user(system_prompt + sgl.image(image_path) + question)
s += sgl.assistant(initial_assistant)
s += sgl.gen("answer")
CORRECT:
def image_qa(s, image_path, question, system_prompt="", initial_assistant = ""):
s += sgl.user(system_prompt + sgl.image(image_path) + question)
s += sgl.assistant(initial_assistant + sgl.gen("answer"))
This fixed the issues.


Mirgrating unique Partition chart controls

CATEGORY
Choose one

[ ] Bug Fix
[ ] Enhancement (new features, refinement)
[x] Refactor
[ ] Add tests
[ ] Build / Development Environment
[ ] Documentation

SUMMARY

Moving unique control(s) from controls.jsx to /explore/controlPanels/Partition.jsx
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN

ADDITIONAL INFORMATION

[x] Has associated issue: #9187
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

REVIEWERS
@kristw

@kristw note that this one is a little peculiar. It uses some JSX, importing and passing a component. We'll probably need a way to displace that dependency to move it to the plugins repo.

Codecov Report

Merging #9385 into master will not change coverage by %.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##           master    #9385   +/-   ##
=======================================
  Coverage   59.02%   59.02%
=======================================
  Files         375      376    +1
  Lines       12136    12136
  Branches     2993     2993
=======================================
  Hits         7163     7163
  Misses       4794     4794
  Partials      179      179

Impacted Files
Coverage Δ

...t-frontend/src/explore/controlPanels/Partition.jsx
0.00% <0.00%> (ø)

superset-frontend/src/explore/controls.jsx
40.29% <ø> (+0.59%)
:arrow_up:

Continue to review full report at Codecov.

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


 Since there is at least 1 service.
Instead of an empty array, use fatalError() when the services not overwritten.


support deleting a check-in

people will inevitable click /helthtoday sent by other people and that will cause their entry to be added for no good reason.
when we had hastebin bot, everyone kept clicking the command in someone's text for some reason.
so, we need a command to undo or delete a check-in

I like this idea, but this would move the onus of removing such dummy updates on the user
How about we have additional filtering captured in the stat computation logic?
We could also have the bot respond to such dummy ping, with appropriate prompt
something like "dummy ping detected, wont be computed towards your update"

I don't see a way to differentiate.

I was thinking something along these lines
Dummy Ping from clicking the command in someone's text
/helthtoday

Actual ping that contains update
/helthtoday
Activity 1
Activty 2

marking resolved. as we are going with something like /helth today to avoid false positive. Which will be tracked in #18


Revise hierarchy of "Electrode" parameters, include parameters for inert composition

Simon Clark (SINTEF) wrote:

Generally, I am thinking if we can structure this in a way that will support higher dimensions (e.g. P3D, P4D) in the future? That is affected mostly by the electrode parameter structure. As it currently is implemented, the electrode level contains information about the coating (e.g. thickness, porosity, transport efficiency, etc.) and the active material (e.g. stoichiometry, OCP, etc.) while omitting information about the current collectors. While the current collectors are not important for P2D models, they can be very important in P4D models. Also, enabling the possibility to set the composition of the coating (e.g. X wt% active material, Y wt% carbon black) would be good – even if it is not directly supported by PyBaMM at the moment. That would look something like this (just as a pseudo-code example):

{
    "Negative electrode": {
        "Coating": {
            "Thickness [m]": 4.44e-05,
            "Porosity": 0.20666,
            "Transport efficiency": 0.09395,
            "Active material": {
                "name": "Graphite",
                "Mass fraction": 0.92,
                "Diffusivity [m2.s-1]": 9.6e-15,
                "OCP [V]": "5.29210878e+01 * exp(-1.72699386e+02 * x) - 1.17963399e+03 + 1.20956356e+03 * tanh(6.72033948e+01 * (x + 2.44746396e-02)) + 4.52430314e-02 * tanh(-1.47542326e+01 * (x - 1.62746053e-01)) + 2.01855800e+01 * tanh(-2.46666302e+01 * (x - 1.12986136e+00)) + 2.01708039e-02 * tanh(-1.19900231e+01 * (x - 5.49773440e-01)) + 4.99616805e+01 * tanh(-6.11370883e+01 * (x + 4.69382558e-03))",
                "Entropic change coefficient [V.K-1]": "(-0.1112 * x + 0.02914 + 0.3561 * exp(-((x - 0.08309) ** 2) / 0.004616)) / 1000",
                "Conductivity [S.m-1]": 7.46,
                "Surface area per unit volume [m-1]": 473004,
                "Reaction rate constant [mol.m-2.s-1]": 6.872E-06,
                "Minimum stoichiometry": 0.0016261
            },
            "Conductive additive": {
                "name": "Carbon black",
                "Mass Fraction": 0.04
            },
            "Binder": {
                "name": "CMC",
                "Mass fraction": 0.04
            }
        },
        "Current collector": {
            "name": "Copper foil",
            "Thickness [µm]": 10
        }
    }
}

Better expression of electrode composition is important (#41), but I don't think that BPX is really the place for capturing general informational content about a cell, independent from a model. Parameters should be introduced to BPX only when they appear in a supported mathematical model.

+1 for separating material-level information from electrode-level information, especially as this is already what is done by BPX for blended electrodes. Specifically, I wish we had defined PyBaMM to use "active fraction of solid" (between 0 and 1) instead of "active material volume fraction" (between 0 and 1-porosity)


Final source and destination path should not be identical

I have imported some photos. (elodie.py is in PATH)
cd ~
elodie.py import --album-from-folder --destination ~/Pictures /tmp/my-album

As expected, this created the following structure.
~ tree ~/Pictures/2017
/Users/navaneethkn/Pictures/2017
└── November
    └── my-album
        └── 2017-11-18_07-26-16-nkn_3455_5085-super-heroes-stage.jpg

Now, I am trying to update location info into the file.
~ elodie.py update --location=Bangalore ~/Pictures/2017/November/my-album

This fails with the following error:
Final source and destination path should not be identical
{"source":"/Users/navaneethkn/Pictures/2017/November/my-album/2017-11-18_07-26-16-nkn_3455_5085-super-heroes-stage.jpg", "destination":"None"}
****** ERROR DETAILS ******
File
-----------------------------------------------------------------------------------------------------------
/Users/navaneethkn/Pictures/2017/November/my-album/2017-11-18_07-26-16-nkn_3455_5085-super-heroes-stage.jpg

****** SUMMARY ******
Metric      Count
--------  -------
Success         0
Error           1

When I look at the image, it has the location info added. But the command was showing it as a failure.

I went through the code. Looks like this is just a warning. Actual processing has happened

It's a valid bug. The error is because despite the EXIF changes it does not change the destination folder because the album name trumps the location which in turn thinks the operation failed. It should not report an error. Since it returns before the end of the function there are lines of code which do not execute.
Thanks for reporting.

Hi, I'm having the same problem today. For example I want to rename the location folder and it show the same error.
./elodie.py update --location="Utrera, Sevilla" /Folder/Unkown location/
Final source and destination path should not be identical

Well, if you config MapQuest developer api, the error disappeared


caged mpv want's to use xWayland when nested in sway

If i try to launch mpv in cage, i get the following errors
wl_drm@19: error 0: authenticate failed
glamor: No eglstream capable devices found
(EE)
Fatal server error:
(EE) wl_drm@5: error 0: authenticate failed
(EE)
00:00:01.087 [xwayland/server.c:256] Xwayland startup failed, not setting up xwm

followed by a crash.
Mpv works natively on wayland in other wlroots compositors.
This error only occurs when cage is nested within sway (edit the problem also occurs when nesting cage within an existing cage session), launching from a tty works fine.

What does the environment look like in which you're launching MPV? I suspect there may be an X or Xwayland setting present that mpv might prefer over Wayland.

I'm seeing something similar, on a pinebook pro. For what it's worth, cage -- mpv --vo=wlshm seems to work. cage -- mpv --vo=gpu fails with the error above plus "[vo/gpu] Failed initializing any suitable gpu context", even though gpu is the default video output driver when running mpv outside of cage.

I think the issue may be specific to the pine book pro then, since it is also my device of choice.
Furthermore, this is also an issue when nesting sway within sway, so it may be a wlroots-pinebookpro compatibility issue.

A for the environment settings, even with the exact same environment as in sway, mpv still does not work.
I am closing this issue was it seems not to be a cage issue.


config: refactoring opaque resource decoder to be a unique-ptr

Commit Message: refactoring opaque resource decoder to be a unique-ptr
Additional Description:
Prior to this PR the OpaqueResourceDecoder was owned by each of the Subscriptions, and a reference to it was used by the GrpcMux's. This can cause an issue if the Mux outlives the subscription, as can happen in the newly added test ValidResourceDecoderAfterRemoval, and in the unified Mux implementation.
This PR converts the OpaqueResourceDecoder to a unique pointer, that can be used by both.
Followup by request in #22596.
Risk Level: Low/Medium - modifying many places in the config-plane codebase, but the refactor switches from a reference to a unique pointer.
Testing: Added a unit test that fails if non-unique pointer is used.
Docs Changes: N/A.
Release Notes: TBD.
Platform Specific Features: N/A
Signed-off-by: Adi Suissa-Peleg<EMAIL_ADDRESS>

cc @htuch as you requested in #22596, here's the implementation that uses unique-ptr.
To tell the truth, I feel both shared and unique are a bit risky as we may miss some edge case in the tests, but when looking at the changes again, I'm not certain if either is more riskier than the other.
Please let me know what you think.


Parsing connection string & sending messages

These are the last two, I promise (ᗒᗣᗕ)՞.
First: deserializing in WifiDirectBase.cs doesn't work at all (infinite loop), here I fixed it (changed lines have comments):
public void onUglyTxtRecord (string uglyRecord) {
		int addrSplitAddress = uglyRecord.IndexOf ('&');
		string addr = uglyRecord.Substring (0, addrSplitAddress);
		string temp = uglyRecord.Substring (addrSplitAddress+1); //& isn't the first char
		int splitIndex = temp.IndexOf ('&');
		Dictionary<string, string> record = new Dictionary<string, string> ();
		while (splitIndex > 0) {
			int eqIndex = temp.IndexOf ('=');
			string key = temp.Substring (0, eqIndex); //change so that key is correct
			splitIndex = temp.IndexOf ('&');
			string value;
			if (splitIndex < 0) {
				value = temp.Substring (eqIndex + 1);

			}
			else {
				value = temp.Substring (eqIndex + 1, splitIndex-eqIndex-1); //second argument is a length, not an index
				temp = temp.Substring (splitIndex + 1); //without it, infinite loop
			}
			record.Add (key, value);
		}
		Debug.Log("ugly record found");
		this.onTxtRecord (addr, record);
	}

Second: Messages are encoded in UTF-16 byte arrays, but decoded as UTF-8 (default for android devices)
Line 138 of UnityWifiDirect.java should be:
String msg = new String(intent.getByteArrayExtra(WifiDirectHandler.MESSAGE_KEY),"UTF-16");
I think the code should completely work with these 2 changes applied, please build the .aar file again.
PS.: Somehow you have to both host and search on both devices for a connection to be made, maybe a solution with only one broadcast/discover-service-method would be better. (No a device doesn't connect to itself in that case)

I got it: check commit fe889fa4a2dacf51dc9ca79f929b3087255e3f09
This is just a thin wrapper around the WifiBuddy project so I'm not entirely sure why a peer needs to both broadcast and search, but I guess it makes sense because its P2P, so both Alice and Bob need to do a broadcast and search to send messages to each other
I noted this in the Readme.md

Thanks, it works now.


Add "Azure Container Apps" example

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [X] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

See:

#121
#122
#123

Mention any other details that might be useful
Azure Container Apps is still in preview but we could add a few sample on how to create a container app, a log environment, deploy an image, etc.

Closing this in favor of #123


refactor use of Orma

Upgrade Orma to v1.2.2 (including mainly bug fixes)
Observable(selector.toList()) is useless. Use selector.executeAsObservable() instead.
selector.get(0) is equivalent to selector.value()
Don't query non-indexed columns (where("checked = ?", true)). @Column(indexed = true) makes a query helper checkedEq().

:eyes:

@gfx your sentences are very helpful for me. :+1:

Well done sir!!! :bow:
LGTM


Option to change numeric keyboard layout

On some devices, one cannot switch from numeric to regular keyboard. Hence entring house numbers like "1/4A" becomes impossible.
Add a switch to Settings to use the full password keyboard instead.

Done in 0.1.4.


Azure Service Discovery resource group filter

Added an optional resource_group configuration for Azure service discovery, which limits the discovery when specified. See issue 10253.
Also updated a deprecated azure auth call.

@roidelapluie I implemented this using a new config value. Let me know if there's another preferred method to get the resource group.

Thanks for this! It seems like we would need azure users to test this.

@David-N-Perkins Thanks for implementing this. A new optional config value seems to be the best solution for this topic. It's backwards compatible and provide a way to reduce the amount of ARM calls massively if it's a subscription containing a lot of VMs. I'll try out you code changes and give you feedback. But maybe there are other Azure users who can also give feedback. Especially the MSI auth change will be hard to test locally.

@David-N-Perkins Sorry for the late response. I've now tested your branch for ~24h within an AKS cluster.
TL;DR: LGTM! @roidelapluie Please merge 😄

MSI authentication works (tested with azure pod identity in AKS)
Applying the resource groups parameter also works like a charm (ARM request report comparison (#calls before/#calls after) using Export-AzLogAnalyticRequestRateByInterval)
Backwards compatibility is given by omitting the resource_group config parameter (also tested via the report approach mentioned above)

I had previously accidentally built a container image from the main branch and was wondering why the parameter shouldn't exist in azure.plain (see log output below). Then I realized it was the wrong branch I was building the image on. But it was a good test that the parameter is accepted as soon as i was working on the correct branch.
Before using the right branch there was the following log output:
 ts=2022-03-23T09:59:23.929Z caller=main.go:870 level=error msg="Error reloading config" err="couldn't load configuration (--config.file=\"/etc/config/prometheus.yml\"): parsing YAML file /etc/config/prometheus.yml: yaml: unmarshal errors:\n  line XXX: field resource_group not found in type azure.plain"

After using the right branch everything worked as expected.
Good job! 🚀

But is this a beaking change for users? Do they need to change their credentials ?

No, it's not a breaking change. I've just tested if the MSI authentication still works with the changes made in this PR. Service Principal authentication was not touched and should work as before:
https://github.com/prometheus/prometheus/blob/10b6d005291b51c092a1eac428f50e00290c484b/discovery/azure/azure.go#L201
Just the MSI authentication was replaced, as the current methods are deprecated:
https://github.com/Azure/go-autorest/blob/b3899c1057425994796c92293e931f334af63b4e/autorest/adal/token.go#L738
Furthermore one can omit the resource_group parameter and then the behavior is the same as before. Hence also not a breaking change.

thanks. I have spin up azure vm's to test this, it indeed works. Added a comment.

Thanks!


[Feature] Allow saving only requests or response when doing proxy

Actually , There Is One Issue While Saving The Requests And The Responses

From The Previous Image There Is not an New Line Between Body Of The POST Request And First Line Of The Response e.g. log File Should Be Like This

And If You Can Possible Add Feature To Save Only Request Without Response That Will Be a Great Because If Any One Can Use This Files With sqlmap Tool With Option -r OR fuff Tool With Option -request

As a default, proxify stores, request + response dumps into one txt file, to support requested feature, we have two possible options:-

As default store request and response in separate txt file.
Keep the default behaviour as it is, and have dump-req and dump-res flag to dump them if used.

Both issues fixed here https://github.com/projectdiscovery/proxify/pull/20 @0xAwali

[x] Bugfix with new lines
[x] Added 2 new flag, dump-req, dump-resp to dump either request or response or both at the same time, as default, both request/response will be dumped to the same file.

Both issues fixed here https://github.com/projectdiscovery/proxify/pull/20 @0xAwali

[x] Bugfix with new lines
[x] Added 2 new flag, dump-req, dump-resp to dump either request or response or both at the same time, as default, both request/response will be dumped to the same file.


Can make default/initial Window Size configurable ?

Please answer these questions before submitting your issue.
Should this be an issue in the gRPC issue tracker?
yes
Create new issues for bugs and feature requests. An issue needs to be actionable. General gRPC discussions and usage questions belong to:

grpc.io mailing list
StackOverflow, with grpc tag

Please don't double post your questions in more locations; we are monitoring both channels, and the time spent de-duplicating questions is better spent answering more user questions.
What version of gRPC and what language are you using?
c++
What operating system (Linux, Windows, …) and version?
Linux
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc
What did you do?
If possible, provide a recipe for reproducing the error. Try being specific and include code snippets if helpful.
What did you expect to see?
What did you see instead?
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
Anything else we should know about your project / environment?

THis is currently possible with the GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES channel arg


Aftership Agent - How to track without courier name

Does anyone has an example to share from Aftership to track courier without the courier provider (i.e. UPS, Fedex)? Lets say I have a tracking number only.
I could not find if this is possible in aftership API documentation.

Nevermind, just found the solution. Will try to update the wiki.
{
  "api_key": "APIKEY",
  "path": "trackings/499552045343999"
}


Large polygons take too long to resolve

Describe the bug
using the following shapefile, the larger polygons don't return a result , the process hangs before geometry area is calculated
To Reproduce
If using a custom shapefile please upload ZIP of the same to project google drive folder GISLayers and add link below.
Link: https://drive.google.com/drive/u/0/folders/1Qg44GPY4EYOqmY_pPCbvrAB9w0-iHPw3
Steps to reproduce the behavior:

Load shp using custom shapefile ip
Select one of the larger polygons
click save to desktop with year as 2015
wait for result which never comes

Expected behavior
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS Name and Version : Windows 11
QGIS Version:  3.16
Jaltol Version: 1.0

Additional context
Add any other context about the problem here.

Linked to #1 , on resolving the projection issue the water balance is generated in approx ~1min for the larger watersheds. In the future we can attempt to reduce this time further


Change fill_parent to match_parent in layout files

We had previously used fill_parent at a few places in the layout files for setting height and width. The attribute fill_parent has been deprecated and has been replaced by match_parent.
I have also removed commented out code from the layout files.
@rohan-dhamal-clarice @nasthagiri - Please review.

:+1:

:+1:


[Bug]: Cannot Run on Windows 11

Stretchly doesn't seem to run on Windows 11. I see the message "Paused - Do not disturb is on", and then it exits immediately.

Probably need to upgrade electron version. Is this clean install or an upgrade?


add: cloudevent build

这个 PR 实现什么功能/修复什么问题:
自动build cloudevent镜像
是否需要 backport 到之前的 release 分支:
None
/cc @zexi

Codecov Report

Merging #4220 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #4220      +/-   ##
=========================================
+ Coverage    6.84%   6.85%   +0.01%
=========================================
  Files         519     519
  Lines       87901   87901
=========================================
+ Hits         6014    6025      +11
+ Misses      81390   81378      -12
- Partials      497     498       +1

Flag
Coverage Δ

#aFlag
6.85% <ø> (+0.01%)
:arrow_up:

Impacted Files
Coverage Δ

pkg/cloudcommon/cronman/cronman.go
54.85% <0%> (+5.33%)
:arrow_up:

Continue to review full report at Codecov.

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


Include bound type variables in type inference

When defining AST nodes, it is possible to use instructions with bound type variables:
    Rtl(
        a << udiv.i32(x, y)
    )

The ValueTypes for the bound type variables appears in ast.Apply.typevars:
    def __init__(self, inst, args):
        # type: (instructions.MaybeBoundInst, Tuple[Expr, ...]) -> None  # noqa
        if isinstance(inst, instructions.BoundInstruction):
            self.inst = inst.inst
            self.typevars = inst.typevars
        else:
            assert isinstance(inst, instructions.Instruction)
            self.inst = inst
            self.typevars = ()

These bound type variables should be used top constrain type inference further. It effectively converts the involved type variables to singletons.
The typevars field is a Tuple[ValueType, ...]. A None entry means the the type variable is not constrained.
cc @d1m0

Looking at ti.py, it seems that the bound type variables are already included:
    # Update m with any explicitly bound type vars
    for (idx, bound_typ) in enumerate(expr.typevars):
        m[free_formal_tvs[idx]] = TypeVar.singleton(bound_typ)

The bound type variables are not emitted as additional type checks, which is probably OK.

OK, this is fixed now. Apply.inst_predicate() will now include the bound type variables in the predicate, and gen_legalizer.py emits predicate check code.


Unsure on category

Hey, I threw this comprehensive key + wallet derivation tool together becasue this overall process seems pretty gate-kept. Not really sure where to place it in this repo though. I would say with wallets but it is not really a "wallet app" initself, although it also is.

Hi, the tools > cli section seems the most appropriate.


Release 2.2.1

@rultor release it; the tag is 2.2.1.

@rultor status

@rultor release it; the tag is 2.2.1.

@rafamizes OK, I will release it now. Please check the progress here

@rultor status

@rafamizes This is what's going on here:

request 1 is in processing, command is release
request has 3 parameter(s):
head: git@github.com:dartoos-dev/eo_color.git
head_branch: master
tag: 2.2.1
build started 60 seconds ago
build is running in /tmp/rultor-AIhY directory
Docker container ID: ...
working directory size: 2.3M
server load average: 0.26

More information about Rultor commands you can get here.

@rultor release it; the tag is 2.2.1.

@rafamizes Done! FYI, the full log is here (took me 5min)