Cannot connect to the Docker daemon at unix:///var/run/docker.sock

Hi @wangmaolin , I ran into a docker error while running your codes:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
docker: invalid reference format: repository name must be lowercase.

Is it possible I build the code solely with pytorch?
Thank you very much.

I think this error is related to the docker installation as it reported about the docker daemon is not running. Please try a hello world example to verify the required NVIDIA docker is properly installed.


TiCDC exec DDL too slow

the upstream tidb cluster has 220k regions and 10 tables,  start a changefeed,  ticdc sync 10 tables to the downstream tidb after about 22 minutes.
upstream: 3 tikv, 3tidb 2pd,  5.2.3 , 16c 32G
upstream 3 tikv, 3tidb 2pd,  5.2.3, 16c 32G
5 ticdc  16c 32G
version：v5.2.2-29-g0c853a68

Could u add more information about your case? like grafana monitor, DDL sql, etc

Could u add more information about your case? like grafana monitor, DDL sql, etc
10 tables are the same
``sql
CREATE TABLE if not exists sbtest%d (
id bigint NOT NULL,
k bigint NOT NULL DEFAULT '0',
c char(30) NOT NULL DEFAULT '',
pad char(20) NOT NULL DEFAULT '',
PRIMARY KEY (id),
KEY k_1 (k)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin

@sdojjy Can we close this issue? It needs more infomation to define DDL slow. Now, we can expect a DDL need about 1s~3s to exec.


satisfies changes typechecking behavior

🔎 Search Terms
satisfies upcast, satisfies changes typechecking behavior
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about satisfies

⏯ Playground Link
Playground link
💻 Code
type Table = "block" | "collection" | "space"

type RecordPointer<T extends Table> = {
	[T_ in T]: {
		id: string,
		table: T_
	}
}[T]

function g<T extends Table>(t: T): RecordPointer
 {
	// Uncommenting `satisfies RecordPointer<Table>` affects whether this program typechecks.
	const x = { table: t, id: "foo" } as const // satisfies RecordPointer

	return x
}

🙁 Actual behavior
This program fails to typecheck as written:
Type '{ readonly table: T; readonly id: "foo"; }' is not assignable to type 'RecordPointer
'.
  Type '{ readonly table: T; readonly id: "foo"; }' is not assignable to type '{ id: string; table: "space"; }'.
    Types of property 'table' are incompatible.
      Type 'T' is not assignable to type '"space"'.
        Type 'Table' is not assignable to type '"space"'.
          Type '"block"' is not assignable to type '"space"'.(2322)

However, if we uncomment the satisfies expression on the second-to-last line, the type error goes away:
  function g<T extends Table>(t: T): RecordPointer
 {
- 	const x = { table: t, id: "foo" } as const
+ 	const x = { table: t, id: "foo" } as const satisfies RecordPointer

  	return x
  }

🙂 Expected behavior
My understanding from reading #47920 is that:

satisfies does not perform safe upcast
e satisfies T should have the inferred type typeof e, rather than T or T & typeof e

Assuming both of these are correct, I would not expect satisfies to affect whether this function typechecks.
Additional information about the issue
No response

This sounds like a duplicate of #52394.

You're totally right, I missed that. Thanks!


dataset: Add link to relevant UserVoice idea

https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/15885483-support-dataset-and-data-attributes-on-svg-element

Thanks!


Fixed #31426 -- Added proper field validation to QuerySet.order_by.

buildbot, test on oracle.

@charettes Thanks :+1: I pushed minor edits.

Docs failure is not related, see #12670.

Ahh was wondering what was wrong wrt docs!


Support for asp.net core projects targeting full .net framework

We could not get this working, probably because our project targets the net46 framework.
Would you consider adding support for this use case, or suggest a work-around?
Thanks.

Could you share a bit more detail on what you tried, and particularly what did not work? In order for me to understand what the issue is, it would be helpful if you could share a sample project and the steps you tried.
Just to note, I am using this tool myself in an ASP.NET Core project that targets both netcoreapp1.0 and net461 and it's working well.

Since I have not heard back from @DanielLaberge on the exact scenario, I am closing this issue. Please reopen if you have additional information.

Just a note on something I found. When targeting the .net framework in asp.net core, assembly binding information is added to the [app name].config file in the publish \out directory. If you want to transform your App.config file, you need to use the modified file in the publish directory as the source or else you may get binding errors when running your application.
<Target Name="ApplyXdtConfigTransform" BeforeTargets="_TransformWebConfig">
    <PropertyGroup>
      <_SourceWebConfig>$(PublishDir)$(TargetFileName).config</_SourceWebConfig>
      <_XdtTransform>$(MSBuildThisFileDirectory)App.$(Configuration).config</_XdtTransform>
      <_TargetWebConfig>$(PublishDir)$(TargetFileName).config</_TargetWebConfig>
    </PropertyGroup>
    <Exec Command="dotnet transform-xdt --xml "$(_SourceWebConfig)" --transform "$(_XdtTransform)" --output "$(_TargetWebConfig)"" Condition="Exists('$(_XdtTransform)')" />
</Target>

@LucidObscurity Have you tried this on exe projects? This doesn't seem to work for exe projects?

I managed to get it working by doing the following:
<Target Name="ApplyXdtConfigTransform" AfterTargets="Build">     <PropertyGroup>       <_SourceWebConfig>$(OutputPath)$(TargetFileName).config</_SourceWebConfig>       <_XdtTransform>$(MSBuildThisFileDirectory)App.$(Configuration).config</_XdtTransform>       <_TargetWebConfig>$(OutputPath)$(TargetFileName).config</_TargetWebConfig>     </PropertyGroup>     <Exec Command="dotnet transform-xdt --xml "$(_SourceWebConfig)" --transform "$(_XdtTransform)" --output "$(_TargetWebConfig)" --verbose" Condition="Exists('$(_XdtTransform)')" />   </Target>
So I changed the BeforeTargets to AfterTargets="Build". Not the most elegant, but it works for the purpose I need it to.

We ended up moving away from Xdt transforming in favor of .net core's new Configuration facilities. Thanks for the workaround, it might yet be useful to others.


include stack trace with exceptions where possible

I'm not really familiar with V8, but this worked for me and provided stack traces in the exception messages when the stack trace was included with the exception - throw Error("message") will include an exception, throw "string error" will not.
I tried doing the same thing with the call to Compile(), but that never seemed to include a stack trace (or wasn't accessible via this method).

LGTM. Thank you.


[Codabox Connect] Relationship for documents when searching for multiple clients

When searching documents for multiple clients in one call, it seems that the DocumentSearchResponse class doesn't indicate the relationship with the requested clients.
In the REST API, however, the relationship is available in the response via the included.documents property.

Is this something that will be added in the near future?
Looping through the returned documents and fetching additional details is not possible at the moment because we don't know to which client the document belongs to (unless we only fetch for 1 client at the time).
var documentSearchRequest = new DocumentSearch
{
    DocumentType = "bankAccountStatement",
    From = new DateTimeOffset(2022, 1, 1, 0, 0, 0, TimeSpan.Zero),
    To = new DateTimeOffset(2023, 1, 1, 0, 0, 0, TimeSpan.Zero)
};

var documentSearchResponse = await ibanityService.CodaboxConnect.DocumentSearches.Create(
    token,
    consent.AccountingOfficeId,
    documentSearchRequest,
    new [] { "customerCompanyNumber1", "customerCompanyNumber2" },
    100
);

foreach (var document in documentSearchResponse.Documents)
{
        var statement = await ibanityService.CodaboxConnect.BankAccountStatements.Get(token, consent.AccountingOfficeId, "company number required here", Guid.Parse(document.Id));
}

Hello @thomasvdb
You are right, included documents are missing from the .NET library.
I'm going to add them and release a new version of the library during this month.
I'll let you know in this issue when it will be available.

Hello @thomasvdb
It took a little bit longer than expected, but starting with the current 0.5.16 release, each document now contains the reference of the client owning it.


Track subrequests with scopes

This should resolve #186. I preferred to approach this with a separate listener, which seems a much cleaner solution.

I would like a review from @ste93cry too.

If you remove the checks for master request in the main RequestListener, haven't you achieved the same thing? without adding another listener into the system that has to be called for every request.

If you remove the checks for master request in the main RequestListener, haven't you achieved the same thing? without adding another listener into the system that has to be called for every request.

The performance impact of a listener is negligible thanks to the compiled container, it's just a single method call.
Also, removing that check would just override the info, and not revert it back when the subrequest is complete, so the reported info would be wrong. Popping and pushing scopes is a lot more efficient and useful in this respect.

You make good points, I take back my comments :)


slack channel returning "no perms" on attempt to join

Tried to get an invite to the pachyderm slack channel.  Enter email, click the button, get "no perms" erros.  Screenshopattached.

Hey sorry you hit this, it looks like we might have hit our limit on Slack guests, or Slack might have pulled the credentials of the inviter bot. We should have this fixed by eod today.

@orangefuzzball Ok I think this is fixed. Slack changed some permissioning requirements in the last update I guess -- invite bots need to be admins, but it seems to be working now. If you have any problems joining, you can also email me directly at<EMAIL_ADDRESS>and I'll manually send you an invite.


[graphql] add epoch's timestamp fields

Description
Add epoch's timestamp fields.
Test Plan
Manually.

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] protocol change
[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

@amnn - would it be ok instead of returning an error to simply get a None for the timestamp?

It depends, if the error is that the timestamp doesn't exist (i.e. the epoch hasn't ended yet), then it's correct to return None.  If the error is that the timestamp does exist but couldn't be parsed that should be an internal server error because we want to know about it and fix it.

It depends, if the error is that the timestamp doesn't exist (i.e. the epoch hasn't ended yet), then it's correct to return None. If the error is that the timestamp does exist but couldn't be parsed that should be an internal server error because we want to know about it and fix it.

Alright, will return an error then -- it is the start timestamp, so we should always have this data.


Tab completion for directories, Ctrl-L to delete directory

Hey, I'm switching from Emacs to VS Code and this extension is amazing.

Is there any way to get "tab" to auto-complete directory? I'm using "Advanced Open File: from active directory" when hitting C-x C-f to emulate Emacs. I'm used to Emacs + Helm where I can type "do" and the directory navigation would autocomplete "documentation/" or if there are multiple matches, filter the list to things matching "do*".

In Emacs, hitting Ctrl-L "goes up" a directory, so if you currently had "src/models" and hit Ctrl-L, it would reduce to "src/" then you could start typing "vi" to get to "src/views/".

This is probably a feature request, just making sure there's not something I'm missing. I noticed that you grabbed the C-x C-f binding so was thinking you might have tried implementing these before.
Thanks for contributing this extension!

I was just about to open this exact issue. I’m switching from Atom, and I was using the extension this one is modelled after. The only thing I’m missing is using Tab to autocomplete.
Thanks for this extension! 🎉

