[flutter_adaptive_scaffold] : Navigation Rail items not considering NavigationRailTheme values.

Use case
In tablet or higher screen size devices, the package will show the NavigationRail instead of BottomNavigationBar. Thus it should consider its theme as well which is not working as of now.

Main & Theme declared as below.

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.light().copyWith(
        navigationRailTheme: const NavigationRailThemeData(
          selectedIconTheme: IconThemeData(
            size: 36.0,
            color: Colors.red,
          ),
          selectedLabelTextStyle: TextStyle(
            fontSize: 20,
            color: Colors.black,
          ),
          unselectedLabelTextStyle: TextStyle(
            fontSize: 16,
            color: Colors.black,
          ),
        ),
      ),
      home: const MyHomePage(),
    );
  }
}

As we can see in my Material app theme, I have declared selected icon to be shown as in different colour (here, red), However, it is not working as expected.
Attaching usage of AdaptiveScaffold as below:

class MyHomePage extends StatefulWidget {
  /// Creates a const [MyHomePage].
  const MyHomePage({super.key});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _selectedTab = 0;

  @override
  Widget build(BuildContext context) {
    // Define the children to display within the body at different breakpoints.
    final List<Widget> children = <Widget>[
      for (int i = 0; i < 10; i++)
        Padding(
          padding: const EdgeInsets.all(8.0),
          child: Container(
            color: Colors.grey,
            height: 400,
          ),
        )
    ];

    return AdaptiveScaffold(
      useDrawer: false,
      selectedIndex: _selectedTab,
      onSelectedIndexChange: (int index) {
        setState(() => _selectedTab = index);
      },
      destinations: const <NavigationDestination>[
        NavigationDestination(
          icon: Icon(Icons.inbox_outlined),
          label: 'Inbox',
        ),
        NavigationDestination(
          icon: Icon(Icons.article_outlined),
          label: 'Articles',
        ),
        NavigationDestination(
          icon: Icon(Icons.chat_outlined),
          label: 'Chat',
        ),
        NavigationDestination(
          icon: Icon(Icons.video_call_outlined),
          label: 'Video',
        ),
      ],
      body: (_) => GridView.count(crossAxisCount: 2, children: children),
      smallBody: (_) => ListView.builder(
        itemCount: children.length,
        itemBuilder: (_, int idx) => children[idx],
      ),
      // Define a default secondaryBody.
      secondaryBody: (_) => Container(
        color: Colors.pink[200],
      ),
      // Override the default secondaryBody during the smallBreakpoint to be
      // empty. Must use AdaptiveScaffold.emptyBuilder to ensure it is properly
      // overridden.
      smallSecondaryBody: AdaptiveScaffold.emptyBuilder,
    );
  }
}

flutter doctor -v command executing as expected without any errors.
Output in simulator - Tablet in as screenshot attached below.

Proposal
If NavigationRailTheme is provided in material theme, it shall consider that if user has not given the theme related data explicitly.

PR raised for the FIX : https://github.com/flutter/packages/pull/3297.

Caused by this default parameters on standardNavigationRail builder function

@taleroangel yes, I have applied the fix and raised a PR for the same as well. Do check ✌🏼

Closed as it is merged into main.


Fix #117: Update screenshots prevent switch without refreshing the app

Screen sharing will be disabled as soon as the button is switched as shown in the video
https://github.com/user-attachments/assets/55d5ebc0-99dc-4daf-8a50-9603e717b112

Awesome, thank you for your contribution to the repo!


[Research] Packer or Docker/Ansible

It looks like we fail to create fatpack with packer. So it this project could be another alternative for our CI and automated sd card image build: https://github.com/ptrsr/pi-ci
If we decide to stay witch packer the following issues are still on our todo list:

[ ]  #4463
[ ]  #4441
[ ]  #4440
[ ]  #4707

First step, forked the pi-ci repo and attempt to generate a Docker image based on the full RaspberryOS image (not lite): https://github.com/openoms/pi-ci/actions/runs/11087058497


[FR: Logging Interceptor] Add ability to print all request/response data at once

I saw that current implemetation of HttpLoggingInterceptor prints every line separately, which makes tracing quite difficult when you do many simultaneous requests.
It would be nice if we have the option to print the request/response data at once.

If you need logging facilities beyond what the provided one exposes, we recommend you copy its sources and modify it to suit your needs. We can't provide something that works for 100% of uses and requirements because there's so many crazy permutations.

What about pull request?

Something like this requires exposing options in the API which is what we don't want to add.

Or it can be entirely new class...

That seems worse than an option. Your best bet is to create your own interceptor.

Got it. Contributions are not welcomed.

GitHub’s closed pull requests page will show you which kinds of contributions are welcomed. This video attempts to explain why:
http://youtu.be/PCxz2LEmuL4

Please be more direct!
If you have any special rules for PRs, make them public here https://github.com/square/okhttp/wiki/Contributing or even in your issue template.
Thanks!


Import DXF, missing text and filler missing

Import DXF, missing text and filler missing

Drawing1.zip

If you check the console there are logs mentioning your problem.

Can't render this multipline MTEXT entity, sorry.

According to the README MText is not supported. If you see where the log is used there's a comment explaining why:
https://github.com/gdsestimating/three-dxf/blob/78657c8d6bf9b9124ffe3216da1e370a842e1d4e/src/index.js#L268-L271
If it first your use case you can transform the MText to regular text using you DXF editor of choice before importing it on three-dxf.

First of all, thank you. I have another question. After it is converted into regular text, the text will be displayed as a question mark
NoNoHatchMtext.zip

We are nearing some support for MText. I've experimenting with a library called troika-three-text that handles it multiline text pretty well. I've made a branch of the same name in three-dxf to work on it. The alignment doesn't work 100% and I just posted an issue discussing a possible remedy with that library. Otherwise I'll have to calculate some offsets to position the text properly.

Multiline MText is now supported in 1.3 with some limitations in formatting:

the font is not dynamic.
stacked fractions, changes in font-size, and other kinds of formatting changes are within the same entity are not supported


README update for async/await

See Title.

Codecov Report

Merging #254 (b9463c2) into main (136cf4c) will increase coverage by 4.07%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #254      +/-   ##
==========================================
+ Coverage   39.72%   43.80%   +4.07%
==========================================
  Files         115      115
  Lines        9505     9499       -6
==========================================
+ Hits         3776     4161     +385
+ Misses       5729     5338     -391

Flag
Coverage Δ

unittests
43.80% <ø> (+4.07%)
:arrow_up:

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

Impacted Files
Coverage Δ

...s/PostgresNIO/New/Data/Bytes+PostgresCodable.swift
64.70% <0.00%> (-8.83%)
:arrow_down:

...s/PostgresNIO/New/Data/Array+PostgresCodable.swift
93.25% <0.00%> (-0.43%)
:arrow_down:

Sources/PostgresNIO/New/PostgresQuery.swift
86.66% <0.00%> (ø)

Sources/PostgresNIO/New/PostgresCodable.swift
91.66% <0.00%> (ø)

...es/PostgresNIO/New/Data/Date+PostgresCodable.swift
89.28% <0.00%> (ø)

...es/PostgresNIO/New/Data/JSON+PostgresCodable.swift
100.00% <0.00%> (ø)

...es/PostgresNIO/New/Data/UUID+PostgresCodable.swift
98.30% <0.00%> (ø)

...s/PostgresNIO/New/Extensions/ByteBuffer+PSQL.swift
100.00% <0.00%> (ø)

.../PostgresNIO/New/Data/String+PostgresCodable.swift
100.00% <0.00%> (ø)

...IO/New/Data/RawRepresentable+PostgresCodable.swift
82.35% <0.00%> (ø)

... and 29 more


chore: Xforward cypress to show browser locally

@thesephirot I've added the how for win10 with wsl2 directly to the contribution guide. Maybe we need to consolidate later.

Why do you want to run cypress open in a container?

I‘d preferably use the node modules from /e2e as it keeps dependencies there and it makes contributions easier.. but should then get rid of the container in the action..

We do not need this for the moment


feat(back): give the back function access to props

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


GH2332: Add overloads for uploading artifact directories to Azure Pipelines

Added UploadArtifactDirectory commands for uploading directory artifacts to Azure Pipelines. The new method name was required to avoid conflicts with existing UploadArtifact commands since both FilePath and DirectoryPath have implicit conversion from string.
Fixes #2332

@gtbuchanan your changes have been merged, thanks for your contribution 👍


Projections with data loaders

I have an upp using HC11 and EF Core and recently I've added projections to it. This works great on IQueryables that I expose on my API and it also allows me to skip redundant SELECT COUNT(*) calls which I also mentioned in #2934. But there's one place where it doesn't work as expected and I'm wondering if anything can be done here.
I'm using a lot of data loaders (mostly group and batch) which I use to resolve the data linked to the stuff I expose on the higher level on API. The structure of my database makes this way more efficient than doing that on EF level and let it run the JOINs. Obviously projections do not work here and my data loaders are still fetching all of the columns.
Here's the example implementation of the fetch method used by GroupDataLoader
public async Task<ILookup<string, InvoiceLine>> GetLinesAsync(
    IReadOnlyList<string> keys, CancellationToken cancellationToken = default)
{
    await using var context = _contextFactory.CreateDbContext();
    return await context.InvoiceLines.Where(x => keys.Contains(x.PrimaryKey))
        .ToLookupAsync(x => x.PrimaryKey.ToUpperInvariant(), cancellationToken);
}

I'm wondering is there a way to somehow inject projections into this kind of code? It'd definitely need to be called before IQueryable is enumerated and mapped to ILookup.

Is there any update on this? I'm just starting to play around with the GraphQL-Workshop repository and the EF demo in the docs, so I'm pretty new to this still.
However, it seems like not projecting when using a data loader nullifies one of GraphQL's benefits where only selected fields are queried from the data provider. I believe this issue also affects resolvers, correct? In that case, aren't most queries affected by this issue when they don't return an IQueryable?

This would be super nice and would make my very nested aggregate with related aggregates so much more performant. Not sure if there are already idea's how the interface should look like. Something like this would be nice (pseudo code):

public sealed record GroupedDataLoaderMap<TParent, TChild, TKey>(
	IQueryable<TChild> ChildQueryable,
	Func<TChild, TKey> ChildToKeySelector,
	Func<TParent, TKey> ParentToKeySelector);

public sealed record BatchedDataLoaderMap<TParent, TChild, TKey>(
	IQueryable<TChild> ChildQueryable,
	Func<TChild, TKey> ChildToKeySelector,
	Func<TParent, TKey> ParentToKeySelector);

[ExtendObjectType(typeof(User))]
public class UserExtensions
{
	//This already works rite?
	[UseProjection]
	[UseFiltering]
	[UseSorting]
	public IQueryable<Post> GetPosts(
		[Parent] User user,
		TemplateDbContext dbContext)
	{
		return dbContext
			.Posts
			.Where(p => p.UserId == user.Id);
	}

