Unable to commit offset during rebalancing but messages are consumed and processed

Versions
Please specify real version numbers or git SHAs, not just "Latest" since that changes fairly regularly.
Sarama - v1.30.0
Kafka - 2.2.1.
Go- go1.16.6
Configuration
config.Consumer.Group.Session.Timeout = 20 * time.Second
config.Consumer.Group.Heartbeat.Interval = 6 * time.Second
config.Consumer.MaxProcessingTime = 500 * time.Millisecond
config.Consumer.Offsets.AutoCommit.Enable = false
config.Consumer.Return.Errors = true
What configuration values are you using for Sarama and Kafka?

Logs
When filing an issue please provide logs from Sarama and Kafka if at all
possible. You can set sarama.Logger to a log.Logger to capture Sarama debug
output.
logs: CLICK ME

2022/01/23 11:52:55.686008 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming testtopic/2: kafka server: The provided member is not known in the current generation.
2022/01/23 11:52:55.981009 consumer.go:284: - INFO Processing offset 82704 from partition 2 testtopic/2/82704  testtopic/2/82704       testtopic::others::EVENTTYPE::1014
2022/01/23 11:52:55.981206 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming  testtopic/2: kafka server: The provided member is not known in the current generation.
2022/01/23 11:52:56.274162 consumer.go:284: - INFO Processing offset 82705 from partition 2       testtopic/2/82705  testtopic::others::EVENTTYPE::1130
2022/01/23 11:52:56.274059 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming testtopic/2: kafka server: The provided member is not known in the current generation.
2022/01/23 11:52:56.572360 consumer.go:284: - INFO Processing offset 82706 from partition 2  testtopic/2/82706       testtopic::others::EVENTTYPE::1099
2022/01/23 11:52:56.572538 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming testtopic/2: kafka server: The provided member is not known in the current generation.
2022/01/23 11:52:56.877602 consumer.go:284: - INFO Processing offset 82707 from partition 2
testtopic/2/82707       testtopic::others::EVENTTYPE::1133
2022/01/23 11:52:56.877766 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming testtopic/2: kafka server: The provided member is not known in the current generation.
2022/01/23 11:52:57.182187 consumer.go:284: - INFO Processing offset 82708 from partition 2
testtopic/2/82708       testtopic::others::EVENTTYPE::1038
2022/01/23 11:52:57.182367 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming testtopic/2: kafka server: The provided member is not known in the current generation.
2022/01/23 11:52:57.477362 consumer.go:284: - INFO Processing offset 82709 from partition 2
testtopic/2/82709       testtopic::others::EVENTTYPE::1055
2022/01/23 11:52:57.477511 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming testtopic/2: kafka server: The provided member is not known in the current generation.
2022/01/23 11:52:57.781924 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming testtopic/2: kafka server

Problem Description

Messages are consumed from the partitions assigned to a consumer even during a rebalance but the offset commit after processing throws 'kafka server: The provided member is not known in the current generation.' error. When partitions are reassigned to a new consumer after it joins the group, messages are duplicated (as it was already consumed and processed but not committed)
Rebalances are taking a lot of time.

why does claim.Messages() continues to return messages when there is a rebalance? How to handle this to prevent processing messages again?
@dnwe could you please help here, Thanks.

It would be useful if you could also add a log statement to your Cleanup(ConsumerGroupSession) error func in your ConsumerGroupHandler too as that will show when your ConsumeClaim (partition consumers) completed their processing and returned for the session to be re-started

@dnwe Thanks for looking into this.
logs from consumer 2 that joined the group
2022/01/23 12:54:36.091344 consumer.go:824: consumer/broker/41 added subscription to testtopic/1
2022/01/23 12:54:36.095233 consumer.go:284: - INFO Processing offset 91343 from partition 1 testtopic/1/91343       testvenkatshipper::others::EVENTTYPE::1104
2022/01/23 12:54:36.097734 consumer.go:824: consumer/broker/37 added subscription to testtopic/0
2
Consumer 1 logs around the same time:
2022/01/23 12:54:36.206173 consumer.go:284: - INFO Processing offset 84635 from partition 0 testtopic/0/84635       testvenkatshipper::others::EVENTTYPE::1156
2022/01/23 12:54:36.207008 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming testtopic/0: kafka server: The provided member is not known in the current generation.
2022/01/23 12:54:36.271698 consumer.go:284: - INFO Processing offset 83705 from partition 2 testtopic/2/83705       testvenkatshipper::others::EVENTTYPE::1120
2022/01/23 12:54:36.275907 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming testtopic/2: kafka server: The provided member is not known in the current generation.
2022/01/23 12:54:36.275919 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming testtopic/0: kafka server: The provided member is not known in the current generation.
2022/01/23 12:54:36.296485 consumer.go:284: - Processing offset 91343 from partition 1 INFO testtopic/1/91343       testvenkatshipper::others::EVENTTYPE::1104
2022/01/23 12:54:36.298043 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming testtopic/2: kafka server: The provided member is not known in the current generation.
2022/01/23 12:54:36.298053 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming testtopic/0: kafka server: The provided member is not known in the current generation.
.
.
.
.
2022/01/23 12:55:05.488513 consumer.go:149: - ERROR Consumer Errors: kafka: error while consuming testtopic/0: kafka server: The provided member is not known in the current generation.
2022/01/23 12:55:56.092896 consumer.go:824: consumer/broker/43 added subscription to testtopic/2
As you see in the above logs, both consumer 1 and consumer 2 has received msg from offset 91343 from partition 1. By the time consumer 2 became active, consumer started throwing - The provided member is not known in the current generation - error message. This message is thrown when session.commit() is attempted. But claim.Messages() should not have received msg from this partition at all.
I continue to see the error in logs for almost 20 seconds.
The partitions are not revoked immediately when a new consumer joined, although commits failed and the other consumer has already started processing messages from the same partition.
This topic that I am using has 3 partitions and the consumers are added automatically based on lag.
Another issue that I see is, When a 3rd consumer is added, the 2nd consumer is rebalancing and assigned with partition 1 and 0. This third consumer with 2. The first consumer still has not got any partitions, the again rebalance happens.
Looks like the consumers not are not notified of the rebalance and partition assignment to another consumer immediatley, because of which multiple rebalances happen.
I could be doing something wrong, I am not sure yet, looking for help.

@dnwe ,
I added additional logs in the ConsumerGroupHandler's Setup and Cleanup methods.
Below is what happened.
No. of partitions in my topic - 3
Events :
At 20:24:09 - Consumer 1 added to listen to this topic.
Setup Done - Generation ID 436,
Partition Claims - 0,1,2
20:24:54 - Channel was closed [No error from consumer reported though] and Cleanup was done.
20:24:54 - Setup Done again for consumer 1 , Generation ID 437
20:30:14 - Consumer 2 added to the group -
Setup Done -  Generation ID 438,
Partition Claims - 0,1
Started reading and commiting msgs from partition 0,1
          Consumer 1 - continued to read messages from message channel from partition 0,1,2
                     - However, after processing session.Commit() failed with error
                       **kafka server: The provided member is not known in the current generation** (on all 3 partitions)

