[ember-client] IOException: Connection reset by peer

Recently I was testing different backends in my prod application.
When I changed the existing code (working fine with blaze) to use ember, I notice many instances of this exception:
The exception is caught correctly and returned from my client.run call, ultimately, but it's surprising that this happens so much (thousands of instances).

java 8
Scala 2.12.12
fs2 2.4.4
http4s 0.21.7

java.io.IOException: Connection reset by peer
    at sun.nio.ch.FileDispatcherImpl.read0(FileDispatcherImpl.java)
    at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
    at sun.nio.ch.IOUtil.read(IOUtil.java:197)
    at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishRead(UnixAsynchronousSocketChannelImpl.java:388)
    at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:191)
    at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213)
    at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293)
    at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    at async @ fs2.io.package$.asyncYield(io.scala:233)
    at flatMap @ fs2.io.tcp.SocketGroup.$anonfun$apply$8(SocketGroup.scala:274)
    at flatMap @ fs2.io.tcp.SocketGroup.getBufferOf$1(SocketGroup.scala:243)
    at flatMap @ fs2.io.tcp.SocketGroup.fs2$io$tcp$SocketGroup$$read0$1(SocketGroup.scala:273)

What kind of requests?  GETs, POSTs, both?

I am seeing this as well with 0.21.8 for GETs and POSTs for what I can see.

Anybody have an easy reproduction?

Hi @rossabaker ! Not sure if this is the exact same problem as @Daenyth's, but I do have a minimalistic example that produces a very similar result.
package fml.calcsvc

import cats.effect.{ExitCode, IO, IOApp}
import cats.implicits._
import org.http4s.dsl.io._
import org.http4s.syntax.kleisli._
import org.http4s.HttpRoutes
import org.http4s.ember.client.EmberClientBuilder
import org.http4s.ember.server.EmberServerBuilder

object Bug extends IOApp {

  val app = HttpRoutes.of[IO] {
    case GET -> Root => Ok()
  }

  override def run(args: List[String]): IO[ExitCode] = {
    (EmberServerBuilder.default[IO].withHttpApp(app.orNotFound).build,
      EmberClientBuilder.default[IO].build).tupled.use {
      case (server, client) =>
        for {
          _ <- IO(println("1"))
          _ <- client.get(server.baseUri)(_.body.compile.drain)
          _ <- IO(println("2"))
          _ <- client.get(server.baseUri)(_.body.compile.drain)
          _ <- IO(println("3"))
          _ <- client.get(server.baseUri)(_.body.compile.drain)
          _ <- IO(println("4"))
          _ <- client.get(server.baseUri)(_.body.compile.drain)
          _ <- IO(println("5"))
          _ <- client.get(server.baseUri)(_.body.compile.drain)
        } yield ExitCode.Success
    }
  }
}

When run it prints the following:
1
2
3
java.io.IOException: An existing connection was forcibly closed by the remote host
	at java.base/sun.nio.ch.WindowsAsynchronousSocketChannelImpl.write0(Native Method)
	at java.base/sun.nio.ch.WindowsAsynchronousSocketChannelImpl$WriteTask.run(WindowsAsynchronousSocketChannelImpl.java:776)
	at java.base/sun.nio.ch.WindowsAsynchronousSocketChannelImpl.implWrite(WindowsAsynchronousSocketChannelImpl.java:912)
	at java.base/sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:383)
	at java.base/sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:400)
	at fs2.io.tcp.SocketGroup.$anonfun$apply$18(SocketGroup.scala:322)
	at fs2.io.tcp.SocketGroup.$anonfun$apply$18$adapted(SocketGroup.scala:315)
	at async @ fs2.io.package$.asyncYield(io.scala:245)
	at guarantee @ fs2.io.package$.asyncYield(io.scala:245)
	at flatMap @ fs2.io.tcp.SocketGroup.go$3(SocketGroup.scala:334)
	at apply @ fs2.Stream$.$anonfun$parJoin$1(Stream.scala:2065)
	at acquire @ fs2.Stream$.$anonfun$parJoin$14(Stream.scala:2107)
	at apply @ fs2.Stream$.$anonfun$parJoin$1(Stream.scala:2065)
	at withPermit @ fs2.io.tcp.SocketGroup.fs2$io$tcp$SocketGroup$$read0$1(SocketGroup.scala:290)
	at map @ fs2.internal.CompileScope.interruptibleEval(CompileScope.scala:413)
	at flatMap @ fs2.internal.FreeC$.go$1(Algebra.scala:503)
	at flatMap @ fs2.internal.FreeC$.interruptGuard$1(Algebra.scala:436)
	at flatMap @ fs2.internal.FreeC$.interruptGuard$1(Algebra.scala:436)
	at flatMap @ fs2.internal.FreeC$.interruptGuard$1(Algebra.scala:436)
	at flatMap @ fs2.internal.FreeC$.interruptGuard$1(Algebra.scala:436)

Library versions:
val catsVersion       = "2.2.0"
val catsEffectVersion = "2.2.0"
val fs2Version        = "2.4.5"
val http4sVersion     = "0.21.13"

@tpataky  is this still reproducable with the latest version? There have been quite a few ember fixes lately. Try with 0.21.22

Will try it later, but I'm thinking this could be related to (or the same as https://github.com/http4s/http4s/issues/4731).

I think this one is different from #4731 , which has been solved now. The issue there was that the server was writing back a request stream to the response stream, but it was completing the request before the body was fully written.

Looks like the problem has been fixed in 0.21.22! I can no longer reproduce it with that version. Thanks everyone!

A couple reporters, but sounds fixed.  We'll reopen if anyone sees this on a current version.  Thanks for retesting!


[FriendlyErrors] Split apart logging and exiting

:umbrella: The latest upstream changes (presumably e7cdd95) made this pull request unmergeable. Please resolve the merge conflicts.

@homu r+

:pushpin: Commit 9bc5897 has been approved by indirect

:hourglass: Testing commit 9bc5897 with merge 108c356...

:sunny: Test successful - status


WIP: Use perflib for cpu collector

This is a draft implementation of how we could start switching collectors over to perflib. Main structural change is introducing a "scrape context" which for now just carries the perflib data, but could later be used for cancellations etc.
This scrape context is populated with a "Global" perflib reading at the start of the scrape, and collectors can then pull from this reading.
I have implemented a simple tag-based unmarshaller of perflib data, so the collector merely builds a struct with tags matching the counters, calls unmarshal and can then get down to pushing metrics back the channel.

Looks good, anything left to work out for the cpu collection over perflib?
Also looks like CI chokes on perflib not vendored

Yeah, haven't vendored yet because I'm waiting for a PR to be merged, figured I could get some feedback first :)
If you agree about the design I don't think there is much more work needed.

... Except docs, I just realized as I was about to merge. This adds a bunch new metrics.

Hi @carlpett.
Will these perflib metrics be completely new or will they replace the old WMI metrics? I ask this question because I think there will be some work to transition from the old wmi metrics to these new ones, dashboards, alerts and so on. This is a transition we must do, because of loosing a lot of metrics during peek loads.

@theimdal They will be identical to the current metrics, so you should not need to make any changes at all!

This looks great. We've got a fairly large windows install base and have been hitting a lot of WMI issues lately, so for us this is definitely a good direction to take this project.

I'm excited about this concept!
I've seen other collectors besides the cpu collector experiencing wmi timeout issues when the system is loaded. Are there plans/desire to read raw perfcounters in other collectors as well?

@nbellowe Yes, I would expect the majority of collectors to be converted once we feel confident in the results. There are a few collectors which don't have any direct raw counter, eg cs, so we'll see how we deal with those.
For now, we'd really appreciate it if you have time to test out the prerelease (here) on a few systems and see if it makes the situation better for you! Especially the new --scrape.max-duration flag to allow the exporter to return data even when WMI has stalled seems relevant to your problems.

@carlpett
Hi, I've just tried out this build but am actually seeing a big performance drop compared with 0.6.0?
Requests with 0.6.0 are taking around 500ms, whereas 0.7.999-preview2 is taking around 1750-2000ms
I'm running both instances with these arguments:
 --collector.textfile.directory="C:\Application\Monitoring\WmiExporter" --telemetry.addr="<IP_ADDRESS>:9182" --telemetry.path="/wmi/metrics" --collectors.enabled="cpu,iis,logical_disk,cs,memory,net,os,process,system" --collector.process.processes-where="Name LIKE 'php-cgi%' OR Name LIKE 'w3wp%' OR Name Like 'mysqld'"

I wondered if the process filtering could be an issue, but didn't really see any difference after removing that (and the process collector)
Is there any extra information I can provide?

@petedishman Thanks for trying it out! I've opened a new issue (#345) where we can investigate further.

How is this looking overall? Is this a path wmi_exporter will want to continue down?

@poblahblahblah Yes, I believe so. It fixes a lot of issues we've been seeing over the years, so I definitely want to move ahead with it. I've been somewhat swamped the last few weeks/months though, and haven't had time to put the finishing touches in on this. Hope to have a free weekend soon.

Sigh, thought I was ready to merge, but managed to find a data race.

This now passes quite a long period of the Go race detector at least, and is probably easier to reason about than the previous nest of goroutines and channels.

@martinlindhe Please have a look when you have time

🎉 Glad to see perflib being used!

:tada:


chore(e2e): rhidp-5296 e2e - main nightly job failing on runtime configuration change step

Description
Please explain the changes you made here.
Which issue(s) does this PR fix

Fixes #RHIDP-5296

PR acceptance criteria
Please make sure that the following steps are complete:

[ ] GitHub Actions are completed and successful
[ ] Unit Tests are updated and passing
[ ] E2E Tests are updated and passing
[ ] Documentation is updated if necessary (requirement for new features)
[ ] Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

/retest


Speedup opening tables

When there were many tables( over 200 for example), the datanode startup too slowly(nearly half of a minute).
I think we should turn this performance by opening table in parallel or optimize the replay processing etc.

As we've already introduced raft-engine based WAL in #799, we may have a significant improvement in startup speed, because replaying entries in some namespace no longer needs to read the whole WAL.
I did a simple validation by creating 1000 tables:
while [  $COUNTER -lt 1000 ]; do
    mysql -h <IP_ADDRESS> -P 4002 -e "CREATE TABLE monitor${COUNTER} (host STRING,ts TIMESTAMP,cpu DOUBLE DEFAULT 0,memory DOUBLE,TIME INDEX (ts),PRIMARY KEY(host)) ENGINE=mito WITH(regions=1);"
    let COUNTER=COUNTER+1
done

And then restart datanode:
2023-01-06T06:26:34.657599Z  INFO cmd::standalone: Standalone frontend options: FrontendOptions ....
....
2023-01-06T06:26:35.892063Z  INFO catalog::local::manager: All system catalog entries processed, max table id: 2023