I'll consider adding the feature! (But for a while I don't have the time to do it.)

:+1: - coming from Atom I miss the tabs. Perhaps if you have any initial thoughts on implementation hints, that could be useful to potential contributors here

Did anybody find a way to configure this? Or a better solution? I'm a Emacs daily users but every time I try VS Code again opening files without tab completion for paths is where I get hung up!


chore(ci): add kong 3.9

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 27.58%. Comparing base (983b82e) to head (0381ab5).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1477   +/-   ##
=======================================
  Coverage   27.58%   27.58%
=======================================
  Files          61       61
  Lines        6285     6285
=======================================
  Hits         1734     1734
  Misses       4423     4423
  Partials      128      128

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


MAIL_FROM config value not documented

The following settings worked for Flask-Mail:
MAIL_SERVER = 'smtp.mailtrap.io'
MAIL_PORT = 2525
MAIL_USE_SSL = False
MAIL_USE_TLS = True
MAIL_USERNAME = 'xxxxxxxx'
MAIL_PASSWORD = 'xxxxxxxx'
MAIL_DEFAULT_SENDER =<EMAIL_ADDRESS>
However in Flask-Mailing. the app has error:
Traceback (most recent call last):
  File "/usr/local/bin/flask", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 990, in main
    cli.main(args=sys.argv[1:])
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 596, in main
    return super().main(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1062, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 763, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/decorators.py", line 84, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 763, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 845, in run_command
    app = DispatchingApp(info.load_app, use_eager_loading=eager_loading)
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 321, in __init__
    self._load_unlocked()
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 346, in _load_unlocked
    self._app = rv = self.loader()
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 402, in load_app
    app = locate_app(self, import_name, name)
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 273, in locate_app
    return find_best_app(script_info, module)
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 68, in find_best_app
    app = call_factory(script_info, app_factory)
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 119, in call_factory
    return app_factory(*args, **kwargs)
  File "/usr/src/app/flask_skm/__init__.py", line 122, in create_app
    mail.init_app(app)
  File "/usr/local/lib/python3.8/site-packages/flask_mailing/mail.py", line 63, in init_app
    self.config = ConnectionConfig(
  File "pydantic/env_settings.py", line 36, in pydantic.env_settings.BaseSettings.__init__
  File "pydantic/main.py", line 406, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for ConnectionConfig
MAIL_FROM
  value is not a valid email address (type=value_error.email)

MAIL_FROM is set here:
https://github.com/marktennyson/flask-mailing/blob/4ae3d67bad2ad338c6b518ff5cbfea3a632a2400/flask_mailing/mail.py#L71
and perhaps would be better as
     MAIL_FROM = app.config.get("MAIL_FROM", app.config.get("MAIL_DEFAULT_SENDER")),

(or add MAIL_FROM in the "basic_demo"/documentation.

Thanks @carissableker to detect this errors. I will fix this and create a new release.

Other config values when porting from Flask-Mail,
MAIL_USE_SSL --> MAIL_SSL
MAIL_USE_TLS -->  MAIL_TLS
(perhaps just a note in docs as well, as I missed this)

Other config values when porting from Flask-Mail,
MAIL_USE_SSL --> MAIL_SSL
MAIL_USE_TLS --> MAIL_TLS
(perhaps just a note in docs as well, as I missed this)

Yeah, I will change this to => MAIL_USE_TLS and MAIL_USE_SSL respectively.
Anyway, thanks for letting me know about these changes.

fixed on the new 0.0.5 release.


PR: Find/replace - return match counts on unescaped characters

For issue #5680.

Hello @csabella! Thanks for submitting the PR.

In the file spyder/widgets/tests/test_mixins.py, following are the PEP8 issues :

Line 22:1: E302 expected 2 blank lines, found 1
Line 32:1: E302 expected 2 blank lines, found 1
Line 68:1: E302 expected 2 blank lines, found 1
Line 99:1: W391 blank line at end of file


Incorrect information

Issue in ./help/stores-purchase/order-archive.md
This section is not accurate and should be re-evaluated:
Adobe Commerce Support recommends enabling Order archiving to save MySQL disk space and improve checkout performance. See [Best practices for order placement performance ](https://support.magento.com/hc/en-us/articles/360048170772)in Adobe Commerce Support Knowledge Base.

There are no disk savings by implementing this. I'm also not sure how it would improve checkout performance - the linked article only suggests enabling asynchronous order processing: https://support.magento.com/hc/en-us/articles/360048170772
The archive orders functionality removes an order entry from the sales_order_grid table and move it to the magento_sales_order_grid_archive... all the other information will still be saved in the sales_order table.
The idea behind this functionality is that if you have fewer orders in the sales_order_grid table ( the table used by the grid in Sales > Operations > Orders), the load/search of that page will be quicker (the archived orders would be found in “Sales > Archive > Orders” instead)

@ak77-prime  Vicky B submitted this fix: https://github.com/AdobeDocs/commerce-admin.en/commit/f7cf114d81dd36d7a28d0ddd21d9bda453a72907


CrashReporter: unbreak build on FreeBSD

Regressed by #5771. POSIX.1-2017 and FreeBSD don't define sa_restorer while Linux discourages usage in applications. As Hyprland just want to zero-init check for a related macro in order to catch all platforms that may have the field.
writeCmdOutput appears broken:
--- /home/test/.cache/hyprland/hyprlandCrashReport1111.txt	before
+++ /home/test/.cache/hyprland/hyprlandCrashReport2222.txt	after
@@ -1,13 +1,12 @@ --------------------------------------------
 --------------------------------------------
    Hyprland Crash Report
 --------------------------------------------
-Calm down, it was a misinput! MISINPUT!
+Oops

-Hyprland received signal 11 (Segmentation fault)
+Hyprland received signal 11(SEGV)
+Version: 2e763764bfdaee2039961c6c220b5d6af31712d4
+Tag: v0.39.1-91-g2e763764

-Version: e400a288d0f8ef75672cb201203b857b65b782bb
-Tag: v0.39.1-88-ge400a288
-
 System info:
 	System name: FreeBSD
 	Node name: foo.bar
@@ -16,22 +15,7 @@

 GPU:
-	vgapci0@pci0:0:2:0:	class=0x030000 rev=0x06 hdr=0x00 vendor=0x8086 device=0x1912 subvendor=0x1462 subdevice=0x7968
-    vendor     = 'Intel Corporation'
-    device     = 'HD Graphics 530'
-    class      = display
-    subclass   = VGA
-
-os-release:
-	NAME=FreeBSD
-	VERSION="15.0-CURRENT"
-	VERSION_ID="15.0"
-	ID=freebsd
-	ANSI_COLOR="0;31"
-	PRETTY_NAME="FreeBSD 15.0-CURRENT"
-	CPE_NAME="cpe:/o:freebsd:freebsd:15.0"
-	HOME_URL="https://FreeBSD.org/"
-	BUG_REPORT_URL="https://bugs.FreeBSD.org/"

-
+os-release:
+<execv(cat /etc/os-release | sed 's/^/	/') resulted in errno >
 Backtrace:

Hmm, runtime is still partially broken:
--- /home/test/.cache/hyprland/hyprlandCrashReport1111.txt	before
+++ /home/test/.cache/hyprland/hyprlandCrashReport2222.txt	after
@@ -1,13 +1,12 @@ --------------------------------------------
 --------------------------------------------
    Hyprland Crash Report
 --------------------------------------------
-Calm down, it was a misinput! MISINPUT!
+Oops

-Hyprland received signal 11 (Segmentation fault)
+Hyprland received signal 11(SEGV)
+Version: 2e763764bfdaee2039961c6c220b5d6af31712d4
+Tag: v0.39.1-91-g2e763764

-Version: e400a288d0f8ef75672cb201203b857b65b782bb
-Tag: v0.39.1-88-ge400a288
-
 System info:
 	System name: FreeBSD
 	Node name: foo.bar
@@ -16,22 +15,7 @@

 GPU:
-	vgapci0@pci0:0:2:0:	class=0x030000 rev=0x06 hdr=0x00 vendor=0x8086 device=0x1912 subvendor=0x1462 subdevice=0x7968
-    vendor     = 'Intel Corporation'
-    device     = 'HD Graphics 530'
-    class      = display
-    subclass   = VGA
-
-os-release:
-	NAME=FreeBSD
-	VERSION="15.0-CURRENT"
-	VERSION_ID="15.0"
-	ID=freebsd
-	ANSI_COLOR="0;31"
-	PRETTY_NAME="FreeBSD 15.0-CURRENT"
-	CPE_NAME="cpe:/o:freebsd:freebsd:15.0"
-	HOME_URL="https://FreeBSD.org/"
-	BUG_REPORT_URL="https://bugs.FreeBSD.org/"

-
+os-release:
+<execv(cat /etc/os-release | sed 's/^/	/') resulted in errno >
 Backtrace:

Err, by runtime I mean writeCmdOutput output. The above crash was generated by pkill -SEGV Hyprland.

needs a clang-format.
Anyways, any chance of fixing writeCmdOutput for bsd?

Done: both GPU and os-release show up in the log again. I didn't investigate errno value printed as garbage (ASCII non-printable character).


Focus lost efter tabbing from FP on sheet

1: Tab to sheet and FP
2: Tab once more
Notice that focus is lost and you don't really know where you are. Tabbing forward doesn't help neither does shift+tab to go back
If I do the same with any other object I get focus on Chromes "Search tabs" - see image:

Still seen with client version 7.962

I tested https://hva.eu.hva.pte.qlikdev.com/ on my window machine and couldn't find the problem

I will close the issue for now


Add schema Entity type

This PR adds the schema entity type. This corresponds to the worker::entity::Entity struct in Rust.
This schema type is structured like:
entity field
	field id 54 --> SchemaObject (position_component)
	field id 100 -> SchemaObject (some_component)
	...

such that a component is de/serialized from/to the field ID that corresponds to that component ID. We expose two new methods in the VTable struct to accommodate this structure which allow us to (de)serialize directly to/from the SchemaObject.

This PR also has a assorted set of changes to support this schema type.

The Component trait requires Clone such that we can deep copy the Entity object. (The worker vtable "copy" is only a shallow copy).
Some convenience methods for mutating the Entity object.
Exposing unique_field_ids on the SchemaObject type

I'll re-do this PR on top of #146 soon ™


TypeError: Cannot read properties of undefined (reading 'ingredients')

Seeing this error which fails all the other scrapes:
satisfactory-0 savegame-prometheus-exporter TypeError: Cannot read properties of undefined (reading 'ingredients')
satisfactory-0 savegame-prometheus-exporter     at parser6 (/app/dist/express.js:51410:37)
satisfactory-0 savegame-prometheus-exporter     at extractMetrics (/app/dist/express.js:51491:7)

Will try to look into what object it is failing on but the stacktrace doesn't seem to be full.

If I remove the exception handling in the CLI I get a line number in the Javascript:
/app/dist # ./cli.js
/app/dist/cli.js:51355
    for (const ingredient of recipe.ingredients) {
                                    ^

I'm not sure what object is breaking the exporter but this will let it keep exporting: https://github.com/Sleavely/satisfactory-savegame-prometheus-exporter/pull/11

Nice detective work.
Aside from your supplied fix, my two takeaways are:

The image should include sourcemaps to make debugging a bit easier
The error handling overall could use an overhaul to be more graceful and log warnings rather than throwing fatal errors.

Closing as resolved since your fix was published in v2.2.3


Converting table to pdf contains English as well as arabic

Thank you for submitting an issue to jsPDF. Please read carefully.
Are you using the latest version of jsPDF?
Yes
Have you tried using jspdf.debug.js?
No
Steps to reproduce
Ideally a link too. Try this link - http://queensalons.com/QueenApp/admin/index.php#
Click on "Export" button to convert the shown table to pdf. The English letters are converted properly, but the arabic ones are not. This data is fetched dynamically from the db and so the content can be both arabic and English.
How to solve this?

In jsPDF 1.4.2 (will be released soon) there will be possible to use latin and arabic mixed text. And secondly you have to use a custom font for showing non-ANSI letters. Check examples/basic.html last tab.

Hello.
I added a custom arabic font to use, but still getting the same result.

We are closing this issue, because we will not support any longer fromHTML and addHTML.
Explaination:
We are working on a new html2pdf plugin, which will be based on html2canvas and our context2d plugin. This should lead to more reliable results for your projects. And it will give us the time to focus on the core functionality of pdf-generation because we will not use our energy for writing/supporting/extending 2 html plugins. If you still want to use addHTML or fromHTML you can still use jsPDF 1.4.1.
Best Regards


package the demo into the cli so you can run it with kardinal demo

right now i'm writing docs like
curl -O https://raw.githubusercontent.com/kurtosis-tech/kardinal-playground/main/obd-demo.yaml
kardinal deploy -k obd-demo.yaml

but we could package the demo right into the CLI at this point and use it as a nice onboarding/education tool, especially if the frontend (kardinal dashboard) has some special demo flow that walks folks through it

would also be nice to add obd-demo.yaml to .gitignore maybe since i constantly have that file as an unstaged change


If MSI Extension is Option and IMDS now provides access to token, why is MSI Extension still needed?

Is it possible to clarify in which cases MSI Extension is still needed if Instance Metadata Service now provides the OAuth token without the extension?

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

ID: 124a182c-d062-ae23-26c1-42acdbb05f81
Version Independent ID: ed24bfbc-d1df-fdac-4677-95755ed918dc
Content: How to configure MSI on an Azure VM by using a template
Content Source: articles/active-directory/managed-service-identity/qs-configure-template-windows-vm.md
Service: active-directory
GitHub Login: @daveba
Microsoft Alias: daveba

@arsenvlad The VM extension for Manages Service Identity will be deprecated soon and going forward the Azure Instance Metadata Service will be used instead and thus it is encouraged to users to use the IMDS endpoint.

@arsenvlad We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Incorrect elixir cost for Goblin Barrel (Should be 3 not 4)

Someone reported this at my website:

Fixed! Thanks you!

Nice screenshot lol


Fix StarFusion reference bundle

In discussions with Brian Haas, I have learned that our star-fusion reference bundle has an incorrect file:
Our bundle is here:
https://storage.cloud.google.com/griffith-lab-workflow-inputs/human_GRCh38_ens105/aligner_indices/star-fusion_1.10.1_index.zip
It has a generic version of AnnotFilterRule.pm which needs to be updated to use cancer specific white/black list information.
The updated file can be found here and swapped in:
https://data.broadinstitute.org/Trinity/CTAT_RESOURCE_LIB/AnnotFilterRule.pm
This will require pulling the annotation bundle, unpacking it, replacing the file, zipping again and re-uploading it.

I have updated our star-fusion reference bundle to now include this updated version of the AnnotFilterRule.pm.  No other changes.


how to setting ，show column type behind column ，like sqlserver。

dbeaver support it？

Not sure I understood this.
Could you provide a bit more details/example?


Path is used in cesium, but FPS is very low when there are many satellite tracks. How to improve performance? According to 24 hours, one data point per minute, will this affect

Path is used in cesium, but FPS is very low when there are many satellite tracks. How to improve performance? According to 24 hours, one data point per minute, will this affect。The CPU and GPU of my computer are occupied normally，so why？

Thanks @D-Plus-Plus! Looking through the community forum this appears to be a known issue:

https://community.cesium.com/t/performance-issues-with-entity-path/11948
https://community.cesium.com/t/low-frame-rate-with-dynamic-sampledpositionproperty/10379/6

Since this isn't necessarily a bug or a feature request, please continue the discussion on the forum.


Godot loses all editor/project manager data when quitting to project.

Godot version
3.4.2.stable
System information
Windows 10
Issue description
   at: (scene/resources/resource_format_text.cpp:1183)
ERROR: Failed loading resource: C:/Users/Owner/AppData/Roaming/Godot/editor_settings-3.tres. Make sure resources have been imported by opening the project in the editor at least once.
   at: (core/io/resource_loader.cpp:270)
WARNING: Could not open config file.
     at: create (editor/editor_settings.cpp:952)

This pops up in the Godot terminal windows when quitting to project menu sometimes. It erases all editor settings, game locations, and other data used by the editor. It happens without warning
Steps to reproduce
Quit to project manager from the godot editor, I guess? This affects me rather inconsistently but it's happened twice this week. Didn't change anything with settings or editor files, just started using the quit to project manager option.
Minimal reproduction project
No response

I had a similar issue. Roughly half a year later, my SSD failed.

Duplicate of https://github.com/godotengine/godot/issues/40968.


crash with breeding bees entering hive?

I was breeding some bees and one of them was pollinated and I clicked on it with a poppy and then the server died :) Looking at the closed issues on here I can assume it probably entered its hive since I was right next to one. I'm on 1.20.4 using the mod version 1.4.3. Afraid the crash may have not been resolved...
crash-2024-05-11_03.16.21-server.txt

Unable to reproduce on 1.6, do let me know if the problem persists


Add info reg. NonDebuggable Attribute

Wouldn't it be a good idea to reference the NonDebuggable Attribute? https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/methods/devenv-nondebuggable-attribute
As I see it, that's a more fine granular way of protecting your IP.

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

ID: 161ddd1b-3d2c-d2fc-0d20-ad8331c809e4
Version Independent ID: d5153e86-ac7c-4b93-43e2-ae6b06becb8e
Content: Security Setting and IP Protection - Business Central
Content Source: dev-itpro/developer/devenv-security-settings-and-ip-protection.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thank you for the suggestion, yes that makes good sense. This will be updated with the next doc refresh. Thanks!


Add poke endpoint for data source view content nodes

Description

This PR is a continuation of https://github.com/dust-tt/dust/pull/7551 and introduces the /content-nodes endpoint, dedicated to Poke. This endpoint is necessary for the Tree displayed in the data source view UI in Poke and is specifically designed for Dust Super admins.
Risk

Deploy Plan

PMRR.


Update eslint-plugin-react-refresh

Description
Update eslint-plugin-react-refresh for important fixes
Additional context

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[ ] Documentation update
[x] Other

Before submitting the PR, please make sure you do the following

[ ] Read the Contributing Guidelines.
[ ] Read the Pull Request Guidelines and follow the PR Title Convention.
[ ] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

Already waiting to be merged in #13059


Add tests for secrets

The following secrets functionality is missing from tests:

update targets
validate targets
aws kms backend
gkms backend

https://github.com/deepmind/kapitan/pull/236 covers --validate-targets and [aws/g]kms flow.

The only one remaining is more coverage for update targets, which we have for GPG but not KMS as we can't mock the updates from the APIs. Let's open another issue just for update targets for KMS.


Xamarin Android project: Build is broken.

When I add reactiveui or reactiveui-androidsupport to a Xamarin Android project, it breaks the build. The error message reads "Unable to resolve interface type 'Splat.IEnableLogger'. Are you missing an assembly reference?".
I note that the version of Splat that is installed by default is 1.0.0, not 1.6.2, but upgrading the Splat NuGet package doesn't help.
Running Visual Studio 2015, Update 3

Out of interest, what happens if you install splat first, then install reactiveui?

Still the same result.

They're hard at work on version 7 which is nearing completing judging from https://github.com/reactiveui/ReactiveUI/issues/1123.

I'm pretty sure I had this issue once as well and resolved by manually adding the dll from the packages folder
packages\Splat.1.6.2\lib\monoandroid\Splat.dll
Is that the DLL that your android project is referencing?
As far as reactiveui-androidsupport
The nuget one is a wee bit old and though it does have some helpful extension methods it lacks support for some of the newer base classes in android.
Whereas the new version (coming soon) does
https://github.com/reactiveui/ReactiveUI/tree/rxui7-master/src/ReactiveUI.AndroidSupport
It's a great library but right now you've caught it between a shift from the old to the new hotness :-)

Excellent news about Version 7. I'll check the dll later today.

I context-switched and went away for a couple of weeks.
Coming back to it, I should simply have read the error message. It was trying to set an internal string called "library_name" to my copy of "library_name", and the build was breaking because it couldn't find "library_name" in my Android resource strings. I added one and the build magically fixed itself.
Can't wait for Version 7. :)


Handling mailto-Links

We have a link <a<EMAIL_ADDRESS>me</a> which – when clicked by a user in the iOS app – currently crashes the iOS app.
Seemingly only the scheme HTTP and HTTPs are supported.
The error message:
The specified URL has an unsupported scheme. Only HTTP and HTTPS URLs are supported.

The Backtrace:

I wonder if other users have the same issue or if this is merely a matter of misconfiguration on my end.
Unfortunately I have only limited knowledge with iOS development and none with Objective-C, so I won't be able to make a proper PR.

Hey @grekko-headacy I may be able to help as I came up against this recently. My conclusion was that openExternalURL is meant for opening urls to external websites. Im not a 100% sure if this is why but my suspicion is Turbo is simply not handling the mailto link and thus the solution is to implement WKNavigationDelegate directly. I solved this by:

Implement WKNavigationDelegate's webView(_:decidePolicyFor) to handle mailto links. Here is an example:

    func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> ()) {
        guard let url = navigationAction.request.url else { return decisionHandler(.allow) }

        switch (url.scheme) {
        case "mailto", "tel":
            UIApplication.shared.open(url, options: [:], completionHandler: nil)
            decisionHandler(.cancel)
        default:
            decisionHandler(.allow)
        }
    }

Implement SessionDelegates sessionDidLoadWebView(_:) and in this method assign the WKNavigationDelegate. Here is an example:

func sessionDidLoadWebView(_ session: Session) {
        session.webView.navigationDelegate = navigationDelegate
}

I may be able to help as I came up against this recently.

thanks for the example. I'll give this a try tomorrow.


Can't Download Spark

When trying to download (or possibly update?) the pack via java -jar packwiz-installer-bootstrap.jar https://hexxycraft.github.io/modpack/pack.toml, packwiz fails to download the spark mod, resulting in the following error:
(246/246) Failed to download spark: Failed to make HTTP request to https://ci.lucko.me/job/spark/377/artifact/spark-fabric/build/libs/spark-1.10.39-fabric.jar: Non-successful error code from HTTP request: 404
Failed to download modpack, the following errors were encountered:
spark: link.infra.packwiz.installer.request.RequestException$Response$HTTP$ErrorCode: Failed to make HTTP request to https://ci.lucko.me/job/spark/377/artifact/spark-fabric/build/libs/spark-1.10.39-fabric.jar: Non-successful error code from HTTP request: 404
	at link.infra.packwiz.installer.target.path.HttpUrlPath.source(SourceFile:26)
	at link.infra.packwiz.installer.metadata.ModFile.getSource(SourceFile:62)
	at link.infra.packwiz.installer.metadata.IndexFile$File.getSource(SourceFile:55)
	at link.infra.packwiz.installer.DownloadTask.download(SourceFile:219)
	at link.infra.packwiz.installer.UpdateManager.processIndex$lambda-14$lambda-13(SourceFile:372)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)

I did a little bit of investigation, and what it seems like has happened is that, on the https://ci.lucko.me CI server, all the spark builds older than #378 no longer exist. Maybe the mod author deleted them to clear up some space or something?
(My apologies if there's any problems with this issue I've only written like one github issue before this one, so I'm not super familiar with the etiquette for doing so.)

Thanks for the report.


Fix parameters page to show parameters if settings already loaded

Currently if you close the dashboard and re-open it the table will be blank since it never reloads the data into the table when the settings have already been loaded (it was only doing that when the connect button was clicked).
Also localized a few strings that weren't I noticed while working on this.

Good find :-)

Good find :-)


