Reversed arbitrary

Hello,
I've been toying with custom mutators in cargo-fuzz with libfuzzer and it seems to me to support changes to typed data instead of bytes, the reversed arbrirtary operation would be really helpful. Here's the interface I have implemented so far:
/// Define a custom fuzz mutator.
///
/// If `$bytes` exceeds `$max_size`, it will be silently truncated.
///
/// ## Example
/// ```no_run
/// #![no_main]
/// use libfuzzer_sys::{fuzz_target, fuzz_mutator, llvm_fuzzer_mutate};
///
/// fuzz_target!(|data: &[u8]| {
///     let _ = std::str::from_utf8(data);
/// });
///
/// fuzz_mutator!(|data: &mut [u8], max_size: usize| {
///     println!("custom mutator called with data len = {} and max_size = {}", data.len(), max_size);
///     /* call wrapper function of libfuzzer's default mutator */
///     llvm_fuzzer_mutate(data, max_size)
/// });
/// ```

The mutator with typed data would be the equivalent:
fuzz_mutator!(|data: &mut T, max_size: usize | {
   loop {
   /* perform changes on `data` */

   if data.arbitrary_size() <= max_size { /* where arbitrary_size is some method from the Trait to calculate size in bytes */
     break;
  }
}
 });

Does this sound like a reasonable approach to you?

So the idea is that this would also involve adding something like a as_arbitrary_bytes method on the Arbitrary trait? And the fuzz_mutator! would construct the T: Arbitrary for you, let you mutate it, and then call as_arbitrary_bytes to give the bytes back to libfuzzer?
And we would want that x == T::arbitary_take_rest(x.as_arbitrary_bytes()) where x: T? (semi-aside: it might be hard to maintain this property for our arbitrary-length-getting functions)
This seems like a nice thing to have, but I haven't totally thought through how it might play out in terms of interaction with the Arbitrary trait, how nice we can keep the ux, and how well things interact and compose in practice.
However, a first step that I feel is safe to make without answering all those unknowns is to add a libfuzzer_sys::fuzz_mutator!(|data: &mut  [u8], max_len: usize| { ... }) macro, that just supports [u8] and does not support T: Arbitrary.

@Manishearth do you have thoughts on this, and how we might integrate it smoothly into the Arbitrary trait?

I'm not really sure! I think it's possible, but it might be annoying

This might also be useful also for providing a corpus when using structure-aware fuzzing.