20:30:48 - Consumer 1 Cleanup hook called
20:30:48 - Consumer 1 Consume() called, returned read i/o timeout error
[Note: I have been seeing this read i/o timeout error often when new session creation was attempted but resolves when re-attempted and hence I dont return/panic when err!= nil from consume, instead continue to loop]
          for {
            if err := c.consumer.Consume(ctx, c.kafkaConfig.Topics, c); err != nil {
		   		Logger.Error(nil, "[Troubleshooting] Error from consumer: %v", err, c.groupName)
	        }
	      }

20:30:48 - Consumer 1 Setup Done, **Generation ID - 440, Partition Claims - 2**

20:31:34 - Consumer 2 - Continued to read messages from partition 0,1 but commits failed with below 		   message:
			**kafka server: A rebalance for the group is in progress. Please re-join the group.**
20:31:45 - Consumer 2 - Continued to read messages from partition 0,1 but commits failed with below 		   message (error message changed)
			kafka server: **The provided member is not known in the current generation.**
20:31:54 - Consumer 3 joined the group
		   Setup Done - **Generation ID 440**
		   **Partition claims - 0,1**
		   Started reading and commiting msgs from partition 0,1

20:32:08 - Consumer 2 Cleanup done
20:32:09 - Consumer 2 Setup done , **Generation ID - 441, claimed partition 0,1**
           Consumer 1 Continued to read partition 2 but commits failed
           Consumer 3 no error, no commit failures, continued to read 0,1
           **[Note both consumer 2 and 3 reading partition 0,1 with consumer 3 in outdated generation 440]**
20:33:43 - Clean up done for consumer 1,
           Setup done again, **Generation ID - 441
           claimed partitions - 2**

 The above process continued and rebalancing was happening continoulsy as all 3 consumers were not notified of a generation update at the same time. Message channel was open for a consumer with outdated generation id.

My overridden configurations -
config.Consumer.Group.Session.Timeout = 20 * time.Second
config.Consumer.Group.Heartbeat.Interval = 6 * time.Second
config.Consumer.MaxProcessingTime = 500 * time.Millisecond
config.Consumer.Offsets.AutoCommit.Enable = false

After debugging further , it turns out that Message channel will always hold messages as long as there are messages available in the topic and other consumer instances available.
Hence this condition was not enough to break the loop within ConsumeClaim and the consumer was not able to re-join the group during rebalance.
This caused continous rebalances as the cosnumers were out of sync.
I used session.Context.Done() to see if the context was closed. This happens when there is a rebalance - the loop exits and the consumer re-joins the group.
Pasted the code sample for those struggling with similar issues -
func(handler *ConsumerGroupHandler) ConsumeClaim(session sarama.ConsumerGroupSession, claim sarama.ConsumerGroupClaim) error {
for processMessage(claim, session) {

}

}
//Old code
func(handler *ConsumerGroupHandler) processMessage(session sarama.ConsumerGroupSession, claim sarama.ConsumerGroupClaim) bool {
msg, ok := <-claim.Messages():
if !ok {
return false
}
//process the message
//MarkMessage
//Commit
}
//Updated code
func(handler *ConsumerGroupHandler) processMessage(session sarama.ConsumerGroupSession, claim sarama.ConsumerGroupClaim) bool {
select {
 case msg, ok := <-claim.Messages():
   if !ok {
      return false
   }

  case <-session.Context().Done():
	    return false
   }

   //process the message
   //MarkMessage
   //Commit

}
@dnwe


Public Release

Hi @YHRen and @brettviren,
I have implemented a script and instructions to create the CelebA datasets for the CycleGAN training.
Per request, I have added an attr validation code (Line 126) and stored the original CelebA checksums in checksums/img_align_celeba_png.7z.md5.
To validate the code I have done:

Verified checksums of the generated datasets vs reference CouncilGAN datasets.
Run uvcgan2 evaluation and compared FIDs

Please let me know what you thnk

Thank you, @YHRen. Merged!


HTTPClient cannot perform multiple requests

There appears no way to re-use a HTTPClient despite the documentation suggesting that one should create one HTTPClient and then re-using it.
The HandlerMaker's apply method is only called once when the HttpSession is created and then stored against the (scheme, host, port) tuple, thus when the second request is made, it uses the Handler from the first request.
Code that reproduces the issue & a more in-depth discussion of the problem:
https://gist.github.com/CandleCandle/260a284ece6d2e99520cfbd99798e739

You correctly understand what it is doing.  However, it behaves that way on purpose.   The Handler is related to the connection, not to the request.  A connection can deal with multiple requests as this saves the time of tearing down and re-establishing the TCPConnection each time.  In certain cases it is even possible to pipeline requests, with some restrictions, and if the particular server chooses to support that.
So there is a certain amount of context associated with the connection (like if the server end closes it, backpressure, and so on) and a certain amount of context associated with each individual request.  Your HandlerMaker is called only when a new connection is created.  On the second request the apply method of the first Handler should be called, since it is using the same connection.

From a usability perspective, the signature:
HTTPClient.apply(request: Payload trn, handlermaker: HandlerFactory val): Payload val ?

implies that the handler is associated with the payload, this is misleading because the handler factory is completely ignored for subsequent requests.
In the API abstraction layer, you would need to maintain a collection of sent payloads, and have the handler call a behaviour of the abstraction layer, where you would need to match the response with the sent request. Given the signature of HTTPClient.apply this  feels like it should be the responsibility of the HTTPClient.
I entirely support TCPConnection reuse but it looks like the concepts of connection pooling and response handling have been merged, leading to the difficulty in using the HTTPClient.
Are you able to provide a simple example where the same client is used to perform multiple different requests to the same host, with each doing something different on receiving the response?

In addition to just looking at the signature of the apply method, you need to read the extensive documentation in file http_handler.pony that explains what the Handler is for and when it gets created.  This turns up in the auto-generated package documentation as well.
Yes, if you need to distinguish between responses, you would need a Map of pending sent Requests.  But some of the things coming back to the Handler have to do with the underlying TCPConnection, not individual Requests.  I did not want to muddy things further by having two handlers.  The Handler deals with the Session and the HTTP protocol - that is why the interface name is HTTPHandler not HTTPRequestHandler.
This is not a bug exactly, but a philosophical issue about what the API should look like.  It does not have to be the way it is.  I would like to hear more discussion on this.

I would like to add to the discussion and propose a change that I implemented.
I made the handler factory part of the identification of the _HostService, so now a new _ClientConnection is created when the HandlerFactory is different for the same scheme, host and port. This at least gives a better relationship between the apply accepting the handler factory as a parameter and the handler factory being used.
Another change I want to propose concerns a bug in the code handling the payloads. This is the code in the _ClientConnection. In the current implementation sending two requests to the same _ConnectionHandler fails with the two payloads not being handled at all. After some searching I found the error in the code that determines whether or not the var _conn: (TCPConnection | None) is a valid, opened connection.
The following scenario plays whent the HTTPClient apply is called with two payloads for the same _ClientConnection. This results in two apply behaviours being called which are then processed by the _ClientConnection asynchronously.
This is the scenario:

be apply is called with payload 1
apply pushes payload 1 on the _unsent list
_send_pending is called
_send_pending tries to cast _conn as TCPConnection and fails, because _conn is None; it calls _new_conn()
_new_conn creates a new TCPConnection and assigns it to _conn
be apply returns
be apply is called with payload 2
apply pushes the payload on the _unsent list which now contains two payloads
apply calls _send_pending
_send_pending send_pending tries to cast _conn as TCPConnection and succeeds, but _conn is not open yet
_send_pending continues to shift the payloads from the _unsent list and calls request.write, which it thinks succeeds.
after all the request have been processed _send_pending and apply return and some time after that the be _connected behaviour is called and now _conn is really open and ready for use.

It works when you only send one payload, because _send_pending is called again after be _connected is called and _conn is a connected TCPConnection.
This is the scenario:

be apply is called with payload 1
apply pushes payload 1 on the _unsent list
_send_pending is called
_send_pending tries to cast _conn as TCPConnection and fails, because _conn is None; it calls _new_conn()
_new_conn creates a new TCPConnection and assigns it to _conn
be _connected is called and calls _send_pending
_send_pending works fine now, because _conn is actually connected.

The fix was easy: I changed the type of _conn and gave it an extra type _ConnConnecting
primitive _ConnConnecting
...
var _conn: (TCPConnection | _ConnConnecting | None) = None

The changed _new_conn() tests if it is connecting and returns if it is.
if _conn is _ConnConnecting then
  return
end

The behaviour _connected sets _conn to the received TCPConnection
be _connected(conn: TCPConnection) =>
  _conn = conn
  // rest is unchanged

I can send in the fix but could some help in preparing a pull request.


Error with extra step in 0.7.0-beta.2

I'm trying to compile my app in IOS but I was having MissingImplementationException in AwesomeNotification.initialize.
I then noticed that this plugin as a beta version and in that, it requires a extra step for the IOS platform. However, I keep getting errors.
If I copy the following lines:
SwiftAwesomeNotificationsPlugin.setPluginRegistrantCallback { registry in
    SwiftAwesomeNotificationsPlugin.register(
      with: registry.registrar(forPlugin: "io.flutter.plugins.awesomenotifications.AwesomeNotificationsPlugin")!)
    FLTSharedPreferencesPlugin.register(
      with: registry.registrar(forPlugin: "io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin")!)
}

To AppDelegate.swift, the I get:
.../ios/Runner/AppDelegate.swift:11:5: error: cannot find 'SwiftAwesomeNotificationsPlugin' in scope
But according to the plugin guide: "And you can check how to correctly call each plugin opening the file GeneratedPluginRegistrant.m". And in my GeratedPluginRegistrant.m, I cannot find SwiftAwesomeNotificationsPlugin. But I do find AwesomeNotificationsPlugin.
So I rewrite the code to:
AwesomeNotificationsPlugin.setPluginRegistrantCallback { registry in
    AwesomeNotificationsPlugin.register(
      with: registry.registrar(forPlugin: "io.flutter.plugins.awesomenotifications.AwesomeNotificationsPlugin")!)
    FLTSharedPreferencesPlugin.register(
      with: registry.registrar(forPlugin: "io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin")!)
}

But I just get the same error, but updated:
.../ios/Runner/AppDelegate.swift:11:5: error: cannot find 'AwesomeNotificationsPlugin' in scope
Am I missing an import?

Fix
import shared_preferences_ios
import flutter_background_service_ios

Does above fix solved your problem? @TimeLord2010

It did. But I had to make some changes after:
import UIKit
import Flutter
import awesome_notifications
import shared_preferences_ios
import flutter_background_service_ios

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    GeneratedPluginRegistrant.register(with: self)
    FlutterBackgroundServicePlugin.setPluginRegistrantCallback { registry in
        GeneratedPluginRegistrant.register(with: registry)
    }
    SwiftAwesomeNotificationsPlugin.setPluginRegistrantCallback { registry in
      SwiftAwesomeNotificationsPlugin.register(
        with: registry.registrar(forPlugin: "io.flutter.plugins.awesomenotifications.AwesomeNotificationsPlugin")!)
      FLTSharedPreferencesPlugin.register(
        with: registry.registrar(forPlugin: "io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin")!)
    }
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

hi, suddenly out of nowhere, i can't build my apps on ios anymore, i suspect because of this step. here is the error logs

Swift Compiler Error (Xcode): Cannot find 'FLTSharedPreferencesPlugin' in scope
/Users/hazbiy/Data/Kerja/Freelance/Project/Risearrow/Flutter/ios/Runner/AppDelegate.swift:17:12

Encountered error while building for device.

I think it's because i remove shared preferences on my main package because i moved it on my secondary packages, and when i check on pubscpec.lock, i can't find any line stating that shared_preferences_ios is installed (meanwhile all other shared_preferences is installed, even for web and linux). does it mean i need to manually include it in my apps? i thought it would be included by the awesome notification package


File cannot be located and results in an infinite loop

Sponsors SeaweedFS via Patreon https://www.patreon.com/seaweedfs
Describe the bug
1.During an accidental file read, the filer was unable to locate the file, even though it existed. However, after restarting, it successfully located the file. As shown in fig.1.
2.In this exceptional case, while using a Java client to read the file, I noticed that when the file could not be located, the read method returned 0 by default instead of throwing an exception. Because I overlooked this, the API I developed fell into an infinite loop. I am curious about the rationale behind this approach. Also, how should I better handle such situations? I sincerely hope to receive your advice. As shown in fig.2 and fig.3.
Expected behavior
Would it be better to throw an exception directly when the file cannot be located?
Screenshots
fig1

fig2

fig3

Send a PR?

Send a PR?

Okay, I have submitted a pull request. Please take a look at it when you have time. Thank you very much.


Request for incubation: conda-protect

Project URL: https://github.com/travishathaway/conda-protect
Comes from https://github.com/travishathaway/conda-protect/issues/5
Members of the conda-protect team: @travishathaway

Adding this for historical record. If I don't hear from any objections, I'll proceed with the transfer in a few days.

Just commenting to confirm my willing participation 😀

Done :)


Cuda not available on linux (paperspace gpu cloud)

I'm trying to use tch on a paperspace gpu cloud machine, getting cuda not availble even tough I can access it using python just fine. What could be the issue?
GPU: Quadro M4000
Environment information:
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:49:14_PDT_2022
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0

$ rustup show
Default host: x86_64-unknown-linux-gnu
rustup home:  /home/paperspace/.rustup

installed toolchains
--------------------

stable-x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu (default)

active toolchain
----------------

nightly-x86_64-unknown-linux-gnu (default)
rustc 1.71.0-nightly (2a8221dbd 2023-05-11)

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal

Did you install a cuda enabled version of libtorch? If not by default this will use the CPU version, you can find details about how to install / point tch at your libtorch install in the main readme.

Closing this for now, hopefully installing the cuda enabled version sorted it out, feel free to re-open if there are further issues.


CI fail build assets running cross-build

Status: Downloaded newer image for ghcr.io/cross-rs/x86_64-unknown-linux-musl:0.2.5
warning: /project/lib/Cargo.toml: unused manifest key: bench.0.all-features
warning<EMAIL_ADDRESS>Could not find index.html in ./assets_tmp. Skipping JS build.
warning<EMAIL_ADDRESS>Could not find ./assets_tmp , copying from ../browser/data-browser/dist
   Compiling atomic-server v0.37.0 (/project/server)
error: couldn't read server/src/handlers/../../assets_tmp/index.html: No such file or directory (os error 2)
  --> server/src/handlers/single_page_app.rs:13:20
   |
13 |     let template = include_str!("../../assets_tmp/index.html");
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)

For some reason the dist folder is not properly copied to assets_tmp.
I'd assume this is a problem with build.rs, but I fail to see what is going wrong.
If I run earthly -i --org ontola --sat henk -P --push +docker-all --tags="latest,v0.37.0", and try to find out where the files are, I notice that the assets_tmp folder is missing - even after the "Could not find ./assets_tmp , copying from ../browser/data-browser/distwarning was printed. I also see that thedist` folder is there and has the files, so it's not as if it's copying an empty folder or something.
I tried running cargo build on the same machine, and that seems to run just fine. Could it be that cross does not properly copy the files? Or maybe it moves things?
One solution is to manually copy the js assets to the right dir.

Looks fixed in 14c261cd9c78be827e24cf832bb1e6865a49c46f


Clarify that a number as a string should be passed into toOrdinalSuffix

Supplying a number with a leading zero would cause the number to be interpreted as base 8.
toOrdinalSuffix(010) // 8th
toOrdinalSuffix('010') // 10th

Just makes it a little more clear that the input should be a string, not a number.
Lemme know if you'd prefer the solution to do input cleaning or throw a warning instead. I didn't add it because I think it takes away from the core part of the example.

@FranDias I believe you are right about that particular case, when the number is leading with a zero, but if I recall it's happening only in really old browsers that use javascript before es5. Now be that as it may, it's still possible that someone would use a really old browser and your correction is a more strict version of the snippet so yep, I guess it would be best to change it.
However, please use the dev branch as base for all further PRs. 😄

ah, sorry just went straight into the PR w/o checking on CoC. The extension is solid 😄.


Standardize your demands - this is getting really ridiculous

Gradle sets a demand "java". Nice. Perfect.
Installing the Xamarin Payload installs the jdk. It is available under the capabilities:
jdk | C:\Program Files\Java\jdk1.8.0_172
jdk_8 | C:\Program Files (x86)\Java\jdk1.8.0_172
jdk_8_x64 | C:\Program Files\Java\jdk1.8.0_172
just not java. Why introduce yet another capability that is redundant? If the Java tool would look for jdk as capability - whow, no need to install the tool when Xamarin is available.
Similar for node.
npm puts up a demand for.... npm. The Node.js tools installer does not satisfy it, so I am let installing Node.js manually just to satisfy that demand.
2 occasions where it looks like the left hand does not know what the right is doing and prefers to not actually look at the codebase or existing infrastructure. This can be done better.

Only speaking for Gradle, it doesn't require jdk.  It only needs the JRE to run.  So the demand is appropriate.

Ok, nice. Let's ignore that it is as usefull asa plane parked in the desert (i.e. anything doing java will actually most likely need a JDK) - why do I have to play around with environment variables to fullfill that when I have a jdk installed? jdk is a superset of jre and quite obviously one is installed, but hey, let's make it as painfull as possible for anyone maintaining build servers because - the left hand really prefers not to talk to the right hand so there is no coordination at all. Get it.

why do I have to play around with environment variables to fullfill that when I have a jdk installed? jdk is a superset of jre and quite obviously one is installed, but hey, let's make it as painfull as possible for anyone maintaining build servers

That's certainly not the goal.  :-)  I think you have identified an issue with our Java capability provider.  The Java Runtime Environment key is not set in this case.  The goal is to discover those required demands automatically.  Certainly you are not expected to set an env var just for this.

Thanks. So, let's hope that fix makes it into a release soonish for the agent. Yeah, looks like someone jsut did not make the correlation that an installed dk actually also is a jre and as such java should be set, too. I really look forward to that update - for now, I keep the java related builds on a hosted agent.
Does not solve the NPM issue - which is the other such issue ;)

create a separate issue for npm.  focusing this issue so it's actionable.

I've submitted a fix already, and it should be in next release. Also you can set custom user capabilities on the agent to bypass any demand issues.


Collapse saml module

PR to extract the Saml::XML module out and into SamlIdp::XML
This PR is also upstream

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Chris Born seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


fix: session start crash issue

Description
fix: session start crash issue
General Checklist

[x] Added new tests to cover change, if needed
[x] Build succeeds using Swift Package Manager
[x] All unit tests pass
[ ] Security oriented best practices and standards are followed (e.g. using input sanitization, principle of least privilege, etc)
[ ] Documentation update for the change if required
[x] PR title conforms to conventional commit style
[ ] If breaking change, documentation/changelog update with migration instructions

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report
Patch coverage: 100.00% and project coverage change: -0.10% :warning:

Comparison is base (5f925a7) 94.89% compared to head (4273c36) 94.79%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #29      +/-   ##
==========================================
- Coverage   94.89%   94.79%   -0.10%
==========================================
  Files          33       33
  Lines        1743     1748       +5
==========================================
+ Hits         1654     1657       +3
- Misses         89       91       +2

Files Changed
Coverage Δ

...s/Clickstream/AWSClickstreamPlugin+Configure.swift
95.23% <100.00%> (ø)

...Clickstream/AutoRecord/AutoRecordEventClient.swift
97.75% <100.00%> (+0.03%)
:arrow_up:

...Dependency/Clickstream/Session/SessionClient.swift
100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

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


Adapter cannot start

Describe the bug
After the installation the adapter cannot start and is not visible in ioBroker.
To Reproduce
Steps to reproduce the behavior:
Install Adapter from the command line.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots & Logfiles
souhl@node2:/opt/iobroker$ npm i iobroker.eufy-security
[sudo] password for souhl:

><EMAIL_ADDRESS>postinstall /opt/iobroker/node_modules/protobuf-typescript
> node scripts/postinstall

npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/osx-temperature-sensor):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

+<EMAIL_ADDRESS>added 21 packages from 62 contributors in 4.791s

30 packages are looking for funding
  run `npm fund` for details

souhl@node2:/opt/iobroker/node_modules/iobroker.eufy-security/build$ node main.js 0 --debug
2020-12-11 19:20:27.868  - debug: eufy-security.0 (24207) Redis Objects: Use Redis connection: <IP_ADDRESS>:9001
2020-12-11 19:20:27.881  - debug: eufy-security.0 (24207) Objects client ready ... initialize now
2020-12-11 19:20:27.884  - debug: eufy-security.0 (24207) Objects create System PubSub Client
2020-12-11 19:20:27.885  - debug: eufy-security.0 (24207) Objects create User PubSub Client
2020-12-11 19:20:27.885  - debug: eufy-security.0 (24207) Objects client initialize lua scripts
2020-12-11 19:20:27.891  - debug: eufy-security.0 (24207) Objects connected to redis: <IP_ADDRESS>:9001
2020-12-11 19:20:27.893  - debug: eufy-security.0 (24207) objectDB connected
2020-12-11 19:20:27.894  - debug: eufy-security.0 (24207) Redis States: Use Redis connection: <IP_ADDRESS>:9000
2020-12-11 19:20:27.897  - debug: eufy-security.0 (24207) States create User PubSub Client
2020-12-11 19:20:27.898  - debug: eufy-security.0 (24207) States create System PubSub Client
2020-12-11 19:20:27.903  - debug: eufy-security.0 (24207) States connected to redis: <IP_ADDRESS>:9000
2020-12-11 19:20:27.903  - debug: eufy-security.0 (24207) statesDB connected
2020-12-11 19:20:27.906  - error: eufy-security.0 (24207) eufy-security.0 invalid config
2020-12-11 19:20:27.906  - warn: eufy-security.0 (24207) Terminated (INVALID_ADAPTER_CONFIG): Without reason

Versions:

Adapter version: 0.0.7
JS-Controller version: 3.1.6
Node version: v14.15.1
Operating system: 18.04.5 LTS (Bionic Beaver)

Additional context
Add any other context about the problem here.

Have you configured the adapter (set username and password)?

How? I don't even get the adapter listed in "Instances" in ioBroker.

Strange. If you try to add the adapter from admin webif pointing to the github repository:

Install Adapter from own URL

Select the second tab any, fill in this URL and press install:
https://github.com/bropat/ioBroker.eufy-security
Source: https://www.iobroker.net/#en/documentation/admin/adapter.md

Tried that. It installs and I see the folder created and so on, but the adapter is not shown.

Ok, so you don't se it under Adapters installed to create a new Instance?

Ah, in most of the adapters I used the instance is created automatically.


Add laws and policies module

This PR adds Laws and Policies module to country pages.
It adds new Slide Cards component and Laws and policies component as a parent.
It also modifies Card and Dropdown components but without any changes on existing usages of these components.

Notes:

API is already hooked up
Modal metadata is not there yet
Intro text is not provided yet

Design can be found here:
https://app.zeplin.io/project/598b1dc89689e51e1cd1b5ce/screen/5bbc8acbd010065fdf0b91af
Few things are weird here as from the design I assumed there will be only two targets per card, although it's not the case sometimes.
The flow is as follows: NDC Content card is always fixed per sector, there's only one per sector.
Targets are filtered
-> by country
-> then by sector,
-> then grouped by source (source is the title with link on the top of the card)
-> and then by type
The number next to sector dropdown is all targets altogether for this country (without NDC counting). The same goes for number on the LSE logo.

This is taken from target attribute scope.
So, in conclusion. The card represents targets from the source, and card's content is segregated by types, so we can have a situation as follows:
FIRST ROW:
Targets Type
Base Year Target
SECOND ROW:
Targets
Energy Efficiency
9% reduction in energy use
THIRD ROW:
Targets
Energy Efficiency
9% reduction in total energy consumption
and all three rows are related to this one target type and then we can have more targets in that same card.

Can you remove the lorem ipsum until we have the final text?

I believe the sentence next to the sector selector should update with your selection. The total laws and policies are on the card on the right. So when changing the filter it should reflect what is showing bellow, see in the screenshot it should say: 1 National Policy available for Brazil.

I see a small z-index issue with the sectors dropdown:

Can you remove the lorem ipsum until we have the final text?

I think it's fine for now, Álvaro. They will send it between today and tomorrow and for now it will only be on staging. And I told them we'd keep the placeholder for now.

Not sure why but the country is undefined here:

The total laws and policies are on the card on the right. That's what I thought in the beginning but then had doubts and changed it to total laws for all the sectors. I thought it's confusing as it says for {Country} without specifying a sector but I guess you're right.

When there's only 1 match on the right hand-side and then you move to an option that has no matches, there's a weird visual change, see screenshots bellow:

Can we keep the gray background always behind the cards, so that if there is only one, it would show the full space covered as well?

The total laws and policies are on the card on the right. That's what I thought in the beginning but then had doubts and changed it to total laws for all the sectors. I thought it's confusing as it says for {Country} without specifying a sector but I guess you're right.

True, maybe we can adjust the text by adding "for the selected sector" at the end.


Make IMPLEMENTATIONS.md and CONTRIBUTING.md authorative in k/k

Part of https://github.com/kubernetes/kubernetes/issues/57559..
Counterpart of https://github.com/kubernetes/kubernetes/pull/57572.

/assign @spiffxp
/assign @DirectXMan12

/lgtm


Possibility of automatically confirming on CompleteDone or some User autocmd?

One thing I miss when using nvim-cmp is stuff like auto-imports that just happen without me pressing any key combination. I tried implementing something on my side using CompleteDone, at first I thought that CompleteDone would work because nvim-cmp sets user_data on completion items, but later I found that nvim-cmp doesn't set user_data heh
I know that commit characters could potentially be used for this, but curious if there are any other alternatives to automatically confirm whenever an item is selected? Thanks!

Hm... I can add the event like require('cmp').event:on('close', function(evt) ... end

I've added the complete_done autocmd.
But achieving what you expect still be difficult even if this feature is added.
I think you should invoke vim.lsp.util.apply_text_edits by yourself manually.


fix: ensure that the pvc roles are always consistent

Signed-off-by: Armando Ruocco<EMAIL_ADDRESS>

/test limit=local

/test limit=local


apprt/gtk: color popovers when window-theme=ghostty

This looks better than the regular dark color. It also happens to match what Ptyxis does. It does not support non-libadwaita builds.
Before:

After:

It will look even better whenever we fix the separator colors :smile:

Lovely thanks.

@tristan957 hi, I wonder whether you got an idea how to force a themed background color in the tab overview ;)

I do after reading the documentation. I will explore that today :smile:


Chapter 3, pg 38. E0061 on Run()?.await in main.rs