Pip-compile: Could not find a version that matches dill<0.3.6,>=0.3.6

Describe the bug
When using pip-compile (part of pip-tools) to generate a pinned requirements file that includes datasets, a version conflict of dill appears.
It is caused by a transitive dependency conflict between datasets and multiprocess.
Steps to reproduce the bug
$ echo "datasets" > requirements.in
$ pip install pip-tools
$ pip-compile requirements.in
Could not find a version that matches dill<0.3.6,>=0.3.6 (from datasets==2.6.1->-r requirements.in (line 1))
Tried: 0.2, 0.2, 0.2.1, 0.2.1, 0.2.2, 0.2.2, 0.2.3, 0.2.3, 0.2.4, 0.2.4, 0.2.5, 0.2.5, 0.2.6, 0.2.7, <IP_ADDRESS>, 0.2.8, <IP_ADDRESS>, <IP_ADDRESS>, 0.2.9, 0.3.0, 0.3.1, <IP_ADDRESS>, 0.3.2, 0.3.3, 0.3.3, 0.3.4, 0.3.4, 0.3.5, 0.3.5, <IP_ADDRESS>, <IP_ADDRESS>, 0.3.6, 0.3.6
Skipped pre-versions: 0.1a1, 0.2a1, 0.2a1, 0.2b1, 0.2b1
There are incompatible versions in the resolved dependencies:
  dill<0.3.6 (from datasets==2.6.1->-r requirements.in (line 1))
  dill>=0.3.6 (from multiprocess==0.70.14->datasets==2.6.1->-r requirements.in (line 1))

