[New sniff] Malware/worm sniff

Rule type:
Error
Rule:
Verify a number of typical php snippets which are known as malware indicators
The list of snippets might need to be expanded. Input welcome.
Theme check file covering this rule:
https://github.com/WordPress/theme-check/blob/master/checks/worms.php
Decision needed:
A list needs to be compiled with code snippets to be sniffed for & approved by the TR board.
Notes for implementation:

In this case, you can probably not easily sniff for a specific token type. It might actually make sense to create separate sniffs for each type of worm/malware injection so the individual sniffs can be optimized instead of sniffing for lots of different tokens and doing all the checks in one file.
If checks would still be combined within sniffs, I'd suggest creating a function per typical injection/worm/malware type using their common name to identify the treat being sniffed for.

To do:

[ ] Clarify the rule in the Theme Review handbook. I'm presuming there is a "don't be a bad citizen" rule, but this might need to be expanded on ?
[ ] Create unit tests
[ ] Create new sniffs

Triage resolution: This should be added to the checks. The initial list from the theme check can be used and it can be expanded on.
@ernilambar mentioned wp-vcd.php, not sure what it is, but it can be added to the list.

Ref: https://www.wordfence.com/blog/2019/11/wp-vcd-the-malware-you-install-on-your-own-sites/

I wonder if it would be a better idea to add these sniffs to WPCS in general and then include them from WPTRT ?
Or alternatively add them to the PHPCS Security standard and add sniffs from that ?

We are not including that standard atm, but I'm for it 👍 Anything that helps with the security is ok in my book 🙂

@dingo-d FYI: The Security standard needs some work (and a new release) before it could be considered for inclusion, but it's something to keep an eye on for the future for sure.

Do we have an estimate when this new release would be, because if it's too far in the future maybe it wouldn't be a bad thing to have this sniff either here or in the upstream (WPCS) before.

No release planning known to me, though I am trying to help box the project into shape, so will let you know when I know more.
Once sniffs are written for this, they can always be upstreamed later anyway (and yes: I do still think having separate sniffs for the separate threats will be a good idea).
It may also be a good idea to have a look at the Security standard already to see if sniffs already exist for some of these so energy will be spend on adding the missing ones first.


Valid Webhook URL being rejected by pattern match

I'm getting the  does not appear to be a valid Discord webhook URL! Webhook mode will not be enabled. message no matter how many urls I generate and try in the config.

I was worried that might happen as I only had mine to go off of.
Can you generate a few that have this problem and post them here? Just make sure to delete them from Discord first so nobody can use them.

Sure thing:
Failing:

https://discord.com/api/webhooks/1081958472469446687/cutxroAo_H3Nb_HUEnaOOb9T2Tjdy8y0naKUry4Di9n4pZGapW8YUDW0Y-n3XrVQrQr6
https://discord.com/api/webhooks/1081972586306609182/v03xn_ErOe5BeLEAh2JT4eckNTOHOylA-pmTsag0hNfnXuOyVSBkHem0BNzBFVgokF2W
https://discord.com/api/webhooks/1081972896437653646/0j0MHJwOKfmWkIPTULNR9wkXh-Yrwrp9GPR1gGk1Ms2QYVCvgnMDEH-tODWgj0-cKv3d

Funny enough my 4th test (7th webhook generated) actually worked so I'm personally no longer in need of a fix, culprit looks like it could be the -.

What's actually happening there is it's falling back on posting directly to the configured chat channel via the bot.
At least that's what it's supposed to do, are you sure it's using the webhook?

Yep definitely using the webhook and posting to chat when the url doesn't contain a dash, even when the configured chat channel option is disabled. It's how I knew that url was different, I wasn't getting notifications up until that point.
When the webhook was failing, it couldn't post to chat because that option was disabled.

Oh I misread your comment, I thought you were saying that when the webhook URL is rejected it goes ahead and posts via the webhook anyway.
The behavior of posting via the webhook if one is configured regardless of the chat channel configuration is intended -- I figured one wouldn't configure a webhook if they didn't want it to be used. I could add some clarification around that. Can you see a scenario where this would cause a problem?

It's definitely niche, I think it could cause unexpected behaviour when performing debugging that requires multiple restarts.
e.g. I disabled the chat channel config to avoid spamming the channel with startup and shutdown messages while I restarted over and over trying to generate urls for you.
If I was doing that for another reason I would want to make sure to disable both the chat channel AND the webhook url. Not a problem and I personally won't forget!

Okay, version 1.1.1 is live on GitHub and Modrinth. Thank you for taking the time to make this report!


Add decorator

-Add Nameable class as parent for Person
-Add Decorator class and his childs

Code reviewr required to remove super()  "Let's also remove the super as this is currently not needed.".
I did it and recieved linters error:   decorator.rb:4:3: W: Lint/MissingSuper: Call super to initialize state of the parent class.
Could you please advice what should I do: add super, or remove?

Code reviewer "zieeco" has required to remove super(): "Let's also remove the super as this is currently not needed.". I did it and recieved linters error: decorator.rb:4:3: W: Lint/MissingSuper: Call super to initialize state of the parent class.
Could you please advise what should I do: add super, or remove?

Please bring it back. you need it. you you did inheritance from child to parent class

Code reviewer "zieeco" has required to remove super(): "Let's also remove the super as this is currently not needed.". I did it and recieved linters error: decorator.rb:4:3: W: Lint/MissingSuper: Call super to initialize state of the parent class.
Could you please advise what should I do: add super, or remove?

Please bring it back. you need it. you you did inheritance from child to parent class

Thank you! I did return it back.


[FR] update UIManager sample

samples/gtk-demo/demo-uimanager.lua currently needs improvements.

It doesn't use demo.ui file which is misleading.
the demo should demonstrate a code + ui-file which is usual in Gtk world.

I know that you prefer Lua-style UI description. So I'll work on this, but no hurry.

@ildar, I wonder whether this issue has been already solved.
Many thanks for your help.


Make clicks work on mobile

When you click with your finger on things in the table on yer phone, it doesn't really work.

¿	?


Limit loaded to config to current environment only

RIght now, Denali just loads any config it can find, and leaves it to the application code to extract the right values from the right environments. Ideally, we would only load the config unique to this environment.
Config loading can be a point of contention, as well as a blocker for some more esoteric use cases (if the chosen method of config loading turns out to not support a specific use case). I think a good solution here would have strong conventions around the 80% use cases, with escape valves for those edge cases we can't anticipate or don't want to support otherwise.