I was thinking this would be helpful for me too (I'm contemplating on using Arbitrary for something else but fuzzing, though the property of small change in input yielding small change in output sounds beneficial for my use case), as I would like a way to provide some starting inputs for the search. And generating the input bytes by hand isn't going to be exactly ergonomic 😇.
I was thinking if this would be better as a separate crate (eg. Unstructure or FromArbitrary), one that would be possible to derive separately (or not implement by hand if not needed). The derive would of course provide a "matching" implementation.

This might also be useful also for providing a corpus when using structure-aware fuzzing.

This is my use case as well. I'd like to benefit from the wonderfully clean fuzz harnesses that Arbitrary enables without sacrificing the ability to use a seed corpus.

I would use this for seeding purposes as well...

I started implementing a dearbitrary function in https://github.com/bitwave/arbitrary/tree/revert-mode
Try to create a PR in the next days...

see #94

for a use-case other than corpus seeding ... (which I really want also!!!)
... more intelligent tmin permutations! I imagine permuting over structured simplifications would yield much faster and likely better quality shrinking.
Hmm, maybe we can cheese this without dearbitrary by recompiling the target with a feature flag that would then use tmin logic inside the fuzz_target! macro. Something like:
unstructured bytes in (that you want to minimize) --> structured data (using Arbitrary) --> apply shrinking strategies over the code in the body of fuzz_target!


Bug: PCWSTR is potentially unsafe in safe code if used wrong

Which crate is this about?
windows
Crate version
0.43.0
Summary
It is possible to cause corruption issues by using PCWSTR and not taking careful note about when things get dropped.
It might also be said that since we have to use the produced PCWSTR in unsafe code anyways, it's not strictly technically "unsafe" in safe code. But regardless, whatever course is decided from this report, I think this is important to take note of for people since it is a very easy gotcha to fall into.
Edit: Got here from #973 , and found that one of the posted comments had this bug. I really do feel that a convenience function to make a PCWSTR would help mitigate such a gotcha like this one
Toolchain version/configuration
Default host: x86_64-pc-windows-msvc
rustup home:  C:\Users\MyUser\.rustup
installed toolchains
stable-x86_64-pc-windows-msvc
nightly-x86_64-pc-windows-msvc (default)
1.63-x86_64-pc-windows-msvc
1.65.0-x86_64-pc-windows-msvc
active toolchain
nightly-x86_64-pc-windows-msvc (default)
rustc 1.67.0-nightly (e75aab045 2022-11-09)
Reproducible example
For example, in the following example, using PCWSTR at all is unsafe, because the HSTRING gets dropped too quickly, and the contents of PCWSTR are invalid.
PCWSTR(HSTRING::from(s).as_ptr())
To fix it, the values must be explicitly assigned so that they will drop after the usage of PCWSTR.
let h_title = HSTRING::from(title);
let h_message = HSTRING::from(message);

let title = PCWSTR::from_raw(h_title.as_ptr());
let message = PCWSTR::from_raw(h_message.as_ptr());

unsafe {
    MessageBoxW(None, message, title, icon.into());
}

Crate manifest
[dependencies.windows]
version = "0.43.0"
features = [
    "Win32_UI_WindowsAndMessaging",
    "Win32_Foundation"
]

Expected behavior
No corruption.
Actual behavior
Pointer in PCWSTR is invalid
Additional comments
Not sure the best way to fix this, but it is definitely a gotcha that many people may not be aware of.

Related to #2136 and others.


Update memory comparison for premium v standard

Memory comparison incorrectly comparing Premium to Premium series.  Has been updated to be relative to Standard-series.

Thanks @ryanjcanning! Nice first PR in this repo! Thanks for taking the time to submit this PR, good catch. Your commit will be merged and this article update is in flight. After the updated article is published, GitHub will list you as an article contributor.
#sign-off

#sign-off


fix: Shut down zombie goroutine in chronicleexporter

Proposed Change
While testing another fix by spinning up a chronicle exporter, sending a log to Chronicle, and then shutting down the exporter, I encountered this error:

I was understandably confused, so asked for help from Dan Jaglowski, and he figured it out and came up with this solution after hours, along with some other refactors. Explanation and fix are all his, I'm just opening the PR.
To fix this, the Shutdown function actually needs to be:
func (ce *chronicleExporter) Shutdown(context.Context) error {
	if ce.cfg.Protocol == protocolHTTPS {
		t := ce.httpClient.Transport.(*oauth2.Transport)
		if t.Base != nil {
			t.Base.(*http.Transport).CloseIdleConnections()
		} else {
			http.DefaultTransport.(*http.Transport).CloseIdleConnections()
		}
		return nil
	}

	ce.cancel()
	ce.wg.Wait()
	if ce.grpcConn != nil {
		if err := ce.grpcConn.Close(); err != nil {
			return fmt.Errorf("connection close: %s", err)
		}
	}
	return nil
}

Larger explanation:
In Start, when we instantiate the httpClient : ce.httpClient = oauth2.NewClient(context.Background(), creds.TokenSource) , it doesn't actually matter what context we pass in. It isn't used for cancelation.
What we get back is always an *http.Client that contains a Transport field of type *oauth2.Transport. This in turn always contains a Base that is nil, which means it will use http.DefaultTransport. The thing with http.DefaultTransport (as well as many others) is that they will reuse connections by setting them into a "keep alive" state. The only way to clean these up is to call CloseIdleConnections() on the Transport. However, because we're getting an *oauth2.Transport that doesn't itself contain a CloseIdleConnections() method, we have to to access the http.DefaultTransport directly and call CloseIdleConnections() on it.
If you would like a test case to reproduce this, please contact me for one - not sure we have one that doesn't involve actually sending data to Chronicle.

Checklist

[X] Changes are tested
[X] CI has passed

Tested both gRPC and HTTPS.  Installed adapter fresh, collected successfully on both. restarted several times.  No errors on the collector logged, everything looks great.

While testing GRPC, discovered that it had the same issue - I think we need an integration test or two around this to ensure it doesn't crop up again, but it should be fixed now. Much credit to Dan again.


Exact solver translate to Julia

https://github.com/QuantumElephant/NICE/blob/master/nice/exact.py

https://github.com/QuantumElephant/NICE/blob/master/nice/exact.py

@PaulWAyers as of now the URL is not working I wanted to attempt on the exact solver implementation can you point me to some relevant materials to get started with this.
Also, I wish to connect with you mentors and other members of the community, so, it would be beneficial if you can provide Slack, Element, Discord or any other communication channel link.

Hi,
I am Madhavan, currently pursuing my masters from IISc Bangalore, India in the department of Chemical Engineering. @PaulWAyers  First of all, thank you for the resources shared regarding the setting up of nonlinear equations. Additionally, can you also provide some resources pointing to how the KMC simulations needs to be implemented.
It would be great if you could share the link for some contact channel so that I can connect with the members of your community.
Thanks again!
Madhavan


Abbreviated strings have an unnecessary space character at the end

Binary Ninja Version: 3.3.3997-dev
Platform: Windows 11 22H2

Are you still seeing this? I think this might've been fixed before the 3.4 release and we forgot to update this ticket, because I see:

If you do still see it, can you give me more concrete repro steps?

Closing this for now (see previous comment), happy to reopen if I'm wrong.


Pretrained Weights for OST and Cityscape Datasets

Thanks for this amazing work but I am unable to find pretrained weights for OST and Cityscape dataset. Can you please provide those.

Hi, did you train with your own mask? Or did you train with a generated mask. Thank you!

Hello, have you successfully used the generate_face_parsing.py file to generate the semantic map?
Thanks!


[Feature] Add support for the Zephyr Cloud API

Currently, the reporter works only for the Server API

Any plans to add this soon? This would be very helpful.

Hey guys, are there any news about this killer feature?

Hey @lewham and @klepik1990
Sorry for the late reply. I'll try to take a look at it this weekend and I'll give you an update on it.

@elaichenkov Hi there! Do you have any updates?

Hi @elaichenkov, This is the much needed feature, could you please help the community by adding it.

Hello @elaichenkov , May I request if there are any updates on this? I would really appreciate to have this feature. Thanks.

@Marcin3 this is great workaround, and thanks for that link!
Just export your tests in junit xml format:
PLAYWRIGHT_JUNIT_OUTPUT_NAME=results.xml npx playwright test tests/mytest.spec.ts --reporter=junit
... then post them to Zephyr cloud:
curl -H "Authorization: Bearer your_token_here" -F "file=@results.xml;type=application/xml" https://api.zephyrscale.smartbear.com/v2/automations/executions/junit?projectKey="your_project_key"&autoCreateTestCases=true

Finally, I've added support for the Cloud API. So, please, update the library to the 1.0.3 version and add cloud reporter into your playwright.config.ts file:
// playwright.config.ts
import { PlaywrightTestConfig } from '@playwright/test';

const config: PlaywrightTestConfig = {
  reporter: [
    ['playwright-zephyr/lib/src/cloud', {
      projectKey: 'JARV', // <-- Replace with your project key
      authorizationToken: process.env.ZEPHYR_AUTH_TOKEN, // <-- Replace with your authorization token
    }],
  ],
}


Creating elements at the same time doesn't work

I'm not 100% sure, but when I tested live-collab with a colleague for a few minutes, we've seen this happening:
When I was creating an element, if my colleague was creating an element at the same time, one of us was prevented from finishing it (maybe it was even cancelled mid-creation, don't recall). After that, I was unable to create new elements and had to select the tool again for it to work.

There's an explicit reconciliation step that was introduced. It does handle updates to an element but may not handle a new element added on both sides
https://github.com/excalidraw/excalidraw/blob/83a2f5de28dfaad67fe6f8c14528cd91dbe74be4/src/components/App.tsx#L266-L294

Likely caused by https://github.com/excalidraw/excalidraw/pull/898#discussion_r390151892

We should certainly retain local-only elements, but during my investigation, this is not what's causing the problem. At least not for arrow/line elements, which are the only ones I can use to test this using two tabs on single device. It seems it somehow mangles the state, but I haven't yet been able to figure out how (on first look the state before/after looks identical).

Ok, I think the problem is we're swapping element-being-edited with remote ones. I think we'll need to make appState.editingElement point to currently-editing element of any kind, not just text. But I wanted to do this change, anyway.

This should be fixed by the various refactoring @dwelle and @petehunt did.


12 - US: As an author, I want a consistent identity per server

[ ] Test
[x] Production

Via login


error when trading

Error when clicking on order book. User has long 2 outcomes in 3 outcome categorical market.

Needed to add guard against value being null before creating big number.

This should clean up any errors in calculating results of user clicking on order book. @Chwy5

same issue as https://github.com/AugurProject/augur/issues/1188
closing this issue.


respect  signature declaration style.

Currently rbs inline will generate signatures that do not respect the RBS/Lint/AmbiguousOperatorPrecedence cop from rubocop-on-rbs.
Given the following declaration:
class MyClass
  # @rbs!
  #   interface _MyInterface
  #     def some_method: (untyped) -> bool
  #   end
  #
  #   type some_type = Class | Module | Proc | (_MyInterface & Object)
end

RBS inline will generate the following signature:
class MyClass
  interface _MyInterface
    def some_method: (untyped) -> bool
  end

  type some_type = Class | Module | Proc | _MyInterface & Object # notice the lack of parentheses
end

Which violates the RBS/Lint/AmbiguousOperatorPrecedence cop.  I am not suggesting RBS inline should directly support or even acknowledge the existence of the rubocop-on-rbs gem, however it would be pretty nice if it kept the signature how I wrote it so that I don't have to correct the cop violation everytime I regenerate signatures.

– and I thought @rbs! copy-pastes its contents verbatim.

Internally, RBS::Inline goes re-formatting RBS using RBS::Writer before generating a RBS file.
The RBS declarations are copy-pasted once to the buffer, but reformatted before generating.
For example, this code will be converted to the aligned RBS:
class Hello
  # @rbs!
  #   def hello
  #   : (
  #     name: String
  #     )
  #   -> (((Integer)))
end

class Hello
  def hello: (name: String) -> Integer
end

It seems the writer dropped the parens on reformatting. I'll take a look the module later.


SMTP connection don't get properly closed when one of email address violates the RFC

Q
A

Bug report?
yes

Feature request?
no

RFC?
no

How used?
Standalone

Swiftmailer version
v6.2.7

PHP version
7.3.27

Observed behaviour
SMTP connection don't get closed when "TO" email addresses contain invalid email address together with a good one. The script hangs and exits because of a timeout (in 5 minutes in my case)
Expected behaviour
Bad address should be listed among $failedRecipients array, email should be sent to good addressees.
Example
This script reproduces the issue:
$mailer = new \Swift_Mailer(new \Swift_SendmailTransport('/usr/sbin/sendmail -bs'));
$mailer->registerPlugin(new Swift_Plugins_LoggerPlugin(new Swift_Plugins_Loggers_EchoLogger(false)));

$message = new \Swift_Message;
$message->setFrom('maxim@example.com');
$message->setTo([
<EMAIL_ADDRESS>// RFC violation!
<EMAIL_ADDRESS>]);
$mailer->send($message);

The output:
> php reproduce.php
++ Starting Swift_SendmailTransport
<< 220 hostname.local ESMTP

>> HELO [<IP_ADDRESS>]

<< 250 hostname.local

++ Swift_SendmailTransport started
>> MAIL<EMAIL_ADDRESS>
<< 250 2.1.0 Ok

>> RCPT<EMAIL_ADDRESS>
<< 250 2.1.5 Ok

>> DATA

<< 354 End data with <CR><LF>.<CR><LF>

++ Stopping Swift_SendmailTransport
>> QUIT

<< 421 4.4.2 hostname.local Error: timeout exceeded

!! Expected response code 221 but got code "421", with message "421 4.4.2 hostname.local Error: timeout exceeded
" (code: 421)
!! Expected response code 221 but got code "421", with message "421 4.4.2 hostname.local Error: timeout exceeded
"
Log data:
 (code: 421)
++ Swift_SendmailTransport stopped

The reason of this behavior is here: https://github.com/swiftmailer/swiftmailer/blob/15f7faf8508e04471f666633addacf54c0ab5933/lib/classes/Swift/Transport/AbstractSmtpTransport.php#L498-L502
Method streamMessage() explodes with Swift_AddressEncoderException that didn't handled well causing DATA command to be not terminated properly.

Same issue, using Laravel, sample code:
       foreach ($emails as $email){
              try {
                     Mail::to($email) //first email address of the loop has an RFC violation
                         ->send(new FolderStatus());
                 } catch (\Exception $e) {
                      //Trigger error
                 }
      }

When the $email is invalid, no exception is thrown right away and it actually falsely appears that the email was correctly sent. The issue is that even if the next $email of the loop is correct you get the error: Expected response code 250 but got an empty response
I am getting an Exception on the $email + 1 item, but the error was actually generated on the previous loop because the $email address was incorrect and when the $email + 1 loop tries to send the email, the SMTP stream is broken and of course there is no response from the smtp server.


[Bug] Some Spark App may hang forever when FinalStageResourceManager is enabled

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

Describe the bug
We found a Spark Application hanged at the final stage

Rerun the Application got the same result.
Affects Version(s)
master
Kyuubi Server Log Output
No response
Kyuubi Engine Log Output
2023-08-02 19:54:59 CST DAGScheduler INFO - ShuffleMapStage 4 (sql at SparkSQLExecute.java:17) finished in 279.363 s
2023-08-02 19:54:59 CST YarnClusterScheduler INFO - Removed TaskSet 4.0, whose tasks have all completed, from pool default
2023-08-02 19:54:59 CST DAGScheduler INFO - looking for newly runnable stages
2023-08-02 19:54:59 CST DAGScheduler INFO - running: Set()
2023-08-02 19:54:59 CST DAGScheduler INFO - waiting: Set()
2023-08-02 19:54:59 CST DAGScheduler INFO - failed: Set()
2023-08-02 19:54:59 CST YarnAllocator INFO - Resource profile 0 doesn't exist, adding it
2023-08-02 19:54:59 CST YarnAllocator INFO - Driver requested a total number of 1 executor(s) for resource profile id: 0.
2023-08-02 19:54:59 CST YarnClusterSchedulerBackend INFO - Requesting to kill executor(s) 99, 90, 84, 57, 63, 39, 30, 45, 66, 2, 72, 5, 48, 33, 69, 27, 54, 60, 15, 42, 21, 71, 92, 86, 24, 74, 89, 95, 53, 41, 83, 56, 17, 1, 44, 50, 23, 38, 4, 26, 11, 32, 82, 97, 29, 20, 85, 79, 70, 64, 91, 46, 94, 73, 67, 88, 34, 28, 6, 40, 55, 76, 49, 61, 43, 9, 22, 58, 3, 10, 25, 93, 81, 75, 13
2023-08-02 19:54:59 CST YarnClusterSchedulerBackend INFO - Actual list of executor(s) to be killed is 99, 90, 84, 57, 63, 39, 30, 45, 66, 2, 72, 5, 48, 33, 69, 27, 54, 60, 15, 42, 21, 71, 92, 86, 24, 74, 89, 95, 53, 41, 83, 56, 17, 1, 44, 50, 23, 38, 4, 26, 11, 32, 82, 97, 29, 20, 85, 79, 70, 64, 91, 46, 94, 73, 67, 88, 34, 28, 6, 40, 55, 76, 49, 61, 43, 9, 22, 58, 3, 10, 25, 93, 81, 75, 13
2023-08-02 19:54:59 CST ApplicationMaster$AMEndpoint INFO - Driver requested to kill executor(s) 99, 90, 84, 57, 63, 39, 30, 45, 66, 2, 72, 5, 48, 33, 69, 27, 54, 60, 15, 42, 21, 71, 92, 86, 24, 74, 89, 95, 53, 41, 83, 56, 17, 1, 44, 50, 23, 38, 4, 26, 11, 32, 82, 97, 29, 20, 85, 79, 70, 64, 91, 46, 94, 73, 67, 88, 34, 28, 6, 40, 55, 76, 49, 61, 43, 9, 22, 58, 3, 10, 25, 93, 81, 75, 13.
2023-08-02 19:54:59 CST YarnAllocator INFO - Resource profile 0 doesn't exist, adding it
2023-08-02 19:54:59 CST ExecutorAllocationManager INFO - Executors 99,90,84,57,63,39,30,45,66,2,72,5,48,33,69,27,54,60,15,42,21,71,92,86,24,74,89,95,53,41,83,56,17,1,44,50,23,38,4,26,11,32,82,97,29,20,85,79,70,64,91,46,94,73,67,88,34,28,6,40,55,76,49,61,43,9,22,58,3,10,25,93,81,75,13 removed due to idle timeout.
2023-08-02 19:55:00 CST YarnClusterSchedulerBackend INFO - Requesting to kill executor(s) 65
2023-08-02 19:55:00 CST YarnClusterSchedulerBackend INFO - Actual list of executor(s) to be killed is 65
2023-08-02 19:55:00 CST ApplicationMaster$AMEndpoint INFO - Driver requested to kill executor(s) 65.
2023-08-02 19:55:00 CST YarnAllocator INFO - Resource profile 0 doesn't exist, adding it
2023-08-02 19:55:00 CST ExecutorAllocationManager INFO - Executors 65 removed due to idle timeout.
2023-08-02 19:55:00 CST FinalStageConfigIsolation INFO - Store config: spark.sql.adaptive.skewJoin.skewedPartitionThresholdInBytes to previousStage, original value: 128M
2023-08-02 19:55:00 CST FinalStageConfigIsolation INFO - For final stage: set spark.sql.adaptive.skewJoin.skewedPartitionThresholdInBytes = 256M.
2023-08-02 19:55:00 CST FinalStageConfigIsolation INFO - Store config: spark.sql.adaptive.skewJoin.skewedPartitionFactor to previousStage, original value: 4
2023-08-02 19:55:00 CST FinalStageConfigIsolation INFO - For final stage: set spark.sql.adaptive.skewJoin.skewedPartitionFactor = 5.
2023-08-02 19:55:00 CST FinalStageConfigIsolation INFO - Store config: spark.sql.adaptive.advisoryPartitionSizeInBytes to previousStage, original value: 8MB
2023-08-02 19:55:00 CST FinalStageConfigIsolation INFO - For final stage: set spark.sql.adaptive.advisoryPartitionSizeInBytes = 384MB.
2023-08-02 19:55:00 CST FinalStageConfigIsolation INFO - Store config: spark.sql.adaptive.coalescePartitions.minPartitionNum to previousStage, original value: __INTERNAL_UNSET_CONFIG_TAG__
2023-08-02 19:55:00 CST FinalStageConfigIsolation INFO - For final stage: set spark.sql.adaptive.coalescePartitions.minPartitionNum = 1.
2023-08-02 19:55:00 CST ShufflePartitionsUtil INFO - For shuffle(2), advisory target size: 402653184, actual target size 21915537.
2023-08-02 19:55:00 CST FinalStageResourceManager INFO - The snapshot of current executors view, active executors: 100, min executor: 1, target executors: 1, has benefits: true
2023-08-02 19:55:01 CST YarnClusterSchedulerBackend INFO - Requesting to kill executor(s) 51, 19
2023-08-02 19:55:01 CST YarnClusterSchedulerBackend INFO - Actual list of executor(s) to be killed is 51, 19
2023-08-02 19:55:01 CST ApplicationMaster$AMEndpoint INFO - Driver requested to kill executor(s) 51, 19.
2023-08-02 19:55:01 CST YarnAllocator INFO - Resource profile 0 doesn't exist, adding it
2023-08-02 19:55:01 CST ExecutorAllocationManager INFO - Executors 51,19 removed due to idle timeout.
2023-08-02 19:55:02 CST FinalStageResourceManager INFO - Request to kill executors, total count 99, [88, 42, 77, 79, 2, 75, 81, 6, 15, 90, 28, 43, 63, 64, 14, 93, 70, 21, 56, 34, 10, 33, 11, 65, 61, 57, 35, 18, 3, 7, 20, 17, 32, 30, 68, 29, 86, 24, 47, 52, 38, 54, 41, 8, 9, 60, 40, 74, 4, 82, 100, 72, 45, 69, 36, 12, 46, 58, 95, 80, 44, 87, 55, 53, 5, 23, 26, 22, 97, 85, 96, 66, 59, 16, 84, 37, 48, 50, 51, 67, 39, 78, 62, 49, 71, 25, 13, 83, 89, 73, 31, 91, 19, 1, 99, 92, 94, 98, 27].
2023-08-02 19:55:02 CST YarnClusterSchedulerBackend INFO - Requesting to kill executor(s) 88, 42, 77, 79, 2, 75, 81, 6, 15, 90, 28, 43, 63, 64, 14, 93, 70, 21, 56, 34, 10, 33, 11, 65, 61, 57, 35, 18, 3, 7, 20, 17, 32, 30, 68, 29, 86, 24, 47, 52, 38, 54, 41, 8, 9, 60, 40, 74, 4, 82, 100, 72, 45, 69, 36, 12, 46, 58, 95, 80, 44, 87, 55, 53, 5, 23, 26, 22, 97, 85, 96, 66, 59, 16, 84, 37, 48, 50, 51, 67, 39, 78, 62, 49, 71, 25, 13, 83, 89, 73, 31, 91, 19, 1, 99, 92, 94, 98, 27
2023-08-02 19:55:02 CST YarnClusterSchedulerBackend INFO - Actual list of executor(s) to be killed is 77, 14, 35, 18, 7, 68, 47, 52, 8, 100, 36, 12, 80, 87, 96, 59, 16, 37, 78, 62, 31, 98
2023-08-02 19:55:02 CST YarnAllocator INFO - Resource profile 0 doesn't exist, adding it
2023-08-02 19:55:02 CST YarnAllocator INFO - Driver requested a total number of 0 executor(s) for resource profile id: 0.
2023-08-02 19:55:02 CST ApplicationMaster$AMEndpoint INFO - Driver requested to kill executor(s) 77, 14, 35, 18, 7, 68, 47, 52, 8, 100, 36, 12, 80, 87, 96, 59, 16, 37, 78, 62, 31, 98.

Kyuubi Server Configurations
No response
Kyuubi Engine Configurations
No response
Additional context
Spark DRA was enabled and spark.dynamicAllocation.minExecutors was set to 1
Are you willing to submit PR?

[X] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to fix.
[X] No. I cannot submit a PR at this time.

cc @ulysses-you

thank you @zhouyifan279 for the report! Looking forward to the fix.

The bug occurs if two conditions are met in the same time:

All executors are either removed because of idle time out or killed by FinalStageResourceManager.
DRA target executor num equals to the executor num needed by final stage.


Doesn't escape strings with newlines.

I would love to submit a fix, @yaslab please let me know if I can go ahead.
Also-- I see you have some automated tests. I've never run automated tests in Xcode, but I was thinking I can figure it out and add a contributing.md file for this repo to document how to run and add tests for future features or bugfixes. Might make it easier for others to open up good pull requests and share the workload.

I'd be very interested in this feature


Add description to saved model

Describe the solution you'd like
There should be the ability to add a description to a trained model for deployment.
Additional context
Its likely that the person training and deploying the model is not the same person consuming the model. The description can be a simple string field populated by the model trainer.

Are you envisioning this information to live on the Experiment or the RegisteredModel? E.g. do you see a need for them to be different?

@aslotte good question. I think its only relevant on the RegisteredModel.

I think that's fair :)


Few tweaks to get the build complete on Ubuntu 16.04

Disclaimer: I'm not familiar with Yocto, so just looked up the tweaks online.
| /mbed-cloud-client-yocto-setup/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/mbed-cloud-client/1.0-r0/temp/run.do_configure.5566: 103: **cd: can't cd to /mbed-cloud-client-yocto-setup/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/mbed-cloud-client/1.0-r0/git/mbed-cloud-client-example/__Yocto_Generic_YoctoLinux_mbedtls**
| WARNING: exit code 2 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /mbed-cloud-client-yocto-setup/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/mbed-cloud-client/1.0-r0/temp/log.do_configure.5566)
ERROR: Task (/mbed-cloud-client-yocto-setup/poky/../meta-mbed-cloud-client/recipes-connectivity/mbed-cloud-client/mbed-cloud-client.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 311 tasks of which 257 didn't need to be rerun and 1 failed.

Tweak required:
cd ./rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/mbed-cloud-client/1.0-r0/git/mbed-cloud-client-example/pal-platform

python pal-platform.py  fullbuild --target Yocto_Generic_YoctoLinux_mbedtls --toolchain GCC

Reference https://cloud.mbed.com/docs/current/porting/using-the-pal-platform-utility.html
Another error:
ERROR: mbed-cloud-client-1.0-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: '/mbed-cloud-client-yocto-setup/rpi-build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/mbed-cloud-client/1.0-r0/packages-split/mbed-cloud-client/opt/arm/mbedCloudClientExample.elf' [ldflags]
Tweak required
vi /mbed-cloud-client-yocto-setup/poky/../meta-mbed-cloud-client/recipes-connectivity/mbed-cloud-client/mbed-cloud-client.bb
INSANE_SKIP_${PN} = "ldflags"

ARM Internal Ref: IOTCLT-2688

Hi @yemkay
Please see https://cloud.mbed.com/docs/v1.2/connecting/tutorial-connect-rpi3.html

Hi @yemkay,
There are latest updated documentation https://cloud.mbed.com/docs/current/connecting/linux-on-raspberry-pi-3.html. Please check.

Hi @yemkay,
Did you succeed to make build with updated documentation?

@yemkay I am closing this issue as we have released the https://github.com/ARMmbed/mbed-cloud-client-yocto-setup/releases/tag/1.4.0 with significant improvements. Please reopen/open a new issue if you still encounter problems. Thanks for the report.


Feature request: Mount volume when run docker build

We now using Docker build to compile our project and then delivery the result executable binary to small docker container, we need new feature, mount volume when run docker build
Build binary
docker build -f BuildDockerfile  -v $(pwd):/out   --rm -t mybuild  (and other arguments)

After build finish, will generate two file , one executable binary, and one configure file
Make production light weight container image
example production Dockerfile
FROM scratch

ADD mybinary /mybinary
ADD main.conf /main.conf

EXPOSE 80

ENTRYPOINT ["/mybinary", "-c", "/main.conf"]
CMD []

and we can run docker build again to generate a light weight container images container the must have files to run an instance with docker

Take a look at #7115. I think this is a cleaner solution to your end goal.

Looks great Proposal.

Thanks for your tips.

@phemmer,
Is it possible to reopen this request?
Now it's late 2016 already, the linked issue is from 2014 and still open, and adding -v support for docker build shouldn't be much work as it's already there in docker run.
This would greatly speed up building an docker image from existing host files, especially when the host files are huge.
During docker build, for smaller files, in the Dockerfile, one can use wget to download, but not good for huge files. In this case it would be really helpful to able to mount a host volume and use the host file directly to avoid data copy/download over network.

I can't control whether it's open or closed. But I think you'll find you get a lot of resistance to a build -v option. The docker team has been very opposed to flags which introduce non-reproducability between builds. Even the --build-arg was introduced after much contestation.
Personally I'm also for not putting in hacks or temporary solutions just because the ideal solution hasn't been implemented yet. If the feature is added it should be because it has merit on its own.
But I'm not associated with the docker project, so just consider me part of the peanut gallery.

Yes, but it's really useful when you want to expose something like .ssh/id_rsa without ever writing to disk during a sequence of build dependencies.

@thaJeztah dupe of https://github.com/docker/docker/issues/14080

@graingert yes it is, sorry, should've added that :+1:

In my case, where this would be useful would be on Debian systems: mounting /var/cache/apt as a volume, so you're not re-downloading the same .deb files over and over again.  (Truly "unlimited" Internet quota just doesn't exist, especially here in Australia, and it even if there was, there's time wasted waiting for the download.)
Or another scenario, you're doing a build, but it also produces test reports such as failure listings and code coverage reports that you don't need to ship with the image, but are useful artefacts to have around.  These could be written to a volume when a CI server goes to build the image for the CI server to pick up and host.
Or tonight, I'm doing some Gentoo-based images for myself, I'd like to mount /usr/portage from the host.  It is not hard for a Dockerfile to realise, "hey, /usr/portage (in the container) is empty, no problems I'll just grab that" when running without the volume mounted, OR, it just uses the volume as-is, saving time fetching a fresh copy.
Adding those smarts is a trivial if statement in a Bourne shell script… IF the underlying logic to mount the volume is present in the first place.  Right now for my Gentoo images, I'm having to pull /usr/portage every time I do a build (luckily the mirror is on my LAN) which means it's a good few minutes wait for that one step to complete.
So lots of reasons why this is a worthwhile proposal, and I'm doubtful that the nested builds proposed in #7115 is going to help in the above instances.

@sjlongland this issue is currently closed because it's a duplicate of https://github.com/docker/docker/issues/14080 please move your comment over there.

this issue has been moved to https://github.com/docker/docker/issues/14080

Yes, let's lock this issue to prevent the discussion from diverging


add ts docs

follow up with this PR: https://github.com/amazingandyyy/use-form-react/pull/6

duplicate to #7


fix: types

🧰 Changes
Fixes a bunch of types from the jsx-coercion PR.
🧬 QA & Testing

Broken on production.
Working in this PR app.

⌨
(TIL there's no typewriter emoji???)

https://www.unicode.org/pending/proposals.html

This PR was released!
🚀 Changes included in v6.75.0-beta.32


New version: JFrog.Conan version 2.8.1

Pull request has been created with komac v2.6.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

Previous: #179052


Typo

OFfice 365 Business Premium

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

ID: 2b05e642-c4e5-f1b5-5315-d3ef1690a0cd
Version Independent ID: 01b7e0b5-3e50-3de0-e3e9-aeeeda43da12
Content: Authorize guest access in Microsoft Teams - Microsoft Teams
Content Source: Teams/Teams-dependencies.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@SvenBell Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@SvenBell Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Missing way to drop a statement

Opts::stmt_cache_size states:

Caveats
If statement cache is disabled (stmt_cache_size is 0), then you must close statements manually.

Statement does not expose any method to close an created statement. This can easily lead to situations where the user exhausts the maximal number of prepared statements on configured on the database itself.
I would like to clarify if:

The linked documentation is correct
This a corresponding method is just missing from Statement (and it's up to the user to call it)
mysql_async should automatically close Statement on drop on it's own

See https://github.com/weiznich/diesel_async/issues/26 for details

@weiznich, hi.
Please look at Queryable::close.

Thanks
I know that I must missed something :+1:


Unflake tests

don't fail on empty arrays
remove triggers from dependency RCs to speed up tests as schedules don't need to be synced
fetch latest state of dependency RCs in order to prevent conflicts
wait for RC to go into succeeded after deleting triggers

ok to test

ok to test


[FLINK-10107] [sql-client] Relocate Flink Kafka connectors for SQL JARs

What is the purpose of the change
This PR enforces even more shading for SQL JARs than before. In the past, we only shaded Kafka dependencies. However, since Flink's Kafka connectors mutually depend on each other and do not use version-specific package names (e.g. for Elasticsearch we use elasticsearch2, elasticsearch3, etc.). This is the only way of avoiding dependency conflicts between different Kafka SQL JARs. The end-to-end tests has been extended to detect classloading issues in builds.
Brief change log

Add more relocation to Flink's Kafka SQL JARs

Verifying this change
SQL Client end-to-end tests has been adapted to detect classloading issues earlier.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): yes, but only for SQL JARs
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

CC @zentol

CC @fhueske

@zentol The goal of SQL jars was to provide ready-to-use libraries that could be added on a drag and drop basis. We do not need to support multiple Kafka versions. Even though I can image ETL cases where you might want to read from a global Kafka storage (maybe using an old version) to a testing storage (maybe using a newer version).
This PR tries to solve the problem of having SQL jars that interfere with each other. The root cause of this is actually our current dependency structure for Kafka connectors. We have a Kafka-base but actually depend on the previous versions. After sleeping a night over this PR, I think we cannot merge this because we expose FlinkKafkaPartitioner which is also relocated now.
A perfect solution would be:

Move version-specific Kafka code into version-specific packages (e.g. o.a.f.kafka10)
Move version-agnostic Kafka code into a common package (e.g. o.a.f.kafka)

Currently, only the Kafka JARs are affected. The format JARs have their own namespaces.

so, given that we do not care about situations where multiple connectors are on the CP (as concluded in previous comments), this means that this also affects a single kafka-connector jar in isolation? I.e. this not being a class between jars?

@twalthr what is the problem here? Do I understand this correctly, that different versions of flink-kafka-connectors conflicting with one another if they are used/loaded at the same time? And that's potential production issue (however a rare use case),  but it's causing problems in our end-to-end tests?
If so why would this help:

A perfect solution would be:
Move version-specific Kafka code into version-specific packages (e.g. o.a.f.kafka10)
Move version-agnostic Kafka code into a common package (e.g. o.a.f.kafka)

?
Isn't the correct "perfect" solution to load each connector/plugin in a separate independent class loader, isolated from others?

e

@pnowojski yes, loading each connector in a separate class loader would solve all problems.
However, we should fix our own internal dependency conflicts first. I haven't looked into the new Kafka connector but as far as I know it should solve the version conflict.
I will close this PR for now.


Update unity-play-mode.md

Added a comment clarifying that Play Mode also works with a locally attached WMR headest.

@thetuvix FYI.

Docs Build status updates of commit 5338b6f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/unity-play-mode.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Improve addressbook local peer relays and addresses

Changelog

Removes the PrivatePeerInfo struct.
Adds methods to manage addresses for local peer to the AddressBook.
Adds methods to manage relay peers for local peer to the AddressBook.
Nimona now adds all bootstrap nodes as relays.

Pull Request Test Coverage Report for Build 366

7 of 18 (38.89%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+2.7%) to 30.621%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

dht/dht_query.go
0
1
0.0%

net/exchange.go
3
6
50.0%

dht/dht.go
0
7
0.0%

Totals

Change from base Build 360:
2.7%

Covered Lines:
587

Relevant Lines:
1917

💛  - Coveralls


Deprecated selector in haskell-debug\styles\main.atom-text-editor.less

In haskell-debug\styles\main.atom-text-editor.less:
Starting from Atom v1.13.0, the contents of atom-text-editor elements are no longer encapsulated within a shadow DOM boundary. This means you should stop using :host and ::shadow pseudo-selectors, and prepend all your syntax selectors with syntax--. To prevent breakage with existing style sheets, Atom will automatically upgrade the following selectors:

.breakpoint => .syntax--breakpoint

.cursor-line.breakpoint => .cursor-line.syntax--breakpoint

Automatic translation of selectors will be removed in a few release cycles to minimize startup time. Please, make sure to upgrade the above selectors as soon as possible.

This causes breakpoints not to be shown when you click on the gutter in atom > 1.13.0


About Toast component

How do close a toast manually rather than a timeout setting? What I want is to close a toast with the type of loading only after my api call, then I'm able to coordinate api response and UI updating, I don't find a close method from your document, please advice, thank you!

not supported yet.

I'd like to complete this feature if possible.

will be feature in next version.


Custom CompositionObject

Though it is possible to derived from CompositionObject, it is not possible to instantiate such a class, because the constructor of CompositionObject is not public.
The reason I tried doing this is to animate a non-Composition object's property (which doesn't seem to be possible). So I thought to derive from CompositionObject and try animating a property (and obtain the intermediate values during animation). But I failed there too.
I have to achieve the following objective (I have asked this before but there hasn't been any reply so far).
Animating a mask created using CanvasGeometry
I have two rectangles - one inside the other. I create a mask using the area defined by the outer rectangle and excluding the inner rectangle.
Now the inner rectangle's Rotation changes at irregular intervals. I need to animate the rotation of the Inner Rectangle and calculate the new mask for each frame of the animation.
It would be great if you guys could point me in the right direction to achieve this.

Hey @ratishphilip,
Currently this isn't possible with the API. You can read my response to this issue to get a feel for why. Long story short, composition objects don't just live in the app's process, but they are also tracked by the kernel and in the system compositor. There's a lot of infrastructure that a custom object wouldn't be plugged into.
Your best bet currently is actually to create a swapchain as your surface (which you can do with Win2D), and draw into it. You would have to know what an animation would do (meaning you would have to know the duration and all the keyframes) and interpolate the values against the clock by yourself every vsync. You can refer to this sample over in the Win2D GitHub page to see how a swapchain would work with the Composition API.

@robmikh Thanks for the clarification.


Can't get good results on smaller models

Thanks for sharing the code, and providing an interesting paper!
I can't seem to reproduce decent results on smaller models on a consumer GPU.
I've tried using the optimizer for a toy task similar to the one present on the nano GPT repo, but it seems that no matter which config I use the model fails to converge.
I tried using various parameters, but nothing seemed to work - when I plug in adamW instead it just works out of the box.
Can you please provide config for runs of small models on a consumer GPU?
For instance(similar to nanoGPT)
gradient_accumulation_steps = 1
batch_size = 16
block_size = 256  # context of up to 256 previous characters
baby GPT model :)
n_layer = 6
n_head = 6
n_embd = 384
dropout = 0.2

I ran n_layer = 6, n_head = 6, n_embd = 384, block size = 1024 before. The result is very good. I'll share the wandb report in this thread later.


Fix typescript compiler input files

Create a tsconfig.webpack.json file which we will use for compiling typescript from webpack. This config will be the same as the default tsconfig.json, but we will not include the src/index.ts entry file. Our typescript loader in webpack will pass the input file to the compiler for us.
In the tsconfig.test.json, use the same files array as tsconfig.webpack.json. This will also solve some of the globbing issues we have with awesome-typescript-loader. Fixes #26

Coverage remained the same at 80.0% when pulling dc0d453a05b96c377fcee80a5a2d9aaf36e5d954 on feature/typescript-file-config into 5b3ed2be89e3b2cfb5c39d5e9fe11d49546f7636 on master.

Coverage remained the same at 80.0% when pulling dc0d453a05b96c377fcee80a5a2d9aaf36e5d954 on feature/typescript-file-config into 5b3ed2be89e3b2cfb5c39d5e9fe11d49546f7636 on master.


Debug TM, TO, TO Perl, or TR CDN-in-a-Box containers

What does this PR (Pull Request) do?

This PR lets you use CDN-in-a-Box to debug Traffic Monitor, Traffic Ops, Traffic Ops Perl, and Traffic Router and adds configuration options so that this behavior is only enabled when desired.

[x] This PR is not related to any Issue

Which Traffic Control components are affected by this PR?

CDN in a Box
Documentation
Traffic Monitor
Traffic Ops

What is the best way to verify this PR?

Build documentation to make sure there are no warnings

Make sure documentation is accurate and easy to follow

Ensure RPMs and CDN-in-a-Box build

Check whether debugging works in CDN-in-a-Box for:

Traffic Monitor
Traffic Ops
Traffic Ops Perl
Traffic Router

Check that no debugging information or behavior is included when debug flags and variables are not used.

When pkg is used instead of pkg -d, or CiaB's make is used instead of make debug, the traffic_monitor and traffic_ops_golang binaries should be roughly 2 MB smaller.
In CiaB's variables.env, if DEBUGGING_TM, DEBUGGING_TO, DEBUGGING_TO_PERL, or DEBUGGING_TR are not set to true, timeouts should be short (60 seconds or less) and the services should not try to use Delve, Devel::Camelcadedb, or JPDA to run.

Jenkins should be able to build everything. That is essentially our test for the build scripts and docker environment.

If this is a bug fix, what versions of Traffic Control are affected?

Not a bug fix.
The following criteria are ALL met by this PR

[x] This PR includes tests OR I have explained why tests are unnecessary
[x] This PR includes documentation OR I have explained why documentation is unnecessary
[x] This PR includes an update to CHANGELOG.md.
[x] This PR includes any and all required license headers
[x] This PR does not include a database migration
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Additional Information

Debugging can be useful for a developer's own analysis, but it in no way replaces tests.
Comments, feedback, suggestions, and criticism are welcome.

Does anyone have thoughts about this PR? Does anything need to change?

I can't get the debug configuration to start up. None of the -nondebug containers can be started, they all say:
ERROR: for cdn-in-a-box_trafficops-perl-nondebug_1  Cannot start service trafficops-perl-nondebug: network a74043e2314f828751aeb9b90594c863e210597b1be710b029c4260c673fa444 not found

The branch didn't have the Postgres repo RPM URL fix (a5edc1ca82). Rebased onto master. It should work now, the rebase is the version I have been using.

Well, now the containers start up, but the enroller is waiting on TO, TO is waiting on Perl, and Perl is waiting on the enroller:
enroller_1         | + nc -z trafficops.infra.ciab.test 443
enroller_1         | + echo 'Waiting for https://trafficops.infra.ciab.test:443'
enroller_1         | + sleep 5
enroller_1         | Waiting for https://trafficops.infra.ciab.test:443
trafficops-perl_1  | + [[ -f /shared/enroller/enroller-started ]]
trafficops-perl_1  | + echo 'waiting for enroller'
trafficops-perl_1  | + sleep 3
trafficops-perl_1  | waiting for enroller
trafficops_1       | + nc trafficops-perl.infra.ciab.test 443
trafficops_1       | waiting for trafficops-perl.infra.ciab.test:443
trafficops_1       | + echo 'waiting for trafficops-perl.infra.ciab.test:443'
trafficops_1       | + sleep 3

resulting in total deadlock. Which probably means one of the TO servers (or both) failed to start and/or listen on the correct port. I didn't find anything glaring in the logs, though.

If you have no debug configuration enabled, then that's just CiaB's normal "works most of the time" behavior, restarting should fix

Traffic Ops Perl now needs TO_PERL_SCHEME set, but the default variables.env should provide that.

It can be helpful to remove all images, just to make sure there is no issues related to caching. I do that with some frequency when switching branches, using cb_rebuild_everything.

oh, I did a full docker system prune -af before that command
and that is me running with debugging turned on for every container

Ah I see. Yes that will work, but since Perl debugging is enabled, you have to connect to the Perl process with your IDE before it will continue (otherwise you would not be able to set breakpoints). I explained why in the docs:

Camelcadedb has the limitation that new breakpoints are only recognized if you set them while the debugger is at a breakpoint or before the IDE connects.

Well now I can get things to build and run, but I can't set breakpoints in TO. I tried to set one at one of the steps in the /ping endpoint handler as well as your suggested line in Profile.Read. Neither worked. Here's my config:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "go",
            "request": "attach",
            "mode": "remote",
            "program": "/home/ocket8888/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/",
            "remotePath": "/opt/traffic_ops/app/bin/traffic_ops_golang",
            "port": 2345,
            "host": "<IP_ADDRESS>",
            "showLog": true
        }
    ]
}