It takes about 1235ms to recovering all 1000 tables. The performance looks fairly acceptable, but I think we can further speed up table recovering by parallel opening table.

@v0y4g3r  Awesome!

Implemented in #1392 #1290


OCM-10690 | test: updated id:34102

$ ginkgo --focus 34102 tests/e2e/
Ginkgo detected a version mismatch between the Ginkgo CLI and the version of Ginkgo imported by your packages:
Ginkgo CLI Version:
2.14.0
Mismatched package versions found:
2.17.1 used by e2e
Ginkgo will continue to attempt to run but you may see errors (including flag
parsing errors) and should either update your go.mod or your version of the
Ginkgo CLI to match.
To install the matching version of the CLI run
go install github.com/onsi/ginkgo/v2/ginkgo
from a path that contains a go.mod file.  Alternatively you can use
go run github.com/onsi/ginkgo/v2/ginkgo
from a path that contains a go.mod file to invoke the matching version of the
Ginkgo CLI.
If you are attempting to test multiple packages that each have a different
version of the Ginkgo library with a single Ginkgo CLI that is currently
unsupported.
Running Suite: ROSA CLI e2e tests suite - /home/aaraj/ocm-forked-code/rosa/tests/e2e
Random Seed:<PHONE_NUMBER>
Will run 1 of 213 specs
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS•SSSSSS
Ran 1 of 213 Specs in 16.431 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 212 Skipped
PASS
Ginkgo ran 1 suite in 18.196512616s
Test Suite Passed

/retest

/retest

/lgtm


assimp doesn't build on OSX without irrlicht

Library name: assimp
Library description: Open-Asset-Importer-Library
Source repository URL: https://github.com/assimp/assimp
I cannot use assimp on OSX 10.15.7 because build failed.
  Target 'osx' not supported by irrlicht!

If it is possible could you remove irrlicht dependency from assimp library in vcpkg?

Yep, assimp build failed on OSX 10.15.7 too.

It seems to be possible to remove the irrlicht loader from assimp under macOS. Having a look into the source files (e.g. into code/Irr/IRRLoader.cpp) there is a define called ASSIMP_BUILD_NO_IRR_IMPORTER.
This define can be added to the assimp portfile:
vcpkg_configure_cmake(
    SOURCE_PATH ${SOURCE_PATH}
    PREFER_NINJA
    OPTIONS -DASSIMP_BUILD_TESTS=OFF
            -DASSIMP_BUILD_ASSIMP_VIEW=OFF
            -DASSIMP_BUILD_ZLIB=OFF
            -DASSIMP_BUILD_SHARED_LIBS=${ASSIMP_BUILD_SHARED_LIBS}
            -DASSIMP_BUILD_ASSIMP_TOOLS=OFF
            -DASSIMP_BUILD_NO_IRR_IMPORTER=ON # <--Added
            -DASSIMP_INSTALL_PDB=OFF
            -DSYSTEM_IRRXML=ON
            -DIGNORE_GIT_HASH=ON
)

Unfortunately I had problems to disable the installation of irrlicht (especially to remove the references to irrlicht from buildfixes.patch) since I am not a vcpkg expert, so I couldn't test if the library builds with the new modification.

Having Irrlicht importer is optional feature for assimp (which does not work in macOS). I do not know if it should be forced by vcpkg like this.

Related to https://github.com/microsoft/vcpkg/issues/15011

Hi all,
assimp has supported osx now, please update to the latest vcpkg to rebuild this port.
Thanks.

Irrlicht still appears to be blacklisted on ARM / M1 Macs, making assimp still not installable due to this optional component on those platforms, it seems - unless I'm doing something wrong?


New Option --mode for "gt", "compat", and "non-pin"