Expected behavior
A correctly generated file requirements.txt with pinned dependencies
Environment info
Tested with versions 2.6.1, 2.6.0, 2.5.2 on Python 3.8 and 3.10 on Ubuntu 20.04LTS and Python 3.10 on MacOS 12.6 (M1).

Thanks for reporting, @Rijgersberg.
We were waiting for the release of dill 0.3.6, that happened 2 days ago (24 Oct 2022): https://github.com/uqfoundation/dill/releases/tag/dill-0.3.6
Also multiprocess 0.70.14 was released 2 days ago: https://github.com/uqfoundation/multiprocess/releases/tag/multiprocess-0.70.14
We are addressing this issue to align dependencies.

In your specific setup, I guess the compatible configuration is with multiprocess 0.70.13 (instead of 0.70.14).

@Rijgersberg this issue is fixed. It will be available in our next datasets release.

Thanks!

@Rijgersberg this issue is fixed. It will be available in our next datasets release.

Any chance you have a eta?

@StefanSamba we are disussing about making a release early this week.

@Rijgersberg, please also that you can make pip-compile work by using the backtracking resolver (instead of the legacy one): https://pip-tools.readthedocs.io/en/latest/#a-note-on-resolvers
pip-compile --resolver=backtracking requirements.in

This resolver will automatically use multiprocess 0.70.13 version.


(WSL2) - No GPU / Cuda detected....

===================================BUG REPORT===================================
Welcome to bitsandbytes. For bug reports, please submit your error trace to: https://github.com/TimDettmers/bitsandbytes/issues
================================================================================
CUDA SETUP: WARNING! libcuda.so not found! Do you have a CUDA driver installed?
CUDA SETUP: CUDA runtime path found: /home/user/anaconda3/envs/llama/lib/libcudart.so
/home/user/anaconda3/envs/llama/lib/python3.10/site-packages/bitsandbytes/cuda_setup/main.py:136: UserWarning: WARNING: No GPU detected! Check your CUDA paths. Proceeding to load CPU-only library...
  warn(msg)
CUDA SETUP: Loading binary /home/user/anaconda3/envs/llama/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cpu.so...
/home/user/anaconda3/envs/llama/lib/python3.10/site-packages/bitsandbytes/cextension.py:31: UserWarning: The installed version of bitsandbytes was compiled without GPU support. 8-bit optimizers and GPU quantization are unavailable.
  warn("The installed version of bitsandbytes was compiled without GPU support. "
Running on local URL:  http://<IP_ADDRESS>:7860

To create a public link, set `share=True` in `launch()`.

As a courtesy to the maintainer, you should do a hello world example showing that you can use your GPU from within WSL2.

For WSL, you'll need to install CUDA yourself using these steps:
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local
Then export the library path before running code:
export LD_LIBRARY_PATH=/usr/lib/wsl/lib

Added this to the README

Works now!!!! Thanks
Sent from Proton Mail for iOS
On Thu, Mar 23, 2023 at 00:38, Aleksey Smolenchuk @.***> wrote:

Added this to the README
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Fix Docker image building process

In order to allow users to run the Aperisolve project under docker-composes based on a pre-built image, you need to add an "image" tag in the aperisolve service.
I also removed unused file copy in the Dockerfile and updated the exiftool installation part.

Nice :) thanks


Add Google Cloud Storage log format

The format is here:
https://cloud.google.com/storage/docs/access-logs#format
I'm unable to create a custom format, but I don't know how to debug. My suspicion lies in the fact that the files are CSV, and the time format is in microseconds

For reference, here is the top few lines of an actual log file:
"time_micros","c_ip","c_ip_type","c_ip_region","cs_method","cs_uri","sc_status","cs_bytes","sc_bytes","time_taken_micros","cs_host","cs_referer","cs_user_agent","s_request_id","cs_operation","cs_bucket","cs_object"
"1435673425692000","<IP_ADDRESS>","1","","GET","/blog/data-ownership-in-nitropcr","301","0","0","211000","www.nitropcr.com","","Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html),gzip(gfe)","AEnB2Uo6_oFt6zlbUfcwodxyyKbvVNHi-PytOKYHJuxBOdWZgwcUe-ZGcBhJaCQwi3xS0wSaK7OPoVXmwYF2pwWH8L4s16TzoA","GET_Object","www.nitropcr.com","blog/data-ownership-in-nitropcr"
"1435673426067000","<IP_ADDRESS>","1","","GET","/blog/data-ownership-in-nitropcr/index.html","200","0","13654","179000","www.nitropcr.com","","Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html),gzip(gfe)","AEnB2UqRS8KJ9c9WfLWhpK-lG2wPir9rII5Dt0Dckw6g6oj-BVLXCMsqBpZQZ-11g4hRKp0mGQp4csi3NrQwGPXig3BPwLN7hQ","GET_Object","www.nitropcr.com","blog/data-ownership-in-nitropcr/index.html"
"1435673418492001","2602:30a:c037:b3b0:d63d:7eff:fef1:49b5","2","","GET","/storage/v1/b/www.nitropcr.com?fields=logging&alt=json&projection=full","200","0","97","50000","www.googleapis.com","","apitools gsutil/4.13 (linux2) Cloud SDK Command Line Tool 0.9.65,gzip(gfe)","b2ae6a88c12b69f55b5d3397cca80ba2","storage.buckets.get","www.nitropcr.com",""
"1435673978352000","<IP_ADDRESS>","1","","GET","/robots.txt","200","0","24","261000","www.nitropcr.com","","Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html),gzip(gfe)","AEnB2Ur1ACazfDlNV-J3qw6_9bKb6YxmQQao7ZidoFgzl0A0RZTOe_Okoq0UibSYN2MwxvWG2rRPUc1ov0E1S8reNK0Eq49i_Q","GET_Object","www.nitropcr.com","robots.txt"

The file always has the header in it

strptime does not support microseconds (w/o extensions). I can add a field descriptor for this.
As far as the log-format, the following would work (tested with %s for date/time-format):
"%d","%h",%^,%^,"%m","%U","%s",%^,"%b","%D",%^,"%R","%u"

Hmm, let me try again, I think that's what I tried last with no success

Yes, that did work, I was trying to do this with the time and date format: %s%6 based on strftime

The ability to parse Google Cloud Storage access logs has been added. I also added a predefined format to the config dialog list. The formats to use are:
log-format "%x","%h",%^,%^,"%m","%U","%s",%^,"%b","%D",%^,"%R","%u"
date-format  %f
time-format  %f

This will be pushed out in the upcoming version, otherwise, feel free to build from master.


[Backport 2.x] Star tree codec changes

Description
Backport of https://github.com/opensearch-project/OpenSearch/pull/14514
There are no conflicts, direct cherry pick of main branch commit.
Related Issues
Resolves https://github.com/opensearch-project/OpenSearch/issues/14387

Check List

[ ] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[ ] Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Closing the PR as auto backport PR is merged


Open: front ɶ central a and back ɑ ɒ

The opened vowels in front, central and back are wrongly arranged.

Hi ! Thanks for this issue. You are right, and I had this fixed locally but never pushed -- I don't have many users that I know of.
I'll fix it right away :)


How to disable HoldingButton.