The remote path refers to where the binary was built, not where it currently sits. In your config, request needs to be "launch" and remotePath needs to be "/tmp/go/src/github.com/apache/trafficcontrol/traffic_monitor".
I added an example config for vscode in 71cc81c29e.

That's odd. It tells me that "launch" is deprecated with "remote" mode.

VS Code Go's remote debugging documentation says to use launch, but it seems to be working with attach if the program key is changed to cwd (updated docs in 9c50eed84a).

Alright, well I nuked everything and rebuilt it again, and it still doesn't break on breakpoints. I used this debugger config:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "go",
            "request": "attach",
            "mode": "remote",
            "cwd": "/home/ocket8888/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/",
            "remotePath": "/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang",
            "port": 2345,
            "host": "<IP_ADDRESS>",
            "showLog": true
        }
    ]
}

Your GOPATH is /home/ocket8888?
Assuming that your workspace root is your git working tree, /home/ocket8888/src/github.com/apache/trafficcontrol, it might better to use a cwd relative to the workspace root: "${workspaceRoot}/traffic_ops/traffic_ops_golang"

After changing cwd to be relative to the workspace root, your attach configuration works for me.

"Your GOPATH is /home/ocket8888?"

yes

"Assuming that your workspace root is your git working tree, /home/ocket8888/src/github.com/apache/trafficcontrol..."