created a new PR as I was unable to automatically update the commit to the original PR (#237).
Options:
      --mode <scheme>      Enables dynamic versioning with <compat>, <gt> or <non-pin> schemes.
                           <compat> | e.g. Flask~=1.1.2
                           <gt>     | e.g. Flask>=1.1.2
                           <no-pin> | e.g. Flask

@alan-barzilay

Coverage increased (+0.2%) to 88.679% when pulling 5dc02aa2facbb0e9fdc4d9f42ed538adeefbae94 on mapattacker:mode into a26ce943c1641c6fbf8e18e11a62d9c96baacff5 on bndr:master.


Build error when test expresso is 3.5.1

When the androidx.test.espresso:espresso-core library version is 3.5.1 that happens, I had to downgrade to version 3.5.0 for it to work.
sain version: 2.0.2

Hey @CMFerrer I'll take a look at this soon

This should be fixed now in v2.0.3


Graceful shutdown

Adds a listener for os signals: os.Interrupt, os.Kill. When signals are intercepted, shutdown the server gracefully.

resolves #13


Edge-group list view

Create a new view where all the existing Edge groups will be displayed inside a datatable allowing searching, sorting and pagination.
This view will be restricted to administrator users only.
Provide a link to the edge-group edit view by clicking on the name of the Edge group.
The user must also be able to select any number of groups and remove them. The removal process will only be available for Edge groups that are not currently used by any Edge stack.
Provide a link to the edge-group creation view via a "Add a new Edge group" button.
The following information will be displayed for each deployment group:

name
type of group
number of associated endpoints

The removal process will only be available for Edge groups that are not currently used by any Edge stack.

Not sure where to check that. Should the button be disabled for these groups? or just expect the server to fail in this case?

@chiptus the button should be disabled. We'll need to have some mapping between Edge stacks and Edge groups to check if the group is used.
We'll probably need to introduce that after introducing Edge stacks.

ok, so for now, should we open an issue about it, or otherwise write it somewhere so we don't forget

Yeap, i'll add a note for the v0.2

Blocking #3629

blocked by #3642

Closed via #3644


Automation | fix pipeng not available during install

Sometimes, During install we received "pipeng not available" error causing the test to fail
The issue is that the pipeng didn't load yet
added time.sleep in order to wait for the pipeng to fully load

rebuild

/rebuild


Move globalnet config params from broker-subm file to ConfigMap

Moves the globalnet configuration parameters like GlobalnetStatus,
globalnet-cidr-range, and globalnet-cluster-size from the broker-info.subm
file to configMap on the broker.

The following PR implements the necessary changes: https://github.com/submariner-io/submariner-operator/pull/501


Fix a malformed define guard

Description
All compile-time switches on PSA_WANT_ are constructed with defined(...). There's one exception that was introduced in test_suite_psa_crypto.function, and it triggers a compiler error/warning when the symbol in question isn't defined (expands to #if && which obviously isn't a valid preprocessor statement).
Status
READY
Requires Backporting
NO
Migrations
NO

I intended #defiine PSA_WANT_xxx 0 to turn off the feature

I think that would need to be a larger effort once the PSA_WANT system is fully implemented, and the symbols are guaranteed to be there (set to either 1 or 0). I.e. you'd probably need a file somewhere with a bunch of
#if !defined(PSA_WANT_FEATURE_A)
#define PSA_WANT_FEATURE_A 0
#endif

After that's in place, then the #if defined(PSA_WANT_FEATURE_A) can be turned into #if PSA_WANT_FEATURE_A. But that's not the case today, yet :)

@gilles-peskine-arm I assume that pr-head flaked, and -head TLS testing is hung somewhere?

Since pr-merge passed, I'm not going to investigate what flakiness affected pr-head.
Technically we don't care so much if a PR's head passes CI, what we care is that merging it doesn't break CI. We run the CI on the head as well because if something does break, it's easier to understand what's going on when the errors apply to the code you wrote, and not to the code merged with something else. Also because it can be useful to have some CI results even when there are merge conflicts.


java.lang.ClassCastException

Describe the bug(Please use English)
A clear and concise description of what the bug is.
Environment :

Flink version :  1.15.0
Flink CDC version: 2.2.1
Database and version: mongodb4.4.6

To Reproduce
Steps to reproduce the behavior:

Thes test data :
The test code :String sourceDDL = "CREATE TABLE Data_Input (" +
" _id STRING," +
" t1 STRING," +
" t2 STRING," +
" t3 STRING," +
"  PRIMARY KEY (_id) NOT ENFORCED"+
") WITH (" +
"  'connector' = 'mongodb-cdc'," +
"  'hosts' = '<IP_ADDRESS>:27017'," +
"  'username' = 'xzj'," +
"  'password' = '421102xzj'," +
"  'database' = 'sjzt'," +
"  'collection' = 'sjzt.test'," +
"  'connection.options' = 'authSource=sjzt',"+
"  'copy.existing' = 'false'"+     //默认为 全量+增量 读取；使用copy.existing=false参数设置为只读增量。
")";
String sinkDDL ="CREATE TABLE Data_Output (" +
" id STRING," +                                                      //字段类型
" t1 STRING," +                                                   //字段类型
" t2 STRING," +                                                   //字段类型
" t3 STRING," +
" PRIMARY KEY (id) NOT ENFORCED " +
") WITH (" +
" 'connector' = 'jdbc'," +                                                   //输出表使用jdbc connector输出到mysql
"'driver' = 'com.mysql.cj.jdbc.Driver',"+
" 'url' = 'jdbc:mysql://<IP_ADDRESS>:3307/flink_web?serverTimezone=UTC&useSSL=false'," +
" 'username' = 'root'," +
" 'password' = '11230506'," +
" 'table-name' = 'test_copy1'" +
")";
String transformDmlSQL ="INSERT INTO Data_Output (SELECT * FROM Data_Input)";
The error :

Additional Description
If applicable, add screenshots to help explain your problem.

@roy-long  Maybe, you need change flink version. supported-flink-versions

1.14.4 version has same problems.

Hi @roy-long ,
Do you include both flink-connector-mongodb-cdc and flink-sql-connector-mongodb-cdc in your pom file?
It looks like a dependency problem.

Hi @roy-long ,
Do you include both flink-connector-mongodb-cdc and flink-sql-connector-mongodb-cdc in your pom file?
It looks like a dependency problem.


ToCode Solution: תרגול מודולים

01: In Python 2 we usually don't put parentheses after the print statement and I'd probably use a for loop instead of a string repetition.
02: lists, including sys.argv are indexed from 0. print out the content of sys.argv[0] that will probably give you a clue whey you had to compare the length to 3
I am closing this with success, but if you have further questions feel free to post here or in the "issues" athttps://github.com/tocodeil/python-course-examples/issues


TrySpot Mode

Add the ability to try for spot instances, but fail back to on-demand instances if there was no spot capacity.

Looks good, thank you!


Correct f and slightly longer block time to support correct f

updated slot time to 4 minutes, so can work with delta = 1 in code (which is delta = 0 in theory; see "delta = 0" pr #6348 for the fix for this)
set f to .75, and the vrf's "c" to 1

Why 4 minutes? Did you check the block propagation time? And why do you think it's more important to run test nets with the longer slot time?

At 3 minutes propagation was failing some of the time, at 4 minutes rarely / never.


chore: bump Go version in workflows

Codecov Report
Base: 59.51% // Head: 8.39% // Decreases project coverage by -51.13% :warning:

Coverage data is based on head (abd7f40) compared to base (4a0b5d2).
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #2063       +/-   ##
==========================================
- Coverage   59.51%   8.39%   -51.13%
==========================================
  Files         181      94       -87
  Lines       14617   10160     -4457
==========================================
- Hits         8700     853     -7847
- Misses       4830    9252     +4422
+ Partials     1087      55     -1032

Flag
Coverage Δ

acceptance-api
?

acceptance-apps
?

acceptance-cli
?

unittests
8.39% <ø> (ø)

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

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

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

Test failures (update, client-sync) are the known issues with head CI (reject dex/dex-tls fight) and the 1.6.1 release they start with not fixed.


Managing Assets Bug

Managing assets deal with the operative mission still bugged. I cant continue the progress of Ryujin Industries.

Details
The NPC does not appear anywhere.
Game Version
<IP_ADDRESS>
Language
angol (EN)
New Game
Yes
Reproduction Steps
I loaded back more times, I played the the whole story of Ryujin Industries again and Its not fixed!

Workaround for now is to open the console and enter:
prid 2c9bc2
enable


Adding the possibility to keep alive the children of a TabBarView widget.

Description
The goal of this PR is to make it easier to keep alive the children of a TabBarView with a simple boolean.
Before that, you were obliged to use the AutomaticKeepAliveClientMixin mixin on each child.
Related Issues
https://github.com/flutter/flutter/issues/38761
Tests
I added the following tests:
'Making sure that the keepChildreAlive boolean works as intended' in  test\material\tab_tests.dart
Checklist

[X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[X] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[X] I updated/added relevant documentation (doc comments with ///).
[X] All existing and new tests are passing.
[X] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[X] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read Handling breaking changes). Replace this with a link to the e-mail where you asked for input on this proposed change.
[X] No, this is not a breaking change.

@googlebot I signed it!


Add "to top"/"to bottom" buttons in list controls

Add "to top"/to bottom" buttons in list controls next to "up"/"down" controls.

This will be handled with the new UI being developed.

Next UI will handle reordering through drag'n'drop.


Adaptive generated enumeration storage width

Problem
Currently the zap generated enumerations doesn't specify the storage width or must have unified storage width.
Proposed Solution
Modify the ZAP generation engine to generate the storage width based on the enumeration values.

Maybe we can use enum class ENUM_TYPE :uintx_t when defining the enumeration and use Put(...,static_cast<std::underlying_type_t<ENUM_TYPE>>) when calling the enumeration. like https://en.cppreference.com/w/cpp/types/underlying_type. It seems a safe solution, but  it needs a lot of changes at where using the enumeration.

Using enum class is orthogonal to the problem of figuring out what the right underlying type is for an enum....
Ideally that would just come from the spec or some other data source and feed into ZAP.
@tecimovic @vivien-apple

@bzbarsky-apple this is something i would like to explicity use and define in my xml file. casting is not a solution and is prone to runtime problem . what is the policy regarding enum and packed structure
Also can we enforce preprocessing compiler checks on ZAP

@jmeg-sfy Sorry for the lag; I hope https://github.com/project-chip/connectedhomeip/pull/7746 does what you wanted...

@jmeg-sfy Sorry for the lag; I hope #7746 does what you wanted...

yes all is solved now thanks !


Show that contacts are used to auto-complete the e-mail address

An app was rejected for this:
Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing
Your app accesses user data from the device but does not have the required precautions in place.
Specifically, permission modal alert does not clarify if their information will be uploaded to the server.
Next Steps
To collect personal data with your app, you must make it clear to the user that their personal data will be uploaded to your server and you must obtain the user's consent before the data is uploaded. You must also have a Privacy Policy URL and ensure that the URL you provide directs users to your privacy policy.

Starting with iOS 6, there are keys for specifying the reason the app will access the user's protected data. When the access prompt is displayed, the purpose specified in these keys is displayed in that dialog box. If your app will be transmitting protected user data, the usage string in your access request should clearly inform the user that their data will be uploaded to your server if they consent.

Resources
For more information on these keys, please review the Information Property List Key Reference https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#/apple_ref/doc/uid/TP40009251-SW1.

Going to comment this for now

Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing
Your app accesses user data from the device but does not have the required precautions in place.
Specifically, the permission modal alert does not clarify if the user’s contact information will be uploaded to the server.
Next Steps
To collect personal data with your app, you must make it clear to the user that their personal data will be uploaded to your server and you must obtain the user's consent before the data is uploaded. You must also have a Privacy Policy URL and ensure that the URL you provide directs users to your privacy policy.

Starting with iOS 6, there are keys for specifying the reason the app will access the user's protected data. When the access prompt is displayed, the purpose specified in these keys is displayed in that dialog box. If your app will be transmitting protected user data, the usage string in your access request should clearly inform the user that their data will be uploaded to your server if they consent.

Resources
For more information on these keys, please review the Information Property List Key Reference.

Works on Bart his phone as well, maybe they complain about contacts from phone book

Updated in https://github.com/rogerthat-platform/rogerthat-ios-client/commit/5282eec3778e511e3dd588f2bca0552035b5c9fd
Will start a new job


Support running Sdk and devcluster in a container on windows

It would be very helpful for devops scenarios to 1) be able to publish an app to a remote cluster from inside a container and 2) run a dev cluster inside a container for testing purposes.
As I understand it, the sdk/runtime is able to run in a container on other platforms than windows, but I have not been able to get it to install on a windows container.
I understand this is also a work in progress but it would be cool if the progress/things remaining could be tracked here on GitHub as well, so what are currently the things that are missing for this to work?

We'll look into if this is feasible and work on it in the future. We're aware it doesn't work, but we think this is a valid scenario.

Note that there is an issue in the old repo that others are tracking with a similar use case:
Error installing Service Fabric Runtime in windowsservercore:1709 docker container
This specifically references the runtime that is required by the SDK.  I assume the same problems (kernel driver dependency on Windows) drives the lack of local clusters in containers as well.
This feature would allow a real CI pipeline to be utilized without driving everyone using Service Fabric to Linux-based clusters since this behavior is natively supported on Linux.

Yep, it's something we're pushing for however this isn't a simple change so we'll update this issue once we understand how it will be prioritized in future releases.

So is this still on the radar?
We'd like to use this to run E2E tests as well within the container


Support shortcuts for setting cpu and memory

Canonical way of setting cpu and memory into vmx files should be supported
config.vm.provider "vmware_appcatalyst" do |v|
  v.memory = 1024
  v.cpus = 2
end

Good suggestion and easy fix, targeting v1.0.2 for this.


Use source modification to remove internal feeds from nuget.config, not patches

Similar to adding sources, we should remove sources from nuget.config as a build step rather than a patch.
This should reduce a source of unconditional patch updating during servicing builds.

Source-build patches no longer are utilized for this.  One mechanism that removes these sources is here.


Remove redundant common definitions

Since we just landed the :ts:git: markup, these defines are no longer
necessary. This patch moves all previous uses of the hard coded defines
to the new :ts:git: markup.

RAT check failed! https://ci.trafficserver.apache.org/job/RAT-github/354/

@maskit , since you looked at the previous commit.

clang format successful! https://ci.trafficserver.apache.org/job/clang-format-github/341/

Intel CC build successful! https://ci.trafficserver.apache.org/job/icc-github/467/

AU check successful! https://ci.trafficserver.apache.org/job/autest-github/338/

FreeBSD11 build successful! https://ci.trafficserver.apache.org/job/freebsd-github/2036/

Linux build successful! https://ci.trafficserver.apache.org/job/linux-github/1929/

clang-analyzer build successful! https://ci.trafficserver.apache.org/job/clang-analyzer-github/600/


Integrating material tabs with /

Is there a way to integrate the material tabs with tabs interface already built into ionic? Has anyone got experience doing this/have a codepen handy?
Additionally, is there a more appropriate forum for discussion about ionic-material, or is the issues tracker on github all there is right now?
Thanks,
David

@davidnc44 take a look at https://github.com/delta98/ionic-material-design-lite it focuses primarily on utilising ionic directives directly.


Simplify with or

Coverage remained the same at 0.0% when pulling 4ea55ea0cd50c9841f7b612db3388c73c112a9ec on cclauss:patch-1 into 8463e9b9f229eff2951bfa2b4689808ca7ef0d29 on traverseda:master.


Pfe-navigation doesn't work with Angular

I am working with Patternfly Elements and I having some issues with Angular integration.
pfe-navigation doesn't work with Angular

Impacted component(s)

pfe-navigation

Steps to reproduce
I created on Sandbox an Angular project with the pfe-navigation, you can find on this link:
https://codesandbox.io/s/pfe-navigation-patternfly-rs0if
Expected behavior
We should see the patternfly menu.
Screenshots

@grandemayta - Thanks for pointing this out. I suspect it has something to do with the component using querySelector in the connectedCallback. I'll take a look to see what I can find.

Hi guys,
for the moment we fixed the problem with this workaround:
pfe-element.js:

pfe-navigation.js

I know this is not the best solution but maybe can help you to understand where is the issue.
regards,

Hi @grandemayta, I'll help follow up on this to see where we're at with debugging.
In future, would you please avoid using "guys" as a greeting? We're a diverse group of developers. 🙂 Thank you!

I upgraded to 1.8.0 for pfe-navigation and am now seeing Cannot read property 'querySelector' of null on this line in the constructor:
this._menuItem.shadowRoot.querySelector(".pfe-navigation-item__trigger").addEventListener("click", this._menuItemClickHandler);
I think we need a promise to wait until the _menuItem is upgraded before running the query

I have the same issue with Vuejs. The component is useless and breaks the whole app.


Use text and title fields for SlackHandler

According to slack documentation (https://api.slack.com/docs/attachments),  an attachment may have a title and a text. The log message and title should use these fields. One of the benefits of using these two properties instead of adding a field is that it's shortened (with a "show more" button) and expandable by slack. It adds a bit of hierarchy in the attachement. Message is the content. Extra and context are additional fields.

Checks have failed but they failed too on master so I think it's not this PR, right?

Would you have before/after screenshots by any chance?

Here are the screenshots.
Before (with a stack trace):

After (same error, you can see the "show more" button added by slack):

OK thanks, that looks like an improvement yes :)


NLog GoogleStackDriverTarget skip reflection on Stream-objects

Stream-objects properties often throw exceptions, and it is difficult to get useful information by reflection.

Thanks @snakefoot for the PR.
I agree with @amanda-tarafa - adding a converter for System.IO.Stream is fine, but probably best to revert the InternalLogger.Warn change.

The NLog InternalLogger is for diagnostics
Warn / Error is for serious errors like no access, no connection or something blew up. Thus the entire logging pipeline is broken.
NLog suppresses by default issues caused by bad input data being logged. Ex. invalid message template or missing parameters.
NLog users often wants to monitor these exceptional events. So configure the NLog InternalLogger to monitor for Warn/Error to see when the logging pipeline has broken.
Because users often uses giant frameworks, where they have no control of what is being logged then errors during reflection generates unwanted noise. Making it difficult to monitor the health of the NLog logging pipeline.
I introduced the logging the first place. Now I see the Loglevel was initially wrong. Please let me correct that mistake.
Sent from my Sony Xperia
---- Chris Bacon wrote ----
Thanks @snakefoothttps://github.com/snakefoot for the PR.
I agree with @amanda-tarafahttps://github.com/amanda-tarafa - adding a converter for System.IO.Stream is fine, but probably best to revert the InternalLogger.Warn change.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/googleapis/google-cloud-dotnet/pull/5230#issuecomment-668475811, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACXZ7HAYZGMHIXSSEJQGZN3R67E3BANCNFSM4PTUNDKQ.

Thanks for the explanation of why the change is sensible.
Yes, this seems like a reasonable thing to do.


add new example project to README

I've been LOVING snowpack since I first heard about it on syntax. I've successfully proposed it to my company and we are officially going to adopt it as anti-build system.
I've put together this starter example for using snowpack for development of a component library using storybook. Rollup has been introduced as the final build step since the final build is a node library and not a web app.
I think this is a unique example compared to the others. I'd love to include it if possible!
of course feedback would be appreciated if not.
Thanks!
Steven

This looks great, thanks for reaching out and adding! Really happy to hear that you're enjoying the project!


fix: reporting check when click next button

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license
Summary
(describe what this merge request does)
Implementation highlights
(describe how the merge request does for feature changes, share the RFC link if it has)
Test checklist

[ ] add new test cases
[x] all code changes are covered by unit tests
[x] end-to-end tests

[x] deploy web console with CloudFront + S3 + API gateway
[ ] deploy web console within VPC
[ ] deploy ingestion server

[ ] with MSK sink
[ ] with KDS sink
[ ] with S3 sink

[ ] deploy data processing
[ ] deploy data modeling

[ ] new Redshift Serverless
[ ] provisioned Redshift
[ ] Athena

[ ] deploy with reporting
[ ] streaming ingestion

[ ] with Redshift Serverless
[ ] with provisioned Redshift

Is it a breaking change

[ ] add parameters without default value in stack
[ ] introduce new service permission in stack
[ ] introduce new top level stack module

Miscellaneous

[ ] introduce new symbol link source file(s) to be shared among infra code, web console frontend, and web console backend

SonarQube Quality Gate Result

Result: :white_check_mark: OK
Triggered by @tyyzqmf on pull_request

Metric
Status
Value
Error Threshold

Reliability rating
:white_check_mark: OK
1
> 1

Security rating
:white_check_mark: OK
1
> 1

Sqale rating
:white_check_mark: OK
1
> 1

Coverage
:white_check_mark: OK
83.60
< 80

Duplicated lines density
:white_check_mark: OK
8.50
> 30

Blocker violations
:white_check_mark: OK
0
> 0

Bugs
:white_check_mark: OK
0
> 0

Code smells
:white_check_mark: OK
9
> 40

Critical violations
:white_check_mark: OK
0
> 0

Major violations
:white_check_mark: OK
0
> 0

Vulnerabilities
:white_check_mark: OK
0
> 0

View on SonarQube
updated: 7/23/2024, 09:28:27 (UTC+0)

SonarQube Code Analytics
Quality Gate passed

Additional information
The following metrics might not affect the Quality Gate status but improving them will improve your project code quality.
Issues
 0 Bugs
 0 Vulnerabilities
 0 Code Smells
Coverage and Duplications
No data Coverage
No data Duplication


Sprockets::FileNotFound: couldn't find file 'autonumeric'

The following error occurs when assets are precompiled
Sprockets::FileNotFound: couldn't find file 'autonumeric'

Fixed by https://github.com/randoum/autonumeric-rails/commit/209af266a055465a991aeb228a154f566ed230f3

Can we get a new release with this fix?


Updating path conflicts between "self.file_path" and "default_open_dir_path"

**OS: Mac OS 12.2
**PyQt version: Qt5

When the variable "default_open_dir_path" changed in the system, somehow, providing a new path "self.file_path" always fails:
labelImg [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

and this [IMAGE_PATH] has been overwritten by it:
target_dir_path = ustr(default_open_dir_path)

I have added the following into labelImg.py to have hot fix: (hope someone can add this and check-in with new version)
1357:
if self.file_path:
     target_dir_path = self.file_path
else:
     target_dir_path = ustr(default_open_dir_path)

this problem was introduced by this change
This also means that the default_open_dir_path gets saved in the settings


Clarify the role of binding votes in release voting

LGTM.

This looks fine to me. I would love to later add a blurb about how non-binding votes are still very much encouraged, but it is not required for this change to make sense. I'd suggest getting @rvs to sign off on this, as it belongs to Legal.

@Humbedooh Added some encouragement text.  Thoughts?

@bdelacretaz Nice job spotting the duplicate text.  Patch applied and pushed.

Hi,
I think this could be made clearer as it says “a minimum of three positive binding votes”. Is a +0.5 a binding vote then a positive vote? In my experience only +1 votes are counted.
Kind Regards,
Justin

@justinmclean Added a link to the "Expressing votes" section of voting.md and clarified "votes from PMC Members on releases must use +1, 0, -1 to be considered binding."

Looks good to me like this, thank you!

Heard from @rvs offline, he said "This looks fine to me."


Cannot compile "base" package when opening this workspace in intellij

Description of the issue. Please be specific.
I would like to do some development work in this repository, specifically I would like to try and make some changes in the base package. In the readme it was recommended to use the ijwb/ijwb.bazelproject file for importing but this produces compilation errors during the build.
What's the simplest set of steps to reproduce this issue? Please provide an example project, if possible.

Clone this repo

Checkout tags/2021.04.07

Open intellij and import bazel project using the ijwb/ijwb.bazelproject

The build fails for me

I delete the //:ijwb_ue_tests target from ijwb.bazelproject and resync and the build works.

Open base/src/com/google/idea/blaze/base/actions/BlazeCompilerFileAction.java and see

where dependencies appear to be missing. I have tried playing around with the ijwb.bazelproject to no avail. Everything builds fine outside of intellij. Any ideas?
Version information
IdeaCommunity: 2020.3.4
Platform: Linux 5.11.0-7614-generic
Bazel plugin: 2<IP_ADDRESS>.5
Bazel: 4.1.0

This is on us. Please change your Bazel project (under Bazel/Project/Open Project View File) to have
build_flags:
  --define=ij_product=intellij-ue-latest

The issue is caused by the build flag having intellij-latest instead of intellij-ue-latest. During the build, this makes the SDK be the CE sdk which doesn't contain the proper libraries to run //:ijwb_ue_tests.

This is on us. Please change your Bazel project (under Bazel/Project/Open Project View File) to have
build_flags:
  --define=ij_product=intellij-ue-latest

The issue is caused by the build flag having intellij-latest instead of intellij-ue-latest. During the build, this makes the SDK be the CE SDK which doesn't contain the proper libraries to run //:ijwb_ue_tests.

Thanks that fixes the first issue. I still see errors throughout the workspace relating to a missing dependency though like so:

from a class in the "base" package. Do you have any idea about why the plugin api cannot be resolved?


Razor auto-format breaks on for loops

This issue has been moved from a ticket on Developer Community.

[severity:It's more difficult to complete my work] [regression] [worked-in:VS2019]
I usually auto-format my code when I work, and this bug is problematic because it breaks the entire razor code so I need to undo the changes every time.
For example, if we have the following code:
<Row>
    <Column>
        <Select TValue="string">
            @foreach ( var i in new int[] { 1, 23 } )
            {
                <SelectItem Value="@i">@i</SelectItem>
            }
        </Select>
    </Column>
</Row>

and hit the format-code command we get:
<Row>
    <Column>
        <Select TValue="string">
            @foreach ( var i in new int[] { 1, 23 } )
                        {
            <SelectItem Value="@i">@i</SelectItem>
                        }
        </Select>
    </Column>
</Row>

Notice the curly brackets go to the right, while SelectItem moves to the left.

Original Comments
Feedback Bot on 3/25/2022, 02:09 PM:
We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.

Original Solutions
(no solutions)

This is an interesting issue. Looks a bit like https://github.com/dotnet/razor-tooling/issues/6001, a bit like https://github.com/dotnet/razor-tooling/issues/5676 and looks a lot like https://github.com/dotnet/razor-tooling/issues/5648, though that one is fixed. Quite a puzzle.
Originally reported by @stsrki using Blazorise to repro: https://twitter.com/MladenMacanovic/status/1507249028622340122

The Select component is the trouble maker here, so at least the fix for #5648 is still working. I suspect something to do with how the generics are handed in the generated C# code.


Windows Phone 8 sample

It's a low priority, but a WP8 sample must be add to the projet.

PCL & WP8 isn't the current priority


Doc correction

It appears https://github.com/vezeli/click/commit/6db1df48b334691f32bf9c190854ccd9d6a1b0c8 branches off master.
I suggest rebasing your https://github.com/vezeli/click/commit/6db1df48b334691f32bf9c190854ccd9d6a1b0c8
against tag 7.x, and force-pushing to your vezeli:doc-correction branch.

I get to many merge conflicts, maybe close and the PR and redo? Or solve them manually?


make go-oracle happy

gooracle was complaining about an unused variable.  I like being able to use gooracle against everything, including tests.

LGTM, not sure how the regular compiler was OK with that.

btw do you have to set any scopes with your go oracle? Maybe something in my setup is wrong.

I use the GoOracle sublime plugin with this in my kube.sublime-project
    "GoOracle": {
        "env": {
            "PATH": "$PATH:$GOROOT/bin:$HOME/workspaces/gocode/bin:$HOME/go-tools/bin:$HOME/workspaces/gooracle/bin",
            "GOPATH": "/home/deads/workspaces/kubernetes:/home/deads/workspaces/kubernetes/src/github.com/GoogleCloudPlatform/kubernetes/Godeps/_workspace",
            "GOROOT": "$HOME/go-root"
        },
        "oracle_scope": [
            "github.com/GoogleCloudPlatform/kubernetes/cmd/e2e",
            "github.com/GoogleCloudPlatform/kubernetes/cmd/gendocs",
            "github.com/GoogleCloudPlatform/kubernetes/cmd/hyperkube",
            "github.com/GoogleCloudPlatform/kubernetes/cmd/integration",
            "github.com/GoogleCloudPlatform/kubernetes/cmd/kube-apiserver",
            "github.com/GoogleCloudPlatform/kubernetes/cmd/kube-controller-manager",
            "github.com/GoogleCloudPlatform/kubernetes/cmd/kube-proxy",
            "github.com/GoogleCloudPlatform/kubernetes/cmd/kubectl",
            "github.com/GoogleCloudPlatform/kubernetes/cmd/kubelet",
            "github.com/GoogleCloudPlatform/kubernetes/cmd/kubernetes",
            "github.com/GoogleCloudPlatform/kubernetes/plugin"
        ]
    }

I haven't looked to see if I'm fully up to date, but it's been handy.

Cool-- yeah my vim plugin doesn't make it easy to set the scopes. I should figure that out.

Shippable is a flake.

@csrwng Do you configure gooracle scopes in vim?

@deads2k yes. I create a local .vimrc for each project I work on

So in my main .vimrc I have:
set exrc
set secure

This enables per-directory .vimrc
And in my kubernetes directory, my .vimrc directory looks like:
let g:go_oracle_scope = 'github.com/GoogleCloudPlatform/kubernetes/cmd/kube-apiserver github.com/GoogleCloudPlatform/kubernetes/cmd/kube-controller-manager github.com/GoogleCloudPlatform/kubernetes/cmd/kube-proxy github.com/GoogleCloudPlatform/kubernetes/cmd/kubectl github.com/GoogleCloudPlatform/kubernetes/cmd/kubelet'
let $GOPATH = '/Users/cewong/Code/kube-go:/Users/cewong/Code/kubernetes/Godeps/_workspace'


Fall back to copyTo option as a remoteCopy dest

In symmetry with deployTo I added a copyTo as a fallback for remoteCopy's dest parameter.
TBH I'm not too crazy about deployTo nor copyTo but wanted to keep it symmetrical.
IMO it doesn't make sense to hardwire task types in task configuration option names, it would be far more flexible if they were more generic, e.g. dest. The remote destination directory is (to me) part of server configuration, not task configuration, which is why I propose this change to begin with.
And since I'm criticising anyway (sorry 'bout that, I honestly mean it to be constructive) the generic name of the "deploy" task bothers me too, since rsyncing something to a remote host is deployment as well, i.e. it would be far more clear to skip a default "deploy" task and rename it to "sync", then in the server configuration I'd go for a type option which has value 'git' or 'rsync'. It would make it a lot more flexible and expandable (if you'd choose to add some transfer types later on) Or instead of strings, let it accept node modules. E.g.:
var git = require("shipit-git"); //renamed module
var rsync = require("shipit-rsync");
shipit.initConfig({
	staging: {
		repositoryUrl: 'https://github.com/example/example',
		ignores: ['.git', 'node_modules'],
		servers<EMAIL_ADDRESS>
		dest: '/home/user/app',
		workspace : '/tmp/shipit'
		type : git
	},
	production : {
		ignores: ['.git'],
		servers<EMAIL_ADDRESS>
		dest: '/home/user/awesome',
		type: rsync
	}
});

Allowing this to run with shipit staging sync and shipit production sync.
And when we're on the subject of configuration ... (I'm really sorry, you can just ignore my ramblings) A powerful concept of shipit IMO is the possibility to extract it from the usual build automation stuff I put in my repos because of the baked in git stuff. Which means I could bundle all of the deployment tasks of a project into a single repo. E.g. I've got a REST server app and a web client which connects to the REST API. In that case, most probably both are hosted on the same server, yet in different directories for instance. Therefore it would be pretty handy to have an intermediate configuration level. I.e. there's already server and task configuration, but it would be beneficial to add some kind of "target" configuration.
Something like this:
var git = require("shipit-git"); //renamed module
var rsync = require("shipit-rsync");
shipit.initServers({
  staging: {
      servers<EMAIL_ADDRESS>  },
  production : {
	  servers<EMAIL_ADDRESS>  }
});