I want to disable Holding Button on certain conditions from the activity,

Hello. There is no easy way to do this, because it wasn't implemented. So I will try to do it as soon as possible and will publish new version after that.

Implemented at 0.0.7. Just update your dependency version and call setButtonEnabled from Java code or add hbl_enabled to xml.

thanks a lot


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2952

Questions ?
Please refer to the Backport tool documentation


Add support for some additional lifecycle hooks

We are writing a new application using signalR to perform updates and disperse updates on all of the business objects in our application.  We were hoping to that like Mvc Controllers we could hook into before and after a method is invoked (i.e. OnActionExecuting() and OnActionExecuted()).  However, there seems to be no way to do this in signalR.
Our use case for this is varied.  The biggest 2 that come to mind are:

Setting custom properties in a logging (or other) context.  For example, the adding parameter values that were used to invoke the  method.
Audit logging.  Are application has requirements for audit logging.  We have implemented this in an "old school" way before by having a centralized class/method that can be injected/invoked.

Being able to hook into these two events would give us the advantage that the developer does not need to remember to call a central method every time an action is taken.  This is something that we have had issues with before.
Ideally, 2 (or 3, if you want to support async) methods would be added to the base Hub class.  The default implementation would do nothing, but they could be overridden to perform what we need:

OnActionExecuting(HubActionContext ctx) - invoked before a Hub method is invoked by the client.
OnActionExecuted(HubActionContext ctx) - invoked after a Hub method is invoked by the client.
OnActionExecutionAsync((HubActionContext ctx, ActionDelegate delegate) - invoked before the hub method is called.  delegate that is called to continue execution.

HubActionContext would be similar to the current HubCallerContext with the following additional values:

Action - the Method for the action that is being invoked.
ActionArguments - the parameters for the action being invoked (similar to ActionExecutingContext.ActionArguments in the Microsoft.AspNetCore.Mvc.Filters namespace.

Looks like you want the Hub Pipeline feature that we're considering for 5.0
See issue https://github.com/aspnet/AspNetCore/issues/5353

Perfect, thanks.

Perfect, Thanks!


Feature: add Obsidian folder option

Closes #13

@saberzero1 I'm working to remove that commit, but so you understand why: I removed that path because I correlated it to the additional content at the beginning of commits like this one. Once removed, I was able to map successfully to my file structure. Is there anything you noticed about what you see in my commit history to help resolve this issue as well?

I think the problem is the method of link resolution.
I use absolute path and it seems to work fine. You seem to use shortest path, which apparently doesn't work.
I'll test your code to confirm if it works for both shortest path and absolute path.
Ultimately I should probably let users configure their preferred option. Or perhaps get their preferred option from their quartz.config.ts file.


feat: create standalone IVF training API in python

This is the start of breaking IVF / PQ index training up into four standalone methods with check pointing in between each method.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 79.95%. Comparing base (8c69571) to head (eceb4fa).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2553      +/-   ##
==========================================
- Coverage   79.95%   79.95%   -0.01%
==========================================
  Files         207      207
  Lines       59500    59500
  Branches    59500    59500
==========================================
- Hits        47576    47571       -5
- Misses       9122     9128       +6
+ Partials     2802     2801       -1

Flag
Coverage Δ

unittests
79.95% <ø> (-0.01%)
:arrow_down:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

I'm going to merge this on green.  I have a few PRs built on top of this one already.


add score to assembly csv file #112

Coverage remained the same when pulling 4da4fc467f253943c3d0b8a067768a1c112afea9 on cboursnell:master into 5eeed7835681ccbee96874d04d2a48dc76f7fc96 on Blahah:master.


Insufficient ether for rake ethereum:test:setup?

When trying to run rake ethereum:test:setup I get the following error message:
Account already exist, skipping this step
Not enough ether to run tests.
You have: 0.0 ether.
You need at least 0.02 ether to run tests.
Transfer ether to account: 0xfb95cfd55d38a96023b01ff125926ed0bf984fae.
The easiest way to get ether is to use Ethereum Testnet Faucet.

However, if you check out 0xfb95cfd55d38a96023b01ff125926ed0bf984fae you'll see it has plenty of ether.
What am I doing wrong?
Is ethereum:test:setup using a different testnet than goerli? rake ethereum:node:test runs fine (says its on goerli testnet) and rake ethereum:node:waitforsync returns Synced
I'm running Parity-Ethereum/v2.7.2-stable-d961010f63-20200205/x86_64-apple-darwin/rustc1.41.0, solidity 0.7.5, and ethereum.rb 2.5
Any help is appreciated. I'm new to Ethereum development, but familiar with Ruby and software development in general.

@marckohlbrugge
Thanks for the issue. Please migrate as we will maintain the eth.rb library here. ;)


Implicit casting of string to List?

The master template pulls a string output from vpc.yaml into ec-cluster.yaml as a List. Is this possible? Does CloudFormation support implicit casting?
vpc.yaml outputs a string:
    PrivateSubnets:
        Description: A list of the private subnets
        Value: !Join [ ",", [ !Ref PrivateSubnet1, !Ref PrivateSubnet2 ]]

The docs for Join say:
Returns
The combined string.

ecs-cluster.yaml accepts a list, not a string:
    Subnets:
        Description: Choose which subnets this ECS cluster should be deployed to
        Type: List<AWS::EC2::Subnet::Id>

master.yaml sends the string to  ec-cluster.yaml:
                Subnets: !GetAtt VPC.Outputs.PrivateSubnets

How is this possible? CloudFormation AFAIK does not support casting of data types.

Hi, the output of List<> items is just a comma separated string, so no casting required :)


The api key in the st2api log is not obfuscated

SUMMARY
The user (overstock) found in clean API key in query request (for the load balancer health check)
GET /api/v1/?st2-api-key=MmRmNWRiM2JiNTgzOTQyNWZjZTZmYjRmYzJkYTdjNWI3MzQ3YjU1MWZjYTdlNDdlNWMxMTdhNzU1NDA4ZjRiYw HTTP/1.1
ISSUE TYPE

Bug Report

STACKSTORM VERSION
st2 2.10.3, on Python 2.7.12

Can they just set the API key as a header value instead of in the URL? https://docs.stackstorm.com/authentication.html#api-key-usage

@nmaludy Probably, but we should obfuscate it on all our valid methods of providing the key.

Yeah, providing API key as a query param is meant as a last resort for integration with services which don't support sending custom headers, because it's not safe (a lot of external services will log full URL with query params).
Having said that, @bigmstone is correct. We should still not log in in st2api log file.
@jinpingh Thanks for reporting this and good catch.
The log line you provided doesn't look like st2api log line. Is that from load balancer log file? If that's the case, there is nothing we can do about load balancer logging that query param, we can just filter it on the API side.
Here is an example of how st2api log line looks like:
2019-03-13 09:09:27,601 INFO [-] 9d6e473e-d7da-4e07-bbec-d81af1b4bf95 - GET /v1 with query={'st2-api-key': ['bar']} (method='GET',path='/v1',remote_addr='<IP_ADDRESS>',query={'st2-api-key': ['bar']},request_id='9d6e473e-d7da-4e07-bbec-d81af1b4bf95')
2019-03-13 09:09:27,603 INFO [-] 9d6e473e-d7da-4e07-bbec-d81af1b4bf95 - 200 80 1.469ms (method='GET',path='/v1',remote_addr='<IP_ADDRESS>',status=200,runtime=1.469,content_length=80,request_id='9d6e473e-d7da-4e07-bbec-d81af1b4bf95')


Protocol Engine: Allow v2 PAPI protocol execution using old infrastructure

As a user, I want to be able to send a v2 PAPI protocol and understand that it will be executed using the old protocol handling infra.
Acceptance criteria

[ ] The protocol is recognized as a v2 protocol to be run without P.E.
[ ] The protocol is simulated correctly
[ ] The protocol executes exactly as it does currently (in the non-PE infrastructure)
[ ] The protocol is able to be paused, resumed & canceled as it currently does
[ ] The Run Log is still available

Implementation details

The protocol is recognized as a v2 protocol by the HTTP server. The app doesn't need to know whether it's v2 or v3. The protocol is uploaded to the same HTTP endpoint
This would look something like the current HTTP API beta endpoint that accepts protocols over /protocols and executes it without the protocol engine
Possibly uses the message broker to publish notifications over notify-server

would need to fit the message broker events into our new command models (we need to keep the response shapes to the HTTP client consistent with the PE ones)

TODO:
Split the message broker <-> command models refactor into a separate ticket

Assigning myself to this ticket, but I'm only doing research at this phase, so don't let that stop you from assigning yourself and thinking about it, too


SassCompiler.CompileFile does not work with UNC paths

I am trying to compile a file passing in a UNC path and the compiler throws an exception

Any progress on this?
I'm using libsassnet.x64-<IP_ADDRESS> and CompileFile with UNC path throw SassCompileException with message:
Error: File to read not found or unreadable: \\....

The alpha version of the latest libsass code has been pushed to nuget. not sure if it addresses this issue or not and I don't have a unc path to test it on at the moment.

In my cases it works well.
Thanks

hello is this still an open untested issue? I'm currently using the libsassnet library from the nuget package, and seems that my imports are not well recognised on my azure web application.

@marinswk as far as I know, libsass still doesn't support unc paths. Usually azure web applications have acess to local file system though, so if you are deploying the scss files with the application, it should work there (path would be something like d:\wwwroot\...)


ios crash

Hi,
I am getting a crash on iOS.
I have added following lines in config.xml

I did ionic state reset and then ionic build ios.
I opened xcworkspace and project had following error:
“Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly.
I manually selected yes to Use Legacy Language Version in xcode build settings, which allowed me to install app on device. However after opening the app, following error causes crash:

sqlite3_column_decltype(pStmt, i) is returning nil causing error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=2, address=0xe4708).
The process has been returned to the state before expression evaluation


Update allowed-external-content.txt.tmpl

During development I noticed the fcrepo service was logging warnings about whitespace in the allowed-external-content.txt file. Turned out to be a newline at the end of the file. This just shuffles the end of the loop in the template, which prevents a newline from getting added.  Apparantly it's a golang template thing.

Nice find!


CLI: use engine.Start directly

This is the first step of updating the session interface: https://github.com/dagger/dagger/issues/3830
We need to start by getting rid of the CLI's dependency on the Go SDK to cut that circular dependency. The follow ups after this will update the SDKs to download the CLI instead of using the engine-session binary. I'll be listing out the rest of the steps needed to get there in the other issue shortly.

This change was difficult to make completely on it's own, so there's a few other related changes bundled in as part of it:

The CLI previously provisioned the remote engine used by the go sdk, but now it can't rely on that anymore.