Fixed in c2bd403235c96cc789391f4b48a0f9b60d475f17


Ability to change angle

Sometimes the designer changes the angle so it's not 10deg but 2 or 3deg.

Great suggestion. The ability to specify the angle rather than having the user calculate height + width would be a nice addition. Currently working on #8 to allow percentages, which this wouldn't really work with as the angle would change at different screen sizes, but maybe we can do something like
@include angled-edge('outside bottom', 'lower left', #00FF00, 2800, $angle:4deg);

where we specify both width and angle as an optional argument.

That would be amazing. Like that idea. :+1:

@visualcookie This feature is now available in v1.2-alpha on master! Do you mind testing it?

Thinking this over again, and while I would love to include an angle option as previously  discussed, it has proven to be inefficient due to the limitations of sass. Creating the functions needed to calculate this doubles the size of the partial just for one argument.
For the time being, the user can still achieve a specific angle they need by calculating it themselves. This will keep compile times down. I will consider this however in the future once when sass can handle more of these functions itself.
For reference, if you need a specific angle for the edge, the equation would be:
$height = tan($angle) * $width

I hope this helps.


evaluation result in worksheet is not virtual text

Steps to Reproduce:

create a file named demo.worksheet.sc
write a number inside this file e.g. 1
the content becomes: 1 /*>  : Int = 1  */

Expected Behavior:
the content remains 1 and the result : Int = 1 should be a virtual text which can not be selected and not written in file.

Thanks for raising this! We have a custom extension for this that is not supported by the zed extension yet. Although, we will probably instead switch to inline values, which might be supported by zed at some point (if not already)

Some work on that is done in https://github.com/scalameta/metals/pull/6827/files


Silent deployment of MSI doesn't install per machine

My Setup

Operating System: Windows 10
App Version: 3.0.0
Installation type:  MSI package

[x] I have tested with the latest version
[x] I can simulate the issue easily

Description
Tried to do a silent installation of v3.0.0 to several Windows 10 machines by using the MSI package. The deployment tool runs in system user context and calls
msiexec /qn /i rocketchat-setup-3.0.0.msi ALLUSERS="1"
Current Behavior
There is no desktop icon and no uninstall entry for all users
Expected Behavior
App should be available to all users when msi package is used for deployment

New msi installer creates new directory: "C:\Program Files\rocketchat" instead of "C:\Program Files\Rocket.Chat"

C:\Program Files (x86)\rocketchat for me

Same here. 3.1.1 is unusable due to incorrect install path.


RLN basic proof from Rust with Circom

PoC.
Part of https://github.com/vacp2p/zerokit/issues/2
Similar to https://github.com/vacp2p/zerokit/issues/4 but for RLN

https://github.com/vacp2p/zerokit/tree/master/rln
Based on example input (adapted from zk-kit tests) https://github.com/vacp2p/zerokit/blob/master/rln/src/main.rs#L55-L96
Next steps - probably producing the JSON itself from scratch, adding members etc. Separate issue


Profibus Module configuration tag list box allows duplicate assignment of tags.

Configuring a channel to use a tag does not remove it from the list of available tags for other channels.

Is the channel a reader channel?

Yes, the direction for these channels is "Write to HW." Ok, so I am assuming that this is intended behavior. Correct?

Per our conversation, multiple readers is allowed and so this was not an issue.


Error with running the demo

Verify latest release

[X] I verified that the issue exists in the latest chatgpt release

Verify webapp is working

[X] I verify that the ChatGPT webapp is working properly for this account.

Verify resrictions

[X] I verify that I've double-checked all of the restrictions.

Environment details
Windows 11
Node js 9
Link to the code that reproduces this issue
npx tsx demos/demo-conversation.ts
Describe the Bug
It just doesnt run and any time I install esm, esbuild-kit or tsx it still doesnt work
To Reproduce
run the demo file
Expected Behavior
i wanted the demo to run lol

Can you tell us more about the problem or the error that occurs? Without more information we can’t help you.

Make sure you've installed the local NPM dependencies.
@deezed420 you're using Node.js 9, which is not supported. This package requires node >= 18.

It just doesnt run and any time I install esm, esbuild-kit or tsx it still doesnt work

You should never have to manually install any of these things. Just clone the repo, run npm install (or yarn install or pnpm install) and then run the demo with npx tsx src/demo.ts.
If you're running a really old version of Node.js, however, none of this will work.

sorry I was running Node 19.

and yes I will try cloning the repo and seeing if it works.


how to set initial value of checkbox?

I want to change checkbox value. But, I don't know what to do.

Have a look at the demo pages: the filter example shows that you can easily set the initial selection by setting the SelectedItems parameter. The code is available here.

@stefanloerwald
The selectedValue is not working, when group is not selected.
Please check this situation.

above code is par of filter example, but it is not working.

This is indeed a bug. It's fixed in version 1.4.0.
In the future, please do not post screenshots of code. Post the code as text instead. Thanks


Can't create PR from a multiroot workspace

I have a workspace with 3 git repos. I want to create a PR in the vscode repo but the extension is only looking at another one
I pushed a branch in vscode then ran "Create Pull Request"

microsoft/notebook-extension-samples is the parent of notebook-provider

Oh duh I just have to select it in the scm view


Conversion option template_dirs

Hi there,
I tried using the option template_dirs by specifying the directory as a path (string) for a slim template with no success. I got:
Exception in thread "main" org.jruby.exceptions.RaiseException: (NoMethodError) asciidoctor: FAILED: C:/axb/_docs/test_guide.adoc: Failed to parse source, undefined method `each' for "C:\\axb\\_docs\\backends\\slim\\docbook45":String
	at RUBY.load(C:/MultiPlatform/ruby/lib/ruby/gems/2.2.0/gems/asciidoctor-1.5.2/lib/asciidoctor.rb:1362)
	at RUBY.convert(C:/MultiPlatform/ruby/lib/ruby/gems/2.2.0/gems/asciidoctor-1.5.2/lib/asciidoctor.rb:1458)
	at RUBY.convert_file(C:/MultiPlatform/ruby/lib/ruby/gems/2.2.0/gems/asciidoctor-1.5.2/lib/asciidoctor.rb:1562)
	at RUBY.convertFile(<script>:68)
	at org.jruby.gen.InterfaceImpl579737299.convertFile(org/jruby/gen/InterfaceImpl579737299.gen:13)

From the error (undefined method `each')  it seems a list is expected rather than a directory. I've tried both:
	if (cmd.hasOption("T")) {
		String d = cmd.getOptionValue("T");
		File b = new File( d );
		File[] list = b.listFiles();
		options.put("template_dirs", d );
	}

	// Run the conversion
	if (cmd.hasOption("f")) {
	String f = cmd.getOptionValue("f");

    String html = asciidoctor.convertFile(
        	new File( f ),
            options
        );
    System.out.println(html);
   }

If the data is given as a list (the content of the directory/files) it fails that way:
Exception in thread "main" org.jruby.exceptions.RaiseException: (NoMethodError) asciidoctor: FAILED: C:/axb/_docs/test_guide.adoc: Failed to parse source, undefined method `nil_or_empty?' for #<Java::JavaIo::File:0x7ff19c33>
	at RUBY.load(C:/MultiPlatform/ruby/lib/ruby/gems/2.2.0/gems/asciidoctor-1.5.2/lib/asciidoctor.rb:1362)
	at RUBY.convert(C:/MultiPlatform/ruby/lib/ruby/gems/2.2.0/gems/asciidoctor-1.5.2/lib/asciidoctor.rb:1458)
	at RUBY.convert_file(C:/MultiPlatform/ruby/lib/ruby/gems/2.2.0/gems/asciidoctor-1.5.2/lib/asciidoctor.rb:1562)
	at RUBY.convertFile(<script>:68)
	at org.jruby.gen.InterfaceImpl579737299.convertFile(org/jruby/gen/InterfaceImpl579737299.gen:13)

What data type is the option template_dirs? Do I wrong or is this a bug in the current version?
Many thanks for any help in advance

I think the issue is because the option should be set as a List instead of File.
Seeing the example code seems you are directly building the options map. Truth be told, building options is not easy unless you have a clear idea of what happens under-the-hood.
To avoid problems, I strongly recommend using the OptionsBuilder. It offers many methods that take care of conversions. In your case, you could do something like this:
OptionsBuilder options = OptionsBuilder.options();

if (cmd.hasOption("T")) {
    String d = cmd.getOptionValue("T");
    options.templateDir(new File( d ));
}

. . .

String html = asciidoctor.convertFile(
            new File( f ),
            options
        );

Also, have a look at the AttributesBuilder.

Hi Abel Salgado,
thanks a lot for your (very fast) response, You saved my (first) day (diving into AsciidoctorJ).
Yes, you're right. It works as you recommended. I'll always use the  attributes and options builder classes to prevent such pitfalls.
Thanks a lot.

Glad it was helpfull.
You'll be interesting in checking the Integrator's guide that @robertpanzer has prepared for version 1.6.0.
It's a WIP thing and there some differences with the current version (1.5.4), for instance the extension API has been greatly improved, but nevertheless I think it's a great introduction to the API. Also, let us know if you think that anything can be improved.

Hi Abel Salgado,
thanks a lot, again. I read the Integrator's Guide (and the documents referenced from this Guide). I'm really impressed what is possible going from Ruby to JRuby to make the code available on a JVM.
I'm working on a smaller project that uses Asciidoc as an abstraction layer for creating several type of reports  - rendered in the very end to HTML or PDF. I was seeking for a replacement of the Python implementation of the Asciidoc processor Asciidoc (issued by Stuart Rackham) and came accross Asciidoctor ...
Asciidoc is a very interesting piece of software but the regex approach for building the parser blocks is not that easy to understand (and not well documented). I managed to create a backend for my needs (based on Bootstrap) but it took some days of re-engineering to understand how its works. It is possible to cross-compile the python code to have a standalone solution w/o the need of a Python runtime but this changes the behavoiur (the run-time environment) of Asciidoc in some way.
The Asciidoctor way seems to me the better solution. Techniclly from the (more modern/flexible) code base prospective and the possibilities to use the same code for JAVA and JavaScript. The template approch using standard tools  (I'm intended to use HAML) makes it much more easier - and faster/more stable - to create a backend/template for Asciidoctor if needed.
Yes, I'll definitively put some comments on your project. As always things can be improved, I'll give my 50 Cent on it. My project is focussing more on how  Asciidoctor can be used as a product rather than to integrate Asciidoctor as an API in customized code. But anyway, some documentation, that I need to write, may helpful for other people if they dive into Asciidoctor the first day/s. And it might be an real world example using Asciidoc/Asciidoctor to see what is ePublishing/eDocument Factory all about.
It will took some more days to port the Bootstrap backend from Asciidoc to Asciidoctor (and a bunch of other helpful code/JavaScripts) but I think around Easter a first version can be presented. What do you think  would be the best place (in Asciidoctor's envrionment) to present such a project/use case?

some documentation, that I need to write, may helpful for other people if they dive into Asciidoctor the first day/s.

We are always looking for more documentation, so this would be a very welcomed contribution in whatever form you are willing to share it.


Implement initial front-end auth

Just gets a token from the server and stores it in a React context, no persistence for now.

How do you mean, exactly? I think probably the UserContext shouldn't contain a nested user property (since you get stuff like user.user?.steamId), but there's nothing necessarily wrong with matching variable/type names as long as they're accurate.

Yeah just little stuff like that!


time zone rules Obsolete

File: libfreerdp/locale/timezone.c
TimeZoneRuleTable_60 and some others are outdated and do not work:
freerdp_get_current_time_zone_rule() return NULL.

Timezone information is update from time to time.
Reopen if still an issue.


start/stop functions not working

I've just noticed after deploying the plugin that start/pause are not working even in the demo page https://imalliar.github.io/progressBarTimer/index.html
can you please do a check for that and if possible add pause/resume feature too.

Start seems to work fine for me, it's stop which gives me problems.


not giving sheduled notification while app is closed

Hi @chetan2469
When opening an issue, please try to provide all of the information indicated in the template.
Closing this issue, since no information has been provided.
Thank you.


New discord update

Can you please Update the Themes for the New Discord Update? (The one tat added the Recent Mentions Button)
I would do a fix myself but i dont know CSS.

Updated ;)


replace enable: false with draft: true

Leaving a tutorial disabled maybe feels more judgemental (and our phrasing in the notification box), we could rephrase this as draft mode which might make it more comfortable for authors. Suggestion by @shiltemann

edit: draft mode is literally part of jekyll already, I do not know why we didn't use that. There's a flag --drafts to include drafts in the cli, published in the frontmatter controls it.


toEmbeddedRefract

AFAICT the toEmbeddedRefract is not part of the library any more, yet it is still mentioned in the README. Is it correct observation?

That's right, we removed it in Minim 0.17 (https://github.com/refractproject/minim/releases/tag/v0.17.0). Missed that it was still in the README and I'll fix this shortly.
We settled on only supporting a single form of JSON serialisation for Refract (and API Elements) and it was removed from the Refract spec in 2017 via https://github.com/refractproject/refract-spec/pull/73.

Cool, thanks for explanation ;]

With GZIP of JSON serialisation we don't currently face any performance problems due to the over-the-wire format, if we did in future it might make sense to explore binary serialisation formats like protobuf and the likes.

Yes, I remember having discussion about it with Wilda and we agreed GZIP + JSON is more than enough.
Maybe offtopic, but still related. What was the background for making the decision, that fury should resolve all the references $ref when parsing any ADD and encoding dereferenced ADD into Api Elements?  Instead of parser handling this (which creates huge payloads), I'd expect it's a thing of runtime - when I say: "I want to resolve this ApiELements".

What was the background for making the decision, that fury should resolve all the references $ref when parsing any ADD and encoding dereferenced ADD into Api Elements?  Instead of parser handling this (which creates huge payloads), I'd expect it's a thing of runtime - when I say: "I want to resolve this ApiELements".

I think the best approach for the parser is that it shouldn't blanket handle $refs but instead translate them to API Element references to push that down to API Element consumers to keep the parse result small, and to prevent duplication.
The parser(s) do need to ensure that the $ref makes sense within the context of where it is used. I think this is key to providing decent warning/error handling too so the parser is not duplicating work, and in turn validations. Generally we can parse each component (in OAS 3 terms) individually (a single time) and then validate it makes sense in the given context.
Theres some reasons where each individual parser may vary so I'll break them down below. For API Blueprint, this rule is followed with exception of body generation (more on that below). OpenAPI 2 (not 3) in particular is implemented different (more at the end).
General Exception: Message Body Examples
There are parser features (which IMO i'm not entirely sure they really belong in the parser, but they are here historically for performance reasons):

HTTP Request/Response Body: Example Generation
HTTP Request/Response Body Schema: JSON Schema Example Generation

Generating a JSON example body requires the dereferencing to take place which is the case where the API Blueprint (drafter) and OpenAPI 3 (fury-adapter-oas3-parser) parser will do dereferencing. JSON Schema generation is similiar, in most cases generated JSON Schemas are "self-contained" and themselves contain all their $ref which causes duplicate information across different self-contained JSON Schemas.
Long term, I don't think this work nessecerily should be done directly in the parser but its ended up that way for performance reasons in API Blueprint and the OAS 2/3 parsers follow the same design.
🥇 This feature of generating example message bodies and schemas is now optional (as of today) in https://github.com/apiaryio/api-elements.js/pull/281 and available in subsequent releases of Drafter and the Fury adapters. Next step is to provide some kind of fury serialisers for these message body formats which I've outlined at https://github.com/apiaryio/api-elements.js/issues/372.
The plan is that we can push some of this expansion and generation in this case down to the API Elements consumer and do it "on the fly" when they want JSON example bodies or JSON Schemas. This particular aspect counts for most of API Blueprint parsing time (https://github.com/apiaryio/api-elements.js/pull/281#issuecomment-533047083) and larger API Elements trees. It will remaing enabled by default to maintain current behaviour as to not break any tooling Apiary, and others have.
⚠ Under some cases this approach will cause loss of information in particular for JSON Schema generation, that's because API Element's is not fully feature complete for Swagger Schema/OpenAPI Schema. Thus schemas generated directly from the Swager Schema directly to JSON Schema in fury-adapter-swagger contain more information that generating the JSON Schema from API Elements (which does not contain some schema constraints that cannot be expressed in API Elements). We need to support a constraint based system in API Elements to allow that (tracked in https://github.com/apiaryio/api-elements/issues/63).
Thus this is something we're actively working towards changing but there's work to do:

Provide adapters for consumers to generate (serialise) message bodies into other formats (JSON, multipart form, etc): https://github.com/apiaryio/api-elements.js/issues/372.
Provide adapters to serialise a data structure into JSON Schema. This is part of the above, but to do right we need to bring JSON Schema <> API Element feature parity https://github.com/apiaryio/api-elements/issues/63. https://github.com/apiaryio/api-elements.js/issues/96 is very related.

API Elements and/or tooling doesn't support referencing a particular component
While API elements has a generic referencing system, most tooling and Apiary products does not have generic support for referencing. For example adding referenced hrefVariables is theoretically possible for some aspects of the data, for example the following would be valid in API Elements:
{
  "element": "hrefVariables",
  "content": [
    {
      "element": "member",
      "content": {
        "key": { "element": "string", "content": "username" },
        "value": { "element": "username" }
      }
    }
  ]
}

Perhaps placing inside a data structure category:
{
  "element": "string",
  "meta": {
    "id": { "element": "string", "element": "username" }
  }
  "content": "doe"
}

Most tooling I am aware of (Dredd, ApiaryUI etc) don't allow for this and thus need adapting to move towards this direction. We should introduce further categories to be able to store particular elemenents which do not fit into the existing structure (such as reusable header structures -- possibly they can be put in data structures but they cannot contain header or parameter specific information). A problem here is that our referencing system does not have any concept of name spacing and is done via id's and thus translating OAS names into API Element's tree can have either collisions (if theres a Schema Object named "user" and a header object named "user"). The route that the OAS 2 parser went down to solve this is to namespace the reusable element id's such as definitions/user which has downsides because some documentation products show that as-is.
I don't think there are any GitHub issues tracking any of this. Although it will need to be solved to implement https://github.com/apiaryio/api-blueprint-rfcs/pull/3 and full OpenAPI 3.0 compatibility in API Elements.
OpenAPI 2 Parser
❗ Our OpenAPI 2 parser (fury-adapter-swagger) is the exception to all of this, the way that parser was architected is that the parser takes the approach of dereferencing the entire tree upfront (because that's how swagger-parser, it's dependency does it). I think this is a poor approach which I've slowly been trying to solve to improve the performance of that particular adapter but it is something that has not been fully resolved (and I'm not sure it makes sense for us to invest effort in doing so).

Thank you for this analysis. I will have a lot of followup questions to this ;]

I think the best approach for the parser is that it shouldn't blanket handle $refs but instead translate them to API Element references to push that down to API Element consumers to keep the parse result small, and to prevent duplication.

The parser(s) do need to ensure that the $ref makes sense within the context of where it is used. I think this is key to providing decent warning/error handling too so the parser is not duplicating work, and in turn validations. Generally we can parse each component (in OAS 3 terms) individually (a single time) and then validate it makes sense in the given context.

So if I understand what you said correctly, what you're saying is: Parser do need to understand the JSON-References and should encode them to RefElements. And then every found reference ($ref) inside the tree should be decorated (for example in meta) by actual RefElement that have been created e.g. by calling toRef() on referenced Element. Would that be correct assumption ?


When will Firebase v3.1.0 be supported?

Documentation is still referring to firebase/lib/, which I believe it's v2.x.x  When will Firebase v3.x be supported?

Its already using firebase^3.0.3
You can check in the package.json file to be sure
https://github.com/angular/angularfire2/blob/master/package.json

That's right.  So I guess the doc needs to be updated.


dlt init chess duckdb does not work with first attempt

Steps to reproduce:

Installation
DuckDB destination

Error:
Traceback (most recent call last):
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 260, in extract
    self._extract_source(storage, source, max_parallel_items, workers)
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 755, in _extract_source
    extract_id = self._iterate_source(storage, source, pipeline_schema, max_parallel_items, workers)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 771, in _iterate_source
    extractor = extract(extract_id, source, storage, max_parallel_items=max_parallel_items, workers=workers)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/extract/extract.py", line 82, in extract
    for pipe_item in pipes:
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/extract/pipe.py", line 422, in __next__
    pipe_item = self._get_source_item()
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/extract/pipe.py", line 580, in _get_source_item
    item = next(gen)
           ^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/chess.py", line 80, in players_games
    r.raise_for_status()
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/requests/models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 502 Server Error: Bad Gateway for url: https://api.chess.com/pub/player/vincentkeymer/games/2022/12

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/ty/Documents/dlthub/getting-started/chess.py", line 111, in <module>
    info = p.run(
           ^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 101, in _wrap
    step_info = f(self, *args, **kwargs)
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 132, in _wrap
    return f(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 435, in run
    self.extract(data, table_name=table_name, write_disposition=write_disposition, columns=columns, schema=schema)
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 101, in _wrap
    step_info = f(self, *args, **kwargs)
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 75, in _wrap
    rv = f(self, *args, **kwargs)
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 61, in _wrap
    return f(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 132, in _wrap
    return f(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 269, in extract
    raise PipelineStepFailed(self, "extract", exc, runner.LAST_RUN_METRICS, ExtractInfo()) from exc
dlt.pipeline.exceptions.PipelineStepFailed: Pipeline execution failed at stage extract with exception:

<class 'requests.exceptions.HTTPError'>
502 Server Error: Bad Gateway for url: https://api.chess.com/pub/player/vincentkeymer/games/2022/12

It also takes a long time for the pipeline to run. There is no output to terminal, so it's not clear that anything is happening for a long time...

The second time I ran it, I got the same error for a different endpoint:
Traceback (most recent call last):
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 260, in extract
    self._extract_source(storage, source, max_parallel_items, workers)
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 755, in _extract_source
    extract_id = self._iterate_source(storage, source, pipeline_schema, max_parallel_items, workers)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 771, in _iterate_source
    extractor = extract(extract_id, source, storage, max_parallel_items=max_parallel_items, workers=workers)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/extract/extract.py", line 82, in extract
    for pipe_item in pipes:
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/extract/pipe.py", line 422, in __next__
    pipe_item = self._get_source_item()
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/extract/pipe.py", line 580, in _get_source_item
    item = next(gen)
           ^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/chess.py", line 65, in players_games
    for url in archives:
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/common/utils.py", line 129, in flatten_list_or_items
    for items in _iter:
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/extract/pipe.py", line 627, in __next__
    return super().__next__()
           ^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/extract/pipe.py", line 422, in __next__
    pipe_item = self._get_source_item()
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/extract/pipe.py", line 580, in _get_source_item
    item = next(gen)
           ^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/chess.py", line 46, in players_archives
    r.raise_for_status()
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/requests/models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 502 Server Error: Bad Gateway for url: https://api.chess.com/pub/player/rpragchess/games/archives

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/ty/Documents/dlthub/getting-started/chess.py", line 111, in <module>
    info = p.run(
           ^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 101, in _wrap
    step_info = f(self, *args, **kwargs)
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 132, in _wrap
    return f(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 435, in run
    self.extract(data, table_name=table_name, write_disposition=write_disposition, columns=columns, schema=schema)
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 101, in _wrap
    step_info = f(self, *args, **kwargs)
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 75, in _wrap
    rv = f(self, *args, **kwargs)
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 61, in _wrap
    return f(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 132, in _wrap
    return f(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ty/Documents/dlthub/getting-started/env/lib/python3.11/site-packages/dlt/pipeline/pipeline.py", line 269, in extract
    raise PipelineStepFailed(self, "extract", exc, runner.LAST_RUN_METRICS, ExtractInfo()) from exc
dlt.pipeline.exceptions.PipelineStepFailed: Pipeline execution failed at stage extract with exception:

<class 'requests.exceptions.HTTPError'>
502 Server Error: Bad Gateway for url: https://api.chess.com/pub/player/rpragchess/games/archives

Same thing happened the third time with yet another endpoint. @rudolfix what can I do to avoid this problem? what might we do so that this experience is not what it's like for someone getting started with dlt?


Add ability to create,delete and list topics

Right now the python client doesn't support creating or deleting topics. Let's fix that!

Closed in favor of #257 (which includes this functionality)


Multipart POST support

Hello,
do you have any timeframe for Multipart POST?
I would love to use Alamofire, but it's a show stopper for me.

+1 woo and thanks to @db0company - that patch is dope. nyan.

+1

@mattt looking to implement this using AFNetworking, any estimate on when it will be implemented in Alamofire?

I've created a class function to upload single file as multipart/form-data based on this SO answers.
Class
class Photo {
    class func upload(image: UIImage, filename: String) {
        let route = Router.CreatePhoto()
        var request = route.URLRequest.mutableCopy() as NSMutableURLRequest
        let boundary = "NET-POST-boundary-\(arc4random())-\(arc4random())"
        request.setValue("multipart/form-data;boundary="+boundary,
                         forHTTPHeaderField: "Content-Type")

        let parameters = NSMutableData()
        for s in ["\r\n--\(boundary)\r\n",
                  "Content-Disposition: form-data; name=\"photos[photo]\";" +
                    " filename=\"\(filename)\"\r\n",
                  "Content-Type: image/png\r\n\r\n"] {
            parameters.appendData(s.dataUsingEncoding(NSUTF8StringEncoding)!)
        }
        parameters.appendData(UIImageJPEGRepresentation(image, 1))
        parameters.appendData("\r\n--\(boundary)--\r\n"
                               .dataUsingEncoding(NSUTF8StringEncoding)!)
        Alamofire.upload(request, parameters)
            .progress { (bytesWritten, totalBytesWritten, totalBytesExpectedToWrite) in
                println(totalBytesWritten)
            }
            .responseJSON { (request, response, JSON, error) in
                println(JSON)
        }
    }
}

Usage
let rep = (asset as ALAsset).defaultRepresentation()
let ref = rep.fullResolutionImage().takeUnretainedValue()
Photo.upload(UIImage(CGImage: ref)!, filename: rep.filename())

@tomoyuki28jp I don't have my head around Alamofire routes yet, can you provide the rest of the code for the Photo example?

@captainchung Take a look at those SO answers.
http://stackoverflow.com/a/26747857/3958295
http://stackoverflow.com/a/27014372/3958295

+1

+1

+1

@mattt

Until this is implemented, AFNetworking's multipart form request functionality can be used in conjunction with Alamofire itself.

Shortly after you responded (8807fb86bf2e6f8ba979c3ab23bc3903eeab3c15), you added this to the README:

Use AFNetworking for any of the following:
[...]
Multipart HTTP request construction

Sorry to bother you, but could you possibly clarify as to whether you still intend to implement this?

+1

@tomoyuki28jp
how can i set the params with this input.
PATCH
"/api/accounts/1"
Parameters: {"user"=>
{"first_name"=>"Gretchen",
"last_name"=>"Gapol",
"profile_photo"=>#<ActionDispatch::Http::UploadedFile:0x007fab541ee658 @tempfile=#Tempfile:/var/folders/qn/xhlfpmvd4gq15ycgj2gxqwxh0000gn/T/RackMultipart20150406-372-o4wrif, @original_filename="mocking_jay.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name="user[profile_photo]"; filename="mocking_jay.jpg"\r\nContent-Type: image/jpeg\r\n">}
}
i want to put the image param in "profile_photo"

@mileswd we are going to implement this. We haven't finalized the 1.3.0 roadmap yet, but most likely this feature will make it onto that list. Stay tuned...

@cnoon Glad to hear this! Thanks for the update :+1:

Any update ?

In the meanwhile I have created a very general solution, based on previous comments and stackoverflow questions.
It does not require Routes just a NSURLRequest.
It allows to add multiple files to the multipart request, as well as other parameters or HTTP headers.
No hardcoded options, no assumptions: you can upload any kind of file, not just photos.
https://gist.github.com/ncerezo/b1991f8dfac01cb162c0

http://stackoverflow.com/a/26747857/3958295
It's useful!!!
Thk God. I fixed problem.

Hey everyone, I just put up PR #539 which adds support for MultipartFormData uploads. I would love your feedback before merging it in. Cheers.

You can try this, it is working
Alamofire.upload(
.POST,
        URLString: "http://blankapp.io/api/v1/update",
        multipartFormData: {
            multipartFormData in
            multipartFormData.appendBodyPart(fileURL: NSURL(fileURLWithPath: imagePath)!, name: "cover")
            multipartFormData.appendBodyPart(data: "Alamofire test title".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!, name: "title")
            multipartFormData.appendBodyPart(data: "test content".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!, name: "content")
            multipartFormData.appendBodyPart(data: "1".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!, name: "type")
        },
        encodingCompletion: {
            encodingResult in
            switch encodingResult {
            case .Success(let upload, _, _ ):
                upload.responseJSON {
                    request, response, JSON, error in
                    println(JSON)
                }
            case .Failure(let encodingError):
                println("Failure")
                println(encodingError)
            }
        }
)

Can you tell how much time (roughly) takes to implement it?

@cnoon:  Do you have any tricks up your sleeve for diagnosing stalled uploads?  I am logging in progress, the backend in this case is Django Rest Framework on Heroku.  What I am seeing is that the upload pauses - my logs stop, and network activity goes to zero.  I am running on Wifi and otherwise have good bandwidth.
(Thanks)

Hi @chrisco314, I've seen some weird throttling on uploads on some ISPs before, but generally, it should just upload consistently. Alamofire doesn't do anything to trigger that behavior in any way.

@cnoon :
How can I use public fund upload(     URLRequest: URLRequestConvertible,     multipartFormData: MultipartFormData -> Void,     encodingMemoryThreshold: UInt64 = Manager.MultipartFormDataEncodingMemoryThreshold,     encodingCompletion: (Manager.MultipartFormDataEncodingResult -> Void)?) method to upload a file with some parameters?
I tried by setting parameters as data for the URLRequest  and adding file to multipartFormData , but the server is not getting the parameters and throwing some error.
Is this correct or should I add parameters as data to  multipartFormData ?
I am using Alamofire.ParameterEncoding.URL for parameter encoding, should I change this to custom and append data with that?

You need to add the parameters to the multipart form data @Johnykutty. 👍🏼


[WIP] chore(all): upgrade dependencies

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.

Summarize your changes:

express-ws (mostly upgrading ws)
fs-extra
inquirer
ora
pify (Node >= 6)
username (Node >= 6)
@types/electron-packager (in sync with the major Packager version)
A bunch more type definitions
nyc
sinon (5.x, 6.x)
ts-node
Typescript 3

@MarshallOfSound my Typescript skills are not strong enough to figure out how to deal with this tsc change: https://travis-ci.org/electron-userland/electron-forge/jobs/422827163#L893-L896

I'm trying again, sans the Typescript changes.

This should be good to go. The only failure is the snap maker, and that seems to be because of a failure in snapcraft.

I've verified that it's a bug in snapcraft that's since been fixed, and I'm just waiting on the package to be backported to Ubuntu 16.04.

:tada: all tests are green


fix broken link to style.css

Style sheet link on gh-pages is missing css directory

I'm referring to the link in the content Check this page’s stylesheet ;-)
On the actual page, http://leaverou.github.com/prefixfree/,
clicking on this link leads to "Page does not exist!"
It is the same on the master.

Ohhh right, thanks! Merged.


Is there a way to use a date input?

Hi, I allready looked in your documentation and saw that the supported current formats for inputs are: password, email, text, tel, url, checkbox, select, radio, hidden, I just wanted to know if there was a way to add a date input as I need to ask my users for their birthday. Thanks in advance!

You actually can do it even if there is no type date currently supported.
First add a custom field to the signIn template (the trick is in the template property):
AccountsTemplates.addField({
    _id: "dateOfBirth",
    type: "text",
    template: "dateTemplate",
    required: true,
    negativeValidation: false,
    negativeFeedback: true
});

Then just define your template and use whatever input field you wish:
<template name="dateTemplate">

      <input type="date" id="at-field-{{_id}}" name="at-field-{{_id}}" {{disabled}}>

        Date of birth

</template>

You might still need to have some styling to do, but this works fine for me for now ;)

Thanks, this helped me a lot!

not a perfect solution.
please, help me solve this,  if u can. -->  https://github.com/meteor-useraccounts/core/issues/613


snowflake_table resource applying a data type different from the specified data type

The following Terraform apply:
resource "snowflake_table" "my_tbl" {
  name     = "MYTBL"
  database = "MYDB"
  schema   = "MYSCHEMA"
  column   {
            name = "COLUMN1"
            type = "SMALLINT"
  }
  comment  = "test table"

  depends_on = [snowflake_schema.schema]
}

produces a table with a NUMBER instead of a INT data type.
While synonymous with NUMBER, for consuming applications, there is a difference between an INT and NUMBER.

Can you find the the query that this code generates? Running with TF_LOG=TRACE should print it out. Be sure to redact anything sensitive.

Can you find the the query that this code generates? Running with TF_LOG=TRACE should print it out. Be sure to redact anything sensitive.

Hi @ryanking - attached is log, cleansed version of main.tf, and here is the generated DDL that ran in Snowflake.  Looking more closely, generated DDL is as expected, and what I am seeing reflects the documented data type behavior.
Generated create table DDL:
CREATE TABLE "MYDB"."MYSCHEMA"."MYTBL" ("COLUMN1" SMALLINT, "COLUMN2" VARCHAR(100), "COLUMN3" NUMBER(10,2), "COLUMN4" FLOAT, "COLUMN5" DOUBLE) COMMENT = 'test table'
Sorry for the false alarm, thanks for the quick response.  Closing on my end
main.tf.txt
terraform.log

Hi @ryanking - attached is log, cleansed version of main.tf, and here is the generated DDL that ran in Snowflake.  Looking more closely, generated DDL is as expected, and what I am seeing reflects the documented data type behavior.
Generated create table DDL:
CREATE TABLE "MYDB"."MYSCHEMA"."MYTBL" ("COLUMN1" SMALLINT, "COLUMN2" VARCHAR(100), "COLUMN3" NUMBER(10,2), "COLUMN4" FLOAT, "COLUMN5" DOUBLE) COMMENT = 'test table'
Sorry for the false alarm, thanks for the quick response.  Closing on my end
main.tf.txt
terraform.log

Thanks @sfc-gh-dsandler

Thanks @sfc-gh-dsandler


Components should be removed by DSPO when they are removed from the CR?

When a component is removed from a DSPA (e.g. mlpipeline-ui) do we want DSPO to remove these, or leave them around for the user to remove? Currently the DSPO will not reconcile them if they are removed AFAIK.

As there's no specific ask for this at the moment. Closing. We can re visit at a later time.


fix: Fixes #251. Show validation error when value to send decimal places exceeds max decimal places of token

If the user enters 0.9 Wei (i.e. 0.0000000000000000009) on the "Send Ether" page, then we show the following validation error (since we know the name of its smallest unit):

Whereas if they are trying to send any other token, for example on the "Send THIBCoin" page, we check the token's decimal places (which corresponds to the minimum token value) and show the validation error if the user enters a value that has more decimal places than the token's (max) decimal places  as shown below:

Tested, works well! Thanks


Fix: Layout update of Asset Page

Proposed Changes

Fixes #9349
Change 1
Change 2
More?

@ohcnetwork/care-fe-code-reviewers
Screenshots

Merge Checklist

[x] Prep screenshot or demo video for changelog entry, and attach it to issue.
[x] Request for Peer Reviews

Summary by CodeRabbit
Summary by CodeRabbit

New Features

Introduced a new search interface allowing users to search by multiple criteria.
Added a button for scanning asset QR codes and creating new assets.
Introduced an advanced filter button for enhanced filtering options.
Enhanced dropdown functionality with new components for export options.
Added a new type for dropdown item properties to allow for flexible usage.

Improvements

Enhanced layout and responsiveness of buttons and filters.
Updated button styles for better visual representation in export functionality.
Improved user experience with a more organized interface for asset management.

Bug Fixes

Maintained error handling for invalid asset IDs during QR scanning.

I don’t think the Cypress tests failed due to the changes in this PR. Could someone confirm?

[ ] keep the spacing between the button consistent
[ ] change the remaining advance filter and export button to use shadcn as well
[ ] rename advanced filter to filters

[x] keep the spacing between the button consistent
[x]  change the remaining advance filter and export button to use shadcn as well
[x]  rename advanced filter to filters

@nihal467

Hey Team, the linting test is the only one failing due to this PR, and I need some help with it. 😅

Hey team, all test cases passed after the commit removed ButtonV2 fully. Following that, only the develop branch was merged, with empty commits added solely to trigger test re-runs.

Hey team, all test cases passed after the commit removed ButtonV2 fully. Following that, only the develop branch was merged, with empty commits added solely to trigger test re-runs.

Just ping on Slack to rerun the tests next time 😅

Hey team, all test cases passed after the commit removed ButtonV2 fully. Following that, only the develop branch was merged, with empty commits added solely to trigger test re-runs.

Just ping the team on slack to rerun the tests next time 😅
Actually, Javid once asked the same thing in the Slack channel, and Rithvik mentioned pushing empty commits to re-run test cases. That’s why I have a couple of empty commits, just for triggering the tests again.  😊

  <Button
+              variant="destructive"
+              className="flex items-center gap-2"

Hey Team! I’ll be addressing this topic in the end-of-day meeting. 😊

LGTM

no longer relevant in new architecture


resolved git conflict

Pull Request Template

Please provide all of the details below. Pull requests missing any of the information below will be closed!

Sumarise what this PR fixes: < enter details >
Fixes #: < Enter Issue ID/URL >
Checklist:
(Add an x between the brackets to check the items)

[ ] I have sumarised what this PR fixes above
[ ] I have provided the issue ID/URL above
[ ] This PR fixes only the issue mentioned above (create seperate PRs for seperate issues)
[ ] I was the first one to claim the issue or I created the issue

@JoshuaCode1 There is still a conflict. You can set the origin to the original repo and use git pull upstream master to get the newest version. Please try to resolve the conflicts.

Closing this PR due to the age and conflicts. Feel free to resolve and reopen 🙂


1.20.6 Paper Crash

If I try to type DVC in game the server instantly crashes
1.20.6 paper I can't figure out why it is doing this

Do you run the command? Also, 1.20.5+ is probably not going to be supported

I was experiencing a similar issue to the above, however my server recently migrated to fabric (due to the other supported plugins for SVC available), so Ill provide you with as much information as I can on both.
Paper (1.20.6)
Typing "/dvc ", and upon typing the space, the server very quickly and without much grace encounters a stack overflow and fills the console with the same error ad infinitum until the server closes itself. Ive attached the crash report here: crash-2024-06-15_16.17.19-server.txt. Its clear enough that its a problem with how commands are registered and served to the player.
Fabric (1.20.6 and 1.21)
Now upon running /dvc start, I get "An unexpected error occurred trying to execute that command" in the chat, and the console reads as follows:
[16:00:25 INFO]: [STDERR]: java.lang.IllegalArgumentException: wrong number of arguments: 1 expected: 2 [16:00:25 INFO]: [STDERR]: 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.checkArgumentCount(DirectMethodHandleAccessor.java:329) [16:00:25 INFO]: [STDERR]: 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:101) [16:00:25 INFO]: [STDERR]: 	at java.base/java.lang.reflect.Method.invoke(Method.java:580) [16:00:25 INFO]: [STDERR]: 	at dev.naturecodevoid.voicechatdiscord.FabricPlatform.toNative(FabricPlatform.java:124) [16:00:25 INFO]: [STDERR]: 	at dev.naturecodevoid.voicechatdiscord.FabricPlatform.sendMessage(FabricPlatform.java:80) [16:00:25 INFO]: [STDERR]: 	at dev.naturecodevoid.voicechatdiscord.SubCommands.start(SubCommands.java:110) [16:00:25 INFO]: [STDERR]: 	at dev.naturecodevoid.voicechatdiscord.SubCommands.lambda$wrapInTry$0(SubCommands.java:76) [16:00:25 INFO]: [STDERR]: 	at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_8865.method_54416(class_8865.java:29) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_8865.execute(class_8865.java:13) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_8856.method_54405(class_8856.java:8) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_8847.method_54388(class_8847.java:8) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_8854.method_54390(class_8854.java:107) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_2170.method_54313(class_2170.java:381) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_2170.method_9249(class_2170.java:311) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_3244.method_58590(class_3244.java:1295) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_3244.method_44356(class_3244.java:1283) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_3738.run(class_3738.java:18) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_1255.method_18859(class_1255.java:162) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_4093.method_18859(class_4093.java:23) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:841) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:168) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_1255.method_16075(class_1255.java:136) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:823) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:817) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.class_1255.method_18857(class_1255.java:145) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:792) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:696) [16:00:25 INFO]: [STDERR]: 	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:275) [16:00:25 INFO]: [STDERR]: 	at java.base/java.lang.Thread.run(Thread.java:1583)
I also tested this in 1.21 with the latest fabric builds of API and SVC and received the same output.
That combined with the other issue makes me think it has something to do with how commands are dealt with in 1.20.6 (presuming that changed from 1.20.4), I know youre not intending on providing support to any newer versions but I am a little hopeful because you responded to OP fairly quickly.
Many thanks for any help you can provide, it really is a fantastic resource and it was really useful to me and my friends.

Yes, the reflection we were using broke. I do not plan on making a fix but may end up doing so due to the amount of people reporting incompatibility with 1.20.5+

I am experiencing the same issue unfortunately. Would be amazing if you could get this plugin to support 1.20.5+, it's very useful for getting Bedrock players through Geyser hooked into Simple Voice Chat. Personally I find this plugin a lot simpler to use than using voice chat plugins that rely on a web interface like openaudiomc.

I plan to make fixes for 1.20+ this week.
Issues I plan to fix: #39, #27, #48, #44, #45
I will also look into #37 and #11. #11 is least likely to be fixed

Update: I have been working on fixes for #11 for a while and hope to have a beta test ready sometime this weekend (the beta test would also include quick fixes to the other issues that prevent usage of the plugin, but those should all be pretty simple). The fix for #11 involves quite substantial changes to the core of the plugin and is likely to have some rough edges, so I'd really appreciate anyone who can help beta test. Please reply or react to this message if you are willing to help.

Another update: Due to the design of a certain rust library I'm using for the fix for #11, I will have to make some pretty large modifications to said library, which will delay things by at least a few days.

@naturecodevoid Is this beta for Minecraft version 1.21 or older?

It supports 1.19.4+, so yes.

3.0.0 is now out, which fixes this issue.
Paper/Purpur: https://modrinth.com/plugin/simple-voice-chat-discord-bridge/version/3.0.0
Fabric: https://modrinth.com/plugin/simple-voice-chat-discord-bridge/version/zQYUpUdg


⚠ ClamAV has degraded performance

In 91a3d16, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 79 ms

Resolved: ClamAV performance has improved in 97cbc02.


adding layer conversion for tiledwms

allows to use old layer wms with isTiled option

Looks good.  Just a request for future PRs.  can you do the formatting in a seperate commit?  It makes it easier to review

Yes, sure. thanks


Feature request - button/option to skip torrent2box

Maybe ctrl+shift+click or caps lock on / scoll lock on to skip sending torrent file to box.
Right now right link and save link as works.  Hopefully, there was an option to do it without two clicks.

Many thanks for your feedback. I have fixed this for the next release (v0.0.10) which has just been submitted to the Chrome Store.
In v0.0.10 you can press CTRL or SHIFT or ALT and this will skip torrent2box.
Thanks!