Different images for Zookeeper and Kafka

Think about having two different images for Zookeeper and Kafka removing the command to start from the YAML file and putting it into Dockerfile.

good idea, and we should think about making zookeeper a ensemble... see https://zookeeper.apache.org/doc/r3.3.2/zookeeperAdmin.html#sc_zkMulitServerSetup

@ppatierno Would you just separate the scripts for starting Zookeeper / Kafka? Or would you move to completely separate images - i.e. the Zookeeper image using standalone Zookeeper distribution instead of using the Zookeeper bundled with Kafka?

@scholzj I think that we should have different images and using standalone Zookeeper distribution instead of the one bundled with Kafka. Wdyt ?

FYI: I raised a separate issue #22 to make the Zookeeper run as multi node ensemble. This issue will be used to separate the images.

Separation of Docker images for Kafka and Zookeeper has been addressed by PR #20. The same PR also removed the commands.
Since Zookeeper ensemble is covered by #22, I think this issue can be closed.


Unreleased Resource: Synchronization

Summary
The function gpr_cv_init() in sync_posix.cc fails to release a lock it acquires on line 132, which might lead to deadlock.The program fails to release a lock it holds, which might lead to deadlock.
For questions that specifically need to be answered by gRPC team members, please ask/look for answers at grpc.io mailing list: https://groups.google.com/forum/#!forum/grpc-io
What version of gRPC and what language are you using?
0.0.3 , Swift
What operating system (Linux, Windows,...) and version?
Mac OS - 10.15.3
What runtime / compiler are you using (e.g. python version or version of gcc)
Xcode 11.3.1
What did you do?
Explanation
The program can potentially fail to release a system resource.
In this case, there are program paths on which the resource allocated in sync_posix.cc at line 132 is not always released.
Resource leaks have at least two common causes:

Error conditions and other exceptional circumstances.

Confusion over which part of the program is responsible for releasing the resource.

Most unreleased resource issues result in general software reliability problems. However, if an attacker can intentionally trigger a resource leak, the attacker may be able to launch a denial of service by depleting the resource pool.

I was looking at the gpc_cv_init() function https://github.com/grpc/grpc/blob/master/src/core/lib/gpr/sync_posix.cc#L94 but I don't see the lock you mentioned in that line you mentioned. Can you double check?


Update PathUtils.js