Instead, the CLI now first tries to provision docker-image://ghcr.io/dagger/engine:v<VERSION>, where version is the git tag burned into the CLI by go releaser.
If there is no version burned into the CLI (it's a devel version), then it just uses :main.
This required the ability to use a plain tag w/out hardcoded image sha. I did this by having the provisioning logic resolve the tag->sha using the go-containerregistry library, which worked out well since it supports all the same auth mechanisms we already use as part of the session attachables.

DAGGER_RUNNER_HOST is updated to its new name of _EXPERIMENTAL_DAGGER_RUNNER_HOST, since that was all being modified as part of this anyways
I dropped the /query path from the router http server, now you just send gql queries direct to / again.

The main reason is that this results in the CLI being backwards compatible (it was serving / directly and proxying it to /query before, but now the router endpoint is being served directly).
In general, I think this is fine now though as IIRC the only reason we put it at /query was that it made the playground easier (which is no longer in the CLI). cc @aluzzardi in case I'm forgetting something here

Thanks @gerhard

Does this change anything in our docs

No doc changes yet, the only backwards incompatible change will be to dagger listen. dagger run is unaffected by the change of endpoint because our docs tell users to just use DAGGER_SESSION_URL, which has been updated here.

I would feel a lot more comfortable if we had one end-to-end CLI test which would exercise the happy path.

Agreed, I added a e2e test in this other PR here: https://github.com/dagger/dagger/pull/4029/files#diff-743eff5a95cd3bba29eec3b8d54dfb365904b84d1aa3feec83ef7aa14d08af33
But yeah I'll see if I can backfill a little more coverage there too.

Mentioned in description: the main reason is that this results in the CLI being backwards compatible (it was serving / directly before and proxying it to /query, but now the router endpoint is being served directly).

/cc @marcosnils
Wasn't aware the playground sent queries to / rather than /query

Wasn't aware the playground sent queries to / rather than /query

it doesn't?
https://github.com/dagger/dagger.io/blob/cloud-playground/api/server/playground.go#L88-L91


Error: Bone access not allowed

Probably an issue with your code. Don't call setupBones from DirectX thread.

its completly normal to get that error message just ignore it


Feature Request: Allow multiple authors

It would be beneficial to allow more then one author per model.

Good one! Will be added as well as document history (to have a version number for the model and changelog of changes by whom in a separate chapter document history)!

Now there is a possibility to use author and contributors fields.


move helpers

fixes #70

ah ok. I guess I was thinking about having generate in tools, but now that I see this, it makes sense to me. I think (!) I'm happy with this. I'll put it on Discord to see if anyone else has any input.
Presumably this will need 0.3.0 as opposed to 0.2.2.
I'd be nice to move the C++ stuff as well before we tag though, but I haven't given that any thought really.

having generate in tools

I don't know enough about long-term project direction to advise either way.


Cannot connect with IPv6 addresses

Describe the bug
Cannot connect to the local Kafka server listeners=PLAINTEXT://[::1]:9092 with [::1]:9092.
To Reproduce
new Kafka({ brokers: [ '[::1]:9092' ] })

Expected behavior
It should be able to connect.
Observed behavior
It tried to connect to a weird host and failed.
[2023-06-12 10:13:09.421 +0800] ERROR (ocpi-cloud/15374): Connection timeout
    module: "[Redacted]"
    namespace: "Connection"
    broker: "[:0"
    clientId: "kafkajs"
[2023-06-12 10:13:09.424 +0800] ERROR (ocpi-cloud/15374): Failed to connect to seed broker, trying another broker from the list: Connection timeout
    module: "[Redacted]"
    namespace: "BrokerPool"
    retryCount: 0
    retryTime: 332
[2023-06-12 10:13:10.759 +0800] ERROR (ocpi-cloud/15374): Connection timeout
    module: "[Redacted]"
    namespace: "Connection"
    broker: "[:0"
    clientId: "kafkajs"
[2023-06-12 10:13:10.759 +0800] ERROR (ocpi-cloud/15374): Failed to connect to seed broker, trying another broker from the list: Connection timeout
    module: "[Redacted]"
    namespace: "BrokerPool"
    retryCount: 1
    retryTime: 594
[2023-06-12 10:13:12.210 +0800] ERROR (ocpi-cloud/15374): Connection error: getaddrinfo ENOTFOUND [
    module: "[Redacted]"
    namespace: "Connection"
    broker: "[:0"
    clientId: "kafkajs"
    stack: "Error: getaddrinfo ENOTFOUND [\n    at __node_internal_captureLargerStackTrace (node:internal/errors:490:5)\n    at __node_internal_ (node:internal/errors:712:10)\n    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26)"
[2023-06-12 10:13:12.211 +0800] ERROR (ocpi-cloud/15374): Connection error: getaddrinfo ENOTFOUND [
    module: "[Redacted]"
    namespace: "Connection"
    broker: "[:0"
    clientId: "kafkajs"
    stack: "Error: getaddrinfo ENOTFOUND [\n    at __node_internal_captureLargerStackTrace (node:internal/errors:490:5)\n    at __node_internal_ (node:internal/errors:712:10)\n    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26)"
[2023-06-12 10:13:12.356 +0800] ERROR (ocpi-cloud/15374): Connection timeout
    module: "[Redacted]"
    namespace: "Connection"
    broker: "[:0"
    clientId: "kafkajs"
[2023-06-12 10:13:12.358 +0800] ERROR (ocpi-cloud/15374): Failed to connect to seed broker, trying another broker from the list: Connection timeout
    module: "[Redacted]"
    namespace: "BrokerPool"
    retryCount: 2
    retryTime: 1344
[2023-06-12 10:13:14.705 +0800] ERROR (ocpi-cloud/15374): Connection timeout
    module: "[Redacted]"
    namespace: "Connection"
    broker: "[:0"
    clientId: "kafkajs"
[2023-06-12 10:13:14.706 +0800] ERROR (ocpi-cloud/15374): Failed to connect to seed broker, trying another broker from the list: Connection timeout
    module: "[Redacted]"
    namespace: "BrokerPool"
    retryCount: 3
    retryTime: 2902
[2023-06-12 10:13:16.206 +0800] ERROR (ocpi-cloud/15374): Connection error: getaddrinfo ENOTFOUND [
    module: "[Redacted]"
    namespace: "Connection"
    broker: "[:0"
    clientId: "kafkajs"
    stack: "Error: getaddrinfo ENOTFOUND [\n    at __node_internal_captureLargerStackTrace (node:internal/errors:490:5)\n    at __node_internal_ (node:internal/errors:712:10)\n    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26)"
[2023-06-12 10:13:16.208 +0800] ERROR (ocpi-cloud/15374): Connection error: getaddrinfo ENOTFOUND [
    module: "[Redacted]"
    namespace: "Connection"
    broker: "[:0"
    clientId: "kafkajs"
    stack: "Error: getaddrinfo ENOTFOUND [\n    at __node_internal_captureLargerStackTrace (node:internal/errors:490:5)\n    at __node_internal_ (node:internal/errors:712:10)\n    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26)"
[2023-06-12 10:13:18.610 +0800] ERROR (ocpi-cloud/15374): Connection timeout
    module: "[Redacted]"
    namespace: "Connection"
    broker: "[:0"
    clientId: "kafkajs"
[2023-06-12 10:13:18.611 +0800] ERROR (ocpi-cloud/15374): Failed to connect to seed broker, trying another broker from the list: Connection timeout
    module: "[Redacted]"
    namespace: "BrokerPool"
    retryCount: 4
    retryTime: 5454
[2023-06-12 10:13:21.455 +0800] ERROR (ocpi-cloud/15374): Connection error: getaddrinfo ENOTFOUND [
    module: "[Redacted]"
    namespace: "Connection"
    broker: "[:0"
    clientId: "kafkajs"
    stack: "Error: getaddrinfo ENOTFOUND [\n    at __node_internal_captureLargerStackTrace (node:internal/errors:490:5)\n    at __node_internal_ (node:internal/errors:712:10)\n    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26)"
[2023-06-12 10:13:25.067 +0800] ERROR (ocpi-cloud/15374): Connection timeout
    module: "[Redacted]"
    namespace: "Connection"
    broker: "[:0"
    clientId: "kafkajs"
[2023-06-12 10:13:25.069 +0800] ERROR (ocpi-cloud/15374): Failed to connect to seed broker, trying another broker from the list: Connection timeout
    module: "[Redacted]"
    namespace: "BrokerPool"
    retryCount: 5
    retryTime: 9006
[2023-06-12 10:13:25.073 +0800] ERROR (ocpi-cloud/15374): Start service error
    err: {
      "type": "UnknownError",
      "message": "Kafka producer connect error: Connection timeout",
      "stack":
          UnknownError: Kafka producer connect error: Connection timeout
              at <anonymous> ([Redacted])
              at [Redacted]/node_modules/neverthrow/dist/index.cjs.js:113:102
              at <anonymous> ([Redacted])
              at main ([Redacted])
      "error": {
        "type": "KafkaJSNumberOfRetriesExceeded",
        "message": "Connection timeout: Connection timeout",
        "stack":
            KafkaJSNonRetriableError
              Caused by: KafkaJSConnectionError: Connection timeout
                at Timeout.onTimeout [as _onTimeout] ([Redacted]/node_modules/kafkajs/src/network/connection.js:223:23)
                at listOnTimeout (node:internal/timers:569:17)
                at process.processTimers (node:internal/timers:512:7)
            caused by: KafkaJSConnectionError: Connection timeout
                at Timeout.onTimeout [as _onTimeout] ([Redacted]/node_modules/kafkajs/src/network/connection.js:223:23)
                at listOnTimeout (node:internal/timers:569:17)
                at process.processTimers (node:internal/timers:512:7)
        "name": "KafkaJSNumberOfRetriesExceeded",
        "retriable": false,
        "retryCount": 5,
        "retryTime": 9006
      },
      "name": "UnknownError"
    }

Environment:

OS: Fedora 37
KafkaJS 2.2.3
Kafka 3.4.0
NodeJS 18.16.0

Do your brokers really need ipv6 addresses? You could use
export KAFKA_OPTS="-Djava.net.preferIPv4Stack=true"
kafka-server-start ...

And use an IPv4 listener/advertised listener

Do your brokers really need ipv6 addresses?

No, but it is surprising to know that a popular library still can't properly support IPv6 addresses in 2023.

就是就是 ipv6都不支持

Hi there, we also faced the same issue with kafkajs not supporting ipv6 addresses, with the difference that the configuration is made by our customers and if they go for ipv6 we cannot bypass and use ipv4.
Fortunately we overcame this limitation by overwriting the connectionPoolBuilder.js at build stage. It's all about properly parsing the broker list in case of ipv6 (assuming kind of [ipv6]:port). That worked like a charm after that, meaning the rest of the connection logic totally supports ipv6.
In my opinion it is still not the best way to do, since it remains tricky and heavy to parse ipv4, ipv6 with or without port and with or without brackets. The code may get much simpler if instead of a list of brokers as string kafkajs would accept a list of broker objects having two fields: {"host": "string", "port?": number}. However it would break compatibilities.
Regards


Lookahead fix

address #1269
current_epoch - 1 for randomness source doesn’t give us lookahead. It is just in time and it’s the bare minimum stable source of randao for any epoch. MIN_SEED_LOOKAHEAD of 0 should equate to the current_epoch - 1 case. MIN_SEED_LOOKAHEAD > 0 should have a base of the -1

Just because it is possibly the most important off-by-1 prone math in the spec, here's my take (and thanks @djrtwo for rubber duck debugging :joy: ):

process_slots, from start state.slot == x*SLOTS_PER_EPOCH - 1, i.e. current_epoch == x - 1
(state.slot + 1) % SLOTS_PER_EPOCH == 0 -> epoch boundary detected, process epoch.
process_final_updates() as last epoch sub transition
state.randao_mixes[next_epoch % EPOCHS_PER_HISTORICAL_VECTOR] = get_randao_mix(state, current_epoch), a.k.a. state.randao_mixes[x % EPOCHS_PER_HISTORICAL_VECTOR] = get_randao_mix(state, x - 1)
epoch transition finishes
slot transition finishes, slot is set to x*SLOTS_PER_EPOCH, now current_epoch == x

So transition looks ok at first: during an epoch randao_mixes is available up to the current epoch as index: state.randao_mixes[current_epoch % EPOCHS_PER_HISTORICAL_VECTOR] get the very latest known randao mix. But it changes with process_randao during the current_epoch.
MIN_SEED_LOOKAHEAD = 1
Without this PR:

beacon proposer indices are looked up with get_seed(state, current_epoch). This requires state.randao_mixes[(current_epoch + EPOCHS_PER_HISTORICAL_VECTOR - MIN_SEED_LOOKAHEAD) % EPOCHS_PER_HISTORICAL_VECTOR], equivalent to state.randao_mixes[previous_epoch % EPOCHS_PER_HISTORICAL_VECTOR]. Which was initially set during the transition from previous_epoch - 1 to previous_epoch. And is then modified during previous_epoch. Unpredictable till the very end of previous_epoch. But known during all of current_epoch.
beacon proposer indices for the next epoch looked up with get_seed(state, current_epoch + 1). This requires state.randao_mixes[((current_epoch + 1) + EPOCHS_PER_HISTORICAL_VECTOR - MIN_SEED_LOOKAHEAD) % EPOCHS_PER_HISTORICAL_VECTOR], equivalent to state.randao_mixes[current_epoch % EPOCHS_PER_HISTORICAL_VECTOR]. Which was initially set during the transition from current_epoch - 1 to current_epoch. And is then modified during current_epoch. Unpredictable till the very end of current_epoch. But known during all of current_epoch + 1.

With this PR:
offset lookups down by 1.
Next epoch proposer index lookup is now requiring: state.randao_mixes[((current_epoch + 1) + EPOCHS_PER_HISTORICAL_VECTOR - MIN_SEED_LOOKAHEAD - 1) % EPOCHS_PER_HISTORICAL_VECTOR], a.k.a. state.randao_mixes[previous_epoch % EPOCHS_PER_HISTORICAL_VECTOR]. Which was initially set during the transition from previous_epoch - 1 to previous_epoch. And is then modified during previous_epoch. Unpredictable till the very end of previous_epoch. But known during all of current_epoch.
So yes, we need this PR to make the next epoch predictable during all of the current epoch.


Correct some of the typos

About the PR

Removed multiple instances of programmer spelling
Why / Balance

Some of the typos were user facing and made up look bad. stupid dog.

I included some of my vim swap files and previous commits that should not have been there. So i dropped the commits with rebase and force pushed

time to use nano son

whats with the force pushed commits

is there a way to remove them?

Closed in favor of #25628

I'm realizing now that, maybe i should have merged the other branch into this one instead of the other way around


Add ZeroDowntimeFailover field to SessionAffinityAttributes

Description
Add new API field called ZeroDowntimeFailover to SessionAffinityAttributes in LoadBalancer
Has your change been tested?
Updated load balancing tests verify input field matches the returning JSON/struct.
Types of changes
What sort of change does your code introduce/modify?

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] This change is using publicly documented (api.cloudflare.com or developers.cloudflare.com) and stable APIs.

i'm watching the PR internally for this and it will be released next week.
thanks @tingwai 👏


GraphQL if datasette-graphql installed

Mainly as a live demo of this new feature in that plugin:

https://github.com/simonw/datasette-graphql/issues/69

Documentation: https://github.com/simonw/datasette-packages/#with-datasette-graphql

Demo: https://latest-with-plugins.datasette.io/graphql?query={
    packages {
        name
        version
    }
}


Selectors under symbols

What
This is a change of the VDom interface.
Instead of this:
interface VNode {
  sel: string | undefined;
  //...
}

I propose this:
export interface VNode {
  [SELECTOR_KEY]: string | undefined;
  //...
}

Where SELECTOS_KEY is:
const SELECTOR_KEY:unique symbol = Symbol.for('snabbdom.selector');

Why
To reduce the risk of an XSS attack. Currently a valid VDOM node may come from some JSON payload, HTML form or MongoDB.
Let's assume we have a VDOM node like this:
h('div', {}, username)

It's safe as long as username is a string. But as soon as the attacker manages to pass the following JSON object as username, we have a problem:
{"sel":"script","data":{},"text":"alert(1)"}

Advantages

one less way to perform an XSS attack

Disadvantages
This change requires Symbol.for support. For applications targeting older browsers, it will be necessary to include a polyfill (which may not provide safety) to prevent the app from crashing.
Things I've done

[x] I made the tests pass under Chrome and Safari.
[x] I rejected the idea of using Infinity to prevent JSON-driven XSS, because Infinity may be stored in MongoDB

Things I haven't done

[ ] Testing it with a Symbol polyfill under IE
[ ] Although I feel more like using a polyfill for older browsers, because the developer may then decide whether to support old browsers, I haven't fully rejected the idea of using some type of runtime fallback mechanism in case of missing Symbol support. Users of old browsers won't be safe anyway, it will probably make stuff slightly slower, but it won't crash even without a polyfill. As far as I understand, React does it this way.

Ideas

If we decide this change makes sense and we want to merge it, we should mention in the README that a Symbol polyfill may be required.

Thank you for creating this PR @lukaszmakuch. This is definitely something that we should find a solution to.
I'm curious if this is a problem you discovered in actual usage or if you realized the problem by looking at the way VNodes are currently represented? In case you ran into the problem in actual usage it would be interesting to hear about that.
If I understand correctly, the problem it is that if you get data into your app (for instance through HTTP requests), call JSON.parse on the data, and then want to show the data by putting it into the virtual DOM you may be vulnerable. If an adversary manages to get some JSON into the data that happens to be a valid VNode he can execute code.
I'm wondering if we could solve this in alternative ways. Instead of changing the key for key could we alternatively add a new property containing something that can never occur when parsing JSON? For instance something like:
export interface VNode {
  safetyTag: Function;
  //...
}

Then, to ensure that a VNode wasn't injected you can check that safetyTag is a function. I'm thinking that might work since JSON parse cannot result in a function. Such a trick would have the benefit that it doesn't rely on symbols. Alternatively, could VNode be a class with some method?
I also have to stress that for people who create VNodes without using h this will be a breaking change. For those that do use h, any changes to the VNode interface can be made there without users noticing.

I discovered this problem when I was preparing to write a blog post about the cause of injection attacks. I just got an idea to check how my favorite VDOM library deals with it. That's how I discovered an opportunity to contribute to snabbdom. :)
So far I've written just two applications using snabbdom. One is a demo for a talk, and the other is the Rosmaro Editor. Fortunately right now the VDOM tree used there is not vulnerable, as most of the user input lands in attributes. Unfortunately, it's enough to add something like a "b" tag with user input to the tree in order to make the app vulnerable.
The Rosmaro Editor allows the user to load a JSON file, but it is not the only way how a vulnerability may be exploited. It could simply consume some API. In the era of schema-less databases (I love MongoDB, but this is the risky part...) it is quite possible that some API will consume a PUT request with an object instead of a string, then save it to the database, and then return to the user. Another scenario is reading directly from the local storage or a cookie. It poses a threat to people using shared computers, like in a library.
I really like your proposition to make VDOM a class. Instead of using .sym we could use .sym() and it should do the job!
You're also right that changing the interface of VNode will be a breaking change for people who don't use its factory function. I must admit I don't know how to mitigate this.

I've changed the VNode to a class. Now it works without symbols.
export class VNode {
  constructor(
    private _sel?: string,
    public data?: VNodeData,
    public children?: VNodeData,
    public elm?: Node,
    public text?: string,
    public key?: Key,
  ) {}
  sel(): string | undefined {
    return this._sel;
  }
}

Unfortunately this doesn't help users users who build VNodes manually.

Very interesting PR. I think either with class or symbol, someone who build VNodes manually will have to anyway import something (either import the class or import the symbol) in order to construct them.
@aronallen : you've been building passing serialized vnodes back and forth from Web Workers for the purpose of security, I think this thread and PR may interest you.

I think this is better handled with a snabbdom module on the create hook. I have a module with a whitelist of allowed tagNames. Generally I try to avoid using the selector syntax "div.cell", and I only provide the tag name.
The VNode is not dangerous until a real node is created, thus i think any security should be in the patching layer, and not in the definition layer.

I'm afraid that whitelisting allowed tags may not be enough, as it still gives the attacker the possibility of injecting arbitrary HTML with things like fake login forms 🔐 or simply a gigantic pink unicorn 🦄 spanning across the whole page.

@lukaszmakuch we might have different use cases.
I am trying to transfer serialised VDOM trees over a thread wall, so this would just add unneeded I/O to my web workers. I "trust" the worker, insofar that it won't serve me up rotten VTrees.
This is a concern most applications out there don't have, but I would be cautious to add this to snabbdom, as it is based on the assumption that you only would want to render VNodes that have been created in the main thread, and not on a foreign thread or machine.

@aronallen I see two different solutions to this problem.

Mark every node created by the programmer with an instance of RegExp (it survives structured cloning)
Pass data-only javascript objects from thread to thread and after receiving them from a trusted source attach necessary methods (so they meet the interface)

What do you think?

I played a bit with RegExps. The result:

protects against injections coming from HTTP requests
should work in IE
works with structured cloning (postMessage, Workers)

The disadvantages I can see are all about reading rendered VNodes from databases. Because this approach works with structural cloning, it is possible to read VNodes from IndexedDB. Also MongoDB will store a VNode like that.

@lukaszmakuch allocating a regex for each node seems a bit excessive.
They could just all have a reference to NaN or Infinity. These values cannot be serialized by JSON.
I currently don't have a use case for rendering nodes from a database, but someone else might.

@aronallen I replaced the RegExp with Infinity.

Cool.
I think this makes a lot of sense from a security standpoint, and this change won't break my apps but it may break others.
Perhaps there is  a space for a utility function called confide, secure or trust that lets you pass an untrusted VTree and returns a trusted VTree. Then anyone relying on serialization of VNodes can easily upgrade without changing  too much of their code-base.
Alternitavely we could introduce a new function called spatch for safe-patch, and let patch remain unsafe and issue a deprecation warning or something like that.

I like the trust name. It's easy to guess that it gets something what may not be trusted and turns it into a trusted thing.
I implemented it and it looks like that:
var trust = require('snabbdom/trust').default;
var h = require('snabbdom/h').default;

var originalVNode = h('div', {}, ['hello', h('span#world')]);
// It's untrusted, because the `safetyTag` attribute doesn't survive JSON serialization.
var untrustedVNode = JSON.parse(JSON.stringify(originalVNode));
// All three nodes are trusted.
var trustedVNode = trust(untrustedVNode);

@lukaszmakuch cool
I guess trust should be recursive.

@aronallen as far as I understand, it actually is. My reasoning behind this is that every VNode object has an optional list of children, what makes it a tree. In the example above, originalVNode is a root node with two children. Passing it to the trust function gives us a new tree with all three nodes trusted.
Is this the expected behavior? If not, could you please give me a hint how can I improve it?

@lukaszmakuch, great i just couldn’t see the implementation when you wrote the comment before.
I am happy with these changes, it is for the betterment of snabbdom. But I am not her custodian, I am just a humble user.

allocating a regex for each node seems a bit excessive.

I like Infinity but one could just create a single regex and then reuse it for all created vnodes.
I think a trust function is a really good idea.
@lukaszmakuch Didn't you mention that MongoDB could transfer Infinity values? Are we ok with that?

@paldepind it turns out MongoDB and IndexedDB will also store a RegExp.
The only solution I know about would be to use a Symbol, but this comes at the cost of dropping support for older browsers and (what's even more important) makes it impossible to transfer nodes using postMessage or Workers.
We could try to mix two approaches. Instead of reading the sel property directly, we can call a method to read it. It's exactly what you suggested. Then, every time we receive a VNode from a trusted source (like a verified postMessage), we can use the trust helper to turn it onto a trusted one. Because the trust helper may be used quite often in such a scenario, I think it's worth considering making it impure. That is instead of building a new tree, it could simply mutate the one we pass to it.
That way it would be hard to accidentally read a valid VNode from a database. In the same time it shouldn't be
There's just once scenario I'm a bit worried about:

Window A gets a fake VNode instead of a string
Window A builds a VNode with the fake VNode as its child
Window A sends this VNode to window B
Window B trust the received VNode
Security problem

It's possible, because currently VNodes are verified only when they are used to patch something, and not when they are built. I suggest that we also make sure it's impossible to build a VNode with untrusted children. That way we could turn the scenario mentioned above into this one:

Window A gets a fake VNode instead of a string
Window A builds a VNode with the fake VNode as its child
Error

What do you think guys?

This solution does not belong into snabbdom! Remember, snabbdom is a very low level API that allows libraries and frameworks to tap into it to render a UI. If you need to sign your vnodes, to prevent injection of any kind, we are giving you the hooks for you to do so:
a) You can sanitize vnodes creation with your own copy of h(), instead of the one built-in version. If you're creating your own vnodes, then it is your responsibility to provide valid values.
b) if you want to sanitize vnodes globally, you have the hooks for it.
Snabbdom does not define a global variable that can be exploit, so it is definitely a responsibility of the app to protect against those things.
Alternative, I think we will be fine with a standard module that helps with this things, but definitely not inside the engine itself.

Thank you for a detailed answer. I totally understand your point of view. :) The simplicity of snabbdom is one of the reasons why did I decide to use it. It was what I needed and nothing more.
I think that it's doable to introduce a security mechanism as a module (to make sure we're patching only with signed VNodes) + a separated VNode helper (to make sure we're not building a node with unsigned children).
The reason why did I suggest introducing changes in the core in the first place is because personally I find it challenging to really understand every security detail of every tool I use. As a newcomer in the world of snabbdom, I incorrectly assumed that some things I had learned about React also applied to snabbdom. Specifically, this characteristic of React:

It is safe to embed user input in JSX:

const title = response.potentiallyMaliciousInput;
// This is safe:
const element =
{title}
;

By default, React DOM escapes any values embedded in JSX before rendering them. Thus it ensures that you can never inject anything that’s not explicitly written in your application.

So far I've used snabbdom only in two applications. In one of them I used the built-in h helper and in the other I used snabbdom-jsx. Much to my surprise both of them turned out to be vulnerable, as neither {text} nor h('b', text) provides protection against injection attacks.
My mistake was to assume that things I didn't actually know about snabbdom were like I wanted them to be.
Anyway, I'm willing to create a module and an alternative h helper for that if this is the way to go. :)

I've created a tiny package called snabbdom-signature.
It consists of 2 main parts:

h decorator called signingH
denyUnlessSigned module defining update/create hooks

There are also 2 helper functions:

sign used when a trusted tree is coming from some serialized data and it doesn't contain the required Symbols
removeSignature used when we want to serialize a tree and we need to get rid of Symbols because the serialization algorithm doesn't handle them

Long story short, it should make the following fragment XSS-free:
const text = userInput.potentiallyMaliciousInput;
const vnode = h('p', text);

Please let me know If you have any idea how could I improve it. :)

@lukaszmakuch this is wonderful! thanks for putting this together. My only recommendation is to revisit those names (exported methods) before the package becomes popular, maybe you can open an issue in that repo to bikeshed on the names.
As for us, we should probably add a section in the readme, or create a new .md file to list out modules that can work with snabbdom with a brief description and the link to them, so we can start with your module.

Btw, I'm closing this in favor of your package.

@caridy I've just opened an issue regarding the names. I'd be really happy if you could suggest there some better names. :)


