Short echo tag ("<?=") tag must be allowed for use in templates

In the MVC+Templating world, all new code does have template separation from the code.
So in templates with template-like syntax, which uses "if(STATEMENT):", "endif;", "foreach(..):", endforeach;" - and that does make the code more compact and easier to read for web-designers, the short echo tag - "<?=" have to be allowed as well. It as endorsed by the Rasmus Lerdorf - the creator of the PHP language - that's why it is always available since PHP 5.4.0. And WordPress is officially announced that it is dropping the support of all older versions prior PHP 5.6.0 since this April.
So in a template file with template-like syntax, i.e.
/wp-content/plugins/<PLUGIN_NAME>/UI/Templates/Admin/Item/Shared/ItemsPartial.php
this should be allowed:
<?php foreach($items AS $item): ?>

<?=esc_html($item['item_title']);?>

<?=esc_br_html($item['item_description']);?>

<?endforeach; ?>

And in this the Core Contributors handbook there has to be changes made to the Shorthand tags section: https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#no-shorthand-php-tags
Motivation

The creator of PHP language - Rasmus Lerdorf - endorses the shorthand <?= tag. He claimed that in public in one of his talks on the (then soon to be released) PHP 5.4. If not the Rasmus, we would never have the PHP as most popular language in the world, and it became so popular just because of the Rasmus needs to get things start easy, easy to read, and feel happy - all the coding standards has to help us, not to make us hate them.

That is why since PHP 5.4.0 the <?= tag is always available.

It was mostly done because by over-viewing many of projects with pre-PHP 5.4, the <?= tag is used in the View of an MVC application but <?php ... ?> is used in the non-view files.

The primary issue with tag (<?) was because was used by another syntax, XML.

Although <? causes conflicts with xml, <?= does not.

Prior to PHP 5.4 - the php.ini options to toggle it on and off were tied to short_open_tag, which meant that to get the benefit of the short echo tag (<?=), you had to deal with the issues of the short open tag (<?). The issues associated with the short open tag were much greater than the benefits from the short echo tag.

Starting from PHP 5.4 - the short echo tag has been re-enabled separate from the short_open_tag option. I see this as a direct endorsement of the convenience of <?=, as there's nothing fundamentally wrong with it in and of itself.

Last December WordPress core contributor officially announced that starting this April, WordPress is dropping the support for all older versions prior PHP 5.6.0. For more information please read the post at w.org named "Updating the Minimum PHP Version".

The oldest version of PHP that still gets security fixes is the PHP 5.6. In 2020 the majority of hosting providers and stacks like XAMPP will start offering only offer the PHP7. The PHP.net fully supports only PHP 7.2+ as of today.

Additional notes

The BAD is only the <? tag.

The GOOD are both - <?php and the <?= tags. Just first one is dedicated to use on code files, and the second one - in template files to output quickly single elements in a compact & easy-to-read, manner.

If someone has a question regarding the esc_br_html(...) - the ticket about the missing esc_br_html(...) function is here: https://core.trac.wordpress.org/ticket/46188

A good read about the short echo tags is this accepted answer at Stackoverflow with 186 up-votes: https://softwareengineering.stackexchange.com/a/151694/182409

Link to WordPress META ticket for Handbook:
https://meta.trac.wordpress.org/ticket/4159

Although some folks may not be a fan, I don't think there's any technical reason why we can't have:
<rule ref="Generic.PHP.DisallowShortOpenTag.EchoFound">
	<severity>0</severity>
</rule>

in whichever ruleset to allow <?= usage.

Ok, so there are technical reasons why this is not allowed and should not be changed until the WP minimum PHP requirement has changed to 5.4 or higher.
Like the @KestutisIT already outlined above:
PHP short open echo tags were only available in PHP 5.2 and 5.3 with the short_open_tag ini setting turned on and this setting was off by default.
As of PHP 5.4, short open echo tags became "always available" independently of the ini setting.
Allowing short open tags, is therefore a security issue as on PHP 5.2/5.3 with short_open_tag turned off the PHP code would be displayed, not the result of the code. This in turn can lead to the inadvertent disclosure of security vulnerabilities.
Even when WP core drops official support for PHP < 5.6, this doesn't mean straight away that the code will no longer run on PHP < 5.6 and it may be a little while before a version is released which actually breaks support for PHP < 5.6.
Similarly, plugins and themes will often support not just the latest WP version, but also a few older versions of WP, so for a while you can expect that at least a portion of those will still support PHP 5.2/5.3 while they still support WP 4.9/5.0 (or older).
With that in mind, I think it's way too early for WPCS to drop the requirement. Maybe in a year or so.
P.S.: that Rasmus supports it is a non-argument, WP has always flown it's own course in the face of what official PHP or the FIG recommends. Let's stick to technical arguments instead.

Allowing short open tags, is therefore a security issue as on PHP 5.2/5.3

That's a fair point, though I believe you meant short open echo tags.

Even when WP core drops official support for PHP < 5.6, this doesn't mean straight away that the code will no longer run on PHP < 5.6 and it may be a little while before a version is released which actually breaks support for PHP < 5.6.

With that in mind, I think it's way too early for WPCS to drop the requirement. Maybe in a year or so.

These two statements seem to be at odds with something like namespaces. WPCS doesn't actively disallow them, so they can be used. Once WP switches bumps to 5.6+, I don't see any reason for WPCS to continue to actively disallow short echo tags.

@GaryJones It's a handbook rule/Core ruleset , so WPCS can't drop this without further discussion.
https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#no-shorthand-php-tags

It's been a over a year since the issue was brought up, and a lot have changed since then.
WordPress now requires PHP 5.6 or higher, and the short echo tag (<?=) has been excluded from the short_open_tag php.ini directive since PHP 5.4. This means that it can't possibly cause fatal errors on PHP 5.4 or above.
@jrfnl provided some valid arguments, but as the time goes they become increasingly less important, and I don't think that compatibility with PHP 5.3 should be a priority, since it has been deprecated for over 5 years now.
Usage statistics of PHP versions also shows that the share of versions 5.3 and earlier is becoming more and more negligible. I'd like to emphasize that there's PHP 8 that is planned to be released by the end of the year. There also are official WordPress installation requirements that everybody should pay attention to when developing the core or the plugins.
Furthermore, there's a movement of updating WP coding standards in accordance to modern PHP versions, and now is the best time to introduce that change to the standard and allow using <?= in WP core and its plugins.

@sergeymitr Thanks for the reminder. As this is forbidden in the handbook, we cannot blindly change this. I have put the topic on the shortlist for a next post on Make to open it up for discussion.

Thanks @jrfnl

Hello!
It's been another year since the last reply. Was there any actual discussion on this topic? At the moment the rule that restricts usage of the <?= tag looks obsolete. Please let us know if there are any plans on removing it or starting a discussion on this topic?
Thank you!

+1

+1

+1 :)

+1

Adding +1 comments won't make this issue solved magically. Please don't comment unless you have something substantial to add to the conversation.

+1

Why isn't there any progression on this, and how can we get it going?
I have not seen a reason to keep this rule in modern PHP development.
I suggest purging it from the default ruleset ASAP; it's costing many people unnecessary refactorization and making unreadable code in the process.