shipit.initTargets({
	client : {
		ignores: ['.git', 'node_modules'],
		repositoryUrl: 'https://github.com/example/example',
		dest: '/home/user/client',
 		workspace : '/tmp/shipit'
		type : git
	},
	rest : {
		ignores: ['.git'],
		dest: '/home/user/rest',
		type: rsync
	}
});

And usage would be something like:
$ shipit staging:client sync
# and
$ shipit production:rest sync

Again, sorry for this lengthy rant and I realise the above is A LOOOOT of work. I'm just giving feedback on an awesome tool and hope to see it become even more awesome. If you are interested though, I can certainly help out with the lion share.

I will not accept your PR because I don't want to make remote, local or remoteCopy actions dependent in their args (except for options) but command, src, and dest must not have default value in my vision.
Also what you propose is highly focus on deployment, and it's not the only goal of Shipit. I think that Shipit is very light and extensible, so you can create your own environment without modifying the core of Shipit.

Alright, no probs! I'm a bit confused though, how is the deployTo option different? Probably from a code-wise POV it's very different, but as a user of shipit it seems an odd discrepancy?

@creynders deployTo is relative to deployTask, it doesn't concern the core of Shipit.

Ah yes, understood!


Raspberry PI ( Jessie ) and Vivotek IP Camera ( CC-8130 )