Idk what a "workspace root" is, but I assume it's the folder I have open in VSCode? Because then yes.
This configuration also doesn't pause on breakpoints:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "go",
            "request": "attach",
            "mode": "remote",
            "cwd": "/home/ocket8888/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/",
            "remotePath": "${workspaceRoot}/traffic_ops/traffic_ops_golang",
            "port": 2345,
            "host": "<IP_ADDRESS>",
            "showLog": true
        }
    ]
}

The Traffic Ops RPM should be built with either make debug or make debug traffic_ops/traffic_ops.rpm. Otherwise, the debugger could fail to break at some lines and will be missing variable info.

Your remotePath became "/opt/traffic_ops/app/bin/traffic_ops_golang" again. It needs to be "/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang".

right :facepalm:


how to type comma into .ini settings

for example:
postopts = -force_key_frames,expr:gte(t,n_forced2)
always translated to ffmpeg commands :
-force_key_frames expr:gte(t n_forced2)

37b72b6218c1fb092720918de92e62116b3af068
There you go
Adds a new option called opts-separator where you can define what character will be used by the preopts/postopts values as the separator. Just change it to something other than a comma. Wiki updated


Clarificatoin

Hey,
What are the diffrences between loading .dat or SQLite DB?
Would appricate a reference..

There was/is a traditional period where OneDrive migrated over to SQLite databases from the.dat file. SQLite databases hold more information. Depending on the version, there may be only .dat, SQLite, or both. Hope this clarifies.