You need to create a proposal first on the core make page (like this one: https://make.wordpress.org/core/2020/03/20/updating-the-coding-standards-for-modern-php/). Then you need to see if there will be any strong cases against it or some opposition from the core commiters.
Then if all is ok and there aren't any issues against it, a change to the handbook needs to be made, and a modification to the core/extra rulesets (depending on where this addition should go).

That's precisely how we got stuck with React in Core^1, the abundant use of array()^2, and the prohibition of ?:^2.
They all had an overwhelming majority vote against, yet crept in any way.
Let's get things done right for once instead of acting this faux bureaucracy through a supposed "community."

I'm all for implementing these changes, but until this whole WP drama thing is resolved, I'm not contributing to the project.
This is just my stance on the issue as one of the members of the WPCS group.


Publish to TestFairy "stable" builds only.

This should speed up a little bit the CI and I think nobody is installing each unstable build.

+1

+1


Improve IBM Cloud logo #476

Deploy preview for landscape ready!
Built with commit 6ffb69c61e8cee7789b5192d3ba2a965d7f036b8
https://deploy-preview-477--landscape.netlify.com


is there a way to group selectors to specify precedence?

I'm trying to generate the following  xpath string (so that I get the deepest element that contains the text I need)
(//*[contains(normalize-space(string(.)), 'Text')]/@id)[position() = last()]

but
XPath.anywhere[XPath.string.n.contains('Text')].attr(:id)[XPath.position.equals(XPath.last)]

generates
//*[contains(normalize-space(string(.)), 'Text')]/@id[(position() = last())]

which is kinda logical, considering how the XPath gem works in general, but not what I want :)
I've looked through the code and looks like there's no way to add parenthesis to the on in a where expression, but maybe I'm missing something
I can't do the filtering in the ruby-land because this is only a part of my bigger XPath selector so I need it to return only one node

yeah, that's what i was afraid of :)
thx for the response


Nihlathak run changed to use the correct path if the template 'NI2_A_SAFE_DIST_2' was detected

Template assets renamed to use an uniform suffix. _save_dist, _noattack
EyeCheckData class enhanced to contain a destination static path definition that is used instead of the template name

Right. Good catch.


Tooltip still works even after calling dispose method.

CodePen demo
http://codepen.io/anon/pen/egLXaQ
Steps to reproduce the problem

Open the site code pen example
Hover the mouse on the ref element sometimes.

What is the expected behavior?
The tooltip should be disabled after calling the "dispose" method.
What went wrong?
The tooltip still works, even after calling the dispose method.

Oh well.. at least it's the first time someone complains that something actually works 😂
I will look into it as soon I have a minute.

So, looks like dispose can work only if the tooltip has been shown at least once... Because dispose looks for this.tooltipNode, which is available only after the tooltip has been shown once.
I haven't time to fix it at the moment because I focus my spare time on the core, any contributions are more than welcome.

Has this been fixed or just closed?

Actually I thought it had been fixed.

Would bump priority of this since it sounds like basic functionality.

Sorry I give low priority to Tooltip.js because it's just a side-project to showcase Popper.js.
Feel free to adopt the issue and send a PR if you need this fixed asap.

This has been fixed

Could you please take a look in it again? I am having the exact same issue with Tooltip.js 1.3.1.


Option "Auto Water Refilling" cannot be activated [Dreame L10s Ultra]

Hi,
it seems that I cannot set the Switch for AutoWaterRefilling with this integration.
It always stays on off

device is a L10s Ultra... isn't this option available for the device?

it's not that I don't want to see it :)
I just questioned myself, why it is availbale - if I cannot set this.
I thought - it would enable the robot to automatically return to the dock to refill its water tank - but it seems, that this might be done together with the self-clean (settings per area)... when the robot returns to the dock for cleaning itself, it will refill the water-tank, too.
Hiding the setting within HA (or disable it isn't the problem :) )


[Question] Which service for air pressure

Hi Olivier,
Which Service handles are pressure? I have a BME280 and BME680 sensor to measure humidity, temperature, pressure and gas.
Humidity and temperature are know, but which service does work with pressure measured in hPa?
Ray

According to various sources, there is no pressure charcteristic yet in the official HomeKit specs.
There have been some people emulating elgato Eve Weather device. The custom characteristics can then only be viewed from the elgato Eve app, not from the Home app.
It would probably be possible to add the Eve Weather device as a selection in the homekit-service node, mostly because there are some guys documenting the proprietary IDs used by elgato.
I haven't looked into it yet, though.

Thanks for looking into it, since I don't want several apps for home automation I leave it as is. Maybe later pressure will be added to the Homekit specs.


Update WordFrequency.java

using merge methods to update a map

Correct proposal, but it uses a functional approach which has not been introduced in class yet!

You can eventually propose an exercise using merge() in the functional package!


Set MySQL rowtype to dynamic for new tables

Fixes #9347 for new installations and new tables

Codecov Report

Merging #10833 into master will decrease coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master   #10833      +/-   ##
==========================================
- Coverage   43.56%   43.54%   -0.02%
==========================================
  Files         589      589
  Lines       82691    82694       +3
==========================================
- Hits        36023    36008      -15
- Misses      42192    42208      +16
- Partials     4476     4478       +2

Impacted Files
Coverage Δ

models/models.go
60.22% <100.00%> (+0.67%)
:arrow_up:

modules/git/utils.go
65.67% <0.00%> (-4.48%)
:arrow_down:

modules/process/manager.go
74.69% <0.00%> (-3.62%)
:arrow_down:

models/unit.go
41.97% <0.00%> (-2.47%)
:arrow_down:

modules/queue/unique_queue_disk_channel.go
53.84% <0.00%> (-1.93%)
:arrow_down:

modules/git/repo.go
46.78% <0.00%> (-0.92%)
:arrow_down:

services/pull/pull.go
35.00% <0.00%> (-0.89%)
:arrow_down:

models/notification.go
63.88% <0.00%> (-0.84%)
:arrow_down:

routers/repo/view.go
36.14% <0.00%> (-0.68%)
:arrow_down:

modules/indexer/stats/db.go
50.00% <0.00%> (ø)

... and 2 more

Continue to review full report at Codecov.

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

@lafriks would it be worth just writing a migration so we never have to hear about this or get blamed for this again?

There's a chance this setting is also required?:
SET GLOBAL innodb_file_format=barracuda

See SO.
It may depend on the engine version.

@zeripath We don't need a migration. Once user encountered this problem, it will install gitea failed.

@guillep2k this needs to be implemented first as param in xorm like it is with rowtype


Ability to open record details in the org

Similarly to Developer Console query results - would like the ability to open the record in the default org.
Would need to query ID for that to be possible.
Specify in settings whether to use Lightning or Classic link type.

@kyunussov - Thanks for leaving feedback.  This is a duplicate of #127.  I added your comments to that issue.  Feel free to add further comments there if you have further input on this.  Thanks!


Adding an image (file?) as request body in Graph Explorer

MS Graph provides an endpoint for profile images: https://graph.microsoft.com/v1.0/me/photo/$value
However, Graph Explorer does not allow uploading an image in request body on a PATCH request. This only works in Postman (or similar), where it's possible to send a file in request body. Using Postman is not always acceptable for customers who need help with updating their image.
Would it be possible to add support for image as request body to Graph Explorer?

@RabebOthmani, could you please explain why this feature request was removed from Backlog? Does it mean it has been rejected?

@makocot-microsoft with our current setup, the backlog is a representation of the items we are planning to work on during the current milestone. We updated the bot to add any new tickets to ToTriage instead of backlog. This doesn't mean this request is rejected.
I'm currently investigating this and should have an answer soon.

Thank you, it's good to hear that!

@RabebOthmani / @darrelmiller  are we planning to support image uploads?

@RabebOthmani  / @adhiambovivian Any news? :)

@thewahome I just had a conversation with @darrelmiller and we believe having the ability to upload or download a file would be a great addition to support workloads.
Is the work technically possible on a JS SPA app?

Yeah..  it would be possible


fix libstdcxx requirement for libmamba 0.23.3

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

this is the result from show_diff.py:
linux-64::libmamba-0.23.3-hd8a31e3_1.tar.bz2
-    "libstdcxx-ng >=10.3.0",
+    "libstdcxx-ng >=12.1.0",
linux-64::libmambapy-0.23.3-py310hab0e683_1.tar.bz2
-    "libstdcxx-ng >=10.3.0",
+    "libstdcxx-ng >=12.1.0",
linux-64::libmambapy-0.23.3-py37h1ee4b26_1.tar.bz2
-    "libstdcxx-ng >=10.3.0",
+    "libstdcxx-ng >=12.1.0",
linux-64::libmambapy-0.23.3-py37h8c52fed_1.tar.bz2
-    "libstdcxx-ng >=10.3.0",
+    "libstdcxx-ng >=12.1.0",
linux-64::libmambapy-0.23.3-py38h923e62a_1.tar.bz2
-    "libstdcxx-ng >=10.3.0",
+    "libstdcxx-ng >=12.1.0",
linux-64::libmambapy-0.23.3-py39hd55135b_1.tar.bz2
-    "libstdcxx-ng >=10.3.0",
+    "libstdcxx-ng >=12.1.0",

cc @beckermr @isuruf

We could use a timestamp based approach to fix other packages with this problem?

@beckermr I think libgcc and libstdcxx are connected through some constraints.

It looks like they are somehow connected through libgomp. But I can also add the same constraint to for libgcc-ng.
Here is the new diff
linux-64::libmamba-0.23.3-hd8a31e3_1.tar.bz2
-    "libgcc-ng >=10.3.0",
+    "libgcc-ng >=12.1.0",
-    "libstdcxx-ng >=10.3.0",
+    "libstdcxx-ng >=12.1.0",
linux-64::libmambapy-0.23.3-py310hab0e683_1.tar.bz2
-    "libgcc-ng >=10.3.0",
+    "libgcc-ng >=12.1.0",
-    "libstdcxx-ng >=10.3.0",
+    "libstdcxx-ng >=12.1.0",
linux-64::libmambapy-0.23.3-py37h1ee4b26_1.tar.bz2
-    "libgcc-ng >=10.3.0",
+    "libgcc-ng >=12.1.0",
-    "libstdcxx-ng >=10.3.0",
+    "libstdcxx-ng >=12.1.0",
linux-64::libmambapy-0.23.3-py37h8c52fed_1.tar.bz2
-    "libgcc-ng >=10.3.0",
+    "libgcc-ng >=12.1.0",
-    "libstdcxx-ng >=10.3.0",
+    "libstdcxx-ng >=12.1.0",
linux-64::libmambapy-0.23.3-py38h923e62a_1.tar.bz2
-    "libgcc-ng >=10.3.0",
+    "libgcc-ng >=12.1.0",
-    "libstdcxx-ng >=10.3.0",
+    "libstdcxx-ng >=12.1.0",
linux-64::libmambapy-0.23.3-py39hd55135b_1.tar.bz2
-    "libgcc-ng >=10.3.0",
+    "libgcc-ng >=12.1.0",
-    "libstdcxx-ng >=10.3.0",
+    "libstdcxx-ng >=12.1.0",


Upgrade 99design/keyring library to address macOS security warnings

Signed-off-by: GitHub<EMAIL_ADDRESS>Description
Upgrades the 99 designs keyring library (used only by the Apache Pulsar Pubsub which unfortunately uses an outdated version) to address macOS security warnings
go get<EMAIL_ADDRESS>make modtidy-all