I encountered a minor issue when attempting to set this up on my Raspberry PI with Jessie.   The package ffmpeg has been changed to libav-tools, and the ffmpeg command was changed to avconv.   After an install of libav-tools and doing a quick edit of ffmpeg.js to change the ffmpeg command to avconv, everything worked fine.

The alternative solution I use is :
cd /usr/bin && ln -s avconv ffmpeg

Tks macjl, after updating I switched to this.
For me, I found that the following settings seemed to work okay with the Vivotek IP Camera
On the camera I had set the settings for Media->Video->Stream 1 to
H.264
Frame Size 640*400
Maximum frame rate 5
Intra Frame Period 1/4S
Video Quality: Good
Maximum bit rate 10 Mbps
And in config.json
{
"platform": "Camera-ffmpeg",
"cameras": [
{
"name": "Office Camera",
"videoConfig": {
"source": "-re -i rtsp://192.168.1.XX/live.sdp",
"stillImageSource": "-i<EMAIL_ADDRESS>"maxStreams": 2,
"maxWidth": 640,
"maxHeight": 480,
"maxFPS": 5
}
}
]
}

Latest working configuration is in the wiki


ApiGW tests sometimes fail with return code 429 (too many requests in the last minute)

failing testcases:
whisk.core.cli.test.ApiGwRestTests.Wsk api should verify successful creation of a new API using an action name using all allowed characters
whisk.core.cli.test.ApiGwRestTests.Wsk api should verify failed creation with invalid swagger doc as input
whisk.core.cli.test.ApiGwRestTests.Wsk api should verify delete basepath/path
whisk.core.cli.test.ApiGwRestTests.Wsk api should verify delete single operation from existing API basepath/path/operation(s)
whisk.core.cli.test.ApiGwRestTests.Wsk api should verify successful creation with complex swagger doc as input
whisk.core.cli.test.ApiGwRestTests.Wsk api should verify successful creation and deletion with multiple base paths
whisk.core.cli.test.ApiGwRestTests.Wsk api should verify API with http response type
whisk.core.cli.test.ApiGwRestTests.Wsk api should reject deletion of a non-existent api
whisk.core.cli.test.ApiGwRestTests.Wsk api should successfully list an API whose endpoints are not mapped to actions
example error messages:
org.scalatest.exceptions.TestFailedException: 429 was not equal to 200
org.scalatest.exceptions.TestFailedException: "Too many requests in the last minute (count: 63, allowed: 60)." did not include substring "swagger is missing the basePath field."

The tests should use the returned count to properly throttle and remove the guess work out which is going to get harder to do with multiple controllers active soon on master.

this failure was introduced when running the cli api gw tests followed by the equivalent rest-based api gw tests.  each test suite is action invocation intensive and were implemented prior to having a return count with the 429 error.  leveraging an explicit throttle count from the backend is a strategic approach, although i'm seeing emails regarding the need for translating exposed PII, so maybe parsing a response won't work in all languages.  in either case, a quick tactical fix will be to settle the throttle completely at the end of the test suite so that downstream tests will start with a clean throttle count.

fixed via https://github.com/apache/incubator-openwhisk/pull/2963