Support to remove peers from peer client poll as they exit

Is your feature request related to a problem? Please describe.
Core peer forwarder currently stores all the peers in a map as they are made available but it does not remove from the map as they exit.
Describe the solution you'd like
Clean up the resources in shutdown call of PeerForwardingProcessorDecorator.
Additional context
This is the same behavior even in the peer forwarder plugin here.
There is an existing TODO in peer forwarder plugin to do it.

We can handle this after releasing 2.0.


Conflicting and confusing information

https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/What-s-new-for-IT-pros-in-Windows-10-version-1803/ba-p/188568
https://blogs.technet.microsoft.com/windowsitpro/2017/07/27/waas-simplified-and-aligned/
In the blogs above it states: "The Semi-Annual Channel replaces the Current Branch [CB] and Current Branch for Business [CBB] concepts." This implies that both CB and CBB are replaced with a single channel.
However, in your own documentation for setting up deployment rings (https://docs.microsoft.com/en-us/windows/deployment/update/waas-servicing-channels-windows-10-updates and https://docs.microsoft.com/en-us/windows/deployment/update/waas-deployment-rings-windows-10-updates and https://docs.microsoft.com/en-us/windows/deployment/update/waas-manage-updates-wufb) you state that CB and CBB are replaced with SAC-T and SAC respectively, i.e. they are still two separate deployment rings. If we have deployment rings set up per your documentation, with our TARGETED devices configured to SAC-Targeted (via GPO or otherwise) they will actually receive 1803 AFTER the SAC configured devices due to you designating 1803 as SAC BEFORE SAC-Targeted. This is the opposite result of what we expect, and the opposite of how you have release Feature Updates in the past.
For example: 1709 was designated SAC-Targeted BEFORE it was designated SAC. It was ready for TARGETED deployment (SAC-T on 10/17/2017) BEFORE it was ready for broad deployment (SAC on 12/12/2017).
Another example: 1703 was designated CB on 4/11/2017, then designated CBB on 7/11/2017
With 1803 you are doing the complete opposite. Do you see how this might cause confusion?
So, do we configure our TARGETED devices as SAC-Targeted, or as SAC with custom deferral lengths for each deployment ring? For the enterprise, what does configuring devices as Semi-Annual (Targeted) actually accomplish now? Either way your documentation needs to be updated and clarified to match what your current intention is.

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

ID: f5400f8b-2ed0-7960-4e3d-2f3444be7e6b
Version Independent ID: 81bd37f4-301b-b5ab-cda2-972a72a31ae7
Content: Assign devices to servicing channels for Windows 10 updates (Windows 10)
Content Source: windows/deployment/update/waas-servicing-channels-windows-10-updates.md
Service: unspecified
GitHub Login: @DaniHalfin
Microsoft Alias: daniha

@jaimeo - can you take a look

@officedocsbot assign @mypil

@christopherggg - From our understanding, the issue has been resolved but it may take a few days for the merged content to appear in the article. If you feel it hasn't been resolved, please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!

@officedocsbot close


Translate error codes to errno by inverting

This allows std::io::Error::from_raw_os_error to translate the
number to an error name.

Thanks again for creating the library. I had another try with it and it works great :) the only small "pain-point" I had was that the error codes returned for some of the system calls were not translated because they were negative. I think this PR should fix this.
Also is there a reason why FrameDesc does not implement Default? I needed some FrameDescs when fetching packets. I solved it by just keeping a copy of one of the original FrameDescs around in my struct.