	//This is kinda simular, and from user of HotChocolate (like me :)) perspective easy. Not sure if easy to implement. Because we need all users/parents here
	[UseProjection]
	[UseFiltering]
	[UseSorting]
	public GroupedDataLoaderMap<User, Post, int> GetPosts(
		[Parents] IReadOnlyCollection<User> users,
		TemplateDbContext dbContext)
	{
		var userIds = user
			.Select(u => u.Id)
			.ToList();

		var postQuery = dbContext
			.Posts
			.Where(p => userIds.Contains(p.UserId));

		return new(
			postQuery,
			p => p.UserId,
			u => u.Id);
	}

}

[ExtendObjectType(typeof(Post))]
public class PostExtensions
{
	//This already works rite?
	[UseSingleOrDefault]
	[UseProjection]
	public IQueryable<User> GetUser(
		[Parent] Post post,
		TemplateDbContext dbContext)
	{
		return dbContext
			.Users
			.Where(u => u.Id == post.Userid);
	}

	//This is kinda simular, and from user of HotChocolate (like me :)) perspective easy. Not sure if easy to implement. Because we need all posts/parents here
	[UseProjection]
	public BatchedDataLoaderMap<Post, User, int> GetUser(
		[Parents] IReadOnlyCollection<Posts> posts,
		TemplateDbContext dbContext)
	{
		var userIds = posts
			.Select(p => p.UserId)
			.Distinct()
			.ToList();

		var userQuery = dbContext
			.Users
			.Where(u => userIds.Contains(u.Id));

		return new(
			userQuery,
			u => u.Id,
			p => p.UserId);
	}
}

In theory all data for the mapping is in return type. Feel free to completly ignore this :).

Is there any update on this?


About performance

When rendering multiple images, for example, 100 PNG images, just static rendering, no change, use 50% of cpu.
Using gomobile bind on Android, Use only common.Text Show fps, fps cannot be stabilized at 60.
Is there any way to improve performance？

Please provide a short, self-contained correct example.

func (*DefaultScene) Setup(u engo.Updater) {
	w, _ := u.(*ecs.World)
	common.SetBackground(color.White)
	w.AddSystem(&common.RenderSystem{})

	var x, y float32
	for i := 0; i < 100; i++ {
		tex, _ := common.LoadedSprite(fmt.Sprintf("_%d.svg", i))
		guy := Guy{BasicEntity: ecs.NewBasic()}
		guy.RenderComponent = common.RenderComponent{
			Drawable: tex,
			Scale:    engo.Point{X: 50 / tex.Width(), Y: 50 / tex.Height()},
		}
		guy.SpaceComponent = common.SpaceComponent{
			Position: engo.Point{x, y},
			Width:    50,
			Height:   50,
		}
		if x > 450 {
			x = 0
			y += 50
		} else {
			x += 50
		}
		for _, system := range w.Systems() {
			switch sys := system.(type) {
			case *common.RenderSystem:
				sys.Add(&guy.BasicEntity, &guy.RenderComponent, &guy.SpaceComponent)
			}
		}
	}
}

It has to empty the vertex buffer every time you switch textures. If you use a sprite sheet it’ll vastly improve the cpu usage. I don’t think there’s a way to do that with svg at the moment, unfortunately. It would be easiest to save them all to a single png file and use the common.Spritesheet stuff

I'll look into the mobile building fps issue as soon as I can, not sure what the problem there could be, but I haven't done mobile in a long time so it probably needs some work. Were you using the fps system in common?

I didn't use the FPS system in the common package, because this can't be customized, I made a similar one.
It's not running on a simulator, processors is snapdragon 845.

Hello! I'm using something similar to https://gist.github.com/Noofbiz/af17111cc0cc197c6bd631134b9d02e0 for testing. If I adjust the number of textures it generates to 100, so that's like reading 100 different textures off disk, it idles at about 5-10% of my CPU. If you start printing them to the screen, you get a quick jump to about 60% CPU usage at around 500. It then stays there until about 3-4k sprites where it finally hits about 90% and starts to slow down the FPS.
This was on my 2017 MacBook Pro, so your results may vary. But I don't think having 100 textures and printing 3-4k to the screen at any time (considering view culling is part of the default shader, this should be very hard to do in practice) is much to worry about. I'm going to try a variation of this for Android / iOS as well. I wouldn't be surprised if things could be optimized there ^_^

Hi, friend! I see you used SVG. This isn't recommended for games because it's bad for performance.


Data versioning not handling truncated version table

If an external update is done to the catalog on the server, and the _ermrest.data_version table is truncated, ermrest does not seem to be failing safely for data versioning in the ETag.  It is probably better to act like data is dirty if no data version is currently tracked for the table.  We should make sure clients refresh their caches.
Ideally, we would heal the version tracking table even on GET requests, otherwise all future requests will be cache misses until a normal data update via REST API sets the next tracked version.

Commit ba35b14d529d5edae547a4fad293fdb7fbefbf71 adds self-healing for data_version during introspection.  Manually verified on existing catalog as:

Update service code and make some entity requests via curl
Using psql, truncate _ermrest.data_version and run _ermrest.model_change_event()
Make some entity requests via curl

The curl response when dumping headers and searching for ETag should include a header line like: ETag: "userinfo;*;N" where the number N should be different (larger) in step 3 than it was in step 1.

confirmed


[Android][Security] WebView RCE Vulnerability (CVE-2013-4710)

Found a critical WebView "addJavascriptInterface" vulnerability. This method can be used to allow JavaScript to control the host application.
This is a powerful feature, but also presents a security risk for applications targeted to API level JELLY_BEAN(4.2) or below, because JavaScript could use reflection to access an injected object's public fields. Use of this method in a WebView containing untrusted content could allow an attacker to manipulate the host application in unintended ways, executing Java code with the permissions of the host application.
Reference:
1."http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,java.lang.String) "
2.https://labs.mwrinfosecurity.com/blog/2013/09/24/webview-addjavascriptinterface-remote-code-execution/
3.http://<IP_ADDRESS>/blog/?p=314
4.http://blog.trustlook.com/2013/09/04/alert-android-webview-addjavascriptinterface-code-execution-vulnerability/
Please modify the below code:
Lorg/xwalk/core/internal/XWalkViewInternal;->addJavascriptInterface(Ljava/lang/Object; Ljava/lang/String;)
Lorg/xwalk/core/internal/XWalkContent;->addJavascriptInterface(Ljava/lang/Object; Ljava/lang/String;)

Hi VitaliDzemidovich,
Thanks for your report.
As announced here https://crosswalk-project.org/blog/crosswalk-final-release.html, Intel Crosswalk team will not make additional Crosswalk releases as the team moved onto other projects. We invite the community to take over the project if it wants to. We'll be happy to merge the patches in the meantime an owner shows up to take over. We'll give the support needed to transition. If you want to provide a patches we'll be happy to merge it.
Thanks.


project template update for command init

Codecov Report

Merging #2117 (db6a8d5) into master (faf09c5) will decrease coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2117      +/-   ##
==========================================
- Coverage   76.47%   76.38%   -0.09%
==========================================
  Files         517      516       -1
  Lines       46870    46635     -235
==========================================
- Hits        35842    35623     -219
+ Misses       9048     9041       -7
+ Partials     1980     1971       -9

Flag
Coverage Δ

go-1.15-386
?

go-1.15-amd64
?

go-1.16-386
76.38% <ø> (-0.01%)
:arrow_down:

go-1.16-amd64
?

go-1.17-386
?

go-1.17-amd64
?

go-1.18-386
?

go-1.18-amd64
?

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

Impacted Files
Coverage Δ

contrib/registry/polaris/polaris_watcher.go
62.50% <0.00%> (-10.72%)
:arrow_down:

os/gspath/gspath_cache.go
84.21% <0.00%> (-10.53%)
:arrow_down:

os/gfsnotify/gfsnotify_watcher_loop.go
78.15% <0.00%> (-5.05%)
:arrow_down:

net/gtcp/gtcp_pool.go
71.59% <0.00%> (-3.41%)
:arrow_down:

container/gtree/gtree_avltree.go
95.40% <0.00%> (-0.58%)
:arrow_down:

contrib/drivers/oracle/oracle.go