Thank you, I had an assumption that could be a version differences.
For some reason even though I'm using the newset version .dat is not present.
Could be related - I was deleting 2 files, one I was removing from RecycleBin. For some reason only the one that I've reomved from RecycleBin is shown in the GUI output. I can open an issue if you prefer.

Ok. So you’re working with a version that has transitioned over to SQLite only (no .dat). You can open another issue if you wish. The missing file might be in a table that  OneDriveExplorer is not parsing yet (working on an update for this). If you are comfortable with working with SQLite files in something like DB Browser for SQLite, I can point you to the table it might be in.

Yes please

Reagrding the version, surprisingly the same version on my PC contains both. For some reason I assumed the .dat is updating too.

Inside the SafeDelete.db, in the settings personal/buisness folder, there is a table called filter_delete_info. There might be information on your missing deleted file in there.
From what I have seen if the .dat and the databases are present, they both should update. But like I said earlier, there is a lot more information in the databases than the .dat file has.

The file is actually missing there too.
Could be that it realted to the fact that I was removing it with shift+delete (no RB..).
Interesting :)
Of course the file can be found in the logs them self.


Remove new line from plainhash

Signed-off-by: Aleksandr Tserepov-Savolainen<EMAIL_ADDRESS>

as discussed, let's reject this one.


[Blazor] Move Blazor FAQ content from aspnet/Blazor to this repo.

Is your feature request related to a problem? Please describe.
Blazor sources and issues for Blazor have moved from aspnet/Blazor to aspnet/AspNetCore, this repo.
By the way, there is no FAQ content for Blazor in this repo.
But it is in old repo, aspnet/Blazor.
see : https://github.com/aspnet/Blazor/wiki/FAQ
Describe the solution you'd like
How about move FAQ content from from aspnet/Blazor to aspnet/AspNetCore, this repo.
Describe alternatives you've considered
Or how about put FAQ content in official page.
Additional context
Awsome Blazor has FAQ link to old aspnet/Blazor repo.

Thanks for this suggestion @RyotaMurohoshi! To avoid breaking links to the existing Blazor FAQ we prefer to leave it where it is. However, all of the relevant content from the original Blazor FAQ should now be covered by the Blazor docs.


draft: discord.js 14

no more ts errors, needs some testing anyways (all evobot-originated commands have at least some stringly-typed nonsense).

tested, seems to work fine

gooks loojk to me


net/haproxy: Action and ACL rules generated to incorrect block

Describe the bug
One frontend for HTTPS, multiple backends which all have their own ACL and Action rules. ACL is used to check the path (subfolder) and Action is used to match ACL to the correct Backend.
This configuration results ACL and Action rules to be generated inside each Backend block, which is incorrect. They should be generated under Frontend block.
To Reproduce
Steps to reproduce the behavior:

Go to 'Services/HAProxy/Settings'
Click on 'Real Servers' and add at least two servers
Click on 'Virtual Servers' and add the same amount of entries as the number of 'Real Servers'
Click on 'Public Servers' and add one for HTTPS
Click on 'Rules & Checks/Conditions'
Add one 'Path starts with' condition for each 'Virtual Server' defined in the step number 3.
Click on 'Rules & Checks/Rules'
Add one rule for each 'Virtual Server' defined in the step number 3.
Rule definition matches the Condition to the Backend pool. For example, if path starts with /checkmk/, use Backend pool named 'Checkmk'.
Click on 'Virtual Servers' and go through all instances created in step number 3, and add the rule created in the step 9 for each of them in the 'Rules/Selected Rules' section. So, one rule per one Virtual Server.
Try to check config syntax and apply it. It fails.

Expected behavior
Syntax should be okay and the config should get applied.
Relevant config files
/usr/local/etc/haproxy.conf
Incorrectly generated config
# Frontend: HTTPS ()
frontend HTTPS
    http-response set-header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
    bind <IP_ADDRESS>:4433 name <IP_ADDRESS>:4433 ssl no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256 alpn h2,http/1.1 crt-list /tmp/haproxy/ssl/5f43e861ecd554.84319585.certlist
    mode http
    option http-keep-alive
    option forwardfor
    # tuning options
    timeout client 30s

    # logging options

# Backend: Checkmk ()
backend Checkmk
    # health checking is DISABLED
    mode http
    balance source
    # stickiness
    stick-table type ip size 50k expire 30m
    stick on src
    # tuning options
    timeout connect 30s
    timeout server 30s
    # ACL: Checkmk
    acl acl_5f5c6f566752f6.38264457 path_beg -i /checkmk/

    # ACTION: Checkmk
    use_backend Checkmk if acl_5f5c6f566752f6.38264457
    http-reuse safe
    server Checkmk <IP_ADDRESS>:8080

Working configuration fixed by hand
# Frontend: HTTPS ()
frontend HTTPS
    http-response set-header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
    bind <IP_ADDRESS>:4433 name <IP_ADDRESS>:4433 ssl no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256 alpn h2,http/1.1 crt-list /tmp/haproxy/ssl/5f43e861ecd554.84319585.certlist
    mode http
    option http-keep-alive
    option forwardfor
    # tuning options
    timeout client 30s

    # logging options

    # ACL: Checkmk
    acl acl_5f5c6f566752f6.38264457 path_beg -i /checkmk/

    # ACTION: Checkmk
    use_backend Checkmk if acl_5f5c6f566752f6.38264457