This PR eliminates the following warnings:
# github.com/keybase/go-keychain
cgo-gcc-prolog:81:11: warning: 'SecKeychainCreate' is deprecated: first deprecated in macOS 12.0 - Custom keychain management is no longer supported [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:301:10: note: 'SecKeychainCreate' has been explicitly marked deprecated here
cgo-gcc-prolog:139:11: warning: 'SecKeychainLock' is deprecated: first deprecated in macOS 12.0 - Custom keychain management is no longer supported [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:357:10: note: 'SecKeychainLock' has been explicitly marked deprecated here
cgo-gcc-prolog:159:11: warning: 'SecKeychainOpen' is deprecated: first deprecated in macOS 12.0 - Custom keychain management is no longer supported [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:287:10: note: 'SecKeychainOpen' has been explicitly marked deprecated here
cgo-gcc-prolog:183:11: warning: 'SecKeychainUnlock' is deprecated: first deprecated in macOS 12.0 - Custom keychain management is no longer supported [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:347:10: note: 'SecKeychainUnlock' has been explicitly marked deprecated here
cgo-gcc-prolog:203:11: warning: 'SecTrustedApplicationCreateFromPath' is deprecated: first deprecated in macOS 10.15 - No longer supported [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecTrustedApplication.h:59:10: note: 'SecTrustedApplicationCreateFromPath' has been explicitly marked deprecated here

@berndverst please check why cert tests are failing.

@yaron2 they weren't failing - they just got cancelled by something else. Rerunning them now.


Changing file path to where the server is installed.

When you install the OmniSharpServer (following the README) the executable is at server/OmniSharpServer/OmniSharp/bin/Debug/OmniSharp.exe.

FYI, I'm specifically talking about this. The instructions create another folder called OmniSharpServer - https://github.com/OmniSharp/omnisharp-server/blob/2d35d0b14d6b0973d72dfe0eb78a8121055bf0b6/README.md

I tried installing omnisharp-server from omnisharp-vim repository, the executable is at server/OmniSharp/bin/Debug/OmniSharp.exe.
Did you use git submodule?
$ git clone https://github.com/OmniSharp/omnisharp-vim
$ cd omnisharp-vim
$ git submodule update --init --recursive
$ cd server
$ xbuild
$ ls OmniSharp/bin/Debug/OmniSharp.exe
OmniSharp/bin/Debug/OmniSharp.exe

Erm, no completely missed that, fail. I'll just go and close it then. Thanks


test rebot

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

/kind bug

/king feature

/pony

/pony

/kind feature

/kind feature

/retest

/kind feature

/kind cleanup

/kind cleanup

/kind cleanup

/kind cleanup

/assign

/lgtm

retest

/lgtm

/assign

/dog

/approve

/dog


Add path token to resolved pointer value

When dereferencing a json schema, the #/definitions are merged into the root type.
As a result, when using json-schema-to-typescript to generate declaration files from the schema,
all externally referenced interfaces get merged into one big interface.
See: https://github.com/bcherny/json-schema-to-typescript/issues/143
By sticking the token to the resolved pointer value, the information about the path (i.e. the interface name) is not lost
and can be used to generate the right interfaces. The corresponding change can be found here:
https://github.com/nkappler/json-schema-to-typescript/commit/d53af1210d1514cf5b3e03723e4a24d02f065e73
I am not sure if this is the 'proper' way to do it, but it is a tiny and simple fix and it works

Thanks for the PR!  I'm having trouble seeing what problem this solves and/or what effect it will have for consumers of the library.  Could you add some tests that exercise the behavior and only pass with this PR in place?

Hi James,
the problem is described in detail here: bcherny/json-schema-to-typescript#143
Also see my comments there from yesterday, where i found the root cause

Especially this comment:
https://github.com/bcherny/json-schema-to-typescript/issues/143#issuecomment-659349106

Unclear problem being solved. Sorry!

Unclear problem being solved. Sorry!


Start the app in the center of the screen

Is your feature request related to a problem? Please describe.
The window always opens in the lower left corner of the screen.
Describe the solution you'd like
Opening the app should place its window in the center of the screen, or (as many built-in apple apps do) a little higher than the center.
Describe alternatives you've considered
It might also be good to save the window position. De default position should still be improved though.

Few years ago I have written a "nibless" cocoa app for an OpenGL based multiplatform game engine.
This is how I set up the window:
init(app: NSApplication) {
	let screen = NSScreen.main()!
	let rect = NSMakeRect(
		screen.visibleFrame.origin.x + screen.visibleFrame.width / 2 - CGFloat(preferredWidth) / screen.backingScaleFactor / 2,
		screen.visibleFrame.origin.y + screen.visibleFrame.height / 2 - CGFloat(preferredHeight) / screen.backingScaleFactor / 2,
		CGFloat(preferredWidth) / screen.backingScaleFactor,
		CGFloat(preferredHeight) / screen.backingScaleFactor
	)
	window = NSWindow(
		contentRect: rect,
		styleMask: [ NSTitledWindowMask, NSClosableWindowMask, NSResizableWindowMask ],
		backing: .buffered,
		defer: false
	)
	window.title = Bundle.main.infoDictionary!["CFBundleName"] as! String
	view = OpenGLView(frame: rect)
}

Not sure if this speeds things up for you, or where you would put this in your code. Maybe some params in the storyboard does the trick. Also, you dont need the screen.backingScaleFactor, which I used because preferred size of the game is in physical pixels.


Spark 2.0.0 Multiple sources found for cvs

When using read().csv("path"), or write().csv("path") in Java, I always encountered _Exception in thread "main" java.lang.RuntimeException: Multiple sources found for cvs.

This will be a duplicate of https://github.com/databricks/spark-csv/issues/367. We should not import this CSV package. This library was ported into Spark 2.0.


Bracket closing for auto completion

If you want to write a function into closed brackets () you endup with something like that if you use auto completion:
(function_name()
Would be nice if it keeps the outer bracket like that:
(function_name())

In addition to this issue. If you want to get a node with get_node() and you have something like this as starting point for autocompletion:
get_node("")
Now if you type in the string into the quotes and autocomplete you will end up with that:
get_node("path_to_node"")
Would be great if the extra quote gets deleted.

I agree with ndee85 for the 2nd case he described ('|' character is the current editing position)
--> initial situation : get_node("|")
after auto-completion :
--> get_node("/path/to/node"|")
This can be simple to do, I can have a look when I have some spare time.
However, I think the 1st situation is not expectable. I'd propose an automatic addition of right bracket ')' if the fist left bracket was inserted BY THE USER, that is :
--> initial situation : (|
would automatically add the extra right bracket :
--> (|)
But in this case, what behavior is expected when the left bracket is removed by the user in this situation ?
--> var blah = (|foo(bar).with(some, stuff)).and_some(other, stuff)
-------------------^

I don't think the first case would be an improvement, as in some cases you want to do:
(function1_name() + function2_name())

So if you use autocompletion for both functions, it would add an unneeded closing bracket after function1_name().

I agree with @StraToN: it should complete the closing bracket when the user adds the opening one, not when the function name is autocompleted.

In following examples, '|' character is cursor position.
@akien-mga
The insertion of a left-bracket '(' should provoke the insertion of a right-bracket ')' only if there is no character right after the '(':
ie: function1_name| + '(' ==> function1_name(|)
and: |function1_name() + '(' ==> (|function1_name()
Automatically adding surrounding brackets around an aleady-existing expression should not be possible that way. One should have to add both left and right brackets by hand then.

Uhm, it seems all this is already implemented, but disabled by default: in Settings/Editor Settings, enable TextEditor/Auto Brace Complete.

Is it though? I enabled it and didn't make any difference.


Yearly mode

Hi,
I'm almost missing one about my job. I want to make annual view mode like like official apple app?

When I looked at the source files, I couldn't get an idea.
Can I do this with the custom method? also do i need to write a ui for year view?
By the way, Thank you for this library that makes me happy.

Hi, thank you for your kind words.
There is no such mode, so you should implement your own UI. If you create a pull request for this, I'm happy to merge it.
Best regards,
Kay

How about custom mode? Is this like a plugin? How can i add new view basicly?

There's no mechanism which supports the custom mode. You should create your own component and show it when the mode is year.
If you fork this library and improve it to support year mode, please make a pull request for that. Thanks


Build a back-end mechanism to save the off-chain Merkle roots

Thinking about an efficient way
When createGroup() is called, it will not save the merkle root to on-chain.(because there are no members at first.)
When addMember() is called, I will use scheduling 'Timeout' instead of 'cron' to save off-chain roots.
Once called, set the 'Timeout' to execute the task after 1 minute. (I think we need to find the right time at the production level.)
addMember() call is possible while 'timeout' is set and before task is executed.(Skip set 'timeout' if 'timeout' is already on schedule)
Stores off-chain roots of addedMember groups when executing tasks.
(@todo: Find an efficient way to find updated group root through cachedGroups)
Suggestion
After checking the off-chain group update event, how about updating group DB members at this time?
(Do not update the DB at addMember() and reflect it in the DB when the root is stored on-chain.)

It makes sense! From what I understood, using that timeout within the addMember function should allow you to update the roots only when there are actually roots to be saved right?

yes right! It's like waking up when an actual roots change should happen. We can also accommodate many requests in a short period of time without wasting gas.  Only 1 minute but lol😂.  However, it cannot keep users waiting for a long time.

I think the most efficient way is to mark the roots to be saved in a temporary key-value array (key: group id, which can be the hash of the group name, value: root hash), and then save just those roots.

Makes sense! Temporary array would be good way. I will try this. Thanks!

What would be the advantage? I feel like it could become more complex for no specific reason.

I thought it would make sense to update the db when an off-chain root update actually occurs on-chain.  But db is only used to show group information, and it seems that there is no advantage because the merkle proof generation for generating the actual semaphore proof will use cachedGroup. I agree. I will withdraw this!

I thought it would make sense to update the db when an off-chain root update actually occurs on-chain. But db is only used to show group information, and it seems that there is no advantage because the merkle proof generation for generating the actual semaphore proof will use cachedGroup. I agree. I will withdraw this!

Yea, I'd say there is also another important point. Devs can decide to verify proofs off-chain, without using any contract. Those devs shouldn't wait for on-chain stuff.


the library is not thread-safe

We are using the lib inside a mulitply-threads context and found it is not thread-safe. There are global variables are using to optimized some internal parameters delivery.
For instance:
static state_t* state;
static uint8_t RoundKey[keyExpSize];
static const uint8_t* Key;
After remove them, lib are working propertly under mulitply-threads.

Hi @quhaige thanks for your interest in the project :)
You are right that static variables do not work well with multithreading.
An easy fix is to move all variables inside a struct and pass it to the encryption/decryption functions.
There is already an issue pointing this out.

thanks, wish u have good day^^


Unable to load any prs when using ssh url

I searched for existing isues

Extension version:v0.92.0
VSCode Version:1.91.1
OS: Windows 11 -WSL Ubuntu 22.04.4 LTS
Repository Clone Configuration (single repository/fork of an upstream repository):single repository
Github Product (Github.com/Github Enterprise version x.x.x): Github.com

Steps to Reproduce:

configure origin and github with only ssh auth and no https or PAT
install extension
get error Fetching pull requests for remote origin with query failed, please check if the repo undefined is valid.

I'm not able to reproduce this. Can you share the value of githubPullRequests.queries? Is this in a public repo, and if so, can you share which one?

I am facing the same issue.
To reproduce this issue, We need to authenticate github via ssh instead of https.
You will not notice PRs under github pull requests, PRs will not be listed.
When we authenticate via https, it shows the PRs under github pull requests.
Here are the queries:
"githubPullRequests.queries": [
{
"label": "Waiting For My Review",
"query": "is:open review-requested:${user}"
},
{
"label": "Assigned To Me",
"query": "is:open assignee:${user}"
},
{
"label": "Created By Me",
"query": "is:open author:${user}"
}
]
just curious, How is it not working when authenticated over ssh, but smoothly works via https.

I am also having this issue on my Windows11 machine configured to connect via SSH to private repos.  My Mac with the same configuration for git works just fine.

I am having the same issue from Windows11 using ssh to connect to private repos.  This same configuration on my Mac works just fine.

I had a similar issue. My issue was that I was logged in to two GitHub accounts through VS Code. I clicked the "Accounts" icon at the bottom of the activity bar and signed out of the GitHub account that wasn't authorized for the repo I was using. At that point, I was able to return to the extension and successfully sign in to GitHub.

I'm still not able to repro. Does @cg2916's work around work for everyone? If not, I'll re-open the issue.


quieten dashboard errors

ticket here: https://github.com/elifesciences/jira-import/issues/460

detail view now returns a 404 when article not found instead of a 5xx and a stack trace in the log

This should finally quieten those daily 500 errors.

I'll hopefully get the build sorted today and get it deployed.

looks like the database had changed since last --ci was updated. I removed the /root/db-created.flag and re-did highstate. Highstate completed successfully, so I'm guessing the schema was updated, kicking build ...


Hack Session 626 ✼ Remotely

01.05.2024
Wrap-up of our Gōng-fu I/O Weekly · Hack Session #626 ✼ Remotely ✼ meetup.
Projects
• GitHub › GraphQL API › Export issues and comments of @gongfudev/sessions — @olange and @rudifa
• Flutter — @andreaskundig and @david-hodgetts
See also

#625 Previous session
#627 Next session

Reviewed ETL pipeline built by @rudifa to query all issues with comments thru GitHub's GraphQL API, and transform them to individual HTML fragments.

The prototype project fetches the Hack Session data via github graphql and uses the marked.js package to convert the markdown data fragments to HTML in Astro components.

Renamed the prototype project to astro-gfio-sessions and published it on netlify.


Add worker support for blacklisted queues

Summary
This change allows for blacklisted queues to be provided to workers while maintaining the convenience of using blobs.
Example
#work all queues as before
QUEUE='*' rake resque:work

#works all queues but the 'problematic' queue
QUEUE='*,!problematic' rake resque:work

Looks good to me.

roflmao

🙂 some dreams just have to die


Move cell dict parsing to atoms.py

Codecov Report

Merging #186 (532feec) into develop (ab9a083) will increase coverage by 0.00%.
The diff coverage is 72.54%.

:exclamation: Current head 532feec differs from pull request most recent head 758bf4a. Consider uploading reports for the commit 758bf4a to get more accurate results

@@           Coverage Diff            @@
##           develop     #186   +/-   ##
========================================
  Coverage    47.99%   48.00%
========================================
  Files          111      111
  Lines        17473    17469    -4
========================================
- Hits          8387     8386    -1
+ Misses        9086     9083    -3

Impacted Files
Coverage Δ

phonopy/file_IO.py
28.53% <0.00%> (ø)

phonopy/structure/atoms.py
71.98% <64.70%> (-1.11%)
:arrow_down:

phonopy/interface/phonopy_yaml.py
81.34% <100.00%> (+1.48%)
:arrow_up:

test/structure/test_atoms.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Black Screen on Widevivene L1 Device - License server returned failure

Environment
Disney Plus addon latest version
Operating system version/name: Android Oreo 8.0.0
Device: Philips 65OLED873/12
Bug:
Black screen when playing 4K HDR content.
log:
2020-11-02 00:08:06.333 T:29838 DEBUG: CurlFile::Open(0x89d55380) http://<IP_ADDRESS>:49005/https://global.edge.bamgrid.com/widevine/v1/obtain-license
2020-11-02 00:08:09.993 T:29838 ERROR: CCurlFile::FillBuffer - Failed: HTTP returned error 403
2020-11-02 00:08:09.994 T:29838 ERROR: CCurlFile::Open failed with code 403 for http://<IP_ADDRESS>:49005/https://global.edge.bamgrid.com/widevine/v1/obtain-license: 2020-11-02 00:08:09.994 T:29838 ERROR: AddOnLog: InputStream Adaptive: License server returned failure

That's definitely not a problem of inputstreamhelper, which is almost completely disabled on Android. It could be an issue with inputstream.adaptive, although to me it looks like a misconfigured proxy/VPN.


Browser/Dist version

In the docs says import like:

Then one would place onto the instance:
components: {
   'share-network': window.VueSocialSharing
}

And then use in template like:
I'm not sure this is correct?
<share-network
          inline-template
          network="facebook"
          :url="`https://example.com`"
          title="Visit example.com"
          description="this is the description"
          quote="this is a quote"
          hashtags="foo,bar,baz">

Facebook

</share-network>

But clicking on the link doesn't do anything.
Rendered DOM looks like:
<div
          inline-template
          network="facebook"
          :url="`https://example.com`"
          title="Visit example.com"
          description="this is the description"
          quote="this is a quote"
          hashtags="foo,bar,baz">
     Facebook

Works in vue with recommended import webpack etc as have used it before, but cannot seem to get it to work using dist method.
An other issue https://github.com/nicolasbeauvais/vue-social-sharing/issues/47 says use the following:
<social-sharing
        url="https://vuejs.org/"
        inline-template
>

            <network
                network="facebook"
            />
            <network
               network="twitter"
            />

</social-sharing>

But then network is not defined.
Any chance of an example using dis/browser method?

Np, if not, ill just extract the source/component out of the amd module and make own global component.

abstracted out of the amd module and works fine now, also need to add inline-template.
<share-network
          network="facebook"
          :url="`https://example.com`"
          title="Visit example.com"
          description="this is the description"
          quote="this is a quote"
          hashtags="foo,bar,baz">

Facebook

</share-network>


Token expires from InvalidArgumentException to RuntimeException

As per comments on #319

Looks great. Thanks for making these changes.


Pin third_party/llvm-project to patched-llvm-project-20220520

Update submodule url to https://github.com/google/iree-llvm-fork.git
Add pinned state

Not really sure how .*-pin works. Do we need the file? Is it a hint to users or it does help git submodule?

I am not sure. Was hoping to get some input on that. Previously on cherry pick I just drop it from the PR, but maybe it is needed. If Stella doesnt respond, I will just drop it.

Not really sure how .*-pin works. Do we need the file? Is it a hint to users or it does help git submodule?

I am not sure. Was hoping to get some input on that. Previously on cherry pick I just drop it from the PR, but maybe it is needed. If Stella doesnt respond, I will just drop it.

I should look at the pin thing with the scripts. Not sure we need that anymore, but it doesn't hurt. No action needed from you.


database/sql/driver: someting is wrong in driver.ColumnConverter

The ColumnConverter  interface  does not have anything common with columns and  column index.
Column index is actually bind argument index.
If driver implements this interface, and called with query like:
st.Exec(`select a from table where table.a in(?,?,?,?,?,?,?,?)`,1,2,3,4,5,6,7,8)

ColumnConverter is called with indexes from 1 to 8, but result have only 1 column.
For reference current godoc:
type ColumnConverter
ColumnConverter may be optionally implemented by Stmt if the statement is aware of its own columns' types and can convert from any type to a driver Value.
type ColumnConverter interface {
        // ColumnConverter returns a ValueConverter for the provided
        // column index. If the type of a specific column isn't known
        // or shouldn't be handled specially, DefaultValueConverter
        // can be returned.
        ColumnConverter(idx int) ValueConverter
}

just reveal that on tip,  ColumnConverter interface is deprecated and  NamedValueChecker is introduced,
I'm not sure what to do with this issue.
Close ?

cc @kardianos

ColumnConverter is used for input args for stmts. It was really limited. As you noted i recommend implementing named value checker, which again operates on arguments, not output columns.


feat: support torch>=1.11

Fix #900.
Support PyTorch version >= 1.11. Referring to https://github.com/pytorch/pytorch/pull/66765 and https://github.com/pytorch/pytorch/wiki/TH-to-ATen-porting-guide.

Thanks, that's useful!

I'm using torch==1.12.0+cu116. After I removed
#include <THC/THC.h>
extern THCState *state;

in the modified 10 files, I could still successfully re-build OpenPCDet. Yet I'm not sure of the behavior for torch<=1.10.

Yes, I have tried it before and it should also work for torch<=1.10.

Hi @yihuajack ,
Can you help to remove these lines to support higher version PyTorch? So that I can merge your PR to the master.

Removed


fix a flaky test case by avoiding hard coded table size

Trying to fix a flaky integ test case by replacing a hard coded table size with one got programmatically

Does this mean with the same table config and data, the segment generated is non-deterministic? I'd suggest checking which part can be non-deterministic, and fix that. Ideally we should always get the same segment so that they have the same CRC.

Does this mean ... the segment generated is non-deterministic...

If this is the purpose of using a hard coded table size early on, I'll take a look at making segment generation deterministic and correct the initial value of table size.

Codecov Report

Merging #8739 (24cef3e) into master (96a0291) will decrease coverage by 55.37%.
The diff coverage is n/a.

:exclamation: Current head 24cef3e differs from pull request most recent head 9bf2da9. Consider uploading reports for the commit 9bf2da9 to get more accurate results

@@              Coverage Diff              @@
##             master    #8739       +/-   ##
=============================================
- Coverage     69.65%   14.27%   -55.38%
+ Complexity     4612      168     -4444
=============================================
  Files          1730     1684       -46
  Lines         90314    88336     -1978
  Branches      13421    13203      -218
=============================================
- Hits          62904    12612    -50292
- Misses        23042    74779    +51737
+ Partials       4368      945     -3423

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
14.27% <ø> (+<0.01%)
:arrow_up:

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

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


Missing color for help dialog in Light Theme

Operating system or device, Godot version, GPU Model and driver (if graphics related):
master branch
Issue description:

@djrm should be relativly easy to fix. Probably introduced in the cleanup?

maybe thats not updating, the code seems fine.

@guilhermefelipecgs can you restart godot with the setting white theme active and check if it is still dark

Tested, nothing change when I restart.
I also execute rm -rf ~/.godot/ to reset all the settings.


feat(fides): Add custom secrets for all fides containers.

Description of Changes
This enables loading secrets in environment variables via valueFrom secretKeyRef using secret name and key.

~Closes ###~

Pre-merge Checklist

[ ] All CI Pipelines Succeeded
[ ] Documentation Updated
[ ] Increment Applicable Chart Versions
[ ] Relevant Follow-Up Issues Created
[ ] Update the Fides chart CHANGELOG.md
[ ] Update the Fides-minimal chart CHANGELOG.md

LGTM! Thanks for your contribution!


[physx] Fix x86 Linux build errors

As per comments in the source, "some GCC compilers need the compiler flag -malign-double to be set."
https://github.com/NVIDIAGameWorks/PhysX/blob/a2c0428acab643e60618c681b501e86f7fd558cc/pxshared/include/foundation/PxPreprocessor.h#L473

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[x] The "supports" clause reflects platforms that may be fixed by this new version
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Upstream pull request: https://github.com/NVIDIAGameWorks/PhysX/pull/627


Version Number Counter - 404 Error on TFS URI

When I try to use the Version Number Counter task in my release pipeline, I get a 404 error when the task does its first GET request to the Azure DevOps REST API.
The URI it uses is from the SYSTEM_TEAMFOUNDATIONSERVERURI which for me looks like https://vsrm.dev.azure.com/<org name>/
I tried to query the full endpoint using that URI https://vsrm.dev.azure.com/<org name>/<project name>/_apis/build/builds/172?api-version=4.1 and like the error I got in the pipeline, I got a 404 error. I tried to see what happened with different URIs and there is the SYSTEM_TEAMFOUNDATIONCOLLECTIONURI which for me looks like https://dev.azure.com/<org name>/. So, I tried querying the endpoint from before but only removing the "vsrm." part and I actually got a proper response.
I made a fork and added an option so you can add a custom URI to use but I was also thinking about just making it a boolean flag to mark if you want to use the TFS URI versus the collections URI.  However, I wasn't sure if I was just doing something wrong, so I figured I would check here first before I make the pull request.
Here are screenshots of the error and the options I am using in the task:

@jmeaster30 could you also share the logs for more insights?
Please send it when you did a run with the system.debug variable set to true

@maikvandergaag Sorry yeah I forgot to cover all of the names that I don't think I can share.
I'll run it again with that system.debug variable set

@maikvandergaag Here is the debug log

@jmeaster30 I just published a new version that should also include this fix.


Terms and definitions are missing in the documentation

Describe the bug
In c0ae8e26cab4bf3188a0a4f10a905dfbf9705880: the  terms and definitions part was removed. Was it on purpose?
If yes, we should adjust the text in the Structure of the Document in IDTA-01005_Introduction.adoc
Where
https://github.com/admin-shell-io/aas-specs-aasx/blob/IDTA-01005-3-1_working/documentation/IDTA-01005/modules/ROOT/pages/IDTA-01005_Introduction.adoc)

No, this is not on purpose
The structure should be as in Part 1. The text needs to be adopted to new structure.

Fixed in #16


b-offcanvas does not accept a class, name, style, id and spoiles document.body

Describe the bug:

b-offcanvas does not accept a class, name, style, id, or any other attribute. Is there another way to change the width of b-offcanvas?
If b-offcanvas is created with v-model="true", it has attributes before the first close. And also style="overflow: hidden; padding-right: 0px;" on document.body which are never be removed after.

To Reproduce:

Make vue

<template>
  <b-offcanvas
    v-model="show"
    class="test"
    id="test"
    style="background-color: lime"
  >TEMP</b-offcanvas>
</template>
<script>
export default {
  data() {
    return {
      show: true,
    };
  },
}
</script>

Look at Inspector
See error

Expected behavior:

DIV.offcanvas has attributes from template.
document.body hasn't style.

Environment:

OS: MacOS 10.15.7
npm -v 9.3.1

It may be best to use the bootstrap variables in this case. I don't think traditional classes and styles work well with offcanvas

use the bootstrap variables

v-model="show"
...
data() {
    return {
      show: true,
    };
  },

Is it not ok?

use the bootstrap variables

v-model="show"
...
data() {
    return {
      show: true,
    };
  },

Is it not ok?

I'm not sure how this pertains to the issue


Barrow spawners spawn hundreds of mobs and crash server if chunkloaded

If a barrow spawner is present in a chunk that is kept loaded (via FTB Utilities or another chunkloading mod) then it will continuously spawn mobs that don't despawn unless a player is online. This eventually causes the server to experience severe lag, and if "max-tick-time" is configured then the server will eventually crash. The mobs persist even through a server reboot, so the problem can be tricky to fix. (Especially if you don't realise what's causing it!)
I initially encountered this issue here and a commenter pointed out that this behaviour is caused by the Roots barrow spawners.
I think a simple fix would be to check if at least one player is in the dimension before spawning any mobs, as the mobs will despawn if no players are nearby as long as at least one player is within the dimension.
Or if you want to allow mob grinders to continue to work with chunkloaders, you could make it check how many mobs are nearby and only spawn more if it's under a reasonable amount.

Hi there, if this is specifically referring to the entity that spawns mobs in Roots 2, then I'm afraid Roots 2 is no longer under development. The old barrow structure has been removed and been replaced with a standard mob spawner in the next version of Roots (Roots 3) + Mystical World -- which will hopefully be released soon.

(Sorry if this wasn't the answer you were looking for!)

Dang, sorry to hear that. I can understand Roots 2 not being in active development anymore, but is there any chance this could be provided as a hotfix/patch version for it? Many modpacks still use Roots 2 and this affects server stability.


Add random execution_payload_header to Bellatrix state in tests

This PR adds random execution_payload_header to random Bellatrix state in tests

Hey Katya. I've pulled some updates to the Makefile into your branch. Please run make clean (just this once, because of the Makefile changes) and then make lint to see some linter issues that need to be fixed.


Unable to get basic Splunk server running

Affected Puppet, Ruby, OS and module versions/distributions

Puppet: 4.5.1 (vagrant) 4.10.8 (vmware)
Ruby: 2.1.9p490
Distribution: Ubuntu 16.04 LTS
Module version: v7.0.0

How to reproduce (e.g Puppet code you use)
class mailonline::splunk2 {
class { '::splunk::params':
version      => '6.6.3',
src_root     => 'http://somebucket.s3-website-eu-west-1.amazonaws.com',
splunkd_port => '8089',
}
include ::splunk
}
What are you seeing
Error: Failed to apply catalog: no parameter named 'section'
What behaviour did you expect instead
Notice: Applied catalog in n.nn seconds
Output log
Info: Using configured environment 'env'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Warning: Creating splunk_index via Puppet.newtype is deprecated and will be removed in a future release. Use Puppet::Type.newtype instead.
(at /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:162:in `newtype')
Info: Caching catalog for
Error: Failed to apply catalog: no parameter named 'section'
Any additional information you'd like to impart
Tried it on v6.3.1 as well same issue

Do you need the build number in there as well?

Unfortunately not, but good spot vandelin586, I was hopeful that would be it. I have my deb package at:
http://somebucket.s3-website-eu-west-1.amazonaws.com/products/splunk/releases/6.6.3/linux/splunk-6.6.3-e21ee54bc796-linux-2.6-amd64.deb
My Manifest now looks like:
class mailonline::splunk2 {
class { '::splunk::params':
version      => '6.6.3',
build        => 'e21ee54bc796',
src_root     => 'http://somebucket.s3-website-eu-west-1.amazonaws.com',
splunkd_port => '8089',
}
include ::splunk
}
I tried adding server as per your class but that still made no difference, but thanks for the suggestion.

Also had a look through splunk::params, the notes and code suggests the path to the .deb package should be @ .../splunk/linux/splunk-6.6.3-e21ee54bc796-linux-2.6-amd64.deb, tried adding my .deb to that location but still no change in the error Error: Failed to apply catalog: no parameter named 'section'

I get further misery when trying to use puppet:///... as a src_root:
Error: Failed to apply catalog: Parameter source failed on Archive[/opt/staging/splunk/splunk-6.6.3-e21ee54bc796-linux-2.6-amd64.deb]: invalid source url: puppet:///modules/mymodule/mypath/splunk/linux/splunk-6.6.3-e21ee54bc796-linux-2.6-amd64.deb at /etc/puppetlabs/code/environments/myenv/modules-thirdparty/splunk/manifests/init.pp:84
Using:
class { '::splunk::params':
version      => '6.6.3',
build        => 'e21ee54bc796',
src_root     => 'puppet:///modules/mymodule/mypath',
}
But can confirm file residing in correct place by running the below on puppet server:
puppet apply -e "file {'/tmp/wibble': source => 'puppet:///modules/mymodule/mypath/splunk/linux/splunk-6.6.3-e21ee54bc796-linux-2.6-amd64.deb',}" --environment myenv
Notice: Compiled catalog for myserver in environment myenv in 0.07 seconds
Notice: /Stage[main]/Main/File[/tmp/wibble]/ensure: defined content as '{md5}dabf657da3f7c4023c07f25857db65c4'
Notice: Applied catalog in 2.62 seconds

Still interested in getting this working, if there are any pointers I'd much appreciate.

Update:
With help of a colleague, we updated our Puppetfile to honour the version requirements in metadata.json - However we still had issues, this was resolved by removing some in-house written ruby splunk library modules, that we presumed the names were colliding.


Timber 1.1.2 claims not to be active

Expected behaviour
When installed or activated, I expect that Timber will register itself correctly and be available to a theme.
Actual behavior
When installed fresh or in existing site, updating to Timber 1.1.2 makes any theme return only the following error message Timber not activated. Make sure you activate the plugin in /wp-admin/plugins.php
Steps to reproduce behavior
Fresh install of current WP, fresh install of Timber 1.1.2, fresh install of timber/starter-theme
What version of WordPress, PHP and Timber are you using?
4.5.2 / 5.5.30 / 1.1.2
How did you install Timber? (for example, from GitHub, Composer/Packagist, WP.org?)
Via plugin updater and also tried via wp-cli

@Rocketpilot — can you send me a screenshot of your plugins page?

@jarednova happy to, but won't be back at work computer for a while as it's a public holiday now down under. In any case this is happening on a completely stock install with only Timber running or indeed loaded. I'll try and replicate on my home machine.

@jarednova addendum, I ran up a test install on my home Mac, PHP version 5.6.16; the theme and the plugin work fine, so it must be something to do with my local environment. I have wp_debug etc turned on and errors should be logging into php.log but aren't, can you advise on some troubleshooting steps I could follow?

Further addendum: on my clean install in my work localhost environment I removed the timber-library plugin I'd already installed, activated wp native debug logging and tried re-installing via WP-CLI. The following errors were logged:
Activating 'timber-library'...
Backtrace from fatal error "The Twig_Autoloader class is deprecated since version 1.21 and will be removed in 2.0. Use Composer instead."
 About to show the plugin screen as requested...

Dropbox link to screengrab https://www.dropbox.com/s/vbe6zazjop7ecc9/Screenshot 2016-08-11 10.22.49.png?dl=0

I can confirm 1.1.3 also fails to run on my local development environment. It does work in my org's staging environment but that continues to make development difficult. Version 1.0.3 does work, however, so I have reverted to that for my active projects.

I also have problems running version 1.1.3: The composer autoloading doesn't seem to work correctly, because it can't find the Timber classes (Maybe some namespace related changes?). Is there some news?

@drieschel could you document briefly how you fixed the problem? In my case it seems very specific to my local development environment's PHP version as I've deployed 1.1.3 elsewhere without issue.

@drieschel You are correct that loading behaviors changed. In 1.0 this was the introduction of namespaces and in 1.1 this was removing autoloading for composer. This is documented in readme.txt, but is there a standard documentation format or location that would help publicize these changes better?
The thing is these changes shouldn't cause the issues that @Rocketpilot is having as the distributed wp.org version includes autoloading (see bin/timber.php)

@jarednova You could mention it in the upgrade guide (https://github.com/timber/timber/wiki/1.0-Upgrade-Guide). I also didn't realize that I have to instantiate a Timber object in the functions php additional to a Site inherited object. I probably don't need the Site inherited one anymore, because I don't have a multi site but it's working fine (using it for the default functions.php stuff).

Addendum that I've updated to the latest version of WP and Timber and also my Zend environment to PHP 5.6.23 and still having the same issues even on my completely vanilla local test installation. Very perplexing.

Didn't really see a resolution to this issue.  I'm having the same problem.  I'm on a mac with php 5.6, installed a fresh copy of WP 4.7.3 and simply added the Timber plugin and upgraded it to 1.2.4.  Copied the timber-starter-theme to themes folder and all I get is Timber not activated error.  Not sure why autoloading is not working out of the box here or how to fix it?  Any help?  Running composer install and update are no help.  Functions.php file has the added autoload requirement.
P.S.  If I walk through files and include USE statements in each file where classes are being used then it starts to work.  In some cases I have to alias to get it to work ie "use Timber\Menu as TimberMenu" but this is a worm hole and just keeps crashing down the line.  Also, I have tried using the same set of code that is working on Bluehost server with PHP 5.4, no beuno.  Any thoughts?

I've more or less worked around the issue on my existing theme and new ones don't appear to present the same challenges, but I continue to be dismayed by how thin the documentation is around this transition.


output: Add backup feature for bad chunks

Fix https://github.com/fluent/fluentd/issues/1856
Current implementation covers most bad chunk cases. I need feedback before writing test.

use root_dir parameter for backup directory when specified, /${root_dir}/backup/worker${worker_id}/${plugin_id}/${chunk_id}.log.
Call secondary directly when unrecoverable error happens

Signed-off-by: Masahiro Nakagawa<EMAIL_ADDRESS>

I've added a comment about concerns on Windows environment.

The usage of this feature is hard to track down.  Can it be added to the docs?

@repeatedly Could you add the document about it. or had you already added?

Yes: https://docs.fluentd.org/buffer#handling-unrecoverable-errors

I Apologize for replying to an old issue. I am curious if there is a way to monitor the number of bad chunks, e.g., using Prometheus?


Dart2js running on ia32 is timing out after 1 minute when compiling a test

The dart2js compiler running on ia32 is timing out after a minute when compiling this test.
It passes on all other configurations.  Maybe we need to increase the timeout for dart2js compilation on ia32.

This test has been timing out flakily for 8 months, is now timing out steadily.
The tests
pkg/js_ast/test/deferred_expression_test Timeout (expected Pass)

are failing on configurations
dart2js-hostasserts-linux-ia32-d8

@rakudrama - now that we no longer run the compiler in a browser, do we get any value out of running this package's tests in dart2js, should we just skip it there and focus on running them in the vm only?

@rakudrama - now that we no longer run the compiler in a browser, do we get any value out of running this package's tests in dart2js, should we just skip it there and focus on running them in the vm only?

This is not a big test - the generated JS is <400K unminified.
I would not want to close this out without understanding why the compile time is so long that it times out.
On my x64 workstation it compiles in 7.8s with a x64 vm, and in 8.8s with the ia32 vm.
What is the timeout duration?

This is not a big test - the generated JS is <400K unminified.
I would not want to close this out without understanding why the compile time is so long that it times out.
On my x64 workstation it compiles in 7.8s with a x64 vm, and in 8.8s with the ia32 vm.
What is the timeout duration?

We don't run dart2js on an ia32 VM in the real world, perhaps all the -ia32-(d8|chrome|etc) tests should be -x64- tests.
Tests would compile slightly faster since x64 has an advantage over ia32.

We don't run dart2js on an ia32 VM in the real world, perhaps all the -ia32-(d8|chrome|etc) tests should be -x64- tests.
Tests would compile slightly faster since x64 has an advantage over ia32.

The timeout is 1 minute.
@rileyporter saw this happening also on her CL, so there may have been some general regression on the VM side?
I suggested to increase the limit to match what we do with the other bots. Her CL to increase the limit is here: https://dart-review.googlesource.com/c/sdk/+/181523

The timeout is 1 minute.
@rileyporter saw this happening also on her CL, so there may have been some general regression on the VM side?
I suggested to increase the limit to match what we do with the other bots. Her CL to increase the limit is here: https://dart-review.googlesource.com/c/sdk/+/181523

dart2js-hostasserts-* should uniformly have a timeout that is ~2x the non-hostasserts.
I guess 4x (240) is OK, but should not really be necessary.  I guess we get the 4x from 'Slow' in the old status files.
While we don't use js_ast in the browser, if it works we should keep it working and it might make a nice blob of code to add to a compile benchmark.

dart2js-hostasserts-* should uniformly have a timeout that is ~2x the non-hostasserts.
I guess 4x (240) is OK, but should not really be necessary.  I guess we get the 4x from 'Slow' in the old status files.
While we don't use js_ast in the browser, if it works we should keep it working and it might make a nice blob of code to add to a compile benchmark.

@whesse, did @rileyporter 's changes fix the timeouts?

Yes they did, this can be seen in both the results feed and the current results:
https://dart-ci.firebaseapp.com/#showLatestFailures=false&test=pkg/js_ast/test/deferred_expression_test
https://dart-ci.firebaseapp.com/current_results/#/filter=pkg/js_ast/test/deferred_expression_test&showAll


Style adjustment: Bullet color

Issue: Bullet color is very light, which makes them hard to see

Suggested fix: Change bullet color to black.

Fix coming

Fixed:


Most popular Concepts pages

What is the problem to solve?
We want Concepts to encourage browsing.
What are the objectives?
Identify the top 10 most-viewed concepts pages. Investigate the top 2 or 3 Concepts to see when people go next using GA4 path exploration. As Concepts are intended to promote browsing, if only the top results are selected, maybe there’s an argument for randomising the Concept page contents to encourage more browsing activity.
What research technique is required?
GA4

Here is a link to the discussion document where the summary of the analysis is.
Here is a link to the code.
Here is a link to the Sharepoint folder where the spreadsheets are.

Analysis of 500,000 records from 2/10/23 to 11/10/23 showed there are no unusually popular Concepts pages:

Investigating the users who viewed the most popular Concepts page (“Amaya Abad, Wellington”) showed that of 73 users, all finished their session directly after. This could be because the users had already viewed the works pages presented within the Concept page.
Investigating the users who viewed the second most popular Concepts page (“Photographs”) showed that of 73 users, 49 (67%) engaged another action:


Modifying the Categorical Cross entropy for Mirrored strategy/Distributed training causing low validation accuracy

System information
**Have I written custom code (yes)
**OS Platform and Distribution (Windows)
**TensorFlow installed from (binary)
**TensorFlow version (2.4.1)
**Python version(3.7.9)
**CUDA/cuDNN version(11.1/8/0):
**GPU model and memory(Titan XP, 12 GB):
Describe the problem
For normal (single GPU training) current loss is being calculated as follows:
def compute_loss(labels, predictions):
    loss = tf.reduce_mean(
    tf.keras.losses.categorical_crossentropy(y_true=labels, y_pred=predictions)
    )
    return loss

For Mirrored strategy/Distributed training (8 GPU), I am computing loss as follows:
loss_object = tf.keras.losses.CategoricalCrossentropy(from_logits=False,
              reduction=tf.keras.losses.Reduction.NONE)
def compute_loss(labels, predictions):
    per_example_loss = loss_object(labels, predictions)
    return tf.nn.compute_average_loss(per_example_loss, global_batch_size=GLOBAL_BATCH_SIZE)

But in the Distributed strategy the loss is not converging as fast and getting very poor validation accuracy as compared to the original.

@ashishsb0307! Have you tried same in latest version 2.6 yet?

Hi, the above linked reproducible code is broken, could you please update the colab links. Thanks!


Publish version 0.3.39

May we also update following dependencies?

MetaSync from 0.0.x to 0.2.x
JSTP 0.5.x to 0.6.x
GlobalStorege from 0.0.x to 0.1.x
@aqrln @belochub

JSTP 0.5.x to 0.6.x

Nope, it breaks compatibility with Node.js 4.x. We still maintain it specially for Impress 0.3.

@aqrln @belochub so publishing with just 'uglify-js' updated and version increment. Approve plz

@aqrln #723 done

Landed in 81e638f0aa51ada0fcf2b529af22b0c391a0fd64


Browse pages need Title field indexed and as 2nd sort

JIRA issue created by: rcook
Originally opened: 2011-12-15 09:24 PM
Issue body:
(nt)
This issue has attachments associated with it (external link):
browse1.png
browse2.png

JIRA Comment by user: rcook
JIRA Timestamp: 2011-12-15 09:25 PM
Comment body:
Dave and Jennifer, please confirm that we want the â€œTitleâ€� ordering as 2nd level ordering for each of the  Title, Language, Director, and Genre tabs.  Only the keyword search should have relevancy ordering.

JIRA Comment by user: jbowen
JIRA Timestamp: 2011-12-15 09:51 PM
Comment body:
Yes, for THIS Browse interface (Videos and DVDs) I think the sort should be Title for all of these tabs.
A library might want to sort on a different element for a differently-configured Browse tab, though, although I think Title could be the default as it would be the most common choice.

JIRA Comment by user: dlindahl
JIRA Timestamp: 2011-12-20 05:43 PM
Comment body:
agree with jennifer

JIRA Comment by user: rcook
JIRA Timestamp: 2012-01-25 08:33 PM
Comment body:
Status?

JIRA Comment by user: rcook
JIRA Timestamp: 2012-03-20 02:44 PM
Comment body:
Is this done in the 1.2 candidate or not?

JIRA Comment by user: pkiraly
JIRA Timestamp: 2012-03-21 02:19 PM
Comment body:
What was missing is to put the dcterms__title_s field into the default sortables field list. Now the fresh install will contain it, and the title in DVD browse will be  working correctly. The demo site requires a reindex.

Issue resolved: 2012-03-21 02:19 PM


Does not see updated product id from within a Flatpak

Bug Description:
I'm working on a Flatpak of a keyboard utility, Chrysalis, which uses node-usb.
As part of the firmware upgrade process, the keyboard is flipped into bootloader mode by the application.
Once this occurs, the keyboard reconnects with an updated product id.
At this point, the application continues to query the USB devices with getDeviceList() until it locates the product id indicating the bootloader.
However, getDeviceList() continues to report the old product id instead of the new one.
I confirmed from inside the Flatpak that the updated product id was shown in the corresponding /sys/bus/usb/devices/*/idProduct file and that the old product id was no longer available in any such files.
Steps to Reproduce:

Use getDeviceList() to retrieve a list of the available USB devices from inside a Flatpak.
Flip a device into bootloader mode, causing the product id to change.
Use getDeviceList() to retrieve an updated list of the USB devices.

I can provide more details to reproduce if need be.
Additional Information

Operating System: Linux Flatpak -> Freedesktop Platform 22.08
Runtime (node -v or electron -v): Node 16 Electron 17.4.6
Node USB Version (npm ls usb): 2.5.1

The PR is keyboardio/Chrysalis#708.
The manifest used to build the Flatpak can be found here.
Flatpaks contain only a limited libudev in their sandbox for security purposes.
The libudev library within the Freedesktop Platform runtime may not be reliable given udev doesn't promise ABI stability and the version may not match that used on the system itself.
I've provided my own version of libusb within the Flatpak, which I tell node-usb to use by adding use_system_libusb=true to GYP_DEFINES.
I also disable udev for node-usb by including use_udev=0 in GYP_DEFINES.

I'm not aware we cache the list of devices anywhere and always request this directly from libusb:
https://github.com/node-usb/node-usb/blob/master/src/node_usb.cc#L104
This may be an issue in libusb?

in the USB 2.0 standard, there's nothing explicitly allowing nor prohibiting the device from returning a different device description once setup...
and libusb definitely assumes the descriptor will never change, as (at least in the Linux backend) it's only read from the kernel in initialize_device, which is called from linux_enumerate_device (and only when the device doesn't already exist in the context) and op_wrap_sys_device. there's apparently no way to cause the descriptor to be re-read other than closing + unreffing the device and listing it again.
so clearly, if what you say is true - if this USB device is returning different device descriptors once in configured state - then the device is doing something that... may not be illegal per se, but is at least completely unsupported by the ecosystem. are you sure that the * part in /sys/bus/usb/devices/*/idProduct does NOT change when the device switches to the new productId?

@mildsunrise I left the * in there to just to indicate the general path. I grepped through the usb devices tree without concern for the actual id where the * was. I'd think that the device would have completely disappeared and been re-configured when switching to bootloader mode, but I will check to see whether the id under /sys/bus/usb/devices/ changes or stays the same and let you know.

I can confirm that the USB device is located at /sys/bus/usb/devices/1-5.3.3/. When switched into bootloader mode, the path remains the same, though the product id changes. If I unplug the keyboard and plug it back in, it shows up at the same path.

ah, my bad. I forgot that the * in sysfs is the topological path, not the address,
could you re-test, but this time looking at /sys/bus/usb/devices/*/devnum to see if it changes or stays the same?

also, in each of both cases, could you call getDeviceList() before and after, and check the .deviceAddress of the returned devices?

Before:
$ cat /sys/bus/usb/devices/1-4.3.3/devnum
15

Vendor ID: 13462, Product ID: 6, Device Address: 15

After:
$ cat /sys/bus/usb/devices/1-4.3.3/devnum
25

My logging was kind of ad-hoc, which is why this number is not just 16.
I didn't press the necessary key to flip into bootloader mode in order to log the values for the device address before flipping it into bootloader mode. It still resets the keyboard which then comes back as a new devnum each time. It started out as 15 and was 24 right before I actually flipped it into bootloader mode, so it received a new device number. If I just flip it into bootloader mode the first time, it shows up as a new device number just the same. Either way, the output below will continue to show the original device address an product ID.
Vendor ID: 13462, Product ID: 6, Device Address: 15

and when you reset the keyboard, does the list of devices returned by node-usb change? if you look at the deviceAddress property (which should be equivalent to the devnum file), is node-usb reporting the old device or the new one?

node-usb reports the old device devnum number after resetting the keyboard. The Vendor ID: 13462, Product ID: 6, Device Address: 15 is the logged output from node-usb.

interesting, I wonder what happens if libusb is built without udev support...

I don't think there's anything I can do here... I remember doing some simple-ish tests to try and reproduce the issue, but no luck. if there's a way to reproduce that doesn't need specific hardware (I also have an STM32F4 if it helps) let me know.


Reduce allocations from class loading through FeatureDetector

Hi,
I've noticed a couple of avoidable allocations and class lookups caused by FeatureDetector.

The idea of this PR is to check for the protocol first and only afterwards do the relatively "expensive" class loading.
Cheers,
Christoph

This has been brought into our pipeline and will be included in a future release. Thank you for your contribution.


could not ping DB error

postgres:
image: postgres:16
restart: always
environment:
- POSTGRES_USER=root
- POSTGRES_PASSWORD=XXX
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
pgbackweb:
image: eduardolat/pgbackweb:latest
ports:
- "8085:8085"
environment:
- PBW_ENCRYPTION_KEY="Af0r82HUCP6Xrt7aV1MTZK87DmnYPVGX"
- PBW_POSTGRES_CONN_STRING="postgresql://root:XXX@postgres:5432/pgbackweb?sslmode=disable"
- TZ="Europe/Brussels"
depends_on:
postgres:
condition: service_healthy
ERROR msg=could not ping DB error=dial tcp <IP_ADDRESS>:5432: connect: connection refused
task: Failed to run task "serve": exit status 1
task: Failed to run task "migrate-serve": exit status 201

Did you add Postgresql you want to backup under PGBackWeb network?
I used portainer for this and once new IP was assigned I used that new IP to connect and it worked.
I used connection string as per official documentation.

I have tried setting it up again, but no difference:
task: [migrate-serve] task goose -- up
task: [goose] eval $(go run ./cmd/goose/. up)
2024/09/11 17:24:41 OK<PHONE_NUMBER>5349_enable_extensions.sql (545.29ms)
2024/09/11 17:24:41 OK<PHONE_NUMBER>5620_add_change_updated_at_function.sql (92.87ms)
2024/09/11 17:24:41 OK<PHONE_NUMBER>5717_add_users_table.sql (210.84ms)
2024/09/11 17:24:41 OK<PHONE_NUMBER>5720_add_sessions_table.sql (137.99ms)
2024/09/11 17:24:41 OK<PHONE_NUMBER>5723_add_databases_table.sql (131.85ms)
2024/09/11 17:24:42 OK<PHONE_NUMBER>5730_add_destinations_table.sql (259.52ms)
2024/09/11 17:24:42 OK<PHONE_NUMBER>0503_add_backups_table.sql (295.45ms)
2024/09/11 17:24:42 OK<PHONE_NUMBER>0508_add_executions_table.sql (254.99ms)
2024/09/11 17:24:42 OK<PHONE_NUMBER>1113_add_is_local_to_backups_table.sql (22.33ms)
2024/09/11 17:24:42 OK<PHONE_NUMBER>0451_add_restorations_table.sql (276.49ms)
2024/09/11 17:24:42 goose: successfully migrated database to version:<PHONE_NUMBER>0451
task: [migrate-serve] task serve
task: [serve] ./dist/app
2024-09-11T17:24:43.541034421Z INFO msg=using .env file
2024-09-11T17:24:43.555437773Z INFO msg=cron scheduler initialized
2024-09-11T17:24:43.564657902Z ERROR msg=could not ping DB error=dial tcp [::1]:5432: connect: connection refused
task: Failed to run task "serve": exit status 1
task: Failed to run task "migrate-serve": exit status 201
I also use portainer. Used a docker-compose file, so they are both automatically in the same network. Im also able to generate the tables as you can see, but somehow the ping fails ?

Hm ok as I am beginner in docker I would not know more answers for now unfortunately...I just know that I setup standalone pgbackweb container with docker compose and Odoo via different docker compose file so I needed to add them to network and connection worked....

I completely do not understand it, but I solved it by changing:
environment:
- PBW_ENCRYPTION_KEY="my_secret_key" # Change this to a strong key
- PBW_POSTGRES_CONN_STRING="postgresql://postgres:password@postgres:5432/pgbackweb?sslmode=disable"
- TZ="Europe/Brussels"
to
environment:
PBW_ENCRYPTION_KEY: "my_secret_key" # Change this to a strong key
PBW_POSTGRES_CONN_STRING: "postgresql://postgres:password@postgres:5432/pgbackweb?sslmode=disable"
TZ: "Europe/Brussels"


what?

[<EMAIL_ADDRESS>global D:\a\opencv-python\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp (239) cv::findDecoder imread_('img.jpg'): can't open/read file: check file path/integrity
Fusing layers...
 (@Bloctans)


FG SMP relnotes migration/format changes

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[ ] Feature
[x ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s) Post-migration/format fixes to conform SMP relnotes to others

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Preview environment: https://ci.pr.harness.io/pr-351


Sendable conformance

Thanks for open sourcing this!
Using it on some parts marked @MainActor. Xcode produces the following warnings:
Passing argument of non-sendable type 'LocalizedStringResource' outside of main actor-isolated context may introduce data races

Being static strings I think we should be able to make it @Sendable? 🤔

Interesting! I haven’t used Swift Concurrency much myself yet so I’m not so familiar in this area, but I think that you are right.
Is this a case of me having to add Sendable conformance to the nested LocalizedStringResource.Localizable struct? The error seems to suggest that it’s an issue with LocalizedStringResource, but that’s a Foundation type and I don’t think I can add sendable directly to that?

An Apple Frameworks Engineer specifies that LocalizedStringResource cannot be made Sendable 😕
https://forums.developer.apple.com/forums/thread/732362
Unfortunately I don't think that we can do anything about this from our side. I guess that you might need to load the resource into a String before passing it across isolation domains?
I'm going to close this issue for now, but please reopen it if you feel that there is something that can be done here. Thanks!

Thank you for looking into this! And apologies for not replying the last few days.
That's a very interesting find!
I don't have enough experience on the subject, but I guess if not @Sendable the improvement could be to make it @MainActor to require the await when interacted in an unsafe context? 🤔

I don't have enough experience on the subject, but I guess if not @Sendable the improvement could be to make it @MainActor to require the await when interacted in an unsafe context? 🤔

Me neither 😄 Maybe I should leave this open a bit longer then..
Would it be possible for you to share a code example that surfaces the issue that you are describing? I'm not quite sure how to reproduce the warning that you are seeing.

Sure, writing it by memory, but if I'm not wrong was something like this:

struct SomeView: View {
  var body: some View {
    myVarView
  }

  @MainActor
  @ViewBuilder
  var myVarView: some View {
    Text(.localizable.footerText(items.count))  // <- warning
  }
}

Sorry for the delay, but I tried replicating this in the demo app and I can't seem to reproduce the warning that you described.
If you get some time, please can you share a project that replicates the issue? Using the demo project might help if you can't share your own source code

When I opened the demo project in Xcode 15.3, I see this warning in the generated code:

Seems to be related.. Will look into it.


Facebook sharing encodes the URI and breaks the sharing.

This works:
window.plugins.socialsharing.shareViaTwitter(
  "test",
  null,
  "http://staging.patontheback.org/index.php?/pat/index/7227");

The URL ends up like http://staging.patontheback.org/index.php?/pat/index/7227. This encodes the URI differently:
 window.plugins.socialsharing.shareViaFacebook(
        "test",
        null,
        "http://staging.patontheback.org/index.php?/pat/index/7227");

The URL ends up: http://staging.patontheback.org/index.php?%2Fpat%2Findex%2F7226 which won't be routed to the same place in CodeIgniter.

Which platform is this on?

iOS

I'm afraid that's URL encoding iOS does internally because the plugin simply feeds that URL to the native control (debugged that to confirm). Perhaps it does that because the URL is a bit 'different'; you have a querystring with only an attribute, not a value. Are you able to make changes serverside?

I see, that's odd. Yeah I worked around it with a redirect to the real url.
Thanks.

On 15 Nov 2015, at 3:32 PM, Eddy Verbruggen<EMAIL_ADDRESS>wrote:
I'm afraid that's URL encoding iOS does internally because the plugin simply feeds that URL to the native control (debugged that to confirm). Perhaps it does that because the URL is a bit 'different'; you have a querystring with only an attribute, not a value. Are you able to make changes serverside?
—
Reply to this email directly or view it on GitHub.


Bump distro

CC @isidorn, @joaomoreno, @sandy081

@dtivel There are conflicts in the the package.json file, can you please resolve them?

@sandy081, this PR was obsolesced by https://github.com/microsoft/vscode/commit/39c7015c93e7f78352dc92a4de46f74c288dc0f3.


Docker branch cleanup

Does this make sense?
The idea is to either build from master in github (default in case $TAG is not set) or a given tag
$ TAG=1.4.1 docker-compose up
or
$ TAG=i18n docker-compose start
or for github master's
docker-compose up
should the command be a script instead? (as it is too long)

i am doing something similar locally. Take a look at the dade branch. My branch adds some files i use to build on macosx. I feel like it's not refined yet but it has been working fine.

I forgot to pull latest dade :)
For building you are first merging the master branch to dade, right?

before building i usually rebase dade on master, that's why i don't suggest you to use the branch dade for anything other than reading it.
 I'll close this!


Add type="button" to prevent submits when used inside a form

Thanks for this amazing library!
I upgraded from 0.3.2 and noticed that when pickr is used inside forms, the form is submitted on opening the color picker. This is because, the buttons do not have a type="button" attribute and hence defaults to a value of submit which ends up submitting the form.
I have added type="button" in all buttons in the code.

Wow, never thought a button could have (or it would make sence) a type="button" prop 😅
Thanks!

Please note that the package was moved from pickr-widget to @simonwep/pickr!

@Simonwep, can you please release this and other merged commits after 0.4.3 as a new version?
I am currently pointing to the GitHub link instead of a version in package.json and it will make things simpler especially inside corporate networks that usually restrict outbound network calls.

@astronomersiva Exactly what I wanted :) Give me 5min.

Thanks a ton @Simonwep 👍 I can see 0.4.4 in the registry now