os/gcron/gcron_schedule_fix.go
100.00% <0.00%> (+12.50%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Change button copies on applicant experience preview page

In the preview page of the applicant experience, change the button copies for "Start here" and "Continue." See screenshot here: https://docs.google.com/presentation/d/1goxiepPXPrW3wK8wUSNoCpcf7iXIohXfj96iTYiQxo0/edit#slide=id.gfa7bf315fa_0_741
Currently, "Start here" and "Continue" bring the user to different places, which may not be intuitive.
"Start here" jumps the applicant to that (first) question, and then the applicant is ONLY shown questions that aren't auto-filled.
"Continue" on the other hand, takes the applicant through the full application from the beginning to the end (all questions + different UI/UX than "Start here").
Instead of "Continue," perhaps "Review all answers" or something like that.
Please consult with UX (UXR/D/W) when we get to this.

Closing in favor of #1920


Extend README.md file with additional information

This restructures the README.md and adds additional information. It is a first attempt to improve the documentation of this project, though many more documents need to follow.

Most likely there will be some conflicts with #48. Depending on which one you're going to merge first, I'm happy to rebase it.

LGTM


Use all relevant ignore files in archive matcher

I tried doing #138 to pass time. Most explanation is in the commit message.
But for a quick skim, start at the diff for internal/cmd/module/local_preview.go or internal/cmd/stack/local_preview.go. Specifically at the matchFn function.
I cannot test this because I don't have an account, and the free account sounds like a 14-day trial.
Also I'm probably missing a lot of context from the project so it's likely I'm overcomplicating this.
I hope this PR is at least a bit helpful, but if not, feel free to reject.

Also, I could not build the project at first because the required version of github.com/marcinwyszynski/graphql didn't exist (!?). I had to fix it before I could even build the main branch.

Abandoning.


SMRT Analysis v3 download info no longer works

Following steps on https://github.com/PacificBiosciences/FALCON_unzip/wiki/FAQ
suggested the requested files are no longer available.
Is it just the requested file names need to be changed to the current versions?

The file names just need to be changed to: smrtlink_<IP_ADDRESS>021.run and smrtlink_<IP_ADDRESS>021.run.md5

@peterdfields thanks.


Fix memory leak when calling s2n_connection_set_fd multiple times

Issue # (if available):
#1266
Description of changes:
The set_fd functions (s2n_connection_set_fd, set_read_fd,
set_write_fd) allocate blobs to put into the connection IO contexts.
If these routines are called multiple times, they lose pointers to
past allocations, resulting in a memory leak.
Fix is to free a previous context when setting a new one.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request head (brobinson/set-fd-leak@3a6a6d6). Click here to learn what that means.
The diff coverage is n/a.

Thanks for looking at the patch.  Maybe I wasn't clear in the description of the problem.
The s2n_connection_set_(read|write)_fd functions store the file descriptor information in the (send|recv)_io_context members, respectively.  This means that the set_ctx and set_fd functions, when called by the application, are mutually exclusive, which looks to be a design choice for s2n.  (The set_fd functions also set the send and recv callbacks, so s2n_connection_set_(send|recv)_cb is also mutually exclusive with set_fd use.)
When the set_fd functions do this, they set the managed_io flag in the connection.  This is what my change checks before assuming they were allocated.
(However I noticed that most of the code seems to assume the recv_io_context is a s2n_socket_read_io_context without obvious checks against managed_io, so I'm not sure how well an application would work if they called s2n_connection_set_recv_ctx with arbitrary data.)

Let me know if there is something I can clarify or if you have other suggestions for addressing this.

Checking in to see if there is more I can do to help here.  Another user is seeing the same leaking with multiple set_fd calls in the linked issue #1266

@lomew I might be missing something here, but if you call s2n_connection_wipe to reuse a connection, it calls s2n_connection_wipe_io which then calls s2n_connection_free_io_contexts. That does the same freeing proposed in the PR.
Is the problem that you're trying to call s2n_connection_set_fd multiple times without wiping?

@lurkshark Thanks, that is an interesting angle to this.  It makes sense that set_fd would be used in conjunction with a wipe.  In our case we can't wipe our connection-- not because of the toilet paper shortage-- but because we are trying to keep all the TLS connection state but switch the FD number to work around some expectations of the event library we are using.
Thinking of it that way, I don't think this patch is worthwhile as we are trying to get the library to do something it isn't designed for, and probably shouldn't be.  We can instead pursue fixing the event library to be a bit more accommodating.

abandoning per comment above


Update Storage diagram, DG for Add and Delete Schedule

Can anyone check if this is correct? The new diagram is a bit different
Before:

Now:

Looks good generally

resolved


Invalid Request: provided vmodel-id header must be non-empty causes test failure

Attempting to test with:
curl -X POST -u "apikey:$API_KEY" -F "images_file=@data/$IMAGE_FILE"  "https://gateway.watsonplatform.net/visual-recognition/api/v3/classify?classifier_ids=$CLASSIFIER&version=2018-03-19"
causes a failure:
{
    "images": [
        {
            "image": "brokenWindowTest.jpg",
            "error": {
                "code": 400,
                "description": "Invalid Request: provided vmodel-id header must be non-empty"
            }
        }
    ],
    "images_processed": 1
}

The CLASSIFIER ID was missing, so the test failed due to user error. Not an issue.


Passing "parents" of type DataService to "children" (of type DataService) does not work

Passing the parent to a child DataService does not work with the current implementation (and probably shouldn't). When registering callbacks, this will produce a recursive loop. At the moment, it just does not work as some assumptions are not fulfilled.
from typing import Optional

import pydase

class OtherService(pydase.DataService):
    _parent: Optional["MyService"]

    def __init__(self, parent: Optional["MyService"] = None) -> None:
        super().__init__()
        self._parent = parent

class MyService(pydase.DataService):
    def __init__(self) -> None:
        super().__init__()
        self.child = OtherService(self)

if __name__ == "__main__":
    service = MyService()
    pydase.Server(service).run()

This results in the following error message:
Thread stopped due to exception of type KeyError       (note: full exception trace is shown but execution is paused at: _run_module_as_main) (unhandled)
Description: '__root__'
Stack trace:
  File "/home/mose/work/repositories/pydase/src/pydase/utils/helpers.py", line 21, in get_class_and_instance_attributes
    attrs.pop("__root__")
  File "/home/mose/work/repositories/pydase/src/pydase/data_service/callback_manager.py", line 87, in _register_list_change_callbacks
    attrs = get_class_and_instance_attributes(obj)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mose/work/repositories/pydase/src/pydase/data_service/callback_manager.py", line 92, in _register_list_change_callbacks
    self._register_list_change_callbacks(attr_value, new_path)
  File "/home/mose/work/repositories/pydase/src/pydase/data_service/callback_manager.py", line 367, in register_callbacks
    self._register_list_change_callbacks(
  File "/home/mose/work/repositories/pydase/src/pydase/data_service/data_service.py", line 56, in __init__
    self._callback_manager.register_callbacks()
  File "/home/mose/work/repositories/pydase/foo.py", line 12, in __init__
    super().__init__()
  File "/home/mose/work/repositories/pydase/foo.py", line 17, in __init__
    child = OtherService(self)
            ^^^^^^^^^^^^^^^^^^
  File "/home/mose/work/repositories/pydase/foo.py", line 22, in <module>
    service = MyService()
              ^^^^^^^^^^^
  File "/usr/lib64/python3.11/runpy.py", line 88, in _run_code
    exec(code, run_globals)
  File "/usr/lib64/python3.11/runpy.py", line 198, in _run_module_as_main (Current frame)
    return _run_code(code, main_globals, None,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: '__root__'

When changing the helper function code to
    attrs.pop("__root__", None)

I get another error:
Thread stopped due to exception of type AttributeError       (note: full exception trace is shown but execution is paused at: _run_module_as_main) (unhandled)
Description: 'MyService' object has no attribute '_callback_manager'
Stack trace:
  File "/home/mose/work/repositories/pydase/src/pydase/data_service/callback_manager.py", line 176, in _register_DataService_instance_callbacks
    obj._callback_manager.callbacks.add(callback)
    ^^^^^^^^^^^^^^^^^^^^^
  File "/home/mose/work/repositories/pydase/src/pydase/data_service/callback_manager.py", line 211, in _register_service_callbacks
    self._register_DataService_instance_callbacks(nested_attr, new_path)
  File "/home/mose/work/repositories/pydase/src/pydase/data_service/callback_manager.py", line 187, in _register_DataService_instance_callbacks
    self._register_service_callbacks(
  File "/home/mose/work/repositories/pydase/src/pydase/data_service/callback_manager.py", line 370, in register_callbacks
    self._register_DataService_instance_callbacks(
  File "/home/mose/work/repositories/pydase/src/pydase/data_service/data_service.py", line 56, in __init__
    self._callback_manager.register_callbacks()
  File "/home/mose/work/repositories/pydase/foo.py", line 11, in __init__
    super().__init__()
  File "/home/mose/work/repositories/pydase/foo.py", line 16, in __init__
    child = OtherService(self)
            ^^^^^^^^^^^^^^^^^^
  File "/home/mose/work/repositories/pydase/foo.py", line 21, in <module>
    service = MyService()
              ^^^^^^^^^^^
  File "/usr/lib64/python3.11/runpy.py", line 88, in _run_code
    exec(code, run_globals)
  File "/usr/lib64/python3.11/runpy.py", line 198, in _run_module_as_main (Current frame)
    return _run_code(code, main_globals, None,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'MyService' object has no attribute '_callback_manager'

Passing the "parent" instance to the "children" should not be done. Maybe I can throw an exception, explaining this.

While the code still does not work, the error message has changed due to code base changes:
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/mose/work/repositories/pydase/foo.py", line 22, in <module>
    service = MyService()
              ^^^^^^^^^^^
  File "/home/mose/work/repositories/pydase/foo.py", line 18, in __init__
    self.child = OtherService(self)
    ^^^^^^^^^^
  File "/home/mose/work/repositories/pydase/src/pydase/data_service/data_service.py", line 77, in __setattr__
    super().__setattr__(__name, __value)
  File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable.py", line 33, in __setattr__
    value = self._handle_observable_setattr(name, value)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable.py", line 56, in _handle_observable_setattr
    self._notify_change_start(name)
  File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable_object.py", line 82, in _notify_change_start
    observer._notify_change_start(extended_attr_path)
  File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable_object.py", line 82, in _notify_change_start
    observer._notify_change_start(extended_attr_path)
  File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable_object.py", line 82, in _notify_change_start
    observer._notify_change_start(extended_attr_path)
  [Previous line repeated 986 more times]
  File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable_object.py", line 77, in _notify_change_start
    for attr_name, observer_list in self._observers.items():
                                    ^^^^^^^^^^^^^^^
  File "/home/mose/work/repositories/pydase/src/pydase/observer_pattern/observable/observable.py", line 40, in __getattribute__
    if is_property_attribute(self, name):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RecursionError: maximum recursion depth exceeded


Integration with FormData is broken in 1.4.0

if (bodyStream(body)) {
    pass = new PassThrough();
    body.pipe(pass);
    body = pass;
}

This corrupts the FormData object and the logic in fetch function:
		// detect form data input from form-data module, this hack avoid the need to pass multipart header manually
		if (!headers.has('content-type') && options.body && typeof options.body.getBoundary === 'function') {
			headers.set('content-type', 'multipart/form-data; boundary=' + options.body.getBoundary());
		}

		// bring node-fetch closer to browser behavior by setting content-length automatically for POST, PUT, PATCH requests when body is empty or string
		if (!headers.has('content-length') && options.method.substr(0, 1).toUpperCase() === 'P') {
			if (typeof options.body === 'string') {
				headers.set('content-length', Buffer.byteLength(options.body));
			// detect form data input from form-data module, this hack avoid the need to add content-length header manually
			} else if (options.body && typeof options.body.getLengthSync === 'function') {
				headers.set('content-length', options.body.getLengthSync().toString());
			// this is only necessary for older nodejs releases (before iojs merge)
			} else if (options.body === undefined || options.body === null) {
				headers.set('content-length', '0');
			}
		}

becomes useless.
That was the reason why in my implementation I did not re-stream body and used it as is.

First of all, I would like to see some code to reproduce this.
Secondly, if the cause is re-stream, it only happens under clone, so I gotta see how it breaks and add testcases accordingly.

That was the reason why in my implementation I did not re-stream body and used it as is.

I am not going to get into this argument: if you don't re-stream, you are not cloning body.

This is the part of Request constructor:
	Body.call(this, init.body || this._clone(input), {
		timeout: init.timeout || input.timeout || 0,
		size: init.size || input.size || 0
	});

So the _clone() is applied every time if fetch() was called with Request instance.

#92 should fix your issue

Will you release a 1.4.1 with the fix?

@kirill-konshin yep already out :)

Awesome, thanks!


feat: support update repository hooks.

Support update repository hooks.

push
pull request
deploy
tag

+1

ping @bradrydzewski

This enhancement only supports on drone 0.8.x version. So closed this PR.


Create RFC on how to handle security notifications through Snyk, Dependabot, etc

We should have a RFC around how we handle security notifications from our integrated services. For example, when Snyk submits a PR to our repos to patch a dependency we should:

Merge the fix, or -
Acknowledge the issue in Snyk and merge it when it is possible, or -
Suppress it in Snyk, close the PR, and note why we are accepting the risk

For acknowledging and ignoring rules we should use a .snyk file  as part of the RFC we should write up the process for how to do this, and we should also identify alternatives to snyk as it doesn't work on all languages.

btw, possible that this conversation or process brainstorming should be moved to the Discussions board?


Clear intermediate execution data. Closes #1264

(This is a work in progress)

The remaining question for this PR is when should we clear execution data? When the node is deleted? On execution completion (assuming not in debug mode)?
I am thinking on execution completion if not in debug mode. Otherwise, on deletion...
On deletion is a bit problematic with version control though :/

The support for data provenance may actually make it so the intermediate data can always be cleared.


Move custom *.zsh file sourcing up so that they can load plugins

I want use custom/*.zsh files to load plugins so that I can create one file that both loads and customizes a plugin. For example:
plugins+=(vi-mode)
bindkey -M viins 'jj' vi-cmd-mode

Works for me. Sorta nice in that everything doesn't just have to be placed in .zshrc.

Can confirm it works and it is a nice change. :+1:

Please accept this PR. We're running our project off a fork because it isn't usable without this simple (but useful) change. Thanks!

I cannot think of any case where that would break anyone's config, so if no one else can this should be good to go.
@robbyrussell can we merge this?

BTW, the old Customization wiki page had documented the load order as being "custom code after plugins". If changing other stuff in the oh-my-zsh load sequence, please update the doco on the Customization and/or Design wiki pages (and maybe the main README.md) to match.

One of the use cases for this: #3282.


keep index name with to_datetime

Fixes #4904. I might have gone a bit overboard in allowing users to pass meta to to_datetime if they want to, and allowing for the case that dd.to_datetime would be called on non-dask-dataframes, but this should work

[x] Tests added / passed
[x] Passes flake8 dask

This seems ok to me (though I may not see all of the nuances here).  @TomAugspurger is everything here ok with you?

This LGTM, thanks @bolliger32. Merging.


Remove unneeded backslash

I just removed the backslash on the InvalidArgumentException class because it is  already imported by the use keyword at the beginning.

Thanks. :)


add get.activeElement()

Extracted from #81.
We need a utility to obtain the document.activeElement from any document. Specifically the utility needs to guard us from problems with SVG and SOP as $.ui.safeActiveElement does.
Unlike get/active-elements this utility does not need to care about ShadowDOM, only the top-level activeElement.

added in 63cfb17


Feeding live data to app.py

i have hired one developer. . I have following queries one by one

What is the final command to run the app.py:  is it  agent.buy() or agent.trade(data) where data = [close(i), volume (i)].

If we can feed json data to agent.trade(data) from request.ipynb then why there is line 347 app.py we have :
df = pd.read_csv('TWTR.csv') real_trend = df['Close'].tolist() parameters = [df['Close'].tolist(), df['Volume'].tolist()] minmax = MinMaxScaler(feature_range = (100, 200)).fit(np.array(parameters).T) scaled_parameters = minmax.transform(np.array(parameters).T).T.tolist() initial_money = np.max(parameters[0]) * 2

why we need to feed again this data in app.py ?

Also inserting API call function to buy or sell the stocks where to add this function ? in :
def trade(): where the  if action == 1 : buy = buy_market OR
def buy():  where the  if action == 1 : buy = buy_market
plz guide @huseinzol05

I connect to live data using agent.buy(). But the app is pretty loss.  Probably the commission is not included.  Where we can add additional patams in app.py file.
Plz guide @huseinzol05

Yep, commission is not included, let me improve it, I really want to commit on this repo, but just too busy with my job.

Also how to integrate the inventory and capital to api so that the neural net cn decide whether he is really making any losess.  It should able to check the account balanaces of capital and total value of stock it holds.  This should work with tears function.  @huseinzol05

Whether the Best place to add the 1. Commission 2. Account balance 3. Stock holdings.   [
def _initiate(self):
# i assume first index is the close value
self.trend = self.timeseries[0]
self._mean = np.mean(self.trend)
self._std = np.std(self.trend)
self._inventory = assets
self._capital = self.initial_money
self. _commission = commission
]

@huseinzol05  its true that your code sucks :).

@augmen You are allowed to not follow the repo and code if you don't find it useful. I am pretty sure you won't be able to get to this state (as in this repo) if you do it yourself. @huseinzol05 : Ignore that prick. You are doing amazing work.


feat(log) adding more TLS information in basic serializer

Adding the following entries in the basic log serializer:

request.tls.cipher
request.tls.client_verify

Pushed some manual changes improving tests resiliency and a couple of style fixes.


paredit/kill and global-find-by-node work incorrectly

Version
rewrite-clj/rewrite-clj {:mvn/version "1.1.47"}
Platform
Clojure version: 1.11.1
Symptom
Two issues:

When using rewrite-clj.paredit/kill incorrectly positions the zipper after performing the operation.
Docstring says that it should be removing nodes to the right from the current node. But in fact it deletes nodes starting from the current node.

Reproduction
(-> (z/of-string "[1 2 3 4]")
    z/down
    (z/insert-left (n/keyword-node :wrong-pos))
    z/next
    (z/insert-left (n/keyword-node :nil-meta))
    pe/kill
    z/print)
:wrong-pos

Actual behavior

Positions zipper on the :wrong-pos.
End result is [:wrong-pos 1 :nil-meta ].

Expected behavior

Expected to position on 2.
Expected end result is [:wrong-pos 1 :nil-meta 2]

Diagnosis

Incorrect positioning is caused by global-find-by-node search that compares nodes meta not taking into account that new nodes have nil meta.
Either docstring or the behavior needs to be fixed to match each other.

Action
Let me know if a PR is preferred.

Thanks @mrkam2!
I can take a peek sometime soon!

I'm starting to take a look at this one!

I confirm that the kill docstring is wrong and the behavior is correct, barring the new node bug you found.
I confirm that kill behavior is broken when new nodes are involved.
And yes, anything that uses paredit API's internal global-find-by-node will be broken for newly added nodes.

Thanks again for reporting, @mrkam2. Folks seem to be starting to use the paredit API a bit, and you've uncovered some very interesting flaws.


Cannot type special characters

This code:
Robot.typeString("!@#$%^&*()`")

Actually types: 123456780 on Archlinux. The same problem happens with the keyType function. Is there a way to fix this?

Can we have more information about it?

I am also experiencing this issue.
On my Ubuntu 18.04 machine, the following characters render as their non-shifted equivalent:
~!@#$%^&*_+{}|:"\>?

ie
robot.typeString('~!@#$%^&*_+{}|:">?')

results in
`12345678-=[]\;./

Looks like #285
I'm using a workaround similar to the one described there, but it is just that, a workaround and not a solution. It would be great if the root cause could be fixed in the C binding.

Also see #284 #108 #81
Seems to be a long time issue affecting multiple platforms. It looks like it was presumably fixed in Windows with #110


Expand Jinja variables for Control Tower management account

Describe the outcome you'd like
It is often useful within global or account customizations to interact with Control Tower management account.  To create a provider within the existing aft-proviers.jinja we need the CT management account id to be available.  It is already set in SSM, just needs to be pulled and passed into Jinja.
Is your feature request related to a problem you are currently experiencing? If so, please describe.
I've run into this situation with multiple AFT implementations when trying to interact with CT mgmt account as part of a customization.
Additional context
Update these two files:
aft-account-customizations-terraform.yml
aft-global-customizations-terraform.yml
Example to insert:
     - CT_MGMT_ACCOUNT=$(aws ssm get-parameter --name "/aft/account/ct-management/account-id" --query "Parameter.Value" --output text)
Ensure it is passed into Jinja:
           for f in *.jinja; do jinja2 $f -D timestamp="$TIMESTAMP" -D tf_distribution_type=$TF_DISTRIBUTION -D provider_region=$CT_MGMT_REGION -D ct_management_account=$CT_MGMT_ACCOUNT -D region=$TF_BACKEND_REGION -D aft_admin_role_arn=$AFT_EXEC_ROLE_ARN -D target_admin_role_arn=$VENDED_EXEC_ROLE_ARN -D bucket=$TF_S3_BUCKET -D key=$TF_S3_KEY -D dynamodb_table=$TF_DDB_TABLE -D kms_key_id=$TF_KMS_KEY_ID >> ./$(basename $f .jinja).tf; done

As a workaround you could use something similar to https://github.com/aws-ia/terraform-aws-control_tower_account_factory/issues/128#issuecomment-1452293747 to inject additional variables into the jinja templates using pre-api-helpers :)

There's already a profile in the aws credentials file for the management account, as seen here:
https://github.com/aws-ia/terraform-aws-control_tower_account_factory/blob/624c0ccf7a777b18f6533de1c0462f5dbe558381/modules/aft-customizations/buildspecs/aft-create-pipeline.yml#L70
so just create a simple provider and you'll be able to access the mngt account:
provider "aws" {   alias   = "management_profile"   profile = "aft-management-admin" }

Thanks - Never knew those profiles were available.  Great solution


Make mergePreviousTransaction increase repetition count

Before this, mergePreviousTransaction() was just adding new entries if there were matches within the merged ledger entries.
This changes the language to say that the behavior of merging matched entries by increasing repetition count is mandatory.
Also introduces new test to exercise this new expected behavior.

This change is

Shelving this, it proved that design with repetition count was not very straightforward, and we're going with an immutable ledger.


docs: add docs for helmfile list

https://github.com/helmfile/helmfile/blob/main/docs/index.md#cli-reference and this.

@yxxhero done

@yxxhero could you please make a new release with these changes now?

@stek29 wait for #342 #348


Fix the generator only works when indentation is 2.

Remove the magic numbers and the problem is solved.

Why use \s{0,} vs. \s*? Don't they achieve the same thing?

\s* may contain other characters.

I've restarted TravisCI, waiting for it to finish then I'll merge this. Thanks @ZhuGongpu!

Coverage remained the same at 98.293% when pulling 975f5df6e4d47d5d8978fdbe9bde87f4364bf503 on ZhuGongpu:master into b068b2167e6aa494e30939751430f2021610273f on mxstbr:master.

Coverage remained the same at 98.293% when pulling 24390e2f6897851bf8d65c204d083199a0cf824e on ZhuGongpu:master into bfe9eb67e87fa9b5a9f9c703011b0dc81706f312 on mxstbr:master.

Thanks @ZhuGongpu, this is great! :tada:


mask with repeat :

Robin
Thanks for the excellent inputmask. Only one issue when giving
$(".mask-pattern").inputmask({ "mask" : "AAAA,",  "repeat" : 4,  "greedy" : false, "placeholder" : " " })
I have defined what A stands for, and its working fine, however by repeat = 4  and greedy = false, the mask gives
[    ,    ,    ,    ,]  : I thought the repeat mask would only repeat if required, so the mask should have been
[    ,] only and if a user types something after the , then only the mask will be repeated. Not a big problem, but I thought I will just point it out.
Or does the repeat & greedy only work with masks of single character - like you have shown in examples viz.
9 repeat= 5 greedy=false, -- > will give either 9 or 99 or 999 or 9999 or 99999
Regards

@rharsh ,
Have a try with
$(".mask-pattern").inputmask({"mask": "(AAAA[,]){0,4}", jitMasking: true})

Robin,
Thank you for the excellent library, it has saved me a lot of work.
Currently, I am trying to use data-inputmask for a list of emails separated by ", ".
My extendDefinitions are:
'': {
validator: "[0-9A-Za-z!#$%&'+/=?^_`{|}~-]",
casing: "lower"
}
i'm trying with this, but it's not working properly
'mask': '({1,20}[.{1,20}][.{1,20}][.{1,20}]@{1,20}[.{1,10}][.*{1,2}][, ]){1,5}'
It forces me to reach 20 characters in the [.{1,20}] portion before the @ and i can't skip any optional [ ]


Svelte Doka 6.9.0 with filepond - cropping/editing of image failing

//svelte
import { onDestroy, onMount } from 'svelte';

//libs
import {default as FilePond} from 'filepond';
import { create, DokaModal, toURL } from '@libs/svelte-doka';

let result = null;
let src = null;

onMount(async () => {
	console.info('[EditProfile][Mount]');
	//const FilePondPluginImagePreview = await import('filepond-plugin-image-preview');
	//const FilePondPluginImageExifOrientation = await import('filepond-plugin-image-exif-orientation');
	//const FilePondPluginFileEncode  = await import('filepond-plugin-file-encode');
	//const FilePondPluginFileValidateSize = await import('filepond-plugin-file-validate-size');
	const FilePondPluginImageEdit = await import('filepond-plugin-image-edit');

	FilePond.registerPlugin(
		//FilePondPluginImagePreview.default,
		//FilePondPluginImageExifOrientation.default,
		//FilePondPluginFileValidateSize.default,
		FilePondPluginImageEdit.default,
		//FilePondPluginFileEncode.default,
	);

	pond = FilePond.create();

	pond.setOptions({
		allowDrop: false,
		allowReplace: false,
		instantUpload: false,
		//onpreparefile: handleConfirm,

		// default crop aspect ratio
		//imageCropAspectRatio: 1,

		// resize to width of 200
		//imageResizeTargetWidth: 200,

		// open editor on image drop
		imageEditInstantEdit: true,

		// configure Doka
		imageEditEditor: create({

			// Doka.js options here ...
			utils:'crop, filter, color',
			//src,
			cropAspectRatio:'1',
			cropMask:mask,
			onconfirm:handleConfirm,
			//oncancel:handleCancel,
			//onclose:handleClose
		}),
	});
});

const handleConfirm = (conf, output) => {
	console.log('Confirm edit!', output);
	const file = output.file;

	// encode the file using the FileReader API
	const reader = new FileReader();
	reader.onloadend = () => {

		// use a regex to remove data url part
		const base64String = reader.result
			.replace('data:', '')
			.replace(/^.+,/, '');

		// log to console
		console.log(base64String) // logs wL2dvYWwgbW9yZ...
		src = `data:${file.type};base64,${base64String}`;
	};
	reader.readAsDataURL(file);

	result = toURL(output.file);
}

 { pond.browse(); }}">

Summary
handleConfirm method that returns the file;

returns the original preparsed image that was selected through filepond.

If I use the same approach with just Doka and not filepond the response is the edited file.
How to reproduce
example code above
Expected behaviour
Doka onconfirm to return edited file and not original.
Additional information
Also tried to use onpreparefile method.

Environment
Version

OS
Windows 10

Device
android

Browser
chrome  84.0.4131.0

onclick - pond.browse();

Edit image with Doka Plugin

Image returned as original image

It doesn't look like you've registered the FilePond image transform plugin? It is needed to do the image transformations.

const FilePondPluginImageEdit = await import('filepond-plugin-image-edit');
		const FilePondPluginImageTransform = await import('filepond-plugin-image-transform');

		FilePond.registerPlugin(
			//FilePondPluginImagePreview.default,
			//FilePondPluginImageExifOrientation.default,
			//FilePondPluginFileValidateSize.default,
			FilePondPluginImageEdit.default,
			FilePondPluginImageTransform.default,
			//FilePondPluginFileEncode.default,
		);

hmm I added the above but still the same - also added all the pond callback hooks to see if there were any errors but all seemed fine.

Also appear to be having issues with the cropping starts off as rectangle not square.
Added FilePondPluginImageCrop plugin and also set the following but no luck..

when I select the corner of the croper it flips to a square.

			// default crop aspect ratio
			allowImageCrop:true,
			imageCropAspectRatio: '1:1',
			// resize to width of 200
			//imageResizeTargetWidth: 200,

			// open editor on image drop
			imageEditInstantEdit: true,

			// configure Doka
			imageEditEditor: create({

				// Doka.js options here ...
				utils:'crop, filter, color',
				//src,
				cropAspectRatio:'1',
				cropAspectRatioOptions: [
					{
						label: 'Square',
						value: 1
					},
				],
				cropMask:mask,
				onconfirm:handleConfirm,
				oncancel:handleCancel,
				onclose:handleClose
			}),

https://github.com/pqina/filepond-docs/blob/master/content/patterns/plugins/image-edit.md
Also added the FilePondPluginImagePreview but no change

Can you try the included FilePond "integration" example? Run it outside Svelte, add the onpreparefile callback to the FilePond config below, test if it works. Then compare with Svelte implementation.
onpreparefile: (item, output) => {
    const img = new Image();
    img.src = URL.createObjectURL(output);
    document.body.appendChild(img);
}

yes let me try it..
Also I can create a base sapper/svelte project if you want to see the issue

wont include doka lib you can add that.

That works let me match with my config and see if I can find the issue

Ok disabled instantUpload as this prevented onpreparefile from triggering.
Also disabled the onconfirm in doka
//instantUpload: false,
//onconfirm:handleConfirm,

used onpreparefile - all working as expected now in svelte :)
Still issues with the crop appearing initially as a rectangle but will raise a new issue.
@rikschennink thanks for your help 👍


Replace extref only code with P contents extracted from the cp.Raw.

Replacing the extref only with the stripped / replaced raw p so all types of links can be rendered. And also text outside anchor elements can exist in the P

Not quite sure all text outside the link elements should end up in the Header.Label[0] see "should have a ref p element" test in ead_test.go

if: (github.event.comment.body == 'recheckcla' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request'

recheckcla

recheckcla

recheckcla

Continued in https://github.com/delving/hub3/pull/67


add an api endpoint for getting the current leader

reopening after #683 was closed.
This adds a /scheduler/leader endpoint for getting the current leader.
It returns JSON in the structure of {'leader': leader}.

Looks good, but could you add a note to docs/docs/api.md about the endpoint?

Thanks!


Check for previous/existing GitHub issues/module proposals

[X] I have checked for previous/existing GitHub issues/module proposals.

Check this module doesn't already exist in the module indexes

[X] I have checked for that this module doesn't already exist in the module indexes; or I'm proposing the module to be migrated from CARML/TFVM.

Bicep or Terraform?
Bicep
Module Classification?
Resource Module
Module Name
avm/res/insights/webtest
Module Details
Migration from CARML
Do you want to be the owner of this module?
No
Module Owner's GitHub Username (handle)
No response
(Optional) Secondary Module Owner's GitHub Username (handle)
No response

@krbar, just double checking: do you mean to migrate this one from CARML (without becoming the owner)? Thanks!

@krbar, just double checking: do you mean to migrate this one from CARML (without becoming the owner)? Thanks!

Correct

@matebarabas PR in review: https://github.com/Azure/bicep-registry-modules/pull/728

[x] PR merged; Module published.
[x] GitHub teams are available and assigned to their parents.
[x] CODEOWNERS file updated.

Thank you for your work @krbar! I'm closing this issue now.
Since this module was migrated from CARML without an owner, an orphaned module request was also created: https://github.com/Azure/Azure-Verified-Modules/issues/433


What is the minimum viable UUri to pass UTransport::registerListener() / unregisterListener()?

In #94 we clarified that for UTransport::send() the minimum viable UUri contained within the UMessage passed in must be in Micro Form
I'm wondering about UTransport::registerListener() / unregisterListener()
Perhaps the same language can be used for UTransport::registerListener() / unregisterListener():

MUST pass UUris for which isMicroForm() return true
SHOULD pass Resolved UUris (contains both names and numbers)

WDYT?
Tagging in @stevenhartley & @sophokles73

sounds good to me

Agree as well, @PLeVasseur please push the spec update. Thank you

Agree as well, @PLeVasseur please push the spec update. Thank you

Sounds good. Opened #101 for this :slightly_smiling_face:

Done in #101, closing!


External messaging

What this PR does / why we need it
This PR adds a Publisher feature to the Archivista to support external messaging and integrations.
It supports multiple publishers at the same time.
In this PR also is added the following:

DAPR Publisher using HTTP requests
RSTUF integration adding attestations/policies to the TUF metadata

There are two TODOs that I'm my opinion, can be added as follow-up improvements

Use goroutines for publishing, which will speed up when users enable more than one publisher (ie. DAPR+RSTUF)
Manage the RSTUF task in the background to reprocess and handle errors.

Acceptance Criteria Met

[x] Docs changes if needed
[ ] Testing changes if needed
[ ] All workflow checks passing (automatically enforced)
[ ] All review conversations resolved (automatically enforced)
[x] DCO Sign-off

Special notes for your reviewer:

apart from the comment above, all looks good to me 😄


Improve types to reflect optional fields

I was using this module and noticed that there are some required fields in the types that are actuall optional on the API for the checkout (most of the fields are optional)
So this is just an update to relect that.
Here is a quick link to the docs for the checkout if you want to confirm:
https://docs.lemonsqueezy.com/api/checkouts#create-a-checkout

Oh nevermind, its been sorted in an open PR #20


panic: runtime error: invalid memory address or nil pointer dereference

Please let me know I you need more context.

Terraform plan
Terraform will perform the following actions:

  # proxmox_vm_qemu.win10-vms["vm-1"] will be created
  + resource "proxmox_vm_qemu" "win10-vms" {
      + additional_wait           = 15
      + agent                     = 1
      + balloon                   = 1
      + bios                      = "ovmf"
      + boot                      = "cdn"
      + bootdisk                  = "scsi0"
      + clone                     = "win1"
      + clone_wait                = 15
      + cores                     = 60
      + cpu                       = "EPYC-Rome"
      + default_ipv4_address      = (known after apply)
      + define_connection_info    = true
      + force_create              = false
      + full_clone                = true
      + guest_agent_ready_timeout = 600
      + hastate                   = "started"
      + hotplug                   = "network,disk,usb"
      + id                        = (known after apply)
      + ipconfig0                 = "ip=<IP_ADDRESS>/24,gw=<IP_ADDRESS>"
      + kvm                       = true
      + memory                    = 16384
      + name                      = "vm-1"
      + nameserver                = "<IP_ADDRESS>"
      + numa                      = false
      + onboot                    = true
      + os_type                   = "cloud-init"
      + preprovision              = true
      + reboot_required           = (known after apply)
      + scsihw                    = "virtio-scsi-pci"
      + searchdomain              = (known after apply)
      + sockets                   = 1
      + ssh_host                  = (known after apply)
      + ssh_port                  = (known after apply)
      + target_node               = "pve1"
      + unused_disk               = (known after apply)
      + vcpus                     = 0
      + vlan                      = -1
      + vmid                      = 141

      + network {
          + bridge    = "vmbr0"
          + firewall  = true
          + link_down = false
          + macaddr   = "02:DE:4D:58:28:01"
          + model     = "virtio"
          + queues    = (known after apply)
          + rate      = (known after apply)
          + tag       = -1
        }

      + serial {
          + id   = 0
          + type = "socket"
        }
    }

  # proxmox_vm_qemu.win10-vms["vm-2"] will be created
  + resource "proxmox_vm_qemu" "win10-vms" {
      + additional_wait           = 15
      + agent                     = 1
      + balloon                   = 1
      + bios                      = "ovmf"
      + boot                      = "cdn"
      + bootdisk                  = "scsi0"
      + clone                     = "win1"
      + clone_wait                = 15
      + cores                     = 60
      + cpu                       = "EPYC-Rome"
      + default_ipv4_address      = (known after apply)
      + define_connection_info    = true
      + force_create              = false
      + full_clone                = true
      + guest_agent_ready_timeout = 600
      + hastate                   = "started"
      + hotplug                   = "network,disk,usb"
      + id                        = (known after apply)
      + ipconfig0                 = "ip=<IP_ADDRESS>/24,gw=<IP_ADDRESS>"
      + kvm                       = true
      + memory                    = 16384
      + name                      = "vm-2"
      + nameserver                = "<IP_ADDRESS>"
      + numa                      = false
      + onboot                    = true
      + os_type                   = "cloud-init"
      + preprovision              = true
      + reboot_required           = (known after apply)
      + scsihw                    = "virtio-scsi-pci"
      + searchdomain              = (known after apply)
      + sockets                   = 1
      + ssh_host                  = (known after apply)
      + ssh_port                  = (known after apply)
      + target_node               = "pve1"
      + unused_disk               = (known after apply)
      + vcpus                     = 0
      + vlan                      = -1
      + vmid                      = 142

      + network {
          + bridge    = "vmbr0"
          + firewall  = true
          + link_down = false
          + macaddr   = "02:DE:4D:58:28:02"
          + model     = "virtio"
          + queues    = (known after apply)
          + rate      = (known after apply)
          + tag       = -1
        }

      + serial {
          + id   = 0
          + type = "socket"
        }
    }

Plan: 2 to add, 0 to change, 0 to destroy.

Execution
Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

   The plugin logs may
│ contain more details.
╵
╷
│ Error: Plugin did not respond
│
│   with proxmox_vm_qemu.win10-vms["vm-2"],
│   on masters.tf line 1, in resource "proxmox_vm_qemu" "win10-vms":
│    1: resource "proxmox_vm_qemu" "win10-vms" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The plugin logs may
│ contain more details.
╵

Stack trace from the terraform-provider-proxmox_v2.7.4 plugin:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x100 pc=0x1534090]

goroutine 83 [running]:
github.com/Telmate/terraform-provider-proxmox/proxmox.resourceVmQemuCreate(0xc00090d080, 0x1777c20, 0xc0006b1900, 0x0, 0x0)
    github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:843 +0x27d0
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xc00038a460, 0x19a1978, 0xc0003d0300, 0xc00090d080, 0x1777c20, 0xc0006b1900, 0x0, 0x0, 0x0)
    github.com/hashicorp/terraform-plugin-sdk/v2@v2.6.1/helper/schema/resource.go:318 +0x1ee
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc00038a460, 0x19a1978, 0xc0003d0300, 0xc0002e8380, 0xc0000ef140, 0x1777c20, 0xc0006b1900, 0x0, 0x0, 0x0, ...)
    github.com/hashicorp/terraform-plugin-sdk/v2@v2.6.1/helper/schema/resource.go:456 +0x67b
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc000144060, 0x19a1978, 0xc0003d0300, 0xc0007fa870, 0xc0003d0300, 0x1871da0, 0xc0003dc500)
    github.com/hashicorp/terraform-plugin-sdk/v2@v2.6.1/helper/schema/grpc_provider.go:955 +0x8ef
github.com/hashicorp/terraform-plugin-go/tfprotov5/server.(*server).ApplyResourceChange(0xc000431ac0, 0x19a1a20, 0xc0003d0300, 0xc0002e8000, 0xc000431ac0, 0xc0003dc510, 0xc0007e0ba0)
    github.com/hashicorp/terraform-plugin-go@v0.3.0/tfprotov5/server/server.go:332 +0xb5
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler(0x1871da0, 0xc000431ac0, 0x19a1a20, 0xc0003dc510, 0xc000356240, 0x0, 0x19a1a20, 0xc0003dc510, 0xc0002e7800, 0x790)
    github.com/hashicorp/terraform-plugin-go@v0.3.0/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:380 +0x214
google.golang.org/grpc.(*Server).processUnaryRPC(0xc000138380, 0x19a9258, 0xc000501800, 0xc0002dc300, 0xc0002f26f0, 0x1db8d60, 0x0, 0x0, 0x0)
    google.golang.org/grpc@v1.32.0/server.go:1194 +0x52b
google.golang.org/grpc.(*Server).handleStream(0xc000138380, 0x19a9258, 0xc000501800, 0xc0002dc300, 0x0)
    google.golang.org/grpc@v1.32.0/server.go:1517 +0xd0c
google.golang.org/grpc.(*Server).serveStreams.func1.2(0xc00030c1d0, 0xc000138380, 0x19a9258, 0xc000501800, 0xc0002dc300)
    google.golang.org/grpc@v1.32.0/server.go:859 +0xab
created by google.golang.org/grpc.(*Server).serveStreams.func1
    google.golang.org/grpc@v1.32.0/server.go:857 +0x1fd

Error: The terraform-provider-proxmox_v2.7.4 plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.

I'm having the same/similar issue.
My terraform is attempting to clone 3 VM templates.

Console error
proxmox_vm_qemu.dc: Still creating... [5m30s elapsed]
proxmox_vm_qemu.win10: Still creating... [5m30s elapsed]
proxmox_vm_qemu.wef: Still creating... [5m30s elapsed]
╷
│ Error: Plugin did not respond
│
│   with proxmox_vm_qemu.dc,
│   on main.tf line 94, in resource "proxmox_vm_qemu" "dc":
│   94: resource "proxmox_vm_qemu" "dc" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The plugin logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│   with proxmox_vm_qemu.wef,
│   on main.tf line 153, in resource "proxmox_vm_qemu" "wef":
│  153: resource "proxmox_vm_qemu" "wef" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The plugin logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│   with proxmox_vm_qemu.win10,
│   on main.tf line 212, in resource "proxmox_vm_qemu" "win10":
│  212: resource "proxmox_vm_qemu" "win10" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The plugin logs may contain more details.
╵

Stack trace from the terraform-provider-proxmox_v2.7.4 plugin:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x100 pc=0x1534090]

goroutine 83 [running]:
github.com/Telmate/terraform-provider-proxmox/proxmox.resourceVmQemuCreate(0xc0004b0600, 0x1777c20, 0xc0003e00f0, 0x0, 0x0)
	github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:843 +0x27d0
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xc0000fa460, 0x19a1978, 0xc00051f200, 0xc0004b0600, 0x1777c20, 0xc0003e00f0, 0x0, 0x0, 0x0)
	github.com/hashicorp/terraform-plugin-sdk/v2@v2.6.1/helper/schema/resource.go:318 +0x1ee
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc0000fa460, 0x19a1978, 0xc00051f200, 0xc0004b42a0, 0xc000147380, 0x1777c20, 0xc0003e00f0, 0x0, 0x0, 0x0, ...)
	github.com/hashicorp/terraform-plugin-sdk/v2@v2.6.1/helper/schema/resource.go:456 +0x67b
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc00000c078, 0x19a1978, 0xc00051f200, 0xc000634a00, 0xc00051f200, 0x1871da0, 0xc000560200)
	github.com/hashicorp/terraform-plugin-sdk/v2@v2.6.1/helper/schema/grpc_provider.go:955 +0x8ef
github.com/hashicorp/terraform-plugin-go/tfprotov5/server.(*server).ApplyResourceChange(0xc000147c80, 0x19a1a20, 0xc00051f200, 0xc0001d80e0, 0xc000147c80, 0xc0005c6ba0, 0x106c287)
	github.com/hashicorp/terraform-plugin-go@v0.3.0/tfprotov5/server/server.go:332 +0xb5
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler(0x1871da0, 0xc000147c80, 0x19a1a20, 0xc000560270, 0xc0005be780, 0x0, 0x19a1a20, 0xc000560270, 0xc000562a80, 0x9c9)
	github.com/hashicorp/terraform-plugin-go@v0.3.0/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:380 +0x214
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0000bc380, 0x19a9258, 0xc000103500, 0xc0000a4200, 0xc0000a0ed0, 0x1db8d60, 0x0, 0x0, 0x0)
	google.golang.org/grpc@v1.32.0/server.go:1194 +0x52b
google.golang.org/grpc.(*Server).handleStream(0xc0000bc380, 0x19a9258, 0xc000103500, 0xc0000a4200, 0x0)
	google.golang.org/grpc@v1.32.0/server.go:1517 +0xd0c
google.golang.org/grpc.(*Server).serveStreams.func1.2(0xc00030a1b0, 0xc0000bc380, 0x19a9258, 0xc000103500, 0xc0000a4200)
	google.golang.org/grpc@v1.32.0/server.go:859 +0xab
created by google.golang.org/grpc.(*Server).serveStreams.func1
	google.golang.org/grpc@v1.32.0/server.go:857 +0x1fd

Error: The terraform-provider-proxmox_v2.7.4 plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.

Trace logs
2021-09-20T08:52:59.452-0500 [TRACE] dag/walk: vertex "provider[\"registry.terraform.io/telmate/proxmox\"] (close)" is waiting for "proxmox_vm_qemu.dc"
2021-09-20T08:52:59.452-0500 [TRACE] dag/walk: vertex "root" is waiting for "provider[\"registry.terraform.io/telmate/proxmox\"] (close)"
2021-09-20T08:53:04.454-0500 [TRACE] dag/walk: vertex "root" is waiting for "provider[\"registry.terraform.io/telmate/proxmox\"] (close)"
2021-09-20T08:53:04.454-0500 [TRACE] dag/walk: vertex "meta.count-boundary (EachMode fixup)" is waiting for "proxmox_vm_qemu.win10"
2021-09-20T08:53:04.454-0500 [TRACE] dag/walk: vertex "provider[\"registry.terraform.io/telmate/proxmox\"] (close)" is waiting for "proxmox_vm_qemu.dc"
2021-09-20T08:53:09.457-0500 [TRACE] dag/walk: vertex "provider[\"registry.terraform.io/telmate/proxmox\"] (close)" is waiting for "proxmox_vm_qemu.dc"
2021-09-20T08:53:09.457-0500 [TRACE] dag/walk: vertex "root" is waiting for "provider[\"registry.terraform.io/telmate/proxmox\"] (close)"
2021-09-20T08:53:09.457-0500 [TRACE] dag/walk: vertex "meta.count-boundary (EachMode fixup)" is waiting for "proxmox_vm_qemu.win10"
2021-09-20T08:53:14.461-0500 [TRACE] dag/walk: vertex "meta.count-boundary (EachMode fixup)" is waiting for "proxmox_vm_qemu.win10"
2021-09-20T08:53:14.462-0500 [TRACE] dag/walk: vertex "provider[\"registry.terraform.io/telmate/proxmox\"] (close)" is waiting for "proxmox_vm_qemu.dc"
2021-09-20T08:53:14.462-0500 [TRACE] dag/walk: vertex "root" is waiting for "provider[\"registry.terraform.io/telmate/proxmox\"] (close)"
2021-09-20T08:53:19.467-0500 [TRACE] dag/walk: vertex "meta.count-boundary (EachMode fixup)" is waiting for "proxmox_vm_qemu.win10"
2021-09-20T08:53:19.467-0500 [TRACE] dag/walk: vertex "provider[\"registry.terraform.io/telmate/proxmox\"] (close)" is waiting for "proxmox_vm_qemu.dc"
2021-09-20T08:53:19.467-0500 [TRACE] dag/walk: vertex "root" is waiting for "provider[\"registry.terraform.io/telmate/proxmox\"] (close)"
2021-09-20T08:53:24.469-0500 [TRACE] dag/walk: vertex "meta.count-boundary (EachMode fixup)" is waiting for "proxmox_vm_qemu.win10"
2021-09-20T08:53:24.469-0500 [TRACE] dag/walk: vertex "provider[\"registry.terraform.io/telmate/proxmox\"] (close)" is waiting for "proxmox_vm_qemu.dc"
2021-09-20T08:53:24.469-0500 [TRACE] dag/walk: vertex "root" is waiting for "provider[\"registry.terraform.io/telmate/proxmox\"] (close)"
2021-09-20T08:53:29.473-0500 [TRACE] dag/walk: vertex "meta.count-boundary (EachMode fixup)" is waiting for "proxmox_vm_qemu.win10"
2021-09-20T08:53:29.473-0500 [TRACE] dag/walk: vertex "root" is waiting for "provider[\"registry.terraform.io/telmate/proxmox\"] (close)"
2021-09-20T08:53:29.473-0500 [TRACE] dag/walk: vertex "provider[\"registry.terraform.io/telmate/proxmox\"] (close)" is waiting for "proxmox_vm_qemu.dc"
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: PANIC: runtime error: invalid memory address or nil pointer dereference
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: [signal SIGSEGV: segmentation violation code=0x1 addr=0x100 pc=0x1534090]
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4:
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: goroutine 83 [running]:
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: github.com/Telmate/terraform-provider-proxmox/proxmox.resourceVmQemuCreate(0xc0004b0600, 0x1777c20, 0xc0003e00f0, 0x0, 0x0)
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: 	github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:843 +0x27d0
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xc0000fa460, 0x19a1978, 0xc00051f200, 0xc0004b0600, 0x1777c20, 0xc0003e00f0, 0x0, 0x0, 0x0)
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: 	github.com/hashicorp/terraform-plugin-sdk/v2@v2.6.1/helper/schema/resource.go:318 +0x1ee
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc0000fa460, 0x19a1978, 0xc00051f200, 0xc0004b42a0, 0xc000147380, 0x1777c20, 0xc0003e00f0, 0x0, 0x0, 0x0, ...)
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: 	github.com/hashicorp/terraform-plugin-sdk/v2@v2.6.1/helper/schema/resource.go:456 +0x67b
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc00000c078, 0x19a1978, 0xc00051f200, 0xc000634a00, 0xc00051f200, 0x1871da0, 0xc000560200)
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: 	github.com/hashicorp/terraform-plugin-sdk/v2@v2.6.1/helper/schema/grpc_provider.go:955 +0x8ef
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: github.com/hashicorp/terraform-plugin-go/tfprotov5/server.(*server).ApplyResourceChange(0xc000147c80, 0x19a1a20, 0xc00051f200, 0xc0001d80e0, 0xc000147c80, 0xc0005c6ba0, 0x106c287)
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: 	github.com/hashicorp/terraform-plugin-go@v0.3.0/tfprotov5/server/server.go:332 +0xb5
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler(0x1871da0, 0xc000147c80, 0x19a1a20, 0xc000560270, 0xc0005be780, 0x0, 0x19a1a20, 0xc000560270, 0xc000562a80, 0x9c9)
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: 	github.com/hashicorp/terraform-plugin-go@v0.3.0/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:380 +0x214
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: google.golang.org/grpc.(*Server).processUnaryRPC(0xc0000bc380, 0x19a9258, 0xc000103500, 0xc0000a4200, 0xc0000a0ed0, 0x1db8d60, 0x0, 0x0, 0x0)
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: 	google.golang.org/grpc@v1.32.0/server.go:1194 +0x52b
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: google.golang.org/grpc.(*Server).handleStream(0xc0000bc380, 0x19a9258, 0xc000103500, 0xc0000a4200, 0x0)
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: 	google.golang.org/grpc@v1.32.0/server.go:1517 +0xd0c
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: google.golang.org/grpc.(*Server).serveStreams.func1.2(0xc00030a1b0, 0xc0000bc380, 0x19a9258, 0xc000103500, 0xc0000a4200)
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: 	google.golang.org/grpc@v1.32.0/server.go:859 +0xab
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: created by google.golang.org/grpc.(*Server).serveStreams.func1
2021-09-20T08:53:29.642-0500 [DEBUG] provider.terraform-provider-proxmox_v2.7.4: 	google.golang.org/grpc@v1.32.0/server.go:857 +0x1fd
2021-09-20T08:53:29.643-0500 [DEBUG] provider: plugin process exited: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.7.4/darwin_amd64/terraform-provider-proxmox_v2.7.4 pid=3361 error="exit status 2"
2021-09-20T08:53:29.643-0500 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Canceled desc = context canceled"
2021-09-20T08:53:29.645-0500 [ERROR] plugin.(*GRPCProvider).ApplyResourceChange: error="rpc error: code = Unavailable desc = transport is closing"
2021-09-20T08:53:29.645-0500 [ERROR] plugin.(*GRPCProvider).ApplyResourceChange: error="rpc error: code = Unavailable desc = transport is closing"
2021-09-20T08:53:29.645-0500 [ERROR] plugin.(*GRPCProvider).ApplyResourceChange: error="rpc error: code = Unavailable desc = transport is closing"
2021-09-20T08:53:29.645-0500 [TRACE] maybeTainted: proxmox_vm_qemu.wef encountered an error during creation, so it is now marked as tainted
2021-09-20T08:53:29.645-0500 [TRACE] maybeTainted: proxmox_vm_qemu.win10 encountered an error during creation, so it is now marked as tainted
2021-09-20T08:53:29.645-0500 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState to workingState for proxmox_vm_qemu.win10
2021-09-20T08:53:29.645-0500 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState: removing state object for proxmox_vm_qemu.win10
2021-09-20T08:53:29.645-0500 [TRACE] evalApplyProvisioners: proxmox_vm_qemu.win10 is tainted, so skipping provisioning
2021-09-20T08:53:29.645-0500 [TRACE] maybeTainted: proxmox_vm_qemu.win10 was already tainted, so nothing to do
2021-09-20T08:53:29.645-0500 [TRACE] maybeTainted: proxmox_vm_qemu.dc encountered an error during creation, so it is now marked as tainted
2021-09-20T08:53:29.645-0500 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState to workingState for proxmox_vm_qemu.dc
2021-09-20T08:53:29.645-0500 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState: removing state object for proxmox_vm_qemu.dc
2021-09-20T08:53:29.645-0500 [TRACE] evalApplyProvisioners: proxmox_vm_qemu.dc is tainted, so skipping provisioning
2021-09-20T08:53:29.645-0500 [TRACE] maybeTainted: proxmox_vm_qemu.dc was already tainted, so nothing to do
2021-09-20T08:53:29.645-0500 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState to workingState for proxmox_vm_qemu.wef
2021-09-20T08:53:29.646-0500 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState: removing state object for proxmox_vm_qemu.wef
2021-09-20T08:53:29.646-0500 [TRACE] evalApplyProvisioners: proxmox_vm_qemu.wef is tainted, so skipping provisioning
2021-09-20T08:53:29.646-0500 [TRACE] maybeTainted: proxmox_vm_qemu.wef was already tainted, so nothing to do
2021-09-20T08:53:29.646-0500 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState to workingState for proxmox_vm_qemu.wef
2021-09-20T08:53:29.646-0500 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState: removing state object for proxmox_vm_qemu.wef
2021-09-20T08:53:29.646-0500 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState to workingState for proxmox_vm_qemu.win10
2021-09-20T08:53:29.646-0500 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState to workingState for proxmox_vm_qemu.dc
2021-09-20T08:53:29.646-0500 [TRACE] statemgr.Filesystem: no original state snapshot to back up
2021-09-20T08:53:29.647-0500 [TRACE] statemgr.Filesystem: state has changed since last snapshot, so incrementing serial to 7
2021-09-20T08:53:29.647-0500 [TRACE] statemgr.Filesystem: writing snapshot at terraform.tfstate
2021-09-20T08:53:29.669-0500 [TRACE] vertex "proxmox_vm_qemu.wef": visit complete
2021-09-20T08:53:29.669-0500 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState: removing state object for proxmox_vm_qemu.win10
2021-09-20T08:53:29.669-0500 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState: removing state object for proxmox_vm_qemu.dc
2021-09-20T08:53:29.669-0500 [TRACE] statemgr.Filesystem: no original state snapshot to back up
2021-09-20T08:53:29.670-0500 [TRACE] statemgr.Filesystem: state has changed since last snapshot, so incrementing serial to 8
2021-09-20T08:53:29.670-0500 [TRACE] statemgr.Filesystem: writing snapshot at terraform.tfstate
2021-09-20T08:53:29.692-0500 [TRACE] vertex "proxmox_vm_qemu.win10": visit complete
2021-09-20T08:53:29.693-0500 [TRACE] statemgr.Filesystem: no original state snapshot to back up
2021-09-20T08:53:29.694-0500 [TRACE] statemgr.Filesystem: state has changed since last snapshot, so incrementing serial to 9
2021-09-20T08:53:29.694-0500 [TRACE] statemgr.Filesystem: writing snapshot at terraform.tfstate
2021-09-20T08:53:29.720-0500 [TRACE] vertex "proxmox_vm_qemu.dc": visit complete
2021-09-20T08:53:29.720-0500 [TRACE] dag/walk: upstream of "provider[\"registry.terraform.io/telmate/proxmox\"] (close)" errored, so skipping
2021-09-20T08:53:29.720-0500 [TRACE] dag/walk: upstream of "meta.count-boundary (EachMode fixup)" errored, so skipping
2021-09-20T08:53:29.721-0500 [TRACE] dag/walk: upstream of "root" errored, so skipping
2021-09-20T08:53:29.721-0500 [TRACE] statemgr.Filesystem: no original state snapshot to back up
2021-09-20T08:53:29.722-0500 [TRACE] statemgr.Filesystem: state has changed since last snapshot, so incrementing serial to 10
2021-09-20T08:53:29.722-0500 [TRACE] statemgr.Filesystem: writing snapshot at terraform.tfstate
2021-09-20T08:53:29.753-0500 [TRACE] statemgr.Filesystem: removing lock metadata file .terraform.tfstate.lock.info
2021-09-20T08:53:29.767-0500 [TRACE] statemgr.Filesystem: unlocking terraform.tfstate using fcntl flock
2021-09-20T08:53:29.767-0500 [DEBUG] provider: plugin exited

Speculation: there's an issue with the terraform provider cloning VMs in parallel.
If I make each VM clone dependent on the prior VM being successfully cloned (effectively cloning them in serial), then I don't experience errors.

@dmoore44 I was receiving this exact error deploying a single vm. @luclu upgrading to 2.8.0 resolved fixed this for me.

TL;DR if you run into this problem, try terraform init -upgrade && terraform get -update and then redeploy (cleaning up the VM manually in Proxmox if need be).
I'm surprised to see a SIGSEGV in a Go program, but apparently they still happen.
I can reproduce this intermittently when cloning a single VM.  It seems to be worse when the server has slower disk I/O (e.g., it's under heavy load).  This makes me suspect that it's a race condition, perhaps a garbage collector getting too aggressive?  Like all the other reports, the address in my case is 0x100, which suggests that it's a null pointer dereference into a structure, array or object.
In v2.7.1, line 385 is a log message.
I did a terraform init -upgrade && terraform get -update and upgraded to v2.9.10, manually deleted the VM on the back end, and redeployed without any problem.  It's an intermittent problem, so it's hard to say for certain if this has actually been solved or not, but it's possible this was fixed at some point between 2.7.4 and 2.9.10.
If I run into this again with other VMs, I'll post back here to report whether an upgrade fixes the issue.  The more confirmations we get that upgrading fixes it, the more confident we can be that this is no longer an issue.
module.standard_vm.module.vm.proxmox_vm_qemu.server: Still creating... [5m30s elapsed]
╷
│ Error: Request cancelled
│
│   with module.standard_vm.module.vm.proxmox_vm_qemu.server,
│   on ../../templates/main.tf line 33, in resource "proxmox_vm_qemu" "server":
│   33: resource "proxmox_vm_qemu" "server" {
│
│ The plugin.(*GRPCProvider).ApplyResourceChange request was cancelled.
╵

Stack trace from the terraform-provider-proxmox_v2.7.1 plugin:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x100 pc=0x931270]

goroutine 70 [running]:
github.com/Telmate/terraform-provider-proxmox/proxmox.resourceVmQemuCreate(0xc000390500, 0xb75b40, 0xc0005b62d0, 0x0, 0x0)
        github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:835 +0x2710
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xc0001689a0, 0xd9e098, 0xc0005e2fc0, 0xc000390500, 0xb75b40, 0xc0005b62d0, 0x0, 0x0, 0x0)
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.6.1/helper/schema/resource.go:318 +0x1ee
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc0001689a0, 0xd9e098, 0xc0005e2fc0, 0xc0005d6690, 0xc0000de440, 0xb75b40, 0xc0005b62d0, 0x0, 0x0, 0x0, ...)
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.6.1/helper/schema/resource.go:456 +0x67b
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc00000d3b0, 0xd9e098, 0xc0005e2fc0, 0xc0005b6f00, 0xc0005e2fc0, 0xc6f160, 0xc0005f1f00)
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.6.1/helper/schema/grpc_provider.go:955 +0x8ef
github.com/hashicorp/terraform-plugin-go/tfprotov5/server.(*server).ApplyResourceChange(0xc0000de040, 0xd9e140, 0xc0005e2fc0, 0xc0005d6460, 0xc0000de040, 0xc0005f1f50, 0xc0005d0ba0)
        github.com/hashicorp/terraform-plugin-go@v0.3.0/tfprotov5/server/server.go:332 +0xb5
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler(0xc6f160, 0xc0000de040, 0xd9e140, 0xc0005f1f50, 0xc0005c2900, 0x0, 0xd9e140, 0xc0005f1f50, 0xc0005e6600, 0x10f5)
        github.com/hashicorp/terraform-plugin-go@v0.3.0/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:380 +0x214
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0000e0000, 0xda57f8, 0xc000500480, 0xc00033e500, 0xc000302690, 0x11b0ce0, 0x0, 0x0, 0x0)
        google.golang.org/grpc@v1.32.0/server.go:1194 +0x52b
google.golang.org/grpc.(*Server).handleStream(0xc0000e0000, 0xda57f8, 0xc000500480, 0xc00033e500, 0x0)
        google.golang.org/grpc@v1.32.0/server.go:1517 +0xd0c
google.golang.org/grpc.(*Server).serveStreams.func1.2(0xc00030c1a0, 0xc0000e0000, 0xda57f8, 0xc000500480, 0xc00033e500)
        google.golang.org/grpc@v1.32.0/server.go:859 +0xab
created by google.golang.org/grpc.(*Server).serveStreams.func1
        google.golang.org/grpc@v1.32.0/server.go:857 +0x1fd

Error: The terraform-provider-proxmox_v2.7.1 plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.


fix: Fixed an error where incorrect data was imported when working with DDL

There is a problem with mysql DDL input/output, so I'm making a pull request to fix it.
Please check the contents and review.
packages/sql-ddl-parser

Fixed the syntax in which string strings are converted to string in batches. SQLParser.ts#L176
We classified keywords and data values. SQLParserHelper.ts#L59
Added some value check functions for new keywords. SQLParserHelper.ts#L121
Occasionally, when entering DDL, the value of 'CHARACTER' was entered and the corresponding keyword was also processed without conflict. create.table.ts#L322
Added COLLATE, BTREE, CURRENT_TIMESTAMP, and USING keywords. MySQL.ts#L322

Uh... I guess I was wrong.
SQLParserHelper.ts#L59 is a syntax that performs basic type processing, so there is no need to comment.


type8's message is wrong.

At line 63 in ciscopwdhasher.py
print(f'Your Cisco type 7 password is: {hash}')
I think It would be belows
print(f'Your Cisco type 8 password is: {hash}')

Resolved. Thanks!


Multiple prisma with nx workspaces and nestjs

Bug description
I have tried nx workspace with nestjs and prisma which outputs to node_modules (default setup) and it works, but using multiple prismas with custom directory output fails.
Running nx build shows warnings

Running nx serve shows errors

I have this kind of setup with nestjs and many prisma (need to access different databases) using the default structure (no monorepo) and it works without problems. I think the problem resides with webpack and the binaries from prisma, but I don't know how to solve it.
nx structure

How to reproduce

Clone repository https://github.com/ionut-gheorghe/nx-multi-prisma.git
Run npm install
Run npm run prisma1:generate script
Run npm run prisma2:generate script
Run nx serve

Expected behavior
To run without errors
Prisma information
datasource db {
  provider = "sqlite"
  url      = "file:./dev.db"
}

generator client {
  provider = "prisma-client-js"
  output   = "../generated"
}

model User {
  id    Int     @id @default(autoincrement())
  email String  @unique
  name  String?
}

Environment & setup

OS: Windows 10
Database: Sql Lite
Node.js version: 14 Lts

Prisma Version
2.23.0

@3dmind Could you maybe open your own issue about this and explain your full use case, maybe even create a minimal reproduction of what you are trying to do and how it fails? We are super interested in making Prisma Client work with mono repos of course, but need more input.
@ionut-gheorghe Did this work before or did you just hit this problem when trying to use Prisma?

What do you mean by if it worked before.
Current I use nestjs with multiple prisma's but it is not a monorepo, its the standard structure. I have the prisma's folders (each folder is a differrent database) at the root level of the project and I reference them from the code. When deploying I just copy prisma's folders along side with node_modules,  dist and package.json.

Sorry for not being clear, I wanted to know if you did the same thing with an earlier Prisma version and if it worked there - or if you are just now trying to change your project structure and are hitting this problem. This seems to be the case.

I can reproduce the behaviour with 2.25 and the reproduction provided.
I don't have any experience with Nx so I can't really assess this but I will mark this as confirmed bug so that someone else can have a look.

@ionut-gheorghe I'm having the same problem here with a project using Nx and Prisma.
My use-case is to have a monorepo using Nx with multiple micro services. I would like to use a separate Prisma client with its own schema in every micro service.

Hi bro, did you solve this problem?

Hi all,  I found a temporary Solutions for this case:
For schema file:
generator client {
    provider        = "prisma-client-js"
    output          = "../../../node_modules/@prisma/client-2"  // make output into node_modules folder to avoid nx bundle that
    binaryTargets   = ["native", "rhel-openssl-1.0.x"]
}

and then, in nest module file, you can import like that
import { PrismaClient } from '@prisma/client-2'

If you find a better solution, remember to be brave and share it like I did. lol :D

@BetterLuke Hi 👋
I tested your solution and it works.
I have to investigate if it still works when I run the app in a docker container.

@3dmind @BetterLuke @janpio  @pantharshit00  This issue seems to be caused by webpack bundling the generated files. You should be able to fix this by including nodeExternals() and 'encoding' in your externals property of your webpack.config.js.

@3dmind @BetterLuke @janpio  @pantharshit00  This issue seems to be caused by webpack bundling the generated files. You should be able to fix this by including nodeExternals() and 'encoding' in your externals property of your webpack.config.js.

Hey everyone, I just have used the reproduction with @prisma/client@dev and confirm that this has been fixed. Feel free to try it and let us know if you find anything unexpected. Thanks, @ionut-gheorghe for taking the time to provide the reproduction.

So what is the actual solution to this issue? Do we (developers) do something on our side or is it fixed with Prisma by default?
Or is it the solution provided by @nwidynski ?
Thank you very much

You can try the current dev version of Prisma (npm install prisma@dev @prisma/client@dev) already and let us know, or next week Tuesday this will be released as part of 3.12.0.
(If the dev version does not work for your, please let us know!)

using dev or the workaround I'm seeing:
      stdout: translateLevel(supportsColor(true, tty.isatty(1))),
                                                     ^
TypeError: tty.isatty is not a function

What's exactly the solution to this?
What do developers have to do to achieve different Prisma setups for each microservice (app)?

@exsesx : the idea is as follows. Maybe you want to have everything that is related to one particular feature of your app (i.e., user, articles, comments) to also reside in one specific directory (i.e., libs\user\ and so on).
In this case, you would also want to have the specific User model in the user directory, and the Article model in the article directory. Furthermore, you would need to have a mechanism to later combine all those different schema-fragments into one large file that can be processed and managed by prisma.
Hope this helps?!
All the best,
Johannes

Thanks @johannesschobel
My end goal is to have separate microservices with their schema, connections strings, and maybe even different databases.
I'll dig into it more to see if any of the above works.

Dear @exsesx
please note, that the current state of my library does not support generating multiple prisma.schema files. However, i can take a look at it and add this as a feature, if you're interested. This way, each microservice could have its own dedicated prisma.schema file.
All the best

That'd be fantastic, thanks 👍🏻

Dear @exsesx ,
try the latest version of prisma-utils/prismerge (https://github.com/prisma-utils/prisma-utils/tree/main/libs/prismerge). it now supports "apps", designed for your use-case of having various microservices (each with its own database connection, schema, and so on).

@millsp yeah, but you still need multiple schema files (i.e. one per service). And that is what my library solves.
All the best

Dear @exsesx ,
try the latest version of prisma-utils/prismerge (prisma-utils/prisma-utils@main/libs/prismerge). it now supports "apps", designed for your use-case of having various microservices (each with its own database connection, schema, and so on).

@johannesschobel I'm very interested in prismerge, even if it is a workaround (my solution support a kind of microservices where each service has a prisma schema but uses the same physical database as per the other services ) I find prismerge very interesting.
Unfortunately, there is ZERO docs about usage and how to integrate into "microservices" oriented architecture. Where it is possible to find some examples?

Dear @hoghweed ,
i think, this may be a very specific use-case that you describe here. I use PrisMerge in a different setup (i.e., one backend application, but the *.prisma files are scattered all across different libraries). Therefore, the documentation provided in the ReadMe mainly covers these aspects.
I believe, however, that PrisMerge already supports this kind of use-case. Basically, PrisMerge generates one (or more) schema.prisma files from multiple input documents for you. How you "load" these files to create your database, migrate a database properly from one state to another one, ... is not part of PrisMerge - that is what Prisma does for you.
Can you describe, what PrisMerge should provide for you or how i can extend the docs to fit your needs?
All the best,
Johannes