@mdeuser
How strange!! after used the new codes(#2963 already merged) to run test cases.
Why this issue sometimes happen?
whisk.core.cli.test.ApiGwRestTests > Wsk api should verify delete basepath/path FAILED
    org.scalatest.exceptions.TestFailedException: 429 was not equal to 200

whisk.core.cli.test.ApiGwRestTests STANDARD_OUT

    Finished test Wsk api should verify delete basepath/path at 2017-11-23 15:09:57.163

    Starting test Wsk api should verify delete single operation from existing API basepath/path/operation(s) at 2017-11-23 15:09:57.163

whisk.core.cli.test.ApiGwRestTests > Wsk api should verify delete single operation from existing API basepath/path/operation(s) STANDARD_OUT
    Action invokes within last minute: 51
    Action invokes within last minute: 52

whisk.core.cli.test.ApiGwRestTests > Wsk api should verify delete single operation from existing API basepath/path/operation(s) FAILED
    org.scalatest.exceptions.TestFailedException: 429 was not equal to 200

whisk.core.cli.test.ApiGwRestTests STANDARD_OUT

    Finished test Wsk api should verify delete single operation from existing API basepath/path/operation(s) at 2017-11-23 15:09:57.306

    Starting test Wsk api should verify successful creation with complex swagger doc as input at 2017-11-23 15:09:57.308

whisk.core.cli.test.ApiGwRestTests > Wsk api should verify successful creation with complex swagger doc as input STANDARD_OUT
    Action invokes within last minute: 53
    Action invokes within last minute: 54

whisk.core.cli.test.ApiGwRestTests > Wsk api should verify successful creation with complex swagger doc as input FAILED
    org.scalatest.exceptions.TestFailedException: 429 was not equal to 200

whisk.core.cli.test.ApiGwRestTests STANDARD_OUT

    Finished test Wsk api should verify successful creation with complex swagger doc as input at 2017-11-23 15:09:57.372

    Starting test Wsk api should verify successful creation and deletion with multiple base paths at 2017-11-23 15:09:57.374

whisk.core.cli.test.ApiGwRestTests > Wsk api should verify successful creation and deletion with multiple base paths STANDARD_OUT
    Action invokes within last minute: 55
    Action invokes within last minute: 56
    Action invokes within last minute: 57

whisk.core.cli.test.ApiGwRestTests > Wsk api should verify successful creation and deletion with multiple base paths FAILED
    org.scalatest.exceptions.TestFailedException: 429 was not equal to 200

whisk.core.cli.test.ApiGwRestTests STANDARD_OUT

    Finished test Wsk api should verify successful creation and deletion with multiple base paths at 2017-11-23 15:09:57.547

    Starting test Wsk api should verify API with http response type at 2017-11-23 15:09:57.549

whisk.core.cli.test.ApiGwRestTests > Wsk api should verify API with http response type STANDARD_OUT
    Action invokes within last minute: 58
    Action invokes within last minute: 59

whisk.core.cli.test.ApiGwRestTests > Wsk api should verify API with http response type FAILED
    org.scalatest.exceptions.TestFailedException: 429 was not equal to 200

After checking, in whiks.properties: limits.actions.invokes.perMinute=60
It seems the quest doesn't reach 60

@ningyougang Looking at #2998, it seems all is working now for you?

@mdeuser
Yes, after using this commit : https://github.com/apache/incubator-openwhisk/commit/1a4493f1facd301d34c2beb5dd011c52d3b2953c
It is ok.


Generate list of "beta ideas"

Colouring:

https://github.com/wearedarts/colouring/issues/5 is a must-do for usability, responsiveness, and keeping the app adaptable for future content
Able to save/share/print final image
Able to choose more colours
Try to keep progress between page changes/visits
Dynamic routes so there's no hard coding

Pairs:

See all cards at the start and then shuffle
Example of what you're trying to match
Some kind of end state/play again/menus

Games:

Make the games look exciting to play


When executed through validate, scalacheck should generate more test cases

We're currently only generating 10 test cases per test, which is fine for quick, local tests. Integration tests, however, should be more thorough - 100 or so?
@ShaneDelmore points out it should be trivial, but this doesn't actually appear to work. I half-remember something Discipline related changing the default value, maybe that's the cause?

This is actually controlled by scalatest. We could hardcode 100 test cases that way:
class Foo extends FunSuite with GeneratorDrivenPropertyChecks {
  implicit override val generatorDrivenConfig = PropertyCheckConfiguration(minSuccessful = PosInt(100))
  ...
}

Probably not a great idea though, better to work out how to make it configurable.


update choice-name to also support select-multiple

Actually, choice-name function support only select-one (or select-multiple if only one element is selected).
I suggest to change the code for split the name with a space (the list separator), and loop over it for find all labels.
At the end, join it with a space.

What do you think about this ?

Thanks for sharing this idea. Please see this ODK forum thread and see if ideas there could help you. If not, it would be helpful to get a description of your underlying need. Is it like the original user who would like to ask for confirmation? Something else?
Ideally we would come up with a solution that would give the form designer control over the separator. We're very close with the solution I shared in that thread but need a way to address translations.

I had looked for a solution but I had not found this one (the join).
That's exactly what I want, with the extra configurable separator!

Oh great, glad to hear it, @jdugh! Consider posting these kinds of questions or ideas on the ODK forum so they get more eyes. 👀


Display stats relating to displayed dataframe

Hello - Just started using qgrid and it greatly assists in the initial stages of exploring a dataset.
A very useful enhancement would be the inclusion on the toolbar of stats relating to the displayed object taking into account current filters.  Things like number of rows.  Maybe even per column stats: number of blanks, number of NAs etc.

Thanks...this is a request I've heard a couple of times now.  I'm hoping to include "number of rows" in an upcoming release, since that's fairly straightforward.


Describe default length units in ReadMe

In ReadMe, add description of feet as default unit of length when units are not called out in function name.

Closed with commit e289ebc.


The search focus is broken

I will fix it soon. This breaked after latest releases.

Fixed in https://github.com/beercss/beercss/releases/tag/v3.6.13


XMPP authentication failure

After inputting email address and password and asked for prefix, it just closed and whenever i tried to run it again it says
XMPP authentication failure

Did you enable less secure apps in your Google account?
Refer to this documentation here: https://devanswers.co/allow-less-secure-apps-access-gmail-account/
Let me know whether this solves your issue.

yes I enable less secure apps, It is on

You can cross-check your credentials, I just tested on my side, it seems to be working with the latest Google APIs and security.

Did it work?

How do you re-enter the credentials since i just keep getting 'XMPP authentication failiure' even after turning it on. Note: I entered the incoreect credentials at the start.


Add common 3rd party warnings config target

There is an idiom for relaxing warnings for third party in GN:
configs -= [ "//buildsys/1st_party_warnings" ]
configs += [ "//buildsys/3rd_party_warnings" ]
The trouble is that "//buildsys/1st_party_warnings" is an object from
the core build system that we have to name which introduces some
coupling (e.g., projects may have the same pattern with different target
names and this would not work). To minimize this coupling, indirect this
through the build_overrides directory where the top level project can
provide suitable targets (or not, if the defaults already work).
This is provided for discussion in issue #7935

I do like having a more centralized definition of what warnings we are disabling.

Agreed, warning flags are cross cutting especially when they involve code in header files. Even the -isystem work made me a bit nervous because it suppress all warnings, even the ones with the highest signal for finding real bugs in code we're incorporating.

Yeah, I am not super-happy about the -isystem bits.  Would really prefer to turn off warnings on a per-header basis in a targeted way for things we want to whitelist, instead of the blanket thing.... :(


Perform SQL Sanitisation on Database Queries

#9 Used parameterized queries, also known as prepared statements, as the sanitization method.

Please perform sanitisation on more queries and not only one


Update broken_link_count to ignore disabled links

Previously when calculating the broken links count, we would count links that were associated with disabled services. This led to a big discrepancy between link count and the listing of the broken links. This commit fixes the problem by using the provided_service_links method which takes enabled services and tiers into consideration. Note that we update the service factory to default to supporting all tiers, otherwise calling provided_service_links for a service (when created by Factory) would not return anything.
We also remove the FactoryGirl. call which is no longer necessary.

🖖


Feature request: Set working hours

First of all, thanks for this great addition. Second, I'd like to make a feature request: setting working hours in which the color temperature can not fall below a threshold.
My situation:
As the sun in the Netherlands sets quite early already, I'm still working at that time. As I associate colder light with working, I'd like the lights to be colder during working hours (but still varying). After working hours - let's say at 18:00 - I would like the same lights to turn warmer than during the day, but still be adaptive.
Solution:

The first solution I thought of was to have an option within the integration to define a "working hour" time range in which the brightness/temperature can not exceed a certain value. However, this has a limited scope to other problems, and would not work directly when having a second range of working hours later in the evening for example.

The solution I think is better: Being able to define the time range during which an adaptive lighting integration should be enabled. In this way, you define separate integrations for separate periods with different temperature/brightness values. These integrations then work on the same set of lights anyway.

Let me know what you think, and keep up the great work!

This can be accomplished by having two Adaptive Lighting instances with different sunset/sunrise times and toggling between them during working hours.


fuzzy_matching was not present

slack-api was working great a week ago now I'm receiving this
*** Exception: user error (When parsing the record Preferences of type
Web.Slack.Types.Preferences.Preferences the key fuzzy_matching was not present.)

I tried making _prefFuzzyMatching a Maybe
Now I receive
*** Exception: user error (when expecting a Int, encountered Boolean instead)

Have no idea which field is giving this.
Any thoughts on making the lib more resilient to upstream changes from slack?

For this particular issue: looking at the raw JSON response, it's _teamRequireAtForMention in TeamPreferences (require_at_for_mention in the team.prefs object of the JSON) that has changed to a Boolean.
Agreed the lack of documentation and changing API is frustrating.

that did it? How does one go about debugging that?

The error message I was getting had a bit more info:
user error (Error in $.team.prefs: failed to parse field team: failed to parse field prefs: expected Int, encountered Boolean)
Then I just manually looked through the JSON response and checked which fields were actually Bool but had Int listed in TeamPreferences.hs.

This should be fixed with 5b71b91.


Add Rust Ipv4Addr, Ipv6Addr to Dart InternetAddressType class

I found, that there is no default rust to dart conversion for Network types Such as Ipv4Addr, Ipv6Addr to dart InternetAddressType since frb converts it to opaque struct. Can you add this conversion by default in frb?
Rust IpAddr
Dart InternetAddressType

That sounds reasonable. Currently, you can utilize https://cjycode.com/flutter_rust_bridge/guides/types/translatable/custom and add a dozen of lines to support that conversion.

I tried to add custom encoder but it fails now, because in frb_generated.rs there are 2 encoders for Ipv4Address:
impl SseEncode for Ipv4Addr {
    // Codec=Sse (Serialization based), see doc to use other codecs
    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
        <RustOpaqueNom<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Ipv4Addr>>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, StdArc<_>>(self), serializer);
    }
}
...
impl SseEncode for Ipv4Addr {
    // Codec=Sse (Serialization based), see doc to use other codecs
    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
        <String>::sse_encode(crate::api::device::encode_ipv4_type(self), serializer);
    }
}

my custom encoder
#[frb(rust2dart(
    dart_type = "InternetAddress",
    dart_code = "InternetAddress.fromRawAddress({})"
))]
pub fn encode_ipv4_type(raw: Ipv4Addr) -> Vec<u8> {
    return raw.octets().to_vec();
}

#[frb(dart2rust(dart_type = "InternetAddress", dart_code = "{}.address"))]
pub fn decode_ipv4_type(raw: String) -> Ipv4Addr {
    raw.parse().unwrap()
}

I tried to create sample for you, but it has another error, idk how to fix it
  SEVERE: error[E0599]: no method named `into_into_dart` found for struct `Ipv4Addr` in the current scope
  SEVERE: error[E0277]: the trait bound `*mut wire_cst_list_prim_u_8_strict: frb_generated::CstDecode<Ipv4Addr>` is not satisfied
SEVERE : error : could not compile `rust_lib_test` (lib) due to 2 previous errors [C:\Users\vladt\Desktop\test\build\windows\x64\plugins\rust_lib_test\rust_lib_test_cargokit.vcxproj]

https://github.com/VladTheJunior/test_frb

Hmm, firstly maybe try to let the encode and decode have the same time (currently it is Vec and String in the two scenarios)
In addition, does the demo in the doc work? If so maybe we can try to mimic that demo.

Hmm, firstly maybe try to let the encode and decode have the same time (currently it is Vec and String in the two scenarios)

I used it in test example in my previous comment

Another possibility is that, maybe Ipv4Addr is used as both opaque and non-opaque, which confuses frb.

How can I check or fix that

Okay, I will add some summary.  After create new frb project, I added these lines to simple.rs file:
use std::net::Ipv4Addr;

use flutter_rust_bridge::frb;

#[flutter_rust_bridge::frb(sync)] // Synchronous mode for simplicity of the demo
pub fn greet(name: Ipv4Addr) -> String {
    format!("Hello, {}!", name.to_string())
}

#[frb(rust2dart(
    dart_type = "InternetAddress",
    dart_code = "InternetAddress({})"
))]
pub fn encode_ipv4_type(raw: Ipv4Addr) -> String {
    return raw.to_string();
}