# Backend: Checkmk ()
backend Checkmk
    # health checking is DISABLED
    mode http
    balance source
    # stickiness
    stick-table type ip size 50k expire 30m
    stick on src
    # tuning options
    timeout connect 30s
    timeout server 30s
    http-reuse safe
    server Checkmk <IP_ADDRESS>:8080

Environment
OPNsense 20.7.2-amd64
FreeBSD 12.1-RELEASE-p8-HBSD
OpenSSL 1.1.1g 21 Apr 2020
os-haproxy 2.24
I thought this got fixed by #1925 but it doesn't seem to be the case.

This configuration results ACL and Action rules to be generated inside each Backend block, which is incorrect. They should be generated under Frontend block.

I quickly checked the code and there is no way this could happen. Please double-check your configuration.

What can I say, it happened. And still does :)
I created the config with previous version of os-haproxy, after the latest update I deleted all virtual servers, rules and conditions and re-added them. Same result.
So, what do you suggest I double-check?
Do you want screenshots or...?

Glad you got it working!


RecyclerView

Closes #XXX

[ ] I have read the CONTRIBUTING guide
[ ] In particular, I have checked the paragraph "Avoid common mistakes"

@jmfayard  from my android studio it is got pushed in another branch, so I have created another pull request for this
#105
Please have a look.

Merged, thanks @priyanka0906


Performance of Cursor's CursorChildren (CXCursor.VisitChildren)

When profiling our application that uses ClangSharp, I've noticed that the Cursor class's CursorChildren lazy property evaluation takes a significant amount of time on profiles, specifically inside of the CXCursor.VisitChildren call.
It looks like 75% of that time is being spent inside of MarshalNative::GetFunctionPointerForDelegateInternal (of which nearly all of the time is inside of COMDelegate::ConvertToCallback).
Given the fact that this is likely to be a hotspot across many applications, is there an opportunity to avoid such a penalty by avoiding using the more "generic" CXCursor.VisitChildren in lieu of a custom native method that is P/Invoked to populate a List of the immediate children of a given Cursor using a native function (therefore avoiding interop of the otherwise-uninteresting delegate)?
If that's feasible, am I correct in my understanding of the project hierarchy here that such code would live within the libClangSharp project?
Thanks,
Daniel Jennings
Valve

I've since realized that the fix is on the C# side, so here's a proof of concept solution (TranslationUnit_GetOrCreate.Value is just a lazy lookup of the MethodInfo for TranslationUnit.GetOrCreate<Cursor>, which you would clearly not need internal to ClangSharp). TLDR is instead of creating a new delegate for each invocation of Cursor.Children (and calling Marshal.GetFunctionPointerForDelegate for each one) we create a "static" delegate and pass the required fields inside of CursorChildClientData via the client data pointer.
In our application this cuts the total time to parse and traversing an entire AST via Cursor.Children by 40%, which demonstrates how significant of a penalty Marshal.GetFunctionPointerForDelegate is in practice.
private class CursorChildrenClientData
{
	public List<Cursor> Cursors;
	public TranslationUnit TranslationUnit;
}

private static unsafe CXCursorVisitor CursorChildrenDelegate = delegate ( CXCursor child, CXCursor parent, void *pClientData )
{
	GCHandle cursorsHandle = GCHandle.FromIntPtr( new IntPtr( pClientData ) );
	CursorChildrenClientData clientData = (CursorChildrenClientData)cursorsHandle.Target;
	Cursor orCreate = TranslationUnit_GetOrCreate.Value( clientData.TranslationUnit, child );
	clientData.Cursors.Add( orCreate );
	return CXChildVisitResult.CXChildVisit_Continue;
};

private static IntPtr CursorChildrenDelegatePointer = Marshal.GetFunctionPointerForDelegate( CursorChildrenDelegate );

private static unsafe IReadOnlyList<Cursor> CursorChildrenFastNoCache( Cursor cursor )
{
	CursorChildrenClientData clientData = new CursorChildrenClientData();
	clientData.Cursors = new List<Cursor>();
	clientData.TranslationUnit = cursor.TranslationUnit;

	GCHandle clientDataHandle = GCHandle.Alloc( clientData );
	clang.visitChildren( cursor.Handle, CursorChildrenDelegatePointer, GCHandle.ToIntPtr( clientDataHandle ).ToPointer() );
	clientDataHandle.Free();

	return clientData.Cursors;
}

Happy to contribute a fix which will be even faster on .NET 5+ :)

Sorry for the delayed response, I thought I had already responded to this one. I'm happy to take performance fixes here, including by caching delegates where appropriate.
This is likely a case that might also benefit from using function pointers directly, but the requisite UnmanagedCallersOnly is .NET 5+ (I assume this is what @Perksey was alluding to) and so there would need to be a couple of small #ifdef to handle the difference for full framework.

Have a fix up in #272. It saves some time, but other things like getting the Spelling profiled as significantly hotter on my box so I fixed those as well.
There's likely a few things that could be done differently/better here as separate work items. Initial thoughts include reducing the number of uncached P/Invokes that are "hot" and switching over to a form of "value lazy" to reduce allocations/indirections. However, we're already doing a pretty good job of caching things and there ends up being some cost here regardless given how Clang exposes everything.


"You walk in " displayed when logging in

After the room description, and the items/ mobs, it just displays "You walk in ".

Will make this be  - You suddenly appear in the room


Are there QueryBuilder equivalents of onBuild and runBefore for join operations?

The architecture is a multitenant single database.
Nearly every table in this database has a tenant_id. I have created a plugin that provides a custom QueryBuilder with the onBuild method to ensure a tenant_id where clause is always added to find queries. I've also been able to add model and role-based CRUD checks with the runBefore() method. This seems like an ideal multi-tenant solution as no matter how queries are run they must go through the QueryBuilder and these methods always run (sort of, keep reading). For single model operations, graph inserts, eager loading, and withGraphFetched these methods always run even if multiple models are being processed.
Joins though, do not work quite so well...which perhaps is expected as it is as a single query. For join operations or withGraphJoined, the QueryBuilder methods will only run once for the primary object being queried. So if you run a join on an Organization and User model the QueryBuilder methods will only run on the Organization.
For joins, is there any equivalent for runBefore and onBuild. If not, I'm thinking of extending the plugin to possibly block joins to prevent potential cross tenant data leakage.
This library has been awesome to use, docs are great, but this is the one thing I couldn't quite figure out.

I looked at moving some of this logic to hooks but it looks like neither Instance Query Hooks nor Static Query Hooks fire with join operations or withGraphJoined. Perhaps Hooks aren't supported with joins for the same reason onBuild and runBefore don't work? I may open a separate issue for this.

I suppose a different way of asking this question would be that with a QueryBuilder is there any way to access the other models that are being joined/eagerJoined with the QueryBuilder? I am not seeing any way to access this information. It seems to be buried in the private _operations.JoinEagerOperation object.
I feel like a QueryBuilder.getEagerModels() or something equivalent would be very useful. Perhaps there is a way and I haven't figured it out yet.

I feel like a QueryBuilder.getEagerModels(), QueryBuilder.relationExpression() or something equivalent would be very useful. Perhaps there is a way and I haven't figured it out yet.

I am blind, graphExpressionObject() does exactly what I need! At least for withGraphFetched and withGraphJoined. I can use that along with relationMappings to get the Models that will be returned by the find and can do CRUD permission checks before the query is ever executed.
For joins though, there does not seem to be an equivalent function. Still investigating.

It would appear joins are less of an issue than I originally anticipated. In the CustomQueryBuider we are setting a tenant_id where clause on every query in the onBuild method and this will actually blow up joins with a column reference "tenant_id" is ambiguous error if a developer tries write their own join that could potentially try to return data that should not be returned.
So closing for now!


Secret channels have different semantics to most other ircds

On most other IRCds, +p marks a channel as private which hides it from /whois and /list replies, while +s marks a channel as secret which stops /names and /who queries from users not in the channel.
Ora doesn't have +p (which is fine, it's a bit of a weird half-way house), but its +s seems to act like +p on other servers -- i.e., an unprivileged client can do a NAMES or WHO request against a channel with mode +s and receive a full list of users in the channel on Ora.
The Ora manual documents this behaviour but it's kind of confusing for anyone used to the normal semantics, and I can't see a way to actually suppress NAMES/WHO queries for channels.

Yeah +s should do everything that the normal +s mode does and also everything that the normal +p mode does – basically +s should just hide a channel everywhere it could possibly be hidden, since +s is the one that regular people actually end up knowing and using. Sounds like we're missing some cases here, will investigate and thanks for the yell!


A view on a cell doesn't receive any touch events

Originally reported https://github.com/kishikawakatsumi/SpreadsheetView/issues/26

@kishikawakatsumi Sorry to bump again but I still cannot receive any touch to a UIButton within a cell. I also tried using a Tap Gesture Recognizer, but it also just does not work.
I am thinking I should try to reproduce the problem within the example project... If I can I will send you.

@kishikawakatsumi I added a UIButton to SlotCell. It does not receive any touches.
https://github.com/zapjonny/SpreadsheetView/tree/button_test_timetable

@zapjonny Figured out that the cell was added by Storyboard doesn't receive touch events. The workaround is to add a button programmatically for now 🙏

I also added a tap recognizer to the main view of the cell, that actually worked but I think the delegate didSelectItemAt was then not called.
Thanks, I will definitely try to add a button programmatically.

The workaround is to add a button programmatically for now

This worked. Thanks! This is enough for me, for now!


add ICAV2_SERVER_URL to env var

New in 2.30 requires ICAV2_SERVER_URL over ICAV2_BASE_URL

This needs to be done when entering a tenant


Support for AsyncAPI spec?

Are there any plans to support the AsyncAPI spec within OpenAPI?
The AsyncAPI spec is attempting provide the same utility as OpenAPI for systems build on event/messaging driven architecture.
Since asynchronous messaging is an important and common communications model in modern systems architecture, there is a need for standardised documentation of API interfaces.
Regards, JP

The AsyncAPI specification is complementary to the OpenAPI specification. There are no current plans to merge the two.

Thanks you for the fast response!
cc @ctomc


Client-side command response dispatch is unsafe/broken

Problem
The current client-side command request + response pathways have a number of sizable issues:

The success and error callbacks are type-erased to generic Cancelables when stored in gCallbackMgr. Later when a response comes in, they are forcibly re-interpret casted back to a typed response callback signature with a specific set of command arguments. This expects the 'other side' to be well behaved and send back the right kind of response. However, if the response coming back is different (bug on the sender), it will result in really egregious casting of those response fields into a mismatched signature, causing all kind of havoc.
When a successful data response is received, it goes through a completely different path than when status codes are sent back. In the former case, it goes through DispatchSingleClusterResponseCommand --> emberAf<CommandReponse>(), gCallbackMgr and finally, OnSuccess callback. The latter goes through a delegate registered to the CommandSender object, which then goes to CHIPDeviceController, before finally getting back through gCallbackMgr. This is highly asymmetrical and makes debugging very difficult.
When a status code indicating success is received, it eventually dispatches to the OnSuccess callback reinterpret casted to a DefaultSuccessCallback. This means that if you were expecting a data response but got a success status response instead, you will have complete gibberish passed into your onSuccess callback as the args.
When sending out a command request, to correctly dispatch the ensuing response back to the right set of success/error callbacks, the CommandSender object is forcibly typecast to a 64-bit 'NodeId'. This is not intrinsically broken (unless we go to a 128-bit arch), but it is definitely is not a right thing to do.

Proposed solution:
Creation of a new SingleInvokeInitiator class that replaces CommandSender and does the following:

Application managed lifetime, i.e not allocated through InteractionModelEngine. This gives the application flexibility to control the allocation strategy (heap, stack).
Only permits single command request in invoke + single command response in invoke.
Template class that is specialized by the type of the response object that adheres to #8891.
Automatic typedef of a success callback function that has an argument a reference to the response of type T.
Automatic instantiation of the response object on stack, decoding of TLV into that object.
Automatic checking of the received response against the Command ID + Cluster ID of the specialized response object, ensuring safety.
Compresses the function call-chain above from 4-5 frames down to 1, by immediately invoking the response callback from within the initiator object's exchange delegate callback.
Allows for us to completely avoid generating IMClusterCommandHandler.cpp and CHIPClientCallbacks.cpp, a net savings of over 10K lines of code.