Good catch on those error codes, that was an oversight on my part. All looks good apart from one minor comment.
Re FrameDesc not implementing Default there's no reason, but if you've a PR I'd certainly accept it or I'll chuck it in before the release with these changes you submitted.

Hi thanks :) your suggestion is correct.
I can try to make a PR, although it will take me at least two weeks as I'm currently away from my PC.

Thanks for the PR, much appreciated!
And no worries, I'll add a default impl to FrameDesc before release


[IR] Operations need to include the file path to each input file

This has been discussed on https://github.com/apollostack/apollo-android/pull/83
On Android, the generated classes need to be organized by package, so that requires us to be able to determine the original file path for each of the .graphql files so we can use that to determine which package name to use. Organizing classes in packages is a very standard practice on Android  and this solution is inspired by how Sqldelight handles .sq files.
@martijnwalraven

@felipecsl: I just released version 0.10.1 of apollo-codegen with this feature added. You'll have to install it with npm install -g apollo-codegen@next for now however, because it also contains some changes to the Swift generator that are incompatible with the release version of Apollo iOS.

Whoa that was fast, thanks!


Modifies loops to use .items()

Also simplified three three loops in agent.py

@colinhanrahan Review, please.

This should a separate branch from your master as you will get a merge conflict when I do a squash and merge of this PR. Your master branch's history will have a few commits which will soon be squashed into one. Closing this and will wait for a new one to open from a separate branch.