#[frb(dart2rust(dart_type = "InternetAddress", dart_code = "{}.address"))]
pub fn decode_ipv4_type(raw: String) -> Ipv4Addr {
    raw.parse().unwrap()
}

and this to flutter_rust_bridge.yaml:
rust_preamble: use std::net::Ipv4Addr;
dart_preamble: import 'dart:io';

and in Dart:
greet(name: InternetAddress("<IP_ADDRESS>"))

All of this works perfectly. But when I add struct Device with Ipv4Addr field it starts to generate error no method named `into_into_dart` found for struct `Ipv4Addr` in the current scope
#[flutter_rust_bridge::frb(sync)] // Synchronous mode for simplicity of the demo
pub fn greet(name: Device) -> String {
    format!("Hello, {}!", name.ip.to_string())
}

pub struct Device{
    pub ip: Ipv4Addr
}

greet(name: Device(ip: InternetAddress("<IP_ADDRESS>")))

Idk why, but I figured out why it thinks about opaque type. When I add Debug derive to Device struct it becomes autoopaque:
#[derive(Debug)]
pub struct Device{
    pub ip: Ipv4Addr
}

But when I add struct Device with Ipv4Addr field it starts to generate error

Also try full_dep: false in case you are using the dco codec which is not supoorted yet

Also try full_dep: false in case you are using the dco codec which is not supoorted yet

I thought full_dep is false by default. When I added full_dep: false,  with enabled Derive(Debug) it stops generate my custom encoders, only autoopaque one.
When Derive(Debug) is removed it still generate error no method named `into_into_dart` found for struct `Ipv4Addr` in the current scope
I updated me test example in this repo: https://github.com/VladTheJunior/test_frb

Why into_into_dart is not auto generated used by my custom encoder/decoder?

implement the into_into_dart manually

What is correct to do it? I tried
impl flutter_rust_bridge::IntoIntoDart<std::net::Ipv4Addr> for std::net::Ipv4Addr {
    fn into_into_dart(self) -> std::net::Ipv4Addr {
        self
    }
}

but got this:
SEVERE: error[E0117]: only traits defined in the current crate can be implemented for types defined outside of the crate
SEVERE: error[E0277]: the trait bound `allo_isolate::ffi::DartCObject: From<Ipv4Addr>` is not satisfied

Maybe mimic how a third party type (via mirroring) is implemented.

I think it's better to wait fixes/adding Ipv4 by default in frb. Thank you for all responses and your big work on this project

Looks reasonable, and you are welcome

I cannot reproduce the into_into_dart problem. The following code compiles without any issue:
pub fn greet(name: Ipv4Addr) -> String {
    unimplemented!()
}

#[frb(rust2dart(dart_type = "InternetAddress", dart_code = "InternetAddress({})"))]
pub fn encode_ipv4_type(raw: Ipv4Addr) -> String {
    return raw.to_string();
}

#[frb(dart2rust(dart_type = "InternetAddress", dart_code = "{}.address"))]
pub fn decode_ipv4_type(raw: String) -> Ipv4Addr {
    raw.parse().unwrap()
}

On the other hand, for fields inside structs, if a field has custom serialization type, it is not understood. I will fix that now.


mj-include: Add placeholders/variables

I found no practical way yet to use an external templating engine and think that this would really be helpful.

Hi @janus-reith
Some people have some successful workflow with handlebars & other templating framework. We don't want MJML to become "another templating language". While giving variables people will want conditionnal structure & so o on.
Can you share maybe your current setup so we can try to help you ?

Just wanted to give an update and saw your post,
I actually found a workflow with handlebars that works.
The default handlebars cli tool was not capable of simply outputting direct html or mjml syntax code,
but I found render-cli on npm which does what I need.
Closing this.

If someone is still interested, I made a mjml component that allows to use variables without the need of an external template engine:
https://github.com/roibeart/mjml-wb-variable
Probably the programming logic beneath it is unconventional and quite dirty, but it works well and saved me a lot of hassles.

Hi @roibeart
I'd like to use your component but unable to get it to work. It's likely I haven't installed it properly. Is there something more to installing beyond copying the lib folder (which only contains the .gitkeep file) and the .mjmlconfig file into the mjml project folder? What about all of the other files in the mjml-wb-variable repository?
Thanks for any help getting this working.

Hi @vaguedread, thanks to your report I realized that the lib folder didn't have the compiled file of the component...
I added it now to the repository, if you copy it to your project the component should work.
Sorry for the inconvenience! Let me know if you need more support.

Hi @roibeart
Thanks for responding. I'm still unable to get it to work. My installation is probably not correct since I continue to get the message that wb-variable "doesn't exist or is not registered." Attached, a screengrab of where I installed the files.

Also, the directions say to declare the variables within the mj-container. According to the mjml documentation, that component is no longer valid in v4. I tried placing my variables just below the opening mj-body tag, but no luck. What am I doing wrong?


Not Working with Android 13

I have tried this library but in the latest Android version 13, it's not working It fluctuates the selection popup when clicking on the image view.

Could you please post a screenshot showing the exact issue

https://github.com/maayyaannkk/ImagePicker/assets/137288141/4080bfbe-d7cc-4915-a0ff-92632bd96ce5
please check attached video of the issue

I am using this library for 1 year and implemented it in many projects it works fine but now implemented it in a new project and checked with my one plus Nord ce2 device which is newly updated with Android 13.0 then this issue arrives before the update in 12.0 is working fine

thank you for bringing this to my attention, will check this out when I get some time.
In the meantime feel free to check the code and create a PR for the fix

@maayyaannkk please look in to it for android 13 so I can update the lib at my side, so it will work in android 13 device

@shrimalshubham can you share some error logs?


Exclude unnecessary files

Hello,
Since all the main browser/Node.js are pointing to a file inside dist folder, I think that the rest of files inside files field can be removed in order to reduce the package size.

Hey,
Thanks a lot for opening this PR. Originally I decided to leave the original source code in the package so that project could import the TypeScript files directly. But I guess that does not happen and the type definitions from dist are enough. Seems fine to remove. Did you maybe measure the size difference with this change?

Answering my own question.
before:
npm notice package size:  568.6 kB
npm notice unpacked size: 1.6 MB
npm notice total files:   47

after:
npm notice package size:  484.9 kB
npm notice unpacked size: 1.4 MB
npm notice total files:   32

To save even more maybe it would make sense as a next step to publish tldts and tldts-experimental as two separate packages. I see you are using lerna extensively in your projects, I guess it could be useful for this purpose as well.
Merging this as it provides a significant gain already.
Thanks again!

Released v5.2.0 (will be available on npm shortly).

Yes, in addition, CLI could be a separated package, like tldts- cli


(carry 19668) don't try to install journald driver on wheezy

Carry of https://github.com/docker/docker/pull/19668
Fixes https://github.com/docker/docker/issues/19989

ping @jfrazelle @tianon for review / testing (don't have access to wheezy with the right kernel)

LGTM thanks

This one's strange because our version is new enough in backports (https://packages.debian.org/wheezy-backports/libsystemd-journal0), but APT doesn't like installing it. :disappointed:
LGTM

(using systemd on wheezy probably isn't the best experience anyhow, so I think this is probably just fine)


element-desktop: use electron version 27

Description of changes
Upstream switched to electron 27 in version 1.11.48
https://github.com/vector-im/element-desktop/releases/tag/v1.11.48

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Priorities
Add a :+1: reaction to pull requests you find important.

Please pin it to electron_27, since we will default the electron attribute to 28 soon


ROX-23267: WIP

Description
This PR is not anymore about increasing a wait timeout.
Instead we remove our custom (extremely underprovisioned) resource configuration and see how it goes.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
Here I tell how I validated my change
TODO(replace-me)
Use this space to explain how you validated that your change functions exactly how you expect it.
Feel free to attach JSON snippets, curl commands, screenshots, etc. Apply a simple benchmark: would the information you
provided convince any reviewer or any external reader that you did enough to validate your change.
It is acceptable to assume trust and keep this section light, e.g. as a bullet-point list.
It is acceptable to skip testing in cases when CI is sufficient, or it's a markdown or code comment change only.
It is also acceptable to skip testing for changes that are too taxing to test before merging. In such case you are
responsible for the change after it gets merged which includes reverting, fixing, etc. Make sure you validate the change
ASAP after it gets merged or explain in PR when the validation will be performed.
Explain here why you skipped testing in case you did so.
Have you created automated tests for your change? Explain here which validation activities you did manually and why so.
Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

/test scanner-v4-tests

/test gke-scanner-v4-tests
/test ocp-4-12-scanner-v4-tests
/test ocp-4-15-scanner-v4-tests


Orthogonal Router not working in some scenarios

#268 you can see problem in that issue
problem is not solved!

@zHaytam do you have any idea to solve it?

Hello,
I will need a small repo that reproduces the error so that I can know exactly what the issue is and how to fix it.
Do you think you're able to provide it?

Yes i can wait.

Do you mean you can and I should wait? I am confused haha

😅
Yeah i said please wait i need to make some changes on that then give you

Hi all,
The issue I have noticed with the OrthogonalRouter is when trying to link with a port that have an alignment of TopRight, TopLeft, BottomRight, BottomLeft. The GetOriginSpot method doesn't implement those scenario.
I tried a few things but then the AStarPathfinder doesn't find a path and the fallbackrouter is being used instead. I also tried to add those alignments in the IsVerticalSide method to see if would change things without any results.
Personally, I need this feature so I'm going to dive more in that to see what could be done using documentation on the AStarPathfinder algorithm.
But if it could be fixed it would be really helpfull.
Thanks for all the work in any case!
Best regards

Have also issues with OrthogonalRouter. I am using so far only top/bottom port alignments. I can make it work by changing css/html

You can see the problem here: https://github.com/Basyras/BlazorDiagramsOrthogonalRouterNotWorking

Also i tried to recreate SinglePortAnchor by simple copy pasting code from develop into new class CustomSinglePortAnchor. When using the new CustomSinglePortAnchor class in my example the Orthogonal Router is always broken regardless if there is Title or not above the relative border.


Purpose of this library

Hi, I'm reading the documentation of this library and I have a hard time determining the purpose of the Pos datatype, compared to Word. Is there some advantage that I missed?

Good question. The main difference with Word is that Pos doesn't allow zero and does not provide a Num instance.
I excluded the Num instance so there would be fewer potential runtime errors arising from using fromIntegral/subtraction/negation.
Pos is designed to work with nonempty containers and in configuration where zero is invalid.
Examples:

The cybus package uses the Pos type with multidimensional arrays and indices where each dimension of the array is nonzero and the number of dimensions is nonzero
It is also used in the primus package for dealing with nonempty containers.
I use it in configuration where the number of cpus cannot be zero when running concurrent tasks; or where duration of a thread delay must be greater than zero.

Not having a Num instance for Pos is annoying, but the primus package provides a Num1 class that is a safer alternative to Num that respects the bounds of those numbers. So there are Num1 instances for Natural/Word/Pos etc.

Awesome, thank you very much for this explanation!

Glad that helped.


Package is from unidentified developer on MacOS

On macOS when downloading the edge pkg from here
The following errors are displayed under security settings.
“MicrosoftEdgeBeta-<IP_ADDRESS>.pkg” can’t be opened because it comes from an unidentified developer.
After overriding the warning the next error comes up:
“MicrosoftEdgeBeta-<IP_ADDRESS>.pkg” can’t be opened because Apple cannot check it for malicious software.

This is not the right forum for such issues. Please use the feedback tool (smiley button) to file issues or request new functionality.


How to exclude es2015 modules in webpack externals?

Hi, I've been trying to find the answer for this but I cannot find it anywhere. Does anyone know how I can add a es2015 module called "@module/core" to webpack externals? I get the error invalid char "@"? Thank you in advance.

externals: ["@module/core"]?

I tried that but I get this error. I tried it with '@angular/core'.
ERROR in main-es2015.js from Terser
Unexpected character '@' [main-es2015.js:101,17]

Seem like you missing a valid output.libraryTarget configuration. If you build an CommonJs module (and want externals to be required) you need output.libraryTarget: "commonjs2"


ksonnet deprecation

Just wondering if VMWare's decision to deprecate ksonnet has any impact on kube-prod-runtime with kubecfg? It seems like it's fairly stable and most of the work done by Bitnami so expect it's ok just needs to be moved to new repo.

Hello @EamonKeane. No, it shouldn't. Although kubecfg is currently under the ksonnet it has been a while since most of kubecfg maintainers are from Bitnami. We plan to move kubecfg repository to a different org soon, and we plan to continue maintaining it the same way that we have been doing until now. I hope that clarifies a bit


UI - Add padding to the footer area

On https://www.ssw.com.au/rules/ lease add padding between
Show rules flagged as out of date
and
We <3 open source...

AB#58845

Hi @tiagov8

On https://www.ssw.com.au/rules/ lease add padding between Show rules flagged as out of date and We <3 open source...

Done

Figure: Padding added


Add missing fields, fix wrong data type

#22

Please also change the version of the package so when I merge this pull request it will be automatically available on nuget. Thanks


Giscus widget refused  to connect. May be a bug of the method hextra deal with i18n folder.

You will get more basic info in issue #228. Today I found another bug about i18n folder and giscus.
As #228 showed, I use i18n folder to manage i18n markdown files, now every files is under ./content/zh-CN folder(I haven't write texts in English or French, but I want to setup i18n folder structure firstly). Besides I configured giscus properly, but the giscus widget can't be loaded.

After check Network tab of Dev tools of Chrome, we can see this result.

The requested URL begins with https://giscus.app/zh-cn/widget?origin=, I tried to remove zh-cn/ from URL, then the giscus widget can be accessed. Inspired by this discovery, I disabled i18n configs in ./hugo.yaml and removed i18n folders under ./content path, the loaded giscus widget proved my guess.
So I think hextra may doesn't consider interactions between i18n folder and other functions of hextra.
You can see these bugs in my blog and find code from blog repos.

Thanks for reporting, I will look into this

I wasn't able to reproduce this issue:

Could you provide more details?

I noticed that your Request URL contains zh-CN, while mine is zh-cn. The Giscus widget will returns 404 with zh-cn but works correctly with zh-CN.
I don't understand why.

@librehugohu did you set the lang code like:
https://github.com/imfing/hextra/blob/7191e259584e339b499a63e2e60cb6d818222e18/exampleSite/hugo.yaml#L27

Oops, I didn't. Giscus widget appears after setting this option.


Nav bar

Merge #40 first.
Adds a basic top bar to every view, allowing editors to switch between the two main functionalities.
This is probably a good place to add the app-wide search to as well.

Müsste Lokalexpert*innen heißen, nicht Teilnehmerinnen.


PDF: Preface page number missing some page numbers

This issue was discovered in https://github.com/metanorma/iso-10303-detached-docs/issues/173:
The preface page number jumped from 'ii' to 'iv' without a blank page in between.

Originally posted by @ronaldtse in https://github.com/metanorma/iso-10303-detached-docs/issues/174#issuecomment-1522069133

I have to update ISO XSLT to process empty clause type="toc":
	<preface>
		<clause type="toc" id="_27549cd1-1c48-4300-8b0f-837f229aae76" displayorder="1">
			<title depth="1">Contents</title>
		</clause>
		<abstract id="_abstract" displayorder="2">
			<title>Abstract</title>
...

@ronaldtse I've looked at the file name READY-20230316-no-toc-iso-10303-50-ACTIONED.pdf
What does mean no-toc? ToC removed manually? Then this is the reason why page iii is missing. PDF doesn't have auto-page-numbering feature. Page numbers are hard-coded text.

Issue with empty 2nd Contents solved:

@Intelligent2013 ah yes you are correct -- the TOC was manually removed... by me. Thank you!!!


Port range forwarding?

Is there a function that will allow you to forward a lot of ports to a small number of commands?

is it possible to make a port range forwarding?
from 27000 to 27999?

Hello, I am Mohnish Mishra. I am an aspiring Software Developer currently in my 2nd year of BTech program in Computer Science and Engineering.
I am trying to explore open-source coding and new to the field. This project seemed attractive to me as I have a good knowledge of C++.
I am interested in working and contributing to this project. If you could please guide me and tell me more about this, it would be of great help to me.
Regards.

I believe you'd be able to specify a single listener that can bind to multiple addresses via additional_addresses (https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener.proto#envoy-v3-api-msg-config-listener-v3-listener) and use that to TCP proxy traffic to a specific upstream port. The config doesn't make this super easy to do (I think you'd need to list each ip/port you want) but I imagine it would work

I want to make a lot of ports, I want to open ports "27000-27999" so that envoy will forward a range of ports

@envoyproxy/envoy-maintainers Can you please open this and mark it help wanted?


This package should either be updated or deprecated

DISCLAIMER: This is not an attack on the creator of this package. Consider it a path forward if PhantomJS never gets undeprecated.
This package relies on PhantomJS, which has suspended further development according to this!
That means that the phantomjs-prebuilt package has been marked as deprecated and has not seen any updates, as of writing, in 3 years.
I tried forking and updating this package, but discovered that puppeteer actually support exactly the same things, probably because phantomjs also targeted chrome. Furthermore is puppeteer seeing active development. I tried switching phantomjs for puppeteer, but found that puppeteers interface is so simple, that it doesn't really make sense to wrap it.
I found two good resources for puppeteer:

https://pocketadmin.tech/en/puppeteer-generate-pdf/
https://pptr.dev/#?product=Puppeteer&version=v5.5.0&show=api-pagepdfoptions

And lastly here is my own typescript class wrapping puppeteer for convience, which does the exact same thing as this package:
import { launch, LaunchOptions, NavigationOptions, PDFOptions, MediaType } from 'puppeteer';

export interface PuppeteerOptions {
  emulateMedia?: MediaType;
  launch?: LaunchOptions;
  navigation?: NavigationOptions;
  pdf?: PDFOptions;
}

export class PuppeteerRenderer {
  public defaultOptions: PuppeteerOptions = {
    pdf: {
      format: 'A4',
    },
  };

  constructor(private options: PuppeteerOptions = {}) {}

  public async renderFromHtml(html: string) {
    const { browser, page } = await this.getBrowserAndPage();

    await page.setContent(html, this.options?.navigation ?? {});

    const pdfOptions: PDFOptions = this.options?.pdf ?? {};
    const buffer = await page.pdf({
      ...this.defaultOptions,
      ...pdfOptions,
    });

    await browser.close();

    return buffer;
  }

  /**
   *
   * @param path The file path to save the PDF to. If path is a relative path, then it is resolved relative to current
   * working directory. If no path is provided, the PDF won't be saved to the disk.
   */
  public async renderFromHtmlToFile(html: string, path: string) {
    const { browser, page } = await this.getBrowserAndPage();

    await page.setContent(html, this.options?.navigation ?? {});

    const pdfOptions: PDFOptions = this.options?.pdf ?? {};
    await page.pdf({
      ...this.defaultOptions,
      ...pdfOptions,
      path,
    });
    await browser.close();
  }

  private async getBrowserAndPage() {
    const browser = await launch(this.options?.launch ?? {});
    const page = await browser.newPage();

    if (this.options?.emulateMedia) {
      await page.emulateMediaType(this.options.emulateMedia);
    }

    return { browser, page };
  }
}

Looks great.
It's pretty simple but you can still publish it as another package to npm registry.

Bumping this as this package should still be updated or deprecated.


Allow local date for inline exclude newer

Resolves #6555

@hauntsaninja on further thought, isn't it wrong to allow a local date for exclude-newer in files that are intended to be version controlled and distributed? It seems like a bit of a correctness problem to have the script resolve to different dependencies depending on who is running it. It might make sense to require people to use a proper timestamp here that will be correct regardless of the execution timezone.
I think this notably differs from UV_EXCLUDE_NEWER which is configured on a single machine and not easily distributed.

The use case I'm thinking of is "I wrote a script a few years ago and I want it to mostly run the same, maximising convenience". My guess is this use case will be much more common than inter-timezone distribution. We could also resolve different dependencies for different people depending on arch or python version as well, it's why I phrased this as "improving" reproducibility.

I feel like if we want to maximize convenience we should allow emitting an exclude newer pin or, even better, we should be able to write a lock to scripts. Hm.
If you're willing to separate the change from the docs, we can merge the docs right away. I think we'll wait for @BurntSushi to be back from vacation to make a decision on the local dates.

Related: https://github.com/astral-sh/uv/issues/6820

Actually one possibly silly thought, should we make the short form just be a UTC timestamp? In the short form I think it's arguably already a little unclear what the boundary semantics are (e.g. --exclude-newer 2024-08-28 does kind of read like 2024-08-28T23:59:59 to me).
This is also nice if you have a cloud machine on UTC time and you want to reproduce a command using the short form on your local machine. It's technically a breaking change, but it seems maybe saner, and I have a hard time thinking about the user profile who would be broken by it.

Anyway, sounds like I should split the PRs regardless

Actually one possibly silly thought, should we make the short form just be a UTC timestamp?

This is what it was originally, but I changed it. It's generally bad juju to just assume UTC for an unadorned date. I think we either don't support an unadorned date or we assume it's in the user's local time zone. But in this case, "user's local time zone" creates a configuration that isn't self-contained.
In terms of the time for a date without a time, it's common practice to interpret it as the first instant on that date (which, interestingly, may not be midnight.

Sounds good!