The above strategy has been roughly prototyped already in the IM Prototype PR (#8313) in the DemuxedInvokeInitiator class.

The success and error callbacks are type-erased to generic Cancelables when stored in gCallbackMgr. Later when a response comes in, they are forcibly re-interpret casted back to a typed response callback signature with a specific set of command arguments. This expects the 'other side' to be well behaved and send back the right kind of response. However, if the response coming back is different (bug on the sender), it will result in really egregious casting of those response fields into a mismatched signature, causing all kind of havoc.

Related to unresolved #1350.   Fixing this here would also fix that.

While my original post here mentioned creating a new InvokeInitiator class, I think we should just focus instead of fixing the existing CommandSender class based on what's mentioned above instead.


[idea] Compile from install_requires to an extras_require

What's the problem this feature will solve?
It'll allow to easily do with pip what some other packaging/installing/things tools are trying to solve: installing with pinned dependencies.
Currently I'm having a project (an application) that I deploy in a venv: I first build it, upload it to PyPI, and install it using pip install on my servers. As the app is alone in its venv, and as the pinned dependencies from pip-compile are the one used during testing¹, I'd like to use those pinned dependencies during the installation too.

And as I have no idea how it's possible to check for all dependencies combinations in a search for the "minimal acceptable working set", I think distro packagers are doing magic...

Describe the solution you'd like
I'd like a new option, maybe --to-extra EXTRA, so pip-compile --to-extra pinned . to emit the pinned dependencies in an extras_require.pinned section of setup.cfg instead of in a requirements.txt file.
(pip-compile . already works with a pyproject.toml and a setup.cfg, no need for a setup.py file)
It would allow both kind of installations:

pip install . to install with "large", "loosely pinned", "normal" dependencies (some >= when it's needed, as it should be), and
pip install .[pinned] to install with pinned dependencies.

Also it could be used as pip-compile --to-extra dev-pinned .[dev] to compile an extras_require.dev to an extras_require.dev-pinned.
For oeis for example, it would look like this:
[options]
py_modules = oeis
python_requires = >= 3.7
install_requires =
  matplotlib
  sympy

[options.entry_points]
console_scripts = oeis=oeis:main

[options.extras_require]
pinned=
  cycler==0.10.0
      # via matplotlib
  kiwisolver==1.3.2
      # via matplotlib
  matplotlib==3.4.3
      # via oeis (pyproject.toml)
  mpmath==1.2.1
      # via sympy
  numpy==1.21.2
      # via matplotlib
  pillow==8.3.2
      # via matplotlib
  pyparsing==2.4.7
      # via matplotlib
  python-dateutil==2.8.2
      # via matplotlib
  six==1.16.0
      # via
      #   cycler
      #   python-dateutil
  sympy==1.8
      # via oeis (pyproject.toml)

Alternative Solutions

An alternative solution would be to use file: in the setup.cfg file for the install_requires and extra_require, pointing to requirements.in and requirements.txt respectively, like https://github.com/pypa/setuptools/issues/1951.
Another alternative solution would be not to let the user choose the section name (or suffix), to ensure consistency between users, I can think of recommended it make sense, but it's too long I think, so pinned looks good to me, explicit enough, it would simplify the command, instead of typing pip-compile --to-extra pinned . one could do pip-compile --to-extra ..
Bonus
As a bonus, the repo would have less files (I already don't have a requirements.in, I use my setup.cfg's install_requires for this): it'll allow not to have a requirement.txt as they're stored in setup.cfg. One could move like all requirements files to setup.cfg in fact! Less files! setup.cfg FTW!

I don't know if any part of this will be useful or interesting, but FWIW... in my frontend to pip-tools, there are functions to achieve a similar result, but targeting the pyproject.toml instead of the setup.cfg, and sourcing data from req files. So it admittedly does not achieve the total consolidation you're after.
$ git clone git@github.com:JulienPalard/oeis
$ cd oeis
$ a8  # create/activate venv
$ pipac 'matplotlib>=2<4' 'sympy>=1<2'  # add lines to requirements.in then compile to requirements.txt
$ pipa -c pinned '-r requirements.txt'  # add line to pinned-requirements.in
$ pypc
$ git status --short
 M pyproject.toml
?? pinned-requirements.in
?? requirements.in
?? requirements.txt
$ git diff

diff --git a/pyproject.toml b/pyproject.toml
index 221883f..bc11878 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -6,3 +6,9 @@ build-backend = "setuptools.build_meta"
 markers = [
     "slow: marks tests as slow (deselect with '-m \"not slow\"')",
 ]
+
+[project]
+dependencies = ["matplotlib>=2<4", "sympy>=1<2"]
+
+[project.optional-dependencies]
+pinned = ["cycler==0.11.0", "fonttools==4.29.1", "kiwisolver==1.3.2", "matplotlib==3.5.1", "mpmath==1.2.1", "numpy==1.22.2", "packaging==21.3", "pillow==9.0.1", "pyparsing==3.0.7", "python-dateutil==2.8.2", "six==1.16.0", "sympy==1.9"]

It happens in pypc, which is a little shell wrapping a little python using tomlkit to inject.

Have you looked at doing something like pip install -c requirements.txt .? Or better yet, PIP_CONSTRAINT=requirements.txt pip install ..
The latter ensures that the version locks are respected during isolated build, if it occurs. But beware of pip-compile ignoring build-system.requires or extras when compiling from pyproject.toml.

This is a bit different:

In my solution the packager chooses the pinned dependencies, so users of the package can opt-in to use them.
In your solution the system administrator chooses the pinned dependencies (maybe versioning them in their Ansible playbooks), to upload them to the server before the installation.

(I don't see a clean way for the packager to distribute the constraint file.)

I think I understand now. So then one could do something like pipx install oeis[pinned] to install the app with the dependencies it has been tested with? Interesting idea.
Do you explicitly want to not use a setup.py file to read the dependencies from file?
Do you want to support multiple python versions, operating systems, etc? I believe pip-tools excludes any dependencies that are not enabled for the current environment.

Do you explicitly want to not use a setup.py file to read the dependencies from file?

Yes, I'm more on the side of PEP 621 pyproject.toml-only packaging today. At the time I wrote the issue I was using setup.cfg+pyproject.toml but no setup.py.

Do you want to support multiple python versions, operating systems, etc?

That's the hard point. Since I wrote this issue I encontered real cases were pinning for a version of Python would make the project not installable with another Python version (and almost stopped pinning any dependencies since then).
For Python versions it may be solvable (https://github.com/jazzband/pip-tools/issues/1326). For multiple OSes I don't know I have the same OS on all my laptops/desktops/servers ;)


DatePicker demo代码粘贴到本地React项目以后无法选择日期，只有最后一列可以选择

Uploading 36841_1728986832_raw.mp4…

[ ] I'm sure this does not appear in the issue list of the repository

Basic Info

Package Name And Version<EMAIL_ADDRESS>Phone Model And Version: 2.32.0

Extra info
"react": "^18.3.1",
"react-dom": "^18.3.1",
"@arco-design/mobile-react": "^2.32.0",
谷歌浏览器
What is expected?
可以正常选择日期即可

@1qazsy
Hello, could you please provide a minimal reproducible link?
你好，是否可以提供一个最小可复现的链接？


Complete Execution steps involved in this project

AnomalyDetectionCVPR2018-Pytorch
Pytorch version of - https://github.com/WaqasSultani/AnomalyDetectionCVPR2018
Known Issues:

AUC is not exactly as reported in the paper (0.70 vs 0.75) - might be affected by the weights of C3D

Error happens while using python3 with anaconda ( I recommend you to use pipenv )

C3D Weights
I couldn't upload here the weights for the C3D model because the file is too big, but it can be found here:
https://github.com/DavideA/c3d-pytorch
Dataset (Optional)
Can be downloaded from:
https://www.dropbox.com/sh/75v5ehq4cdg5g5g/AABvnJSwZI7zXb8_myBA0CLHa?dl=0
Download it and save it as a " data " folder
Precomputed Features
Can be downloaded from:
https://drive.google.com/drive/folders/1rhOuAdUqyJU4hXIhToUnh5XVvYjQiN50?usp=sharing
Download and save it as " anomaly_features "
Execution steps :
1.Feature Extraction  :
way 1: Download dataset from the above-given link
way 2: Extracting feature from dataset to run this command
Arguments:

dataset_path - path to the directory containing videos to extract features for (the dataset is available for download above)
model_type - which type of model to use for feature extraction (necessary in order to choose the correct pre-processing)
pretrained_3d - path to the 3D model to use for feature extraction

python feature_extractor.py --dataset_path "path-to-dataset" --model_type "fe-model-eg-c3d" --pretrained_3d "path-to-pretrained-fe"
Run this command :
python feature_extractor.py --dataset_path data --model_type c3d --pretrained_3d pretrained/c3d.pickle
2.Training :
Arguments:

features_path - path to the directory containing the extracted features (pre-computed features are available for download above, or supply your own features extracted from the previous stage)
annotation_path - path to the annotations file (Available in this repository as Train_annotations.txt

python TrainingAnomalyDetector_public.py --features_path "path-to-dataset" --annotation_path "path-to-train-annos"
Run this command :
python TrainingAnomalyDetector_public.py --features_path anomaly_features --annotation_path Train_Annotation.txt

hello,
When I run generate_ROC.py I get this warning
'NoneType' object does not support item assignment
WARNING :  root : VideoIter :: ERROR (Force using another index 0:)
generate_ROC.py --features_path "dataset/" --annotation_path "Test.txt" --model_path "model.pt"
Thanks.

Closing this as it is a copy of readme.md


What's the status of the project?

Where is Cosette 2.0?

I'm also interested in the status of this project.


Donald Trump

Donald Trump won the US Presidential election. There needs to be an event on this.

Also the rise of populism in general.


RevealController Form Editor

Create Default Context controller for the following scenarios:
Should auto bind with form field

Edit Form Text
Edit Form Select
Edit Form Slider
Edit Form Number
Edit Form TextArea

Dev should be able to call a reveal with form field and quickly be able to change value and also validate it to accept chjange using the field's data annotation attr.
string field = RevealController.Controller.TextFieldChange("Title of Blah Blah", "Description of Field", string obj field, "MAsk or regex? maybe?")
we should be able to do that for every common field instead of creating our own custom like i am doing in my project im using it in a way that was not intended be still good option to have?

V3.1
In was added under NovelRevealController... No validation performed yet


SRP GA

Hi @emgerner-msft, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (emgerner). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

SRP should be up-to-date with pull request https://github.com/Azure/azure-sdk-for-java/pull/540. Could you update your pull request to only contain the changes in samples?
Thanks!

Closing as obsolete. Please reopen if necessary.


Updated Readme.md of Blockchain folder

Have you read the Contributing Guidelines on Pull Requests?
eractCoding/NeoAlgo/blob/master/CONTRIBUTING.md#pull-requests)?
(Write your answer here.)
Description
I have added some description about blockchain and bitcoin cyptocurrency technology. They are highly demand and basic learning resources are missing in the web . So I have concise explanation to basic definations. Kindly review it
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
I have contributed my writings on the readme.md of blockchain folder. Kindly merge it

Has it been merged


Can't download videos that have suicide content warning

Version
v1.12.2
Platform
Windows 10
Steps to reproduce
Try to download this video:
https://www.youtube.com/watch?v=vcw5THyM7Jo
https://www.youtube.com/watch?v=vcw5THyM7Jo&rco=1
Details
It shows the following error when I try to download this video

This video have suicide content warning

Checklist

[X] I have looked through existing issues to make sure that this bug has not been reported before
[X] I have provided a descriptive title for this issue
[X] I have made sure that this bug is reproducible on the latest version of the application
[X] I have provided all the information needed to reproduce this bug as efficiently as possible
[ ] I have sponsored this project
[ ] I have not read any of the above and just checked all the boxes to submit the issue

I experience similar behavior (403 Forbidden warning) if there is an age check on the video.
I have authenticated in the download tool, but I get a similar warning as to the issue described by the OP.
One of the LTT April Fool's videos: https://www.youtube.com/watch?v=dJwjqZZgcWk
If I am not logged into google with my desktop browser, I will be greeted with "Sign in to confirm your age This video may be inappropriate for some users." when trying to play the video.

I have authenticated in the download tool, but I get a similar warning as to the issue described by the OP.

If you're authenticated, you shouldn't see the warning

I'd have thought so, but that is the behavior I am seeing.
I am using 1.13.3 - the win x64 bundle on windows 10.  If there are as-yet "unreleased" fixes in a specific branch, I'm up for using that.
My daily driver browser is Firefox, when logged into google, I can play the video no problem, but if I access using Edge or Chrome, which I do not log into google on any regular basis, I am prompted with the age warning.
I did have an earlier issue where I tried downloading another video, and got a short alert along the lines of "video 'X' not available" vs the 403 Forbidden error stack, and in that case, was greeted with a "login to prove you are not a bot", and so, once I had logged in, the video downloaded no problem.  I have remained logged into the tool, and have verified the login status using the authentication icon and dialog.
I'm up for some debugging if there's some breakpoints etc that might be likely suspects that might provide more details.

i'm having the same issues ver 1.13.3 ,winx64

If you're authenticated, you shouldn't see the warning
It doesn't matter. The warning is displayed regardless you authenticated or not. However, if you already approved video once than you will no longer see the warning on such video.

It doesn't matter. The warning is displayed regardless you authenticated or not. However, if you already approved video once then you will no longer see the warning on such video.

I've already watched the LTT video in my browser ( https://www.youtube.com/watch?v=dJwjqZZgcWk - age restricted), authenticated into the tool, but it consistently gives me the forbidden 403, other videos without this restriction download fine.  I pulled the source code, and using the main library + command line harness, it tells me I need to login, but when I use the actual download tool and authenticate, it cannot, and results in a 403.

@ninianne98 browser & this app have separate cookies, so it has no effect on each other. Similar, if you would open same video in Chrome & Firefox. The walkaround might be having integrated in YoutubeDownloader browser like CefSharp, where user could manually press required buttons and pass cookies directly to YoutubeExplode.

browser & this app have separate cookies, so it has no effect on each other.
I'm well aware of each app/browser having their own cookies (it's even something I leverage on a regular basis), but was responding to the statement about if the video has already been approved, on the off chance that somehow my profile was linked to having watched/accepted the "risks" of watching the video.  Thanks for the tip about CefSharp, seems like something worth checking out.  The last time I did some C# driven browser manipulation was using the selenium web driver.

@ninianne98 I suppose the approve is linked to account+cookie, not just account. You may try prove hypothesis by install/open already approved video in different browser.

Thanks for the tip about CefSharp, seems like something worth checking out.

Retrieving cookies from CEF may looks like this:
private async Task<List<System.Net.Cookie>> GetCookiesAsync()
{
    List<System.Net.Cookie> listNetCookie = new List<System.Net.Cookie>();
    var cookieContainer = new CookieContainer();
    var cookieManager = Cef.GetGlobalCookieManager();
    var cookies = await cookieManager.VisitUrlCookiesAsync("https://www.youtube.com", true);

    foreach (var cefCookie in cookies)
    {
        var cookie = new System.Net.Cookie(cefCookie.Name, cefCookie.Value, cefCookie.Path, cefCookie.Domain);
        listNetCookie.Add(cookie);
    }
    return listNetCookie;
}

Than, I don't have much knowledge on YoutubeExplode API. Perhaps something like passing into initializer: new YoutubeClient( cookie ).

Please try the latest CI build, it should be fixed

Please try the latest CI build, it should be fixed

Well, I pulled latest master branch for YoutubeDownloader, and I can see that the Explode package is updated and then tried running the code.  I confirmed that I am authenticated, but I still get the 403 Forbidden when I try to grab the video (v=dJwjqZZgcWk).  I made sure to perform a clean solution before running.
As a validation that the existing downloading was still working fine, I used several videos previously downloaded and the tool grabbed the thumbnails & downloaded fine, when age restriction is not in place.

Does it also not work if you're not authenticated?

Behavior is the same whether I am signed in with the tool to Google or not.
Interestingly, if I am using a list of videos, the thumbnail & title for the restricted videos are retrieved, and they simply appear as failed in the status/result list, but when trying to obtain them singly, it returns the 403 forbidden error stack and does not provide the usual thumbnail and quality selector dialog.


New version: Bitwarden.CLI version 2024.7.2

Pull request has been created with komac v2.3.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-07-31 01:33:23.650 [FAIL] Installer failed security check. Url: https://github.com/bitwarden/clients/releases/download/cli-v2024.7.2/bw-windows-2024.7.2.zip Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
(Automated response - build 887.)

/azp run

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-07-31 15:36:46.011 [FAIL] Installer failed security check. Url: https://github.com/bitwarden/clients/releases/download/cli-v2024.7.2/bw-windows-2024.7.2.zip Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
(Automated response - build 887.)

/azp run

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-08-05 08:38:27.260 [FAIL] Installer failed security check. Url: https://github.com/bitwarden/clients/releases/download/cli-v2024.7.2/bw-windows-2024.7.2.zip Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
(Automated response - build 887.)

/azp run


Bot Emulator shows 403 Quota Exceeded error

Describe the bug
Hi, I'm using a bot with LUIS and QnA. The bot is running well after deploying to MS Teams.
But when use in Bot Emulator, it keeps saying "Response status code does not indicate success: 403 (Quota Exceeded).". See picture below

Version
Bot Composer 1.2
Browser

[ ] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[x] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

Hi @tannguyen3

If you click on that error message in the right pane in Emulator, does it give you more info that might be helpful?
Do you know if it is QnA or LUIS where you are hitting the quota?
I'm assuming when testing in emulator, you are running the bot locally from Composer as well?
What about the case with the success in Teams? Is the bot deployed to Azure and you are using Teams against that, or are you using NGROK, and using Teams against the locally running bot in Composer?
If the bot is deployed to Azure, what about other channels like the built in Test in Web Chat?
Do you have separate prediction and authoring resources for LUIS, or do you use one that is both? One thought is that when running in Composer, you will be using the authoring resource versus a prediction resource when deployed (typically. this really depends on how you have it set up. but that's the default).
What pricing tiers are you using for each of these resources?

Can you check the LUIS and QnA resources in Azure portal under metrics to see if you can find more useful info there (I think Blocked Calls metric should show for this issue).
Some more info on limits and tiers:
Luis resource limits
QnA pricing tier

Thanks, @dmvtech. I don't know what is the root cause yet. But I'm able to make it work by explicitly adding a prediction resource to the LUIS app I'm using in Bot Emulator and then add the prediction endpoint to my bot configuration.
I didn't need to do it before.
My bot LUIS configuration before (no endpoint configrution)
"name": "dev-luis",
    "authoringKey": "",
    "authoringRegion": "westus",
    "region": "westus",
    "defaultLanguage": "en-us",
    "environment": "dev",
    "authoringEndpoint": "https://westus.api.cognitive.microsoft.com/"

and now
 "name": "dev-luis",
    "authoringKey": "",
    "authoringRegion": "westus",
    "region": "westus",
    "defaultLanguage": "en-us",
    "environment": "dev",
    "authoringEndpoint": "https://westus.api.cognitive.microsoft.com/" ,
    "endpointKey": "",
    "endpoint": "https://westus.api.cognitive.microsoft.com/"

Hi @tannguyen3
I'm assuming that you might have hit too many authoring transactions per second, but not sure. I'm not able to reproduce this. If you want to try and share a repository of a bot (with sensitive/personal info removed. i.e. keys and such) that reproduces this behavior for you, I'd be happy to try that.

hi @tannguyen3 Just checking in. Are you able to share your bot so that I can see if I can reproduce? Also; did you check the Azure portal, under metrics to see if you could find any more info?

hi @tannguyen3 Just checking in. Are you able to share your bot so that I can see if I can reproduce? Also; did you check the Azure portal, under metrics to see if you could find any more info?

@dmvtech I think we can close the issue. I cannot share the bot.

@dmvtech I think we can close the issue. I cannot share the bot.


Close All doesnt close editors

Repro steps:
Open multiple editors
Try to close all with Cmd + K,W or mouse clicks
VS Code version: Code 1.71.2 (Universal) (74b1f979648cc44d385a2286793c226e611f59e7, 2022-09-14T21:05:37.721Z)
OS version: Darwin arm64 21.6.0

This was my local problem. Closed.


⚠ Bofrost.es has degraded performance

In 3e70e82, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1586 ms

Resolved: Bofrost.es performance has improved in b9be49f after 29 minutes.