Conflict with other plugins (ex. source-map), which exports a function named "search" and this part of the script crashes, because it is not known search.charAt() (search is a function).
--All test have been successfully completed (I don't believe a new test is needed)
--ESlint shows no breakage in code

The API here is createPath({ pathname: '', search: '', hash: '' }). createPath({ search: () => {} }) is not supported.

I know that (now) @mjackson . I had the mistake when migrating from an old version of history (v3) to newer one (v4+). I am not saying it is a bug in the code, but since in the code there is already the same logic implemented, why not here also? On the other hand it would had help me narrow the bug faster, so it might be useful for others as well.

I don't know what "plugins" you're referring to, or what you mean by "the same logic". Same as what?

@mjackson "the same logic" means that you also you in the code the checking of the type in the if condition (for example if (typeof path === 'string') in Location) or you can just search the repository for "typeof" to see what I have meant.
Disregard plugins, it is confusing to explain, but in short "I had some problems when learning this library, and the errors in code misdirected me".
Sorry to bother you.


GatlingMavenJobConfig Requires Java 11+

In karate-gatling version 1.1.0, GatlingMavenJobConfig.class has major version 55.  This requires Java 11+ to run.  In 1.2.0.RC2, the class has major version 61 which requires Java 17.
Impact
Users must have Java 11 (for 1.1.0) or Java 17 (for 1.2.0.RC2) in order to run GatlingMavenJobConfig.  This includes running the example Gatling project.
Testing
On a system with Java 8, perform the following steps:

Clone this project and check out the develop branch
Change directory to examples/gatling
Run mvn clean test
Expected: Project builds and tests run successfully
Actual: Build fails with the error  bad class file: C:\Users\packleader\.m2\repository\com\intuit\karate\karate-gatling\1.1.0\karate-gatling-1.1.0.jar(com/intuit/karate/gatling/GatlingMavenJobConfig.class) class file has wrong version 55.0, should be 52.0

Analysis

Download karate-gatling from Maven Central: version 1.1.0 or 1.2.0.RC2
Run javap -verbose -cp <path-to-downloaded-jar> com.intuit.karate.gatling.GatlingMavenJobConfig
Inspect the output
Observe that the major version is 55 (or 61)
Rerun the javap command for other classes in that JAR and observe that the version is 52

@packleader this is good feedback and the reason is because I got a new Mac (Apple Silicon) and could only run Java 17. and I make releases currently from my machine. the solution would be to use JDK 8 for a release - either on my machine (which will be slow because of having to use Rosetta) or a better option long overdue is to figure out how to use a GitHub action for the release

@packleader had a lot of trouble getting the github-action to work, but it is in place. when you are ready to test this, let me know and I will attempt to release 1.2.0.RC3 using the new automation

I can test at any time. Just let me know when...

@packleader so I just made the first ever fully-automated release and 1.2.0.RC3 should be in Maven central. I'm really interested to know if it worked and you can use it - in which case this is a big step forward for the project !! am logging off now, but let me know

I just realized I never replied to this... Yes, it's working as expected.  The com.intuit.karate.gatling.GatlingMavenJobConfig now has Major Version 52.  Thank you for the fix.

@packleader great to get confirmation, thanks !

1.2.0 released


API Display name is replacing with name from config file

While using the config file, devops kit source code is replacing API "display name" with "name". Because of this we cannot use actual OAS Spec API name as display name.

There is not enough information here to diagnose and reproduce the issue.  If this is still an issue for you, can you please open a new issue with all the requested information in the bug report.  Thank you.


Support friendly projectile.

This is a really nice plugin, keep up the good work dude!
Currently, this plugin is only support hostile projectile. If you change to friendly hostile like Boulder from Staff of Earth, its end up damaging itself and the Boulder does not deal any damage to player either. Is there any ways to support friendly projectile as well?

Thank you!
There should be a way to change the projectile's source (idk how rn). I'll give it a shot in a few weeks to see if i can do it.

Thank you!
There should be a way to change the projectile's source (idk how rn). I'll give it a shot in a few weeks to see if i can do it.

Good luck dude! Thanks for your effort.
Also how do i change the projectile's velocity so its always point at player?

That would be hard to add, first you would need to calculate which player will be targeted and then do calculation to point it towards the player. I can't help much about this, sorry.

Due to API limitations, it's not possible to change a projectile's hostility and send a packet with this information. Sad :(


Redis reconnect works not as it is supposed

I am using in my worker the next initialization:
redis: {
	init: function (parent) {
		var self = this;
		self.parent = parent;
		self.cfg = {
			port: self.parent.cfg['redis']['port'],
			host: self.parent.cfg['redis']['host'],
			password: self.parent.cfg['redis']['password']
		};
		self.client = redis.createClient(self.cfg.port, self.cfg.host, {retry_strategy: function (options) {
			if (options.error) {
				log.warn("Redis error:", options);
			}
			if (options.error.code === 'ECONNREFUSED') {
				// End reconnecting on a specific error and flush all commands with a individual error
				return new Error('The server refused the connection');
			}
			if (options.error.code === 'ECONNRESET') {
				return new Error('The server reset the connection');
			}
			if (options.error.code === 'ETIMEDOUT') {
				return new Error('The server timeouted the connection');
			}
			if (options.total_retry_time > 1000 * 60 * 60) {
				// End reconnecting after a specific timeout and flush all commands with a individual error
				return new Error('Retry time exhausted');
			}
			if (options.times_connected > 5) {
				// End reconnecting with built in error
				return new Error('Retry attempts ended');
			}
			// reconnect after
			return 1000;
		}});
		self.client.on('error', function (err) {
			log.error({err: err}, 'Listener.redis.client error: %s', err);
			process.exit(1);
		});
		self.auth = Q.nbind(self.client.auth, self.client);
		self.incr = Q.nbind(self.client.incr, self.client);
		self.hmset = Q.nbind(self.client.hmset, self.client);
		self.hgetall = Q.nbind(self.client.hgetall, self.client);
		self.set = Q.nbind(self.client.set, self.client);
		self.get = Q.nbind(self.client.get, self.client);
		self.zadd = Q.nbind(self.client.zadd, self.client);
		self.sismember = Q.nbind(self.client.sismember, self.client);
		return self.auth(self.cfg.password);
	}
}

So I suppose it should reconnect 5 times, one reconnect per second in case of failed connection and then raise an error. And this is what I see in supervisor's log:
{"name":"ami","hostname":"Ast2","pid":28257,"level":40,"msg":"Redis error: { attempt: 1,\n  error: [Error: Stream connection ended],\n  total_retry_time: 0,\n  times_connected: 1 }","time":"2016-06-01T10:39:45.426Z","v":0}
{"name":"ami","hostname":"Ast2","pid":28257,"level":40,"msg":"Redis error: { attempt: 1,\n  error: [Error: Stream connection ended],\n  total_retry_time: 0,\n  times_connected: 2 }","time":"2016-06-01T10:49:47.446Z","v":0}
{"name":"ami","hostname":"Ast2","pid":28257,"level":40,"msg":"Redis error: { attempt: 1,\n  error: [Error: Stream connection ended],\n  total_retry_time: 0,\n  times_connected: 3 }","time":"2016-06-01T10:59:49.399Z","v":0}
{"name":"ami","hostname":"Ast2","pid":28257,"level":40,"msg":"Redis error: { attempt: 1,\n  error: [Error: Stream connection ended],\n  total_retry_time: 0,\n  times_connected: 4 }","time":"2016-06-01T11:09:50.437Z","v":0}
{"name":"ami","hostname":"Ast2","pid":28257,"level":40,"msg":"Redis error: { attempt: 1,\n  error: [Error: Stream connection ended],\n  total_retry_time: 0,\n  times_connected: 5 }","time":"2016-06-01T11:19:52.396Z","v":0}
{"name":"ami","hostname":"Ast2","pid":28257,"level":40,"msg":"Redis error: { attempt: 1,\n  error: [Error: Stream connection ended],\n  total_retry_time: 0,\n  times_connected: 6 }","time":"2016-06-01T11:29:53.408Z","v":0}
{"name":"ami","hostname":"Ast2","pid":28257,"level":50,"err":{"message":"Retry attempts ended","name":"Error","stack":"Error: Retry attempts ended\n    at Object.self.client.redis.createClient.retry_strategy (/var/daemon/listener.js:102:15)\n    at RedisClient.connection_gone (/node_modules/redis/index.js:552:41)\n    at Socket.<anonymous> (/node_modules/redis/index.js:241:14)\n    at Socket.g (events.js:273:16)\n    at emitNone (events.js:85:20)\n    at Socket.emit (events.js:179:7)\n    at endReadableNT (_stream_readable.js:906:12)\n    at nextTickCallbackWith2Args (node.js:474:9)\n    at process._tickCallback (node.js:388:17)"},"msg":"Listener.redis.client error: Error: Retry attempts ended","time":"2016-06-01T11:29:53.411Z","v":0}
{"name":"ami","hostname":"Ast2","pid":28606,"level":40,"msg":"Redis error: { attempt: 1,\n  error: [Error: Stream connection ended],\n  total_retry_time: 0,\n  times_connected: 1 }","time":"2016-06-01T11:40:21.459Z","v":0}
{"name":"ami","hostname":"Ast2","pid":28606,"level":40,"msg":"Redis error: { attempt: 1,\n  error: [Error: Stream connection ended],\n  total_retry_time: 0,\n  times_connected: 2 }","time":"2016-06-01T11:50:23.474Z","v":0}
{"name":"ami","hostname":"Ast2","pid":28606,"level":40,"msg":"Redis error: { attempt: 1,\n  error: [Error: Stream connection ended],\n  total_retry_time: 0,\n  times_connected: 3 }","time":"2016-06-01T12:00:25.475Z","v":0}
{"name":"ami","hostname":"Ast2","pid":28606,"level":40,"msg":"Redis error: { attempt: 1,\n  error: [Error: Stream connection ended],\n  total_retry_time: 0,\n  times_connected: 4 }","time":"2016-06-01T12:19:42.429Z","v":0}
{"name":"ami","hostname":"Ast2","pid":28606,"level":40,"msg":"Redis error: { attempt: 1,\n  error: [Error: Stream connection ended],\n  total_retry_time: 0,\n  times_connected: 5 }","time":"2016-06-01T12:29:44.482Z","v":0}
{"name":"ami","hostname":"Ast2","pid":28606,"level":40,"msg":"Redis error: { attempt: 1,\n  error: [Error: Stream connection ended],\n  total_retry_time: 0,\n  times_connected: 6 }","time":"2016-06-01T12:42:46.537Z","v":0}
{"name":"ami","hostname":"Ast2","pid":28606,"level":50,"err":{"message":"Retry attempts ended","name":"Error","stack":"Error: Retry attempts ended\n    at Object.self.client.redis.createClient.retry_strategy (/var/daemon/listener.js:102:15)\n    at RedisClient.connection_gone (/node_modules/redis/index.js:552:41)\n    at Socket.<anonymous> (/node_modules/redis/index.js:241:14)\n    at Socket.g (events.js:273:16)\n    at emitNone (events.js:85:20)\n    at Socket.emit (events.js:179:7)\n    at endReadableNT (_stream_readable.js:906:12)\n    at nextTickCallbackWith2Args (node.js:474:9)\n    at process._tickCallback (node.js:388:17)"},"msg":"Listener.redis.client error: Error: Retry attempts ended","time":"2016-06-01T12:42:46.541Z","v":0}

Why times_connected increments every time while reconnected successfully? This is wrong behavior because it raises an error "Retry attempts ended".  Am I right?

Version: 5.5.0
Platform: Linux Ast2 4.0.4-aufs
Description: Redis reconnect works not as it is supposed

I think you check the wrong value for what you want to achieve. The times_connected indicates the total times the client connected to the server. The attempt indicates how many times the client tried to reconnect since the connection dropped. And that is always the first attempt in your case.

@BridgeAR so how do you think why does "Retry attempts ended" occur? There are no attempts in log before that.

@pavelsc you create that error on your own in the retry_strategy function by returning that error to node_redis.


Custom comments in Settings UI

I prefer using the settings UI. However, I often find myself automatically going into the settings.json file because it's packed with comments — for both modified and unmodified settings (example shown below).
It'd be nice to be able to:

Add these comments to the settings UI, possibly with an icon next to the setting (if it has a comment), allowing the comment to be viewed by hovering over the icon.
Add additional tags that would allow you to further filter settings (e.g. @commented or @modified @commented or @unmodified @commented).

Example settings.json file with comments:
{
  // Disabling validation prevents errors on syntax constructs that aren't supported by the language
  // service (e.g. proposed features such as the pipeline operator). It also prevents duplicate
  // linting errors (from both ts and eslint). However, it also prevents the editor.showUnused
  // (fading of unused variables) option from working.
  // https://github.com/Microsoft/TypeScript/issues/29293)
  // https://github.com/Microsoft/TypeScript/issues/13408
  "javascript.validate.enable": false,
  "typescript.validate.enable": false,

  // Good for disabling annoying tooltips, but nice for eslint error details.
  // Waiting for ability to customize tooltips or place the tooltips at top/bottom.
  // https://github.com/Microsoft/vscode/issues/65996
  // "editor.hover.enabled": false,
}

Another reason for allowing them in the UI: #75599

Would be nice to see this in the keyboard shortcuts UI editor as well.


pyrescene: init at 0.7

Motivation for this change
Small python utility to manage scene releases
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Turns out it doesn't work very well and I am not willing to put the time into this


Error message - Register page

Error messages need to be more user friendly:

[x] Email is invalid -> Please enter a valid email address

[ ] Change the message at the top which current reads:
" x errors prohibited this user from being saved"
This should say:
"Oops - please try again"

Revised message for email in client side validation

I've revised this to use add the "Oops..." text. This is only disabled if the user manages to submit an invalid form after bypassing the javascript (or if it failed to load).
To test this you should temporarily disable javascript, or I can demo it.


Update go-releaser.yml

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.836%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1766

Relevant Lines:
1882

💛  - Coveralls


Set consistent context in delayed_job integration

Goal

Currently, a context is only set on DelayedJob errors if a display_name is set on the job, which is not always the case. The default context that it falls back to (top stack trace line) doesn't seem useful.
The default results in errors like ActiveRecord::StatementInvalid app/models/foo.rb:100. It does not indicate which job is failing, so one cannot understand the problem at glance in the dashboard.
Other integrations attempt to set a useful default context, see:
https://github.com/bugsnag/bugsnag-ruby/blob/56f387ef36c157a2b6fbf7d9e6807d21d1e62393/lib/bugsnag/integrations/resque.rb#L46
https://github.com/bugsnag/bugsnag-ruby/blob/56f387ef36c157a2b6fbf7d9e6807d21d1e62393/lib/bugsnag/middleware/rails3_request.rb#L19
I think it would make sense to use the job name as the default context. This is consistent with other error monitoring tools I've used.

Changeset

Tests

Tests pass without changes. Let me know if you think additional coverage is needed.
Discussion
Alternative Approaches

I first tried defining a before_notify_callback to override the context, but that did not work.
Outstanding Questions

Linked issues

Review

For the submitter, initial self-review:

[x] Commented on code changes inline explain the reasoning behind the approach
[x] Reviewed the test cases added for completeness and possible points for discussion
[x] A changelog entry was added for the goal of this pull request
[x] Check the scope of the changeset - is everything in the diff required for the pull request?
This pull request is ready for:

[x] Initial review of the intended approach, not yet feature complete
[x] Structural review of the classes, functions, and properties modified
[x] Final review

For the pull request reviewer(s), this changeset has been reviewed for:

[ ] Consistency across platforms for structures or concepts added or modified
[ ] Consistency between the changeset and the goal stated above
[ ] Internal consistency with the rest of the library - is there any overlap between existing interfaces and any which have been added?
[ ] Usage friction - is the proposed change in usage cumbersome or complicated?
[ ] Performance and complexity - are there any cases of unexpected O(n^3) when iterating, recursing, flat mapping, etc?
[ ] Concurrency concerns - if components are accessed asynchronously, what issues will arise
[ ] Thoroughness of added tests and any missing edge cases
[ ] Idiomatic use of the language

@snmaynard @Cawllec

This LGTM, though I'm going to confirm changing the potential context won't cause any issues first.

Hi @mike-stewart, I'm going to take it on from here to add some more end-to-end tests.

@Cawllec Any ETA on this one?

We have some longer term work going on adding breadcrumbs to the ruby notifier and we will slot this in after that. Might take a few weeks. You can always pin to your fork until we have got to merging this down if you need it sooner.

Any plans to pull this @Cawllec @snmaynard @phillipsam?

Hi @mike-stewart we are still planning to pull this when priorities allow.

Thanks for the PR @mike-stewart! I've fixed the conflict and added an end-to-end test in #615

A fix for this has now been released in v6.16.0.


Participant unable to join room with a token which contains "canSubscribe": false in IOS SDK 2.0.7

Describe the bug
Hi All,
Found an issue with ios sdk, where if you try to join with a token which contains "canSubscribe": false, it gives error Invalid state(Publisher is nil)
but same works in other sdk.
SDK Version
Please provide the SDK version.
2.0.7
iOS/macOS Version
IOS
The OS version which the issue occurs.
ios17
Steps to Reproduce
Try to join room with "canSubscribe": false permission, it will fail.
Token created using:
{
"identity": "atanu-ios1",
"room": "demo-room-ios-test",
"roomJoin": true,
"canPublish": true,
"canPublishData": false,
"canSubscribe": false,
"roomCreate" : false,
"roomAdmin" : false,
"roomList": true,
"roomRecord": false,
"metadata": "data1",
"canPublishSources": [
"MICROPHONE",
"CAMERA",
"SCREEN_SHARE"
]
}
Expected behavior
User should able to join room where user will only publish data won't subscribe other tracks using "canSubscribe": false attribute in token.
Screenshots

Logs
Room.cleanUp(withError:isFullReconnect:) withError: Optional(Error Domain=.xxx Code=104 "Invalid state(Publisher is nil)" UserInfo={NSLocalizedDescription=Invalid state(Publisher is nil)})

Thanks for reporting.
This has been fixed and confirmed with updated tests . This will be in the next version.
I will close this for now.


What format should we have in mind for logging to spans?

Please answer these questions before submitting your issue.

Why do you submit this issue?
[X] Question or discussion
[ ] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?
when we implication logger plugin whose detailed description can ben found in #4545 , what format should we have in mind for logging to spans?

Current proposal
We all know  AbstractSpan only has log(Throwable) and log(long, Map<String, ?>). It seems that only log(long, Map<String, ?>)  can meet the requirements.
The current preliminary proposal is that the key is the name of log systems such as logback ,log4j, or log4j2. And its value is the content of the log message.
Just like this:
 ContextManager.activeSpan().log(System.currentTimeMillis(), (Map<String, ?>) new HashMap<>().put("logback","formate log"));

But I am not sure if the above usage is correct.
Or through AbstractSpan tag(AbstractTag<?> tag, String value) instead of log(long, Map<String, ?>) ?
If there is a better method, please come up and discuss it together.

First logs should be cataloged as a log, rather than a tag.
And about the format, how about taking a reference from here? https://github.com/apache/skywalking/blob/master/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/trace/AbstractTracingSpan.java#L171-L173

event=log level(debug/info/...)
log.kind=class of the logger
message=formated text

What do you think? @BFergerson @vcjmhg @kezhenxu94 @codelipenghui
Another question is, why the log framework matters?

I can't think of a good reason why the logging framework should matter and I was unaware of the format AbstractSpan.error() was already using. I believe that format is just as applicable for the logging desired in #4545.
The only question I have is whether or not #4545 will include the stack trace for each logging level. It should obviously include it for error but #4545 includes configuration for the logging level to be configurable to lower levels. If someone is capturing info logs will the stack trace also be captured?

It's good for me to implication it.:smile:

Another question is, why the log framework matters?

Because some information that cannot be directly obtained by intercepting the logger trace()` ,  such as the stack trace of the exception associated with the logging event. To obtain this information, it must be processed separately through different log frameworks. In other words, it is for better log formatting function.

@vcjmhg, I think @wu-sheng means why should the logging framework matter to AbstractSpan.log(long, Map<String, ?>). Once you've obtained all the information you need to call that method, why should you also be storing the logging framework which triggered it? For example, why should RocketBot care which logging framework the logs are coming from?

Once you've obtained all the information you need to call that method, why should you also be storing the logging framework which triggered it? For example, why should RocketBot care which logging framework the logs are coming from?

Thank you very much for your explanation. If so, It seems that it not necessary to record the kind name of the logging framework.

I was unaware of the format AbstractSpan.error() was already using

@BFergerson,The result of the previous discussion is that we don’t care about the format AbstractSpan.error() was already using, we will provide configuration issues to control the format of the log.
  - name: "log4j2"
    packages:
      - package1
      - package2
    level: "trace"
    pattern: "%date %level [%thread] %logger{10} [%file:%line] %msg%n"
    filter: "Regular expression"

In the above config file, pattern will control the format of logging information that we need.

What is the filter for?

What is the filter for?

Sorry, I made a mistake. It should be expression not filter  which can filter logging information with regular expression

@vcjmhg,

I was unaware of the format AbstractSpan.error() was already using

@BFergerson, The result of the previous discussion is that we don’t care about the format AbstractSpan.error() was already using, we will provide a configuration file to control the format of the log.
  - name: "log4j2"
    packages:
      - package1
      - package2
    level: "trace"
    pattern: "%date %level [%thread] %logger{10} [%file:%line] %msg%n"
    expression: "Regular expression"

In the above config file, pattern will control the format of logging information that we need.

I don't think the pattern from your configuration and the format which AbstractSpan.error(Throwable) is using are mutually exclusive. pattern would simply take the place of message. I'm probably just increasing confusion by using the word format so liberally. Basically, I'm thinking this:
val pattern = null //todo: parse and format log message based on the configured pattern from logfilter.yaml
val level = null //todo: determine log level being logged

if (ContextManager.isActive()) {
    Map<String, String> logMap = new HashMap<>();
    logMap.put("event", level);
    logMap.put("message", pattern);
    if (level == "error") {
        logMap.put("error.kind", null); //todo: determine error kind
        logMap.put("stack", null); //todo: determine stack trace
    }

    ContextManager.activeSpan().log(logMap);
}

Though again, my only question would be whether or not the stack trace was always included regardless of log level.

Yes, my understanding is pattern is the message in the log. The expression still doesn't make sense to me. How do we plan to do that?

Yes, my understanding is pattern is the message in the log. The expression still doesn't make sense to me. How do we plan to do that?

The expression is mainly to increase the flexibility of the function. In a certain situation, we may need to only record log information containing certain keywords.For example, we need to record the logging message contains  "thread name".
But I don’t know if these scenarios really exist in a production environment.

Though again, my only question would be whether or not the stack trace was always included regardless of log level.

@BFergerson , I am not sure if there will be the following usage in a real environment:
logger.debug("has exception",new Exception());

And the information just above needs to be recorded in the span log.

@vcjmhg, fair enough. My reason for asking was mainly due to my interest in being able to correlate which line the log came from. It would be helpful for a project I'm working on for SkyWalking. I think I could always add an additional configuration setting to logfilter.yaml further down the line which would add the class/line number to none error logs.

the expression is mainly to increase the flexibility of the function. In a certain situation, we may need to only record log information containing certain keywords.For example, we need to record the logging message contains "thread name".

OK, I got your time. But, regex match would be a big performance impact on the target system. The log should follow the same logic as the log filter system originally, such as, log level, package name filter, etc. which have been included in the log framework.

@BFergerson , ok,logback supports the function that collects the line number from where the logging request was issued (the conversion word is %line), so I will use PatternLayoutEncoder which from logback to format logs to test its support for this feature .

OK, I got your time. But, regex match would be a big performance impact on the target system. The log should follow the same logic as the log filter system originally, such as, log level, package name filter, etc. which have been included in the log framework.

Ok, if expression is not necessary, I will remove it later.

@wu-sheng @BFergerson , about the plugin, can we make the following conclusions:

The format of logging to spans will contain three fields:

event=log level(debug/info/...)
log.kind=class of the logger
message=formated text

Pattern will support %line  which represents line number from where the logging request was issued.
expression will be removed. The content of the configuration file is as follows:

- name: "log4j2"
    packages:
      - package1
      - package2
    level: "trace"
    pattern: "%date %level [%thread] %logger{10} [%file:%line] %msg%n"

Make sense to me. @BFergerson Please confirm.

The format above appears to be more logback than log4j2. Also, I don't think there would be a need for a new line in the pattern as these logs are not going directly to the console.
I'm also having second thoughts about adding the file and line number to the pattern. I forgot these incur a performance cost. I still would like to be able to correlate this information but again I'm not completely sure my needs represent what most people's needs are. Either way, I'm starting to think that an apprioate solution for me would be to simply store the log pattern and the parameters separately. Given that the logger plugin hooks into trace/debug/info/error method calls, it actually has access to both the pattern and the parameters. If I knew what the unformatted pattern was I can essentially do a grep to find the location (even using the logger name to limit the search even further).
There are some advantages to structured logs over unstructured logs. For example, given this log:
log.warn("span {} has illegal status code {}", span, tag.getValue());

Storing this as unstructured would be saving the following map to a span:
"logs": [
  {
    "time":<PHONE_NUMBER>711,
    "data": [
      {
        "key": "event",
        "value": "warn"
      },
      {
        "key": "log.kind",
        "value": "org.apache.skywalking.oap.server.analyzer.provider.trace.parser.listener.MultiScopesAnalysisListener"
      },
      {
        "key": "message",
        "value": "span *span* has illegal status code *tag.getValue()*"
      }
    ]
  }
]

Now I'm unsure if SkyWalking plans on making the logs queryable but if I wanted to find all the logs where the tag.getValue() had a certain value that would mean doing regex over the message variable. Alternatively, you could store both the pattern and the params, like so:
"logs": [
  {
    "time":<PHONE_NUMBER>711,
    "data": [
      {
        "key": "event",
        "value": "warn"
      },
      {
        "key": "log.kind",
        "value": "org.apache.skywalking.oap.server.analyzer.provider.trace.parser.listener.MultiScopesAnalysisListener"
      },
      {
        "key": "message",
        "value": "span {} has illegal status code {}"
      },
      {
        "key": "param.1",
        "value": "*span*"
      },
      {
        "key": "param.2",
        "value": "*tag.getValue()*"
      }
    ]
  }
]

I think storing logs this way could provide some benefits when it comes to making them queryable. It would also solve my desire to be able to correlate the source code location of the data being logged as now I can simply grep by the message. There could also be benefits to RocketBot/CLI visualization as the user could then reformat logs on the client side as they see fit and the structure of the logs wouldn't need to be processed on-the-fly by the SkyWalking agent (so maybe that'll help with processing time).
Let me know what you guys think. As always, I'm fine simply creating a PR later on to add extra configuration to suite my needs.

Now I'm unsure if SkyWalking plans on making the logs queryable

Right now, tag-based query is providing limited and pre-defined scopes, as the performance impact.

I don't think there would be a need for a new line in the pattern as these logs are not going directly to the console.

I have a similar feeling, but the most interesting thing is threadId, which is not required by the SkyWalking currently but may be needed by the users. What do you think?

For structure vs no-structure.

It looks like the structure proposal is better, less performance impact, still readable, and has more possibilities in the future. Personally like this. @vcjmhg thoughts?

It looks like the structure proposal is better, less performance impact, still readable, and has more possibilities in the future. Personally like this. @vcjmhg thoughts?

Yes, I also agree that structured proposla seems better


gorethink panics in cursor.Listen

Hi Dan,
first of all, thanks much for gorethink. It makes my life so much easier. Awesome stuff.
I am using it in a large, scale out environment and am making use of the cursor's Listen function for Changefeeds a lot. That being said, I am encountering panics when the query I am watching for is seeing a lot of concurrent changes.
I drilled into it and figured out the following:
The crash happens in cursor.go:514, i. e. the expand-routine.
The value of q.popi >= len(q.elems) (i. e. in my debug outputs which I added, len(q.elems) == 0 and q.popi == 1) which leads the copy-builtin to crash.
Removed the cursor.Listen from my code for now and am back to polling, so I hope you will find time to look into it.
Thanks,
Gunther
P. S.: The Listen-cursor is used only in a single goroutine (just to make sure we remove the obvious first question from the equation :-) ).

Hey, sorry you are having this issue. Its kind of worrying that the queue data structure is panicking. I may just replace this code with something simpler.
Since this looks like a pretty serious issue I hope to have a fix released very soon. Thanks for submitting the issue.

Please post the panic message if possible.

Dan,
thanks much for your prompt reply. Really appreciated.
As 'omeid' requested the panic message, please find it below. I don't think it is going to tell you guys any more than what I had described in my initial submission.
Based on the panic message, I had added some tracing output to Dan's code to at least understand what exactly was going on.
Again, thanks much :-)
panic: runtime error: slice bounds out of range
goroutine 53 [running]:
github.com/dancannon/gorethink.(*queue).expand(0xc8200b3ad8)
/Users/gth/code/go/src/bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/cursor.go:514 +0x2de
github.com/dancannon/gorethink.(*queue).Push(0xc8200b3ad8, 0x50b9a0, 0xc820463ca0)
/Users/gth/code/go/src/bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/cursor.go:476 +0x36
github.com/dancannon/gorethink.(*Cursor).extendLocked(0xc8200b3a40, 0xc8201c83f0)
/Users/gth/code/go/src/bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/cursor.go:450 +0x11b
github.com/dancannon/gorethink.(*Cursor).extend(0xc8200b3a40, 0xc8201c83f0)
/Users/gth/code/go/src/bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/cursor.go:445 +0x7e
github.com/dancannon/gorethink.(*Connection).processPartialResponse(0xc820227130, 0xc800000002, 0x1, 0x0, 0x0, 0x0, 0x0, 0xc8201c83f0, 0x8, 0xc, ...)
/Users/gth/code/go/src/bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/connection.go:324 +0x30f
github.com/dancannon/gorethink.(*Connection).processResponse(0xc820227130, 0xc800000002, 0x1, 0x0, 0x0, 0x0, 0x0, 0xc8201c83f0, 0x0, 0x7, ...)
/Users/gth/code/go/src/bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/connection.go:265 +0x230
github.com/dancannon/gorethink.(*Connection).Query(0xc820227130, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0xc820464680, 0x4dbba0, 0x0, ...)
/Users/gth/code/go/src/bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/connection.go:148 +0x3d5
github.com/dancannon/gorethink.(*Cursor).fetchMore(0xc8200b3a40, 0x0, 0x0)
/Users/gth/code/go/src/bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/cursor.go:416 +0x139
github.com/dancannon/gorethink.(*Cursor).loadNextLocked(0xc8200b3a40, 0x4dbba0, 0xc82008b2c0, 0xc82008b2c0, 0x0, 0x0)
/Users/gth/code/go/src/bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/cursor.go:192 +0x17c
github.com/dancannon/gorethink.(*Cursor).Next(0xc8200b3a40, 0x4dbba0, 0xc82008b2c0, 0x4dbba0)
/Users/gth/code/go/src/bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/cursor.go:164 +0x91
github.com/dancannon/gorethink.(*Cursor).Listen.func1(0x4f7e00, 0xc820203020, 0xc8200b3a40)
/Users/gth/code/go/src/bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/cursor.go:348 +0x19d
created by github.com/dancannon/gorethink.(*Cursor).Listen
/Users/gth/code/go/src/bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/cursor.go:357 +0x49

This should now be fixed in v1.3.0, I replaced the queue data structure which a simpler slice as it keeps the code simpler.
Thanks for reporting the issue.

Hi Dan,
wow, that was fast. Dared to look at the code changes, I do like the
increased simplicity, if you allow me to say so.
I will play with the new code and run it through my test harness here, most
likely tomorrow and will provide you with feedback, if you wish so.
Thanks very much one more time, I really do appreciate your work.
Best,
Gunther
2016-01-11 22:08 GMT+01:00 Daniel Cannon<EMAIL_ADDRESS>
This should now be fixed in v1.3.0, I replaced the queue data structure
which a simpler slice as it keeps the code simpler.
Thanks for reporting the issue.
—
Reply to this email directly or view it on GitHub
https://github.com/dancannon/gorethink/issues/257#issuecomment-170690426
.

Hi Dan,
I hope my note finds you well and you had some relaxing holidays in
between, Dan.
It took longer than I had hoped and planned to stress-test your new code. I
finally did it today and it crashed after two minutes again:

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x20 pc=0x5592df]
goroutine 62 [running]:
github.com/dancannon/gorethink.(*Cursor).loadNextLocked(0xc82045e6e0,
0x9bb8c0, 0xc8202da280, 0xc8202da280, 0x0, 0x0)
    /home/centos/go/src/

bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/cursor.go:211
+0x41f
github.com/dancannon/gorethink.(*Cursor).Next(0xc82045e6e0, 0x9bb8c0,
0xc8202da280, 0x9bb8c0)
    /home/centos/go/src/

bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/cursor.go:166
+0x91
github.com/dancannon/gorethink.(*Cursor).Listen.func1(0x9db4e0,
0xc82047f800, 0xc82045e6e0)
    /home/centos/go/src/

bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/cursor.go:352
+0x19d
created by github.com/dancannon/gorethink.(*Cursor).Listen
    /home/centos/go/src/

bitbucket.org/cloudintel/vatomizer/Godeps/_workspace/src/github.com/dancannon/gorethink/cursor.go:361
+0x49

I just uncommented my "change listener" in my code and it crashed basically
right away.
I commented it back out again as even my dev and test env are pretty busy.
I will try to setup a separate env to dig deeper and file a proper bug
report, but I wanted to give you a heads-up.
Here is the code snippet by the way that causes all the issues (just FYI as
seeing it might trigger eventually something :-) ):
...
// do we need to wait for the result?
if actionEntry.Wait {
/*
mychan := make(chan events.DocChange)
// start the changeFeed from DB
cursor, dberr := r.Table(t.EventTable).Get(id).Changes().Run(cfg.EventDB)
if dberr != nil {
errmsg := fmt.Sprintf("%+v", dberr)
cilog.Log(sys.ERROR, cierrors.LogError(&API_ERR_DB_GET, errmsg))
replyWithError(c, &API_ERR_DB_GET)
return
}
cursor.Listen(mychan)
defer cursor.Close()
var change events.DocChange
*/
var res t.VEvent
for done := false; !done; {
select {
/*
case change = <-mychan:
_ = change
*/
case <-time.After(time.Duration(10) * time.Millisecond):
_ = done
}
resp, dberr := r.Table(t.EventTable).Get(id).Run(cfg.EventDB)
if dberr != nil {
errmsg := fmt.Sprintf("%+v", dberr)
cilog.Log(sys.ERROR, cierrors.LogError(&API_ERR_DB_GET, errmsg))
replyWithError(c, &API_ERR_DB_GET)
return
}
defer resp.Close()
if resp.IsNil() {
continue
}
dberr = resp.One(&res)
if dberr != nil {
errmsg := fmt.Sprintf("%+v", dberr)
cilog.Log(sys.ERROR, cierrors.LogError(&API_ERR_DB_GET, errmsg))
replyWithError(c, &API_ERR_DB_GET)
return
}
if res.Status != string(events.EventClosed) {
continue
}
done = true
}
....

Any ideas?
Have a great day.
Cheers,
Gunther
2016-01-12 2:06 GMT+01:00 Gunther Thiel<EMAIL_ADDRESS>
Hi Dan,
wow, that was fast. Dared to look at the code changes, I do like the
increased simplicity, if you allow me to say so.
I will play with the new code and run it through my test harness here,
most likely tomorrow and will provide you with feedback, if you wish so.
Thanks very much one more time, I really do appreciate your work.
Best,
Gunther
2016-01-11 22:08 GMT+01:00 Daniel Cannon<EMAIL_ADDRESS>
This should now be fixed in v1.3.0, I replaced the queue data structure
which a simpler slice as it keeps the code simpler.
Thanks for reporting the issue.
—
Reply to this email directly or view it on GitHub
https://github.com/dancannon/gorethink/issues/257#issuecomment-170690426
.


Remove @api on getHitDetectionFramebuffer

This removes the @api marker on getHitDetectionFramebuffer. I think this was added by mistake in 7404204.
CC @tsauerwein.

Thanks, this was a mistake. Feel free to merge.


[Question] Replicas constantly faulting

I observed, that in the last few days we have constantly replicas that are failing and then get rebuilded.
Volume Event log:
Detected replica UNKNOWN-tcp://<IP_ADDRESS>:10225 (<IP_ADDRESS>:10225) in error
I will send you the support bundle. What else could we do?
Thanks

In the support bundle, I saw lots of replica reconnecting. It's normally caused by the CPU or network. Can you check the CPU utilization on your nodes? And load average etc. Also, do you have any network issues between your nodes? Are they connected by 10G (at least 1G) network?

One Node 05 has CPU usage of about 90%. Partly because the longhorn engine manager "instance-manager-e-1b9c1476" uses over 1000 mCPU which seems high.
The nodes are connected by a 25G network.

@timmy59100 instance-manager-e is running all the engine processes inside it, so normally it would have the highest CPU utilization among the Longhorn components. Can you give the node more CPU in the meantime? We're working on bringing the engine CPU utilization down as well.

@yasker we added another node to reduce cpu load on the nodes, but the disconnects still happens and the volumes get read-only as a result.

What's the load on the nodes that have read-only volumes now? You can migrate replicas to new nodes to reduce the load on existing nodes. For v1.0.x it needs to be done manually:

Disable the node scheduling except for the new node.
Increase the volume replica count by one. This should allow the volume to rebuild a replica on the new node.
Decrease the volume replica count. Then remove one replica of the volume on the node you want to reduce the load.
Repeat 2-3
Enable nodes' scheduling.

In the upcoming v1.1.0 release, we will have a replica eviction feature that can help to evict the replica on a single node or disk.

@yasker
The load is max 50 % per Node.
The volumes are distributed, but it keeps happening.

@yasker The disks are SSD. Over the weekend it was stable.

@timmy59100 Can you check how many engines and replicas are there on each node? Only need to count the attached ones. You can find the replicas on the node page. For engines, you can check it through the Volume Overview page and filter by the attached node name.

@yasker
Just had another incident where the volumes failed.
Node01: 10 replicas + 2 failed, 7 engines
Node02: 11 replicas + 2 failed, 1 engine
Node03:   9 replicas + 0 failed, 7 engines

@yasker on this cluster we have only one etcd/controlplane node
On the other where we don't have the problem we have 3.
In https://github.com/longhorn/longhorn/issues/1475#issuecomment-641462673 you explained longhorn uses etcd to store metadata.
Could that be an issue?

@timmy59100 It's probably not etcd.
How many CPUs you have for each node? And what's the CPU utilization when the issue happened? You mentioned you have a total of 4 replicas failures, so where do those volumes attach to?
We can try reserving more CPUs for Longhorn on the nodes in the setting GuaranteedEngineCPU, but it will require all the volumes to be detached before setting it(since it will restart all the instance managers). Based on your replica and engine count on the node, 750m(instead of the default 250m) sounds like a better value, but you have to make sure you have at least 4 * 750m = 3 VCPUs can be reserved on each node.

@yasker we have 4 CPUs per Node at the moment.
So 3 vcpus would be a bit much.
On a second Cluster we have 5 nodes same ressources ,but a few volumes more. Here we dont have the problem.

@timmy59100 OK, is it possible to try set GuaranteedEngineCPU to 500m? Also, I guess even the replica failed on node 2, the volumes with failed replicas are probably attached to node 1 or 3 instead of node 2.
Regarding the second cluster, are they in the same data center? running a similar workload? How is the CPU utilization look like on the second cluster? It might be some workload on certain nodes demands more CPU than others.

Hello. I have the same error.
I have cluster setup by kubespray v1.21.13, longhorn 1.2.4
Network - 10G
In events i see
Detected replica UNKNOWN-tcp://<IP_ADDRESS>:10000 (<IP_ADDRESS>:10000) in error

In my cluster also the replica's are failing often. I am guessing it might be a CPU issue because some of my nodes only have 1vCPU. Is there any way to tame the longhorn engine to now use so much CPU at the cost of replica performance? Instead of replica errors and dropping them, can it be tailored to work on low cpu environments with low performance? Also, how do I check which replica is being used by my attached pod to do read write operations? Are all the replicas used at random? Or if I have data locality set, only the local replica will be used for the pod I/O until the pod gets rescheduled somewhere else? How do I check this?


Question : BtbN/FFmpeg-Builds vs yt-dlp/FFmpeg-Builds

Hi, I have noticed your project is a fork of BtbN/FFmpeg-Builds.
What is the differences between the two ?
In which case should I choose the first over the second ?

Read the readme

@pukkandan Oups 😄
By the way, I can read  in your README.md :

This repository provides static Windows (x86 and x86_64) and Linux (x86_64, arm64) Builds of FFmpeg master and latest release branch with some patches necessary for smooth integration with yt-dlp

What do you mean by with some patches necessary for smooth integration with yt-dlp ?
Can you tell me more about these necessary patches ?

Literally just keep reading!

@pukkandan My bad, I must really be tired :laughing:
Sorry for the inconvenience.


Reduce image size by removing cache directory from .next

Just an attempt, not sure if it will work yet

Closing as it seems a  lot of the size is due to node_modules directory.


Primitive task system to avoid locking UI during long-running operations

Hello! I didnt see any documentation about contributing, so sorry in advance if this isnt correct. Anyway, let me tell you about this PR.
Ive been using this tool a lot lately, and on larger SAV files, many operations completely lock up the UI, sometimes for up to 30 seconds, and windows starts to complain very quickly that the program is not responding. And having the UI completely locked up is a pretty bad experience in general.
So the goal of this PR is to take certain long running operations and move them off the main UI thread. I demonstrate a primitive task system that does a few things:

Creates a thread pool
Allows you to send tasks to that pool
Calls the UI render loop while the thread is executing the task
[Optionally] Locks certain parts of the UI during task execution to ensure dangerous operations cant happen
Returns the result of the task

Here's a quick video of what it looks like to use this program with these changes:
https://github.com/user-attachments/assets/b3c53ad8-f169-4e89-8843-b963400d407a
This is very much a proof of concept, but I wanted to get some early feedback on the approach before I kept working on it. I only implemented Loading and Saving menu operations right now, but in theory any long running task could be migrated to this system.
I think it could be merged in its current form, but there are a few changes I'd make to improve it:

Ensure tasks cant conflict with each other (probably create specific task labels and only allow one running instance per label)
Ensure tasks cant operate on shared resources (probably just locks)
Potentially disable more UI elements during tasks if using them could be risky; Im not sure what these could be, open to feedback

Let me know what you think!

There's a few changes you've made to the code that appear to be targeted just to your local machine. For example, the default open file location is directly being routed to a location on your harddrive.

@EternalWraith is it possible youre looking at the first commit only? I removed that in the second commit


Correct parameters for docker-compose, how ?

Hi @cjoergensen Christian,
Thank you for this very interesting project.
Any chance you could explain how to set the correct parameters for docker(-compose) ? i would like to use the tool.
Thanks for your time
StefanS

Hey @StefanSa we are in the middle of making the documentation for the project. We will get go this soon

@UtopleMan have look at the updated the readme in this branch: https://github.com/cjoergensen/thrifty-elastic-alerting/tree/update-docs
Details about templates, connectors, samples etc are still need. But are we going in the right direction?

Docker compose sample setup have been added in samples folder.  You would still need to create the alerting user in Kibana, for this to begin working


remove unused app.name

app.name is mentioned in the documentation, but doesn't seem to have any semantic meaning.
Application instances are not frozen and as far as I can tell there's no reason to force people to use name specifically (people may want to use id / machineId, etc., or even better, don't rely on koa app's namespace to pass this information)

a minimal interface better
-> less potential for confusion/forward-incompatibility-issues/pointless-discussions
-> seem to be the general philosophy with koa (which I like)
-> that being said, if it is indeed 'already been established', probably no need to remove it

👍 for this. anyone else?

👍 I don't remember what it's for haha


implement a cleanup function (_fini?) instead of manually invoking fflush(stdout)

Going forward, I want to think about the ability of a lib43 user to tune the runtime. One of the most useful cases right now is beating the startup/teardown cost of every other libc and crt0 I've tested, sometimes by a significant margin.
Adding a _fini function that does anything like fflush() on all file descriptors could waste even precious nanoseconds which is useful if using lib43 for competitive reasons.

Probably either cmake -DUNSAFE_BUT_FAST=1 or individual flags like cmake -DFLUSH_WRITES

Agreed but it should maybe be tunable on a by feature basis in an organized way. Same arguments could apply to argv passing in some cases and other things as well.

On Feb 21, 2015, at 5:26 PM, Ryan Hileman<EMAIL_ADDRESS>wrote:
Probably either cmake -DUNSAFE_BUT_FAST=1 or individual flags like cmake -DFLUSH_WRITES
—
Reply to this email directly or view it on GitHub.

argv is like two instructions, while "flush all open file handles" is actually a ton of work and potentially many syscalls.

I realize that - my point is just that there may be other things people may want to turn on and off as more stuff goes into library so having a methodical way to do so is good. Unwrapping argv is potentially more depending on what compiler decides to do for function prologue but it still wouldn't be that expensive true.

On Feb 22, 2015, at 12:11 AM, Ryan Hileman<EMAIL_ADDRESS>wrote:
argv is like two instructions, while "flush all open file handles" is actually a ton of work and potentially many syscalls.
—
Reply to this email directly or view it on GitHub.


[HOLD for payment 2022-03-17] App changes positions of Ui elements when phone language RTL - Reported by Ahmed sherif

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Set phone language to any RTL
Open app
Login & Browse

Expected Result:
App UI should be properly displayed
Actual Result:
UI is distorted, some elements overlap
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platform:

Where is this issue occurring?

iOS
Android

Version Number: 1.1.33-0
Reproducible in staging?: Y
Reproducible in production?: Y
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: Ahmed sherif
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1643042672341700
Upwork Job https://www.upwork.com/jobs/~019ba4918a8529eaf2
View all open jobs on GitHub

Triggered auto assignment to @stephanieelliott (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

Triggered auto assignment to @TomatoToaster (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Triggered auto assignment to @kevinksullivan (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

https://www.upwork.com/jobs/~019ba4918a8529eaf2

Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat (Exported)

Triggered auto assignment to @marcaaron (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

That's the simple styling problem that we can sort out with the help of flexbox properties.  I can resolve these issues and will be happy to give you support for maintaining your application front-end and backend. Please let me know if you have some more questions in mind. We can arrange a call to discuss it further.

I don't think we are ready to add RTL support ATM. let me discuss this and get back. :hand:

I will be using react-native-i18n library to resolve the RTL layout issue. This library will check for RTL/ LTR language and returns boolean which we will use to render UI smoothly. I have already worked over this issue before on a website. You can check here.
http://omenkul.com/
The above website also has mobile apps (Android & iOS), however, they are not live. I have the source code for it on my repository.

@parasharrajat  I think all we need is to force the app to work RTL since we only support RTL
will add this
I18nManager.forceRTL(true);

and will need to add more steps on android native.
I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance();
sharedI18nUtilInstance.forceRTL(this,true);
sharedI18nUtilInstance.allowRTL(this, true);

So based on the discussion, we would like to block the RTL mode for the time being until we wish to support RTL.
Please submit updated proposals.
@ahmdshrif Where did I18nManager come from?

It come React-native .
Ok i will update and test it  .

Strange. RN docs do not have anything on this apart from a blog post.
Can't we do this via configuration files? Androidmanifest.xml and whatever is there for IOS.
Android has android:supportsRtl.

https://reactnative.dev/blog/2016/08/19/right-to-left-support-for-react-native-apps
React native have this blog post to support rtl . And we use the same to not support rtl .
I see here he add the native config to support rtl.  So i will add it also may be will need this config on some android or ios versions.
So adding this for
// in MainActivity.java
I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance();
sharedI18nUtilInstance.allowRTL(context, false);
And adding android:supportsRtl="false"
In AndroidManifest.xml
And for ios .
// in AppDelegate.m
[[RCTI18nUtil sharedInstance] allowRTL:YES];

// in MainActivity.java
I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance();
sharedI18nUtilInstance.allowRTL(context, false);

I think we don't need this part after adding android:supportsRtl="false"
Apart from it, @ahmdshrif 's proposal looks good to me.
cc: @marcaaron
:ribbon: :eyes: :ribbon:  C+ reviewed

@parasharrajat  can we start pr here?

📣 @ahmdshrif You have been assigned to this job by @marcaaron!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

@ahmdshrif @parasharrajat can we get a status update here?

PR is in progress.. Updates are being made.

Just leaving a comment here to let everyone know there is a second PR related to this issue -> https://github.com/Expensify/App/pull/7922#issuecomment-1051193376

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.1.41-6 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/7594
https://github.com/Expensify/App/pull/7922

If no regressions arise, payment will be issued on 2022-03-17. :confetti_ball:

@kevinksullivan Bump for payment.

Hi @kevinksullivan  i think this should be pay now .

Hi @ahmdshrif sorry I missed this and thanks for the reminder. The total payment should be $250, not $500, correct? I see you requested $500 and want to be sure I'm giving you the right amount.
@parasharrajat can you accept the hire for C+ ?

@kevinksullivan here is the slack report.
https://expensify.slack.com/archives/C01GTK53T8Q/p1643042672341700?thread_ts=1643042672.341700&cid=C01GTK53T8Q

All set. Thanks @ahmdshrif @parasharrajat !


Automatically find the gauge executable for --measure-with when possible

PR #3 introduced --measure-with option for isolated measurement. This option requires the user to specify the path of the gauge executable itself so that it can be invoked again for running benchmarks in isolation. This is inconvenient for the user, we can find this automatically in most cases if not all.
On Unices the exact path of the executable can be figured out as it was invoked and we can use that. On Windows that is not possible, only the name of the executable can be determined. However if the gauge executable is in PATH we can try to find an executable of that name in the PATH. If we still cannot find it then we can ask the user to use --measure-with to specify the path.
For automatic determination we can use --isolate command line switch and in the same vein the --measure-with option can be renamed to --isolate-with to keep the two options intuitively related.

Actually there's a package on Hackage with an getExecutablePath function that is supposed to work on many OSs:
http://hackage.haskell.org/package/executable-path-<IP_ADDRESS>/docs/System-Environment-Executable.html#v:getExecutablePath


Fix the math command

Made the math command easier to use, along with that it fixes the crashing bug that it had.

I'd rather not have this as a command if we don't have a functional math command, it's kinda bloat


chore(policy-engine):Release notes for v0.2.1

Updating policy engine document with new version that fixes bug on BOB-30516

The title of this Pull Request needs to be changed to match the format:
<type>(<scope>): <subject>

See more details here: https://www.spinnaker.io/community/contributing/submitting/#commit-message-conventions
Some common examples are:
feat(armory.io): add docs.armory.io
fix(parser): grammar and spelling
style(loadingPage): made it super pretty!
refactor(helpMessages): changed order to make more sense


Enable keyboard navigation in keys search results and abbreviation search

It'd be nice to be able to navigate the keys search results menu with up/down keys. Also, abbreviation search might be useful. Not sure if that is the technical term, but that's what I mean:

It can also be more reserved as IntelliJ IDEA does that -- only prefixes of words are accepted (hence the "e" at the end will make no results shown).

Currently, the search looks for any key where the search text appears. Is this different than your suggestion to match the IntelliJ behavior?

Yes, for example for the field "Auto Chocies", IntelliJ IDEA will match ac auch too (Auto Choices).

I suggest FuseJS for abbreviation search.

Both of these features are now implemented. You can use the keyboard (up, down, enter) to navigate through the search results, and it uses FuseJS as the backend so the search term doesn't need to appear identically in the key.


improved footer section

footer section has been improved and boxes are added in it

@yatulearn plz check it

Not looking good and also you have missed some content from the original footer. Color theme should be the same as the original one. Make few other changes to make it look like good.

now plz check i have improved its adaption to different screen layouts

@yatulearn plz check it now

Footer is not looking good.

Please check the original repo once again and make the changes in it

@sweta123761, your PR has conflicts that must be resolved. Additionally, this issue has been addressed in PR #47. @yatulearn, You can close this PR.

your PR has conflicts that need to be addressed. Please review and resolve any issues. After resolving them, you can proceed to create a pull request. It is essential to resolve these conflicts in the branch.

Ok
On Thu, 3 Oct 2024, 1:19 am YATU Learn, @.***> wrote:

your PR has conflicts that need to be addressed. Please review and resolve
any issues. After resolving them, you can proceed to create a pull request.
It is essential to resolve these conflicts in the branch.
—
Reply to this email directly, view it on GitHub
https://github.com/yatulearn/yatulearn/pull/27#issuecomment-2389553032,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BKKI4M4QFACRJO64YC3PC2DZZRE6DAVCNFSM6AAAAABPHN6V5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBZGU2TGMBTGI
.
You are receiving this because you were mentioned.Message ID:
@.***>


'Max call stack exceeded' error

Steps to reproduce:

Load https://frontend.dev.weave.works
Check the JS console

Expected:
Everything works
Actual:
Max call stack error and super slowness

Initial hunch is that this is causing problems:
https://github.com/weaveworks/scope/commit/4f24d9bba8743bf389798f16fe56905d67ed6d93#diff-5897bc396ca616224f48758015a6ece1R215

Seems to be localized to this URL state:
https://frontend.dev.weave.works/app/proud-wind-05#!/state/{"controlPipe":{"id":"pipe-823277968531583873","nodeId":"02c4fa6bc09fef2e97e0ba68f2a56f5159e861399c951f7c953badc1b8152a63;<container>","raw":true,"resizeTtyControl":{"id":"docker_resize_exec_tty","probeId":"3616cce1df0a057e","nodeId":"02c4fa6bc09fef2e97e0ba68f2a56f5159e861399c951f7c953badc1b8152a63;<container>"},"control":{"probeId":"3616cce1df0a057e","nodeId":"02c4fa6bc09fef2e97e0ba68f2a56f5159e861399c951f7c953badc1b8152a63;","id":"docker_exec_container","human":"Exec shell","icon":"fa-terminal","rank":2}},"topologyViewMode":"topo","nodeDetails":[{"id":"02c4fa6bc09fef2e97e0ba68f2a56f5159e861399c951f7c953badc1b8152a63;","label":"tom","topologyId":"containers"}],"pinnedMetricType":"CPU","pinnedSearches":[],"searchQuery":"","selectedNodeId":"02c4fa6bc09fef2e97e0ba68f2a56f5159e861399c951f7c953badc1b8152a63;","gridSortedBy":"host_scope_version","gridSortedDesc":null,"topologyId":"containers","topologyOptions":{"processes":{"unconnected":"hide"},"containers":{"system":"all","stopped":"running","pseudo":"hide"},"pods":{"namespace":"scope","pseudo":"hide"}},"contrastMode":true}

The root cause appears to be the redux dispatch going crazy. When you log action.type to console:

interesting. Yes, I did have contrast mode on.

The root cause of this bug is the shouldReplaceState function using the presence of controlPipe in the URL state to determine whether or not to do a browser history 'replace'. Doing a replace triggers a re-route, which triggers the contrast mode updateRoute, which triggers a re-route, and so on.
function shouldReplaceState(prevState, nextState) {
  // Opening a new terminal while an existing one is open.
  const terminalToTerminal = (prevState.controlPipe && nextState.controlPipe);
  // Closing a terminal.
  const closingTheTerminal = (prevState.controlPipe && !nextState.controlPipe);
  return terminalToTerminal || closingTheTerminal;
}

So when a user has contrast mode turned on and has a control pipe open, reloading the page will cause this issue.

@foot Do you recall why this needs to be a replace instead of a show?:
https://github.com/weaveworks/scope/blob/3b2af2ae6c848f4772515525afcdab11d706991a/client/app/scripts/utils/router-utils.js#L25
I tried moving the check for contrastMode out of the route action, but there is no other place that has access to new URL states.
Another option would be removing contrastMode from the URL state. The page would revert to normal mode on refresh. I like saving it, however.

Fixed by #2294 but introduces #2295.

@jpellizzari

Do you recall why this needs to be a replace instead of a show?:

From the blamed commit:

You can reload a terminal but it doesn't exist in history stack.
History hacking wasn't working, this is a little simpler.


useSearch hook with strict false type error

Describe the bug
I have a route with some searchParams using validateSearch with zod.
When using useSearch with strict=false in an abstract component, TypeScript throws the following error: "Property 'mode' does not exist on type 'RootSearchSchema'."
Your Example Website or App
https://stackblitz.com/edit/github-g4hol2?file=src%2Fmain.tsx
Steps to Reproduce the Bug or Issue

Define a route with searchParams validated by Zod.
Create a component.
Use useSearch with strict=false in the component.
Observe the TypeScript error.

Expected behavior
There should be no TypeScript error when using useSearch with strict=false and maybe show me a union of all possible route search params .
Screenshots or Videos
No response
Platform

OS: macOS
Browser: Chrome
Version: [e.g. 91.1]
TanStack Router: 1.4.6

Additional context
No response

@schiller-manuel I don't have autocomplete in search because the result type is the union e.g:
{} | {} | {
page?: number | undefined; pagesize?: number | undefined;
}

So it says that page does not exist on this type. Is this the expected? Should i declare the type of search when using useSearch({strict:false}) ?

You wrote it yourself above: " show me a union of all possible route search params ."
That's what you get from router if you set strict=false.
You can do something like:
const search = useSearch({strict: false});
if ('page' in search) {
   console.log(search.page);
}


Filepath Not Found

I completed all steps installing the mod.  Docker Desktop starts up just fine but mod is not working. I checked the logs and it shows repeated errors for "filepath not found". The problem is the mod is acting as if the game in on D: drive.  It looks like it's checking a directory for an old location of the mod and game.  I previously reinstalled Skyrim VR on a different drive which is C: drive. For some reason, the mod is looking for the old location on D: drive.

Please paste the full log. You probably just didn't create DragonbornSpeaksNaturally.ini, or didn't put it in the correct location.
The following are acceptable locations:

<Documents (aka. My Documents)>\DragonbornSpeaksNaturally\
SkyrimVR\Data\Plugins\Sumwunn\ or Skyrim Special Edition\Data\Plugins\Sumwunn\


Added support for SCAN command with it's supported flags and parameters as given in REDIS.

This PR is in continutation with https://github.com/DiceDB/dice/pull/347, due to some merge conflicts issue I have created new branch.
Changes Made:

Thread-Safe Access to Keypool:

Implemented a CloneKeypool function that creates a deep copy of the keypool map. This ensures thread-safe access to the keypool during the scan operation, preventing potential data races when multiple SCAN commands are issued concurrently by different clients.

Handling Concurrent SCAN Commands:

By using the CloneKeypool, each SCAN command operates on a snapshot of the keypool at the time the command is issued. This prevents conflicts when multiple clients issue SCAN commands around the same time. In the scenario where Client 1 issues a SCAN command and before it completes, Client 2 issues another SCAN command, both clients will receive consistent and isolated results based on the state of the keypool at the time they started their respective scans.

Ensuring Key List Integrity:

The scanKeys function no longer relies solely on the length of keyList matching keypool. Instead, it uses the cloned snapshot to ensure that even if keys are added, deleted, or expire during the scan process, the operation will still return consistent results. This prevents potential issues where the number of keys added or deleted equals the number of keys scanned, which could lead to incorrect behavior.

Non-Blocking SCAN Implementation:

Acknowledging the comment that the Redis SCAN command is non-blocking, the DiceDB scan operation was designed to follow a similar non-blocking approach. The implementation avoids locking the entire database, which would block other operations, by using a snapshot of the keypool. This ensures that the database remains responsive and performant, even when multiple SCAN commands are issued concurrently.

Issues Addressed:

The potential issue where multiple SCAN commands from different clients could interfere with each other has been resolved by using a snapshot of the keypool.
The handling of key expiration and changes during a scan operation has been addressed to ensure that SCAN results remain consistent and accurate.
The SCAN operation now follows a non-blocking approach, similar to Redis, to prevent database operations from being blocked by long-running scans.

Fixed the build issues

Sorry about the delay. Will start review of this today...

Please rebase the PR, we just had a large change go in which might've introduced conflicts.

@soumya-codes please review https://github.com/DiceDB/dice/pull/425/commits/69a9a5fe3d0e8ef63240d3dec60d4b59bb865ce6, I have tried to optimize it as much as I can. I remove clone/snapshot which improved double iteration to single iteration.

@rohitlohar45 there are a lot of conflicts on this branch, could you please resolve them? If you think it is better to create a new PR altogether, that is also fine.

Ok @JyotinderSingh , I'll create a new PR because


Change the alert click event in DefaultAnnotation.tsx.

We created a front-end text editor that meets most of the requirements. However, we encountered an issue with annotations. They have a click event that triggers an alert. We want to remove or change this behavior. The DefaultAnnotation.tsx component in packages/editor/src/editor/nodes/ contains the span with the click event. We cannot modify it directly. Is there a way to remove or change this click event?

Hi! That's great to hear! You can control how annotations are rendered using the renderAnnotation prop. Check out the playground for inspiration: https://github.com/portabletext/editor/blob/871b56e1c09c3533b9484be2ba529f30436164b1/apps/playground/src/editor.tsx#L133


support nuxt organization by filename rather than directory name

What problem does this feature solve?
A more flexible app architecture.
What does the proposed changes look like?
Find nuxt modules by foo/foo.store.js and foo/foo.middleware.js rather than store/foo and middleware/foo.
My current workaround is disabling router, store, etc and importing all modules independently, but it would be nice to take full advantage of Nuxt.

This feature request is available on Nuxt.js community (#c6874)

@alidcastano as you know, Nuxt has an opinionated setup and sticking to these conventions rather than trying to offer a multitude of configuration options is partly what keeps Nuxt lean. I can see some users wanting a specialized setup, but for these cases, I'd suggest trying to write a plugin that matches all your requirements. Plugins can load and register store and middleware files from custom locations.


Allow redundant versions of metadata in non-delta staging areas

Modify the validation tool to allow redundant versions of metadata files (i.e. two or more files for the same entity but with different versions) in non-delta (is_delta=false) staging areas.
An error should be reported if redundant versions of metadata are found in delta staging areas.
From: https://github.com/HumanCellAtlas/dcp2/blob/main/docs/dcp2_system_design.rst#altering-data-and-metadata

Writing an entity object and a corresponding descriptor object to a staging area with the same content as that of the highest version of that entity already in TDR while using a higher version in the name of that entity or descriptor object is referred to as a redundant version. Delta staging areas must not contain redundant versions of (meta)data.

@danielsotirhos to provide description.

@hannes-ucsc : "Validation tools should warn about redundant versions in non-delta staging areas and prevent redundant versions in delta staging areas."


changed loot to lot

I, Gian-Maria Daffré, agree to have this published under Creative Commons 4.0 International BY

@giammi the build only failed since the trainings docs cannot build correctly with forks (braches are fine though). See #240


Make all artifacts use Java 8 bytecode

As promised in the RC1 release notes...

I'll put the over/under on a bug being filed about this at 18 hours. Get your votes in now!


Crashes on FIDO2 request

Nitrokey 3 crashes on receiving FIDO2 request. Device is unusable until power-cycle is performed.
It looks like fido-authenticator does not have all errors properly handled, hence the behavior.
I think it would be best to at least restart in the case of the error, if it cannot be gracefully handled. Otherwise should return error (general one, if not more apt available) to the caller.
Nitrokey 3 CN, LPC55, v1.0.3-24-ge0b4461, with no-reset-time-window.
Tested against: https://github.com/Nitrokey/CTAP2-test-tool/commit/4b0aaffc9dcf6a2a74cb4eb11edcb016e1281235

 Detailed log
#0  panic_halt::panic (_info=<optimized out>) at /home/sz/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-halt-0.2.0/src/lib.rs:32
#1  0x0001ba20 in core::panicking::panic_fmt () at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a//library/core/src/panicking.rs:116
#2  0x0001c050 in core::result::unwrap_failed () at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a//library/core/src/result.rs:1690
#3  0x000113d8 in core::result::Result<fido_authenticator::credential::CredentialId, ctap_types::ctap2::Error>::unwrap<fido_authenticator::credential::CredentialId, ctap_types::ctap2::Error> (self=...) at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/result.rs:1018
#4  fido_authenticator::credential::Credential::id<trussed::client::ClientImplementation<runner::types::Syscall>> (self=<optimized out>, trussed=<optimized out>, key_encryption_key=..., rp_id_hash=...) at /home/sz/.cargo/registry/src/github.com-1ecc6299db9ec823/fido-authenticator-0.1.0/src/credential.rs:255
#5  0x000067e6 in fido_authenticator::ctap2::{impl#0}::make_credential<fido_authenticator::Conforming, trussed::client::ClientImplementation<runner::types::Syscall>> (self=0x2003c800 <runner::APP::apps>, parameters=<optimized out>) at /home/sz/.cargo/registry/src/github.com-1ecc6299db9ec823/fido-authenticator-0.1.0/src/ctap2.rs:368
#6  0x0000dd74 in ctap_types::ctap2::Authenticator::call_ctap2<fido_authenticator::Authenticator<fido_authenticator::Conforming, trussed::client::ClientImplementation<runner::types::Syscall>>> (self=0x2b <__EXCEPTIONS+35>, request=<optimized out>) at /home/sz/.cargo/registry/src/github.com-1ecc6299db9ec823/ctap-types-0.1.2/src/ctap2.rs:458
#7  0x0000fc70 in fido_authenticator::dispatch::try_get_ctap2_response<trussed::client::ClientImplementation<runner::types::Syscall>, fido_authenticator::Conforming> (authenticator=0x2003c800 <runner::APP::apps>, data=...) at /home/sz/.cargo/registry/src/github.com-1ecc6299db9ec823/fido-authenticator-0.1.0/src/dispatch.rs:173
#8  0x0000fb7a in fido_authenticator::dispatch::try_handle_ctap2<trussed::client::ClientImplementation<runner::types::Syscall>, fido_authenticator::Conforming> (authenticator=<optimized out>, data=..., response=<optimized out>) at /home/sz/.cargo/registry/src/github.com-1ecc6299db9ec823/fido-authenticator-0.1.0/src/dispatch.rs:144
#9  0x0000fa4a in fido_authenticator::dispatch::handle_ctap2<trussed::client::ClientImplementation<runner::types::Syscall>, fido_authenticator::Conforming> (authenticator=0x3efde <.Lanon.b7f9711851ba8db6fe8fed9a6c5d3f8f.81>, data=..., response=0x200341c4 <ctaphid_dispatch::types::HidInterchange::split::INTERCHANGES+8>) at /home/sz/.cargo/registry/src/github.com-1ecc6299db9ec823/fido-authenticator-0.1.0/src/dispatch.rs:69
#10 0x0000f570 in fido_authenticator::dispatch::ctaphid::{impl#0}::call<fido_authenticator::Conforming, trussed::client::ClientImplementation<runner::types::Syscall>> (self=0x3efde <.Lanon.b7f9711851ba8db6fe8fed9a6c5d3f8f.81>, command=..., request=0x20030b60, response=0x3c500) at /home/sz/.cargo/registry/src/github.com-1ecc6299db9ec823/fido-authenticator-0.1.0/src/dispatch/ctaphid.rs:36
#11 0x00021c02 in ctaphid_dispatch::dispatch::Dispatch::call_app (self=0x2003c7f8 <runner::APP::ctaphid_dispatch>, app=..., command=..., request=0x20030b60) at /home/sz/.cargo/registry/src/github.com-1ecc6299db9ec823/ctaphid-dispatch-0.1.0/src/dispatch.rs:50
#12 0x00021b6c in ctaphid_dispatch::dispatch::Dispatch::poll (self=0x2003c7f8 <runner::APP::ctaphid_dispatch>, apps=...) at /home/sz/.cargo/registry/src/github.com-1ecc6299db9ec823/ctaphid-dispatch-0.1.0/src/dispatch.rs:67
#13 0x000025ba in runner::idle::{closure#2} (apps=...) at src/main.rs:166
#14 runner::types::Apps::ctaphid_dispatch<runner::idle::{closure#2}, bool> (self=<optimized out>, f=...) at src/types.rs:287
#15 0x000015b6 in runner::idle (c=...) at src/main.rs:166
#16 0x0000feac in runner::APP::main () at src/main.rs:35
(gdb)

-------------------------
Please touch your security key!
Test successful: Tests if MakeCredential works with parameters of the wrong type.
Expected error code `CTAP2_ERR_CBOR_UNEXPECTED_TYPE`, got `CTAP2_ERR_INVALID_CBOR`.
Test successful: Tests if MakeCredential works with missing parameters.
Failed test: Tests bad parameters in RP entity parameter of MakeCredential. - Optional entry icon not recognized.
A prompt was expected, but not performed. Sometimes it is just not recognized if performed too fast.
The failing error code is `CTAP2_ERR_INVALID_CBOR`.
Please touch your security key!
Test successful: Tests bad parameters in user parameter of MakeCredential.
A prompt was expected, but not performed. Sometimes it is just not recognized if performed too fast.

unwrap is called here; this is the failing TryFrom implementation.  Looks like the credential ID is too long.  I’ve created https://github.com/solokeys/fido-authenticator/issues/15 for this.


Follow the instructions to configure the Hadoop path on Windows.

The instructions URL points to a Page Not Found.

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

ID: 3642022f-a58f-6290-ecf1-3c551a9bfc96
Version Independent ID: cf117e4e-c261-858c-517e-04d67e44c35e
Content: Databricks Connect - Azure Databricks
Content Source: databricks/dev-tools/databricks-connect.md
Service: azure-databricks
GitHub Login: @mamccrea
Microsoft Alias: mamccrea

Hi @fratei Thanks for your feedback. We will review and update as appropriate.

@fratei Thanks for the feedback and bringing this to our attention. We have assigned the issue to content author to investigate this and update the document as appropriate.

@mamccrea Hi Mary, Could you please take a look at this issue. Below is the link which is broken. Thanks!

Thanks for letting us know @fratei. It appears the content has been removed. Here are alternate instructions - https://cwiki.apache.org/confluence/display/HADOOP2/Hadoop2OnWindows
I'll update the doc.
#please-close


Accumulate DDS errors during cleanup and return error code from wait() function

Bug report
In https://github.com/ros2/rmw_connext/issues/263 we provided a quick fix for when DDS returns errors which does not guarantee a complete clean up. To quote @wjwwood
You'd need to accumulate the errors during clean up and then return an error return code if there are any accumulated (and also find a way to communicate all of the issues encountered or else decide to just log errors that are being "overwritten" by new ones).

To recap, we are talking about the code in this function. The call graph for this function is as follows:
rmw_ret_t wait() is used in:

rmw_connext/rmw_connext_dynamic_cpp/src/functions.cpp => rmw_ret_t rmw_wait()
rmw_connext/rmw_connext_cpp/src/rmw_wait.cpp => rmw_ret_t rmw_wait()

rmw_ret_t rmw_wait() is used in:

rcl/rcl/src/rcl/wait.c => rcl_ret_t rcl_wait()

rcl_ret_t rcl_wait() is used in:

rclcpp/rclcpp/src/rclcpp/executor.cpp => wait_for_work()

wait_for_work() is used in:

AnyExecutable::SharedPtr Executor::get_next_executable(std::chrono::nanoseconds timeout)

get_next_executable() is used in:

spin_once()
spin_some()

spin_once() or spin_some() is used directly in the application
I would first need to understand what is meant by the complete clean up. Can someone maybe fill me in a bit?
Would we need to set all
rmw_subscriptions_t * subscriptions,
rmw_guard_conditions_t * guard_conditions,
rmw_services_t * services,
rmw_clients_t * clients,
rmw_waitset_t * waitset,

to null and then also catch and handle this in  rcl/rcl/src/rcl/wait.c => rcl_ret_t rcl_wait()?
Required Info:

Operating System:

Ubuntu 16.04

Installation type:

source

Version or commit hash:

see #263

DDS implementation:

RTI Connext

Client library (if applicable):
NA

@serge-nikulin

Closing, since with Foxy now being End-of-Life, this repository is no longer used.


[ID Tokens] Fix typo in section name

Fix a typo in section expiry.
On text was expire looking at code (https://github.com/dexidp/dex/blob/716eef83bca805e1607338fe0a271affc2d097b0/cmd/dex/config.go#L31) we see expiry
Others changes in text is blank space on end of line.

Hi @nabokihms commit signed!
Thanks!


Can we set default_system in yaml file when training?

Reminder

[X] I have read the README and searched the existing issues.

System Info

llamafactory version: 0.8.4.dev0
Platform: Linux-5.4.0-125-generic-x86_64-with-glibc2.29
Python version: 3.8.10
PyTorch version: 2.4.0+cu121 (GPU)
Transformers version: 4.44.2
Datasets version: 2.21.0
Accelerate version: 0.33.0
PEFT version: 0.12.0
TRL version: 0.9.6
GPU type: NVIDIA A800-SXM4-80GB
DeepSpeed version: 0.15.0

Reproduction
llamafactory-cli train
Expected behavior
We do not need the default_system in template.py.
Set default_system in training yaml file to overwrite so we do not need to modify the source code in template.py.
Others
No response

You can refer https://github.com/hiyouga/LLaMA-Factory/tree/main/data  to overwrite system in your dataset


Performance : make reading single buffer / string file faster by not re-allocating and handling huge buffers

In the same spirit as the previous performance enhancement of the CSV node

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes
By using a simple array of buffer and using a Buffer.concat call, we skip alot of memory allocation - copy overhead that heavily reduce memory allocation and garbage collection on fairly "big" file sizes.
Checklist

[x] I have read the contribution guidelines
[ ] For non-bugfix PRs, I have discussed this change on the forum/slack team.
[x] I have run grunt test-nodes to verify the unit tests pass (some other failed seemingly)
[ ] I have added suitable unit tests to cover the new/changed functionality

Performance number
Those tests were run on a Linux machine with alot of memory and SSD storage, meaning the file can easily sits in the memory and this does not actually benchmark the disk itself, i've accessed the files multiple times to make sure they were cached.
Much like for the CSV nodes, the change is mostly to make "bigger files" works properly, starting with around 10MB files the time taken to read file as a unique Buffer starts skyrocketing.
Once more we're looking at time taken to read the Buffer (X axis in MB), versus the time taken to read it (Y axis in MS).
Both axis are set to logarithmic scale to allow us to view the scaling.
The measurement are not scientific but precise enough to give a good view as to what's happening

The biggest change is obviously then on the bigger file (426MB) where the time to read was around 5 minutes and dropped to half a second.
As a side-note, the 5 minute computation time is on the main thread, but it actually takes around 10 minutes of CPU usage with some work shared on nodejs worker threads.

Looks good - always like simple changes that bring performance boosts.


Picker as Dialog Not Working

Hi,
I am using date time picker as npm  ng-pick-datetime7.0.0 with Angular 8.0.0

change the "target" to "es5" in your project's tsconfig.json file.
Fixed the issue for me

Thanks for your help...


CI : Add issue templates

those support nightly CI workflows: I haven't found a way to make reusable workflow use templates from the workflow definition repo.
Created a new file VERSION_CHECK.md for automated monitoring of Rust's toolchain updates.
Introduced a new issue template for unused dependencies in Cargo.toml.

Wonderful!


Need to fix build wich failed on Github only

https://github.com/andrei-punko/spring-boot-jsonb/actions/runs/11608504078/job/32323875776

Issue was resolved - build on GH passed


[broken] upgrade lance to 0.8.16

upgrade lance to 0.8.15
lance 0.8.15 removed aws_region configurability from store_options. This breaks aws auth on the write path for lancedb, as there is no way to pass in aws_region any more. We need to fix this before releasing lancedb.

Closing in favor of #656


Update message-hooks.js

Change from message.user to message.author to avoid compatibility warning in log.

Cheers


feat: container component finished

[LEVEL]/[COMPONENT]
TASK:
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Only
[ ] Refactor

Description, Motivation and Context
Container component and documentation finished

Screenshots - Animations

Codecov Report

Merging #20 (d799fa2) into main (97dc614) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #20   +/-   ##
=======================================
  Coverage   96.08%   96.08%
=======================================
  Files          52       52
  Lines         741      741
  Branches      243      243
=======================================
  Hits          712      712
  Misses         27       27
  Partials        2        2

Impacted Files
Coverage Δ

...ages/nextui/src/components/container/container.tsx
18.75% <ø> (ø)

Continue to review full report at Codecov.

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


Add Synth

Synth is an open source data generator. It has a declarative data model which can generate data with user-specified constraints.
It's been found to be very useful in software testing - so I think it would be positive for the community as a quality of life upgrade.

Good find!


Add delete poll option.

Delete polls is a much needed option. The polls would pile up over time.

Fixed in #70


Fixed #29529 -- Allowed models.fields.FilePathField to accept a callable path.

https://code.djangoproject.com/ticket/29529

@jajce Thanks for this patch :+1:
I rebased from master, split commits and made some cosmetic edits.


Skip valid_class check if no class defined

Environment

Ruby 2.6.2
Rails 5.1.7
Simple Form 4.1.0

Current behavior
We have a simple file input in our form:
<%= form.input :content, as: :file %>

As of 4.1, this is now a performance problem, because the file in question is stored in S3, and each time we render this form we now fetch the file from S3 to check if it's present, because simple_form wants to add the valid_class. In our case this is one of several such forms on the same page, which is now prohibitively slow.
We have defined valid_class: nil in our wrapper config, but simple_form still does the work to determine validity even if no class will be added if we are valid. We also marked the field as required: false in hopes that it being optional would allow it to be valid when it's not present, but that doesn't affect anything either.
This is very similar to #1596, except that only talks about getting rid of the CSS class, whereas I want to go a step further and avoid doing the (sometimes expensive) work that determines if a CSS class is necessary.
Expected behavior
If valid_class is nil (in the wrapper config or in the input options), no validity check should be performed.

@TALlama I think this issue can be closed, right?

Oh yeah, it seems closed. Thanks :)


Fix erroneous toBeVisible(true)

Description
Replace toBeVisible(true) with toBeVisible(). The argument is unnecessary and the correct syntax would be toBeVisible({visible: true}). This fixes a warning.
Checklist
General
Read the full guidelines for PRs here

[x] Added the correct label: < feature | enhancement | bug | under-development | dependencies | infrastructure | ignore-for-release | database >
[x] Assigned to a specific person, civiform/developers, or a more specific round-robin list
[x] Added an additional reviewer from outside your organization as FYI (if the primary reviewer is in the same organization as you)

If you really want to go down the rabbit hole set any of the playwright related rules to error https://github.com/civiform/civiform/blob/main/browser-test/.eslintrc.json  ;)


Support new 721 delegate

Description
There's a new 721delegate (nft rewards contract/s) and we need to support it.
Proposal

[x] Determine if a datasource is supported using interfaceId per https://discord.com/channels/775859454780244028/987105293810938007/1063259887422951494

V1 interface ID: 0xf34282c8
V1.1 interface ID: 0x82d4b284
Interface of JBTiered721Delegate

[x] Determine each transaction that touches the delegate (pay, redeem?)
[x] New types for data within given delegate

FINAL PR:

[ ] Bump NPM package
[ ] Remove PREVENT_OVERSPENDING_FIELD_VISIBLE checks
[ ] Change default delegate version from V1 to V1.1 in `[editingV2Project.ts:182)

Screenshots
If applicable, add screenshots to help explain your problem.

@johnnyd-eth might move this to blocked while we await contract deploy.


Add lzwCompress.js and lz-string to the benchmarks

It would be nice to be able to compare your library to those:
https://github.com/floydpink/lzwCompress.js
https://github.com/pieroxy/lz-string
Would it be possible to add them to the benchmarks ?
Thanks

Good suggestion, you can add tests (benchmark) for these library following the tests in https://github.com/beenotung/compress-json/blob/05665812cb98aba0a0044bdea16495f4e3d765c7/test/compress-test.ts#L88-L113

lz-string seems to be binary compression, may not be fair comparison (because the underline storage engine may need to escape binary string before storing them which can add the storage size significantly);
I do not have access to the original sample data at the moment. Just did a trial with lzwcompress on another 50k sample data from the same online forum dataset.
Number of sample object: 50,000

-
JSON
compressed-json
compress-json
lzwcompress

Compressed Size
45M
36M
34M
42M

Compress Time
197ms
1.6s
2.6s
6.3s

Decompress Time
274ms
569ms
1.6s
560ms

Exact Match
Yes
No
Yes
No

In fact, the one I was the most interested in is lz-string.
I'll look into it, thank you very much!


github event source doesn't pass along original headers

From https://github.com/knative/eventing-contrib/issues/537
I would expect the original github event headers to still be in the message passed to the sink - as appropriate. In my testing I'm not seeing the Github-Delivery and Github-Event headers. They do appear as Ce-Github-... though. However, if I have existing code that expects a github event then I shouldn't have to change my code to look for Ce-Github... headers. The conversion to a CloudEvent should augment the event, not remove the github-ness of it w.r.t. headers.

I have encountered the same problem. Many scm libraries now parse the default headers provided by webhook. E.g. https://github.com/jenkins-x/go-scm/blob/master/scm/driver/github/webhook.go#L46
Is pass along original headers acceptable in cloudevent?
If it is an acceptable solution, I can implement it

After doing some research, I found that currently cloudevent sdk cannot send requests with custom headers.
In eventing (for example broker), cloudevent sdk is not used to send requests.

@n3wscott @slinkydeveloper


update from origin

get the latest commits from original tensorflow

sorry, please ignore the request, it is a wrong operation.
Frank
发自我的 iPhone
在 2017年10月9日，22:38，Tensorflow Jenkins <notifications<EMAIL_ADDRESS>写道：
Can one of the admins verify this patch?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/tensorflow/tensorflow/pull/13586#issuecomment-335176481, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AIOWy-yXxgPds4_ActnoTCAWfve58Vgkks5sqi9YgaJpZM4PylE5.