Im up to pg 38 where we need to update main.rs and run cargo check.
Im trying to figure out what i've done wrong here and note that by the end of the chapter you have introduced an address fn into main.
Here's the cargo test  output:
╰─ cargo test                                                                 ─╯
Compiling zero2prod v0.1.0 (.../zero2prod)
error[E0061]: this function takes 1 argument but 0 arguments were supplied
--> src/main.rs:6:5
|
6  |     run()?.await
|     ^^^-- an argument of type &str is missing
|
note: function defined here
--> /.../zero2prod/src/lib.rs:10:8
|
10 | pub fn run(address: &str) -> Result<Server, std::io::Error> {
|        ^^^
help: provide the argument
|
6  |     run(/* &str */)?.await

Can you provide a link to your repository?

Yes I can many thanks: Pg 38 repo

You're not passing an address &str to your run method run(address: &str) in the main.rs

@Travizm if this did solve the issue you can close this issue here aswell

Thanks - will close.


add support to iOS Simulator

use
getenv("SIMULATOR_MODEL_IDENTIFIER")
to get sys info string when using Simulator.

Closing this as it is not backwards compatible.


Delete remove image logic from uninstall

Signed-off-by: Pravin Pushkar<EMAIL_ADDRESS>Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #1093

@pravinpushkar why are there changes in go.sum file

@pravinpushkar why are there changes in go.sum file

Looks like previous PR did not run modtidy. I can see multiple entries -
github.com/dapr/components-contrib v1.9.0-rc.1 h1:8qC2QPvvJ9odzAv6cRrZBttTuxYnPK7dAZ+HMNI/okA=
github.com/dapr/components-contrib v1.9.0-rc.1/go.mod h1:ftVthBjl0e5G61J5XKkZKEjU/TGE0gNT9fJCNAdUjU8=
github.com/dapr/components-contrib v1.9.0-rc.2 h1:on1JPIJZojjMu929b/rFbIaVZja6K2Z/hc+BVZ4OTNY=
github.com/dapr/components-contrib v1.9.0-rc.2/go.mod h1:ftVthBjl0e5G61J5XKkZKEjU/TGE0gNT9fJCNAdUjU8=
github.com/dapr/dapr v1.9.0-rc.3 h1:WLATw9Ky44lM5CVbzrd/M04yQXON4+NL9GH6K89v8Mo=
github.com/dapr/dapr v1.9.0-rc.3/go.mod h1:LUNByfXcsSuvXkNFZq+JCsgiCgAZO3uaQDu5LCheBj8=
github.com/dapr/dapr v1.9.0-rc.5 h1:bWkt5urk0x6G+PtegVO+p7ZK1bneuvHdA/z+STWeyqw=
github.com/dapr/dapr v1.9.0-rc.5/go.mod h1:DBQVjCSQ2/Lh4rBi1b4oSQXl+yH2WTb6orrZ7Jkro88=

Since it is a change in behavior, do you think it's worth calling it out somewhere in docs?

Since it is a change in behavior, do you think it's worth calling it out somewhere in docs?

Try out the command it runs
docker rmi -f daprio/dapr
That command never works.... It has not worked at all without the tag being correctly present. So Imo this is not a change in behavior.


Does this work Apollo-boost?

https://dev-blog.apollodata.com/zero-config-graphql-state-management-27b1f1b3c2c3

Yes! The plugin only needs an ApolloClient.
Le dim. 25 févr. 2018 à 22:44, Aaron K Saunders<EMAIL_ADDRESS>a écrit :

https://dev-blog.apollodata.com/zero-config-graphql-state-management-27b1f1b3c2c3
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Akryum/vue-apollo/issues/224, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACqyfM9miLnTIqzIe73S2_2ZSha2nr2Mks5tYdQxgaJpZM4SSeV9
.

I will take another look at my code, but code is throwing errors iny migration attempts based on the instructions provided in the medium post.
I know that post uses react, but I thought it could work with vuejs


UART interrupts incompletely enabled for FIFO mode

Using the SDK interface routines to the UART, enabling FIFO mode doesn't work correctly on receive.
Symptom: the last few characters of a burst are not received promptly.
Explanation: uart_set_irq_enables() only enables the receive data ready interrupt for receive. In FIFO mode, that interrupt only fires when the receive FIFO fills up to the threshold. If a few more characters are received, but not enough to reach the FIFO threshold, that does not trigger another receive data ready interrupt (see <IP_ADDRESS> of the RP2040 data sheet). In order to get an interrupt for those last few characters, we also need to enable the receive timeout interrupt (see <IP_ADDRESS>).
Proposed solution: in uart_set_irq_enables():
    uart_get_hw(uart)->imsc = (!!tx_needs_data << UART_UARTIMSC_TXIM_LSB) |
                              (!!rx_has_data << UART_UARTIMSC_RXIM_LSB) |
                              (!!rx_has_data << UART_UARTIMSC_RTIM_LSB);  // <--- there it is

Interesting...
4.2.7. in the RP2040 datasheet shows that the FIFOs are enabled, https://github.com/raspberrypi/pico-sdk/blob/develop/src/rp2_common/hardware_uart/include/hardware/uart.h#L216 shows that the UARTIFLS_RXIFLSEL is set to 0, the register-description for UARTIFLS says that a RXIFSEL of 0 triggers the receive interrupt when "Receive FIFO
becomes >= 1 / 8 full", and the UART introduction says "Separate 32x8 Tx and 32x12 Rx FIFOs".
All of which combined (using my naive understanding), suggests that the receive interrupt will only trigger when the receive fifo contains at least 32 / 8 (i.e. 4) characters?
@kilograham Maybe we want a test similar to https://github.com/raspberrypi/pico-examples/blob/master/uart/uart_advanced/uart_advanced.c but which doesn't turn off the FIFOs?

cc @liamfraser @Wren6991

<IP_ADDRESS>. UARTRTINTR The receive timeout interrupt is asserted when the receive FIFO is not empty, and no more data is received during a 32-bit period. The receive timeout interrupt is cleared either when the FIFO becomes empty through reading all the data (or by reading the holding register), or when a 1 is written to the corresponding bit of the Interrupt Clear Register, UARTICR

That does sound like what we want! Thanks, I'll open a PR.


Make keywords clickable

Argilla offers a keyword list of the texts. See screenshot:

It would be nice if the keywords could be clickable so I see all datasets that are connected with these keywords.

Hi @PhilipMay! Could you provide more details about this issue? What would be the behaviour you expect when you click on a keyword?

The list of keywords and numbers provide a list of keywords and the number of documents that contain this keyword. Right?
Now I would like to click the individual keywords and then see only those documents that batch this keyword.
If I click "def" (see screenshot) I get those 113 documents.

Ok I see! So this means that on click we would pre-fill the query field and run the query to get the records that match the keyword. I think it would be very useful to make this filtering much faster and intuitive 😃.
In the meantime, you can always enter the keyword you would like to work with in the query field.

Ok I see! So this means that on click we would pre-fill the query field and run the query to get the records that match the keyword. I think it would be very useful to make this filtering much faster and intuitive 😃.

Exactly!

Can we repoen it please. Would still be very nice to have....

@nataliaElv


[feature request] Add lightshow control command

Many Tesla owners from many countries are gathering together to enjoy the light show. Light shows are now considered a festival.
When controlled from inside the vehicle, the light show can be scheduled to run at specific times. This function is mostly used when multiple vehicles are enjoying the light show at the same time. However, it is not easy to control when hundreds to thousands of vehicles are performing a light show at the same time. For example, during a recent practice with 40 vehicles in Korea, we encountered the following problem.

The lightshow file cannot be read because the USB format (exFAT) is incorrect.
The user accidentally selects the wrong light show option. (file, time, volume...)
It's difficult to tell everyone to set it up. (We communicated through messenger, and later we will try to communicate through radio.)
Even if we all set the same file to the same time, there is a time error of less than 1 second.

https://twitter.com/Hanteta_/status/1743505038260220148
And in Korea, there is a YouTuber who is planning a light show with 1,000 vehicles gathered together.
It is very difficult for a person to control 1000 units, but if an API exists, it can be controlled relatively easily.
If the API is implemented, the following two functions are required.

NTP-based vehicle local time synchronization API : Even if you make a reservation at the exact time, errors may occur depending on the time synchronization status, so a synchronization API that can guarantee within 1ms is required.
API that allows schedule a light show for a specific file in your vehicle

Please give us a positive review. thank you

We need it too please.
thank you


How to add .less support

We are already using less so I wanted to replace the scss support and add less support, so far unsuccessful, has anyone else done this?

forgot to install less... npm install less --save-dev


onDotSelected

I'm using this in one of my apps and thought it would be a good way to do permission requests in the M permissions model. ie. Slide A talks about using location. As you go to Slide B, it requests location.
This isn't possible in the current library without some hacking, so I added this new method that can be overriden.

LGTM, thanks!

Actually, I can't automatically merge your pull. Can you please update it?
Thanks!

Ok, my fork is now up-to-date with yours. The pull request should work now.

Merged, thanks again!


PP-1300: Update attestation of compliance.

Authored by @alanmaddrell
WHAT
This is applying the changes from https://github.com/alphagov/pay-selfservice/pull/4248# but within the alphagov org so the pact tests can run

With the go ahead from @richblake I'm merging this


Implement REST to Taskboard Index Page

Instead of the generic views directly sending context data to the HTML, the data is now fetched from JavaScript from REST API.
One small step of implementing REST API, one big step for our team's project.

The buttons aren't linked to anything yet

Update: the buttons are now binded.


Cannot call xbar://app.xbarapp.com/refreshAllPlugins

Maybe I am misunderstanding how this is supposed to work but I am using xbar v2.1.0-beta and if I start xbar from the icon and then in a terminal window I run 'open xbar://app.xbarapp.com/refreshAllPlugins' I get the error:
LSOpenURLsWithRole() failed with error -600 for the URL xbar://app.xbarapp.com/refreshAllPlugins.
But, If I run xbar from the command line by executing /Applications/xbar/Contents/MacOS/xbar that starts xbar in debug/console mode and then from another terminal window 'open xbar://app.xbarapp.com/refreshAllPlugins'  works properly.
Am i doing something wrong?

Hey @mlcampbe thanks for your question. Where are you running xbar via the icon from?

The normal mac app way. I double click the icon from the /Applications folder normally. When doing so then the refresh fails as listed above. When I open a terminal window and run the /Applications/xbar/Contents/MacOS/xbar directly then I am able to use the xbar:// API calls. Ideally I would like to be able to use the xbar:// calls when it is launched at login or when opened via the icon.

@mlcampbe thanks - we'll look into this, it sounds like a bug.

I just get the feeling I am doing something wrong here. What is the expected way to use the API calls from within a shell script? For example, I want an existing script to programmatically refresh all plugins. How would I do that from the script. I had been trying to call 'open xbar://app.xbarapp.com/refreshAllPlugins' as that is the only way I know of calling a URL from a script but is that correct?

@mlcampbe yes - in fact, that works for me in Terminal. Does it work if you run that directly in a terminal?

@matryer the behavior I see is that if I open the terminal and run /Applications/xbar.app/Contents/MacOS/xbar directly I see xbar debug output in the terminal window regarding refreshing and cycling and such. If I then open a 2nd terminal window and run open xbar://app.xbarapp.com/refreshAllPlugins it works and the 1st terminal window includes the message 2021/07/14 07:38:08 incoming URL: handleIncomingURL xbar://app.xbarapp.com/refreshAllPlugins.
Instead though if I start xbar by double clicking the icon from the /Applications folder there is no debug output shown anywhere obviously but if I go into a terminal window and run the same open xbar://app.xbarapp.com/refreshAllPlugins it fails with the LSOpenURLsWithRole() failed with error -600 message.
I'd like to be able to call the refresh since I am trying to use one plugin to enable/disable another plugin. For example, if I am running on battery power then I want to display the colorfulBatteryLevel.15m.sh plugin but if I am on AC power to disable it. My script can rename the colorfulBatteryLevel.15m.sh file with the .off extension as needed but I need to call refreshAllPlugins to make that change visible. If there is another way to programmatically enable/disable plugins then let me know and I can try it.

I've managed to solve the message endpoint error by removing the checkbox "Start at login" in xbar context menu and instead adding the line /Applications/xbar.app/Contents/MacOs/xbar at the end of my ~/.yabairc.
If sometimes it starts bugging thats usually when two processes of xbar are running so i kill them both and then just restart yabai which would then launch xbar while starting.


Change title and hierarchy

Issue #, if available:
Description of changes: Change troubleshoot and PartiQL section title. Group SQL sections into same hierarchy as https://github.com/opendistro-for-elasticsearch/sql/blob/master/docs/user/index.rst.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I was trying to organize SQL sections into same hierarchy as docs in sql repo: https://github.com/opendistro-for-elasticsearch/sql/blob/master/docs/user/index.rst. However I found that each level seems required to be a folder with a index.md. But our intermediate level actually does not have any content. Are you aware of any workaround? Thanks.

Here is the hierarchy we want:
 1. Workbench
 2. CLI
 3. ODBC driver
 4. JDBC driver
 ---- Same as index.rst ----
 5. Data Query Language
   5.1 Basic Queries
   5.2 Complex Queries
   5.3 Metadata Queries
   5.4 SQL Functions
 6. Beyond SQL
   6.1 JSON Support
   6.2 Full-text Search
 7. Data Manipulation Language
   7.1 Delete Statement
 8. Interfaces
   8.1 Endpoints
   8.2 Protocol
 9. Administration
   9.1 Monitoring
   9.2 Plugin Settings
 10. Troubleshooting
 --------------------


Properly depend on freemarker + fix compiler args

@psiroky did you try this on eclipse? Because on the old commit message, jfuerth did this in order to fix a Eclipse issue. We need to make sure that uberfire still works in eclipse env.

@ederign I did not. Using shading to fix some Eclipse issue is just horrible. I'll try to open the project in eclipse to see what happens.

I am not an Eclipse user, so not sure what to look for (and the old commit message does not say either). The project opens fine and I can execute tests in uberfire-workbench-processors-tests module.

+1 thanks @psiroky


[coinmate] clientOrderId, metadata endpoint

Coinmate:

add clientOrderId to additional endpoints
change metadata endpoint path

Looks good, thanks.
Can someone please merge this? We are waiting for this change, thank you.


range.by("weeks",callback()) not giving all the ranges

range.by("weeks",callback()) gives the weekly ranges correctly for some and missing the last range in some.
Example: Giving all ranges.

Example: Missing last range.

moment-range Version : 2.1.0

hi @vigneshrajarr, this is because the range is from 06/01-30/01 and the period after the last week in your range is from 28/01-30/01 which is not a full week
to accomodate for this you could do something like:
const start = moment('2018-01-06').startOf('week');
const end = moment('2018-01-30').endOf('week');
const range = moment.range(start, end);

range.by('weeks', function(moment) {
  // ...
});

Thanks @gf3 . It worked for my requirement.

Following 4.0.0 release, this can also be achieved with range.snapTo() (https://github.com/rotaready/moment-range/pull/220):
const range = moment.range(start, end).snapTo('week');
// automatically snaps the range to the start and end of the week for you


Investigate creating a proper dnf package

Investigate creating a proper RPM / dnf package, both for vale and the RedHat style.
Investigate how to publish teh RedHat style RPM: COPR?
Investigate how to publish  the RPM packages upstream for vale: https://repology.org/project/vale/versions or https://github.com/errata-ai/vale/releases

Duplicate of #105


Manufacturing Dataset Model does not perform at all

Hello,
I am working on a research problem regarding a manufacturing process that can be solved as a regression. The dataset consists of 4 Input columns (e.g. pressure, depth) like and one output all being floats.
My Neuronal Network is able to perform with r2 = 0.99
class TestModel(nn.Module):
    def __init__(self):
        super(TestModel, self).__init__()
        self.layer1 = nn.Linear(4, 64)
        self.layer2 = nn.Linear(64, 16)
        self.layer3 = nn.Linear(16, 8)
        self.output_layer = nn.Linear(8, 1)

    def forward(self, x):
        x = nn.ReLU()(self.layer1(x))
        x = nn.ReLU()(self.layer2(x))
        x = nn.ReLU()(self.layer3(x))
        x = self.output_layer(x)
        return x

I use 200 epochs, lr=0.001, mse.loss, adam optimizer, batch size of 16. How can I build some thing that performance good with pykan? It would be great because one of the goals of the research project is to describe the underlying rules of the process which a symbolic formula could accomplish.
model = KAN(width=[4,[5,5],1], grid=5, k=5, seed=0)

dtype = torch.get_default_dtype()

def train_acc():
    return torch.mean((torch.round(model(dataset['train_input'])[:,0]) == dataset['train_label'][:,0]).type(dtype))

def test_acc():
    return torch.mean((torch.round(model(dataset['test_input'])[:,0]) == dataset['test_label'][:,0]).type(dtype))

results = model.fit(dataset, steps=200, lamb=0.002, metrics=(train_acc, test_acc));
results['train_acc'][-1], results['test_acc'][-1]

I tried different configurations, with multiplication and without, different layers, but everything performant badly. How can I optimize my approach?
Thank you for your help

You can try to use opt LBGFS.
Maybe you can compare the performance with Adam or LBGFS, it will be surprise.

this sounds an interesting project :)
could you please (1) print the shape of dataset['train_input'], dataset['train_label']; (2) plot training loss; (3) try lamb=0.


failed transaction This transaction did not succeed because the transaction was aborted during its execution.

Describe the bug
A clear and concise description of what the bug is.
Transaction ID
Address
Block#
Time stamp
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots or consol.log to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here:

How can I add more stx to let this transaction go through?

This isn't an Explorer issue.
Please ask for community support on the #support channel in Discord.


[DELETE with DVs] Fix attaching metadata column to files inside subquery

Description
We found that the metadata column won't be attached to the file source for query plans generated from temp views created by SELECT., for example
sql("CREATE TEMP VIEW v AS SELECT * FROM tab")
sql("DELETE FROM v WHERE key = 1 AND value = 5")

corresponding to
'Project [key#599, value#600, __delta_internal_row_index#785L, '_metadata.file_path AS filePath#792]
+- SubqueryAlias v
   +- Project [cast(key#601 as int) AS key#599, cast(value#602 as int) AS value#600, __delta_internal_row_index#785L]
      +- Project [key#601, value#602, __delta_internal_row_index#785L]
         +- SubqueryAlias spark_catalog.default.tab
            +- Relation default.tab[key#601,value#602,__delta_internal_row_index#785L] parquet

When being executed, the above query plan will fail with an error message _metadata column does not exist. The possible reason is because of multiple levels of projection, which hides the _metadata column deom the underlying file scan.
This PR fixes the above issue by attaching the metadata column before sending it to the analyzer. The root issue, however, should be hidden in the Spark library which is hard to fix.
How was this patch tested?
Adapting existing tests.
Does this PR introduce any user-facing changes?
No.

@vkorukanti Could you also review this one?


cli: Make message of using initrd OR rootfs clearer

Description of problem
When starting a kata container, if initrd and rootfs both are provided in the configuration.toml then the error message presented is "cannot specify an image and an initrd in configuration file" which might be a bit confusing.
Expected result
A suggestion is to have a clearer message like: "specify an image or an initrd in the configuration file, not both"

Hi @nitkon - again, please put details in the issue and remove the (untouched) template text :)

Hi @jodh-intel , done!

Thanks!


Stand-alone container for a BigchainDB node

Background

Some customers have asked for a single stand-alone BigchainDB image.
Easier for early users of BigchainDB

Solution

Make BigchainDB, MongoDB and Tendermint be part of the same container, even though it is an anti-pattern but this has been requested at several instances by customers/partners.
Easier for early adopters of BigchainDB i.e. 2 step approach:

docker pull
docker run

TODOs

[x] Add documentation of this workflow.
[ ] Tag image once this PR is merged.

executed docker build - < Dockerfile-all-in-on, got the following error
  Running setup.py install for pycparser: started
    Running setup.py install for pycparser: finished with status 'done'
  Running setup.py install for cffi: started
    Running setup.py install for cffi: finished with status 'done'
Successfully installed cffi-1.11.5 pip-18.0 pycparser-2.18
Directory '.' is not installable. File 'setup.py' not found.
The command '/bin/sh -c apk --update add sudo bash     && apk --update add python3 openssl ca-certificates git     && apk --update add --virtual build-dependencies python3-dev         libffi-dev openssl-dev build-base jq     && apk add --no-cache libstdc++ dpkg gnupg     && pip3 install --upgrade pip cffi     && pip install --no-cache-dir --process-dependency-links -e .[dev]     && apk del build-dependencies     && rm -f /var/cache/apk/*' returned a non-zero code: 1

Created https://github.com/bigchaindb/bigchaindb/issues/2434, restarted the build.


feat(doc-core): support markdown global components

Summary

🤖 Generated by Copilot at afc05b9
This pull request adds a new feature to the @modern-js/doc-core package, which allows doc plugins to register global components that can be used in markdown files. It implements a new remark plugin remarkBuiltin that inserts import statements for the global components, and adds new options and types to support this feature. It also refactors some existing code and adds a changeset file to document the changes.
Details

🤖 Generated by Copilot at afc05b9

Add remarkBuiltin plugin to import global components in markdown AST (link,link,link)
Add globalComponents parameter and property to specify paths to global components (link,link,link,link)
Add getASTNodeImport utility function to create import statements for AST nodes (link,link)
Remove redundant getASTNodeImport function from normalizeLink plugin (link)
Add changeset file to document features and bump minor version of @modern-js/doc-core package (link)

Related Issue

Checklist

[ ] I have added changeset via pnpm run change.
[ ] I have updated the documentation.
[ ] I have added tests to cover my changes.

Doc needs to add the config description.


stty: Implement --file / -F

From the GNU manual:
‘-F DEVICE’
‘--file=DEVICE’
     Set the line opened by the file name specified in DEVICE instead of
     the tty line connected to standard input.  This option is necessary
     because opening a POSIX tty requires use of the ‘O_NONDELAY’ flag
     to prevent a POSIX tty from blocking until the carrier detect line
     is high if the ‘clocal’ flag is not set.  Hence, it is not always
     possible to allow the shell to open the device in the traditional
     manner.

I'm working on this (seemed like a nice & easy first issue)

By the way, O_NONDELAY as mentioned in the stty docs is not a thing. It should be O_NONBLOCK:

grep -R O_NONDELAY /usr/include returns nothing.
Running strace /bin/stty -F /dev/pts/0 shows it open the pts as O_NONBLOCK and readonly.

I have implemented this actual behaviour.

This can now be closed I believe.

Indeed! (For later reference: this was fixed by https://github.com/uutils/coreutils/pull/4401)