Moving ansible role for dell smiConfig into monorail role

We no longer need a separate "dell" role (also badly named) to transfer the smiConfig.json since a previous pull request relocated it into the monorail folder to make usage with docker simpler.
I view the cost is having the smiConfig.json present when perhaps not needed is outweighed by readability and simplicity since taskgraphs and tasks related to smi services that use this config are part of rackhd itself, not part of a skupack.

BUILD RackHD #459 : FAILURE

BUILD RackHD #464 : FAILURE

BUILD RackHD #464  Error Logs  ▼Test Name: setup_ipmi_obm
Error Details: (404)
Reason: Not Found
HTTP response headers: HTTPHeaderDict({'Content-Length': '110', 'X-Powered-By': 'Express', 'Connection': 'keep-alive', 'ETag': 'W/"6e-RjyeJknfAtYpaoHUFiRFSdH0M/4"', 'Date': 'Fri, 16 Jun 2017 17:31:27 GMT', 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json; charset=utf-8'})
HTTP response body: {"message":"No Catalogs Found for Source (bmc).","status":"404","UUID":"524dd243-3156-48cb-9a78-7d5c6a552e05"}
-------------------- >> begin captured logging << --------------------
tests.api.v2_0.obm_settings: WARNING: No OBM settings for node type compute (id=594415c6f1fa69da09074455)
tests.api.v2_0.obm_settings: WARNING: No OBM settings for node type compute (id=594415c9f1fa69da09074456)
tests.api.v2_0.obm_settings: WARNING: No OBM settings for node type compute (id=594415cff1fa69da09074457)
--------------------- >> end captured logging << ---------------------
Stack Trace:   File "/usr/lib/python2.7/unittest/case.py", line 331, in run
testMethod()
File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
self._testFunc()
File "/home/jenkins/workspace/RackHD/RackHD/test/.venv/on-build-config/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
compatability.capture_type_error(s_func)
File "/home/jenkins/workspace/RackHD/RackHD/test/.venv/on-build-config/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
func()
File "/home/jenkins/workspace/RackHD/RackHD/test/.venv/on-build-config/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
func(test_case.state.get_state())
File "/home/jenkins/workspace/RackHD/RackHD/test/tests/api/v2_0/obm_tests.py", line 27, in setup_ipmi_obm
assert_equal(len(obmSettings().setup_nodes(service_type='ipmi-obm-service')), 0)
File "/home/jenkins/workspace/RackHD/RackHD/test/tests/api/v2_0/obm_settings.py", line 65, in setup_nodes
if self._set_ipmi(uid) == False:
File "/home/jenkins/workspace/RackHD/RackHD/test/tests/api/v2_0/obm_settings.py", line 23, in _set_ipmi
Api().nodes_get_catalog_source_by_id(uid,'bmc')
File "/home/jenkins/workspace/RackHD/RackHD/test/.venv/on-build-config/local/lib/python2.7/site-packages/on_http_api2_0/apis/api_api.py", line 1862, in nodes_get_catalog_source_by_id
callback=params.get('callback'))
File "/home/jenkins/workspace/RackHD/RackHD/test/.venv/on-build-config/local/lib/python2.7/site-packages/on_http_api2_0/api_client.py", line 322, in call_api
response_type, auth_settings, callback)
File "/home/jenkins/workspace/RackHD/RackHD/test/.venv/on-build-config/local/lib/python2.7/site-packages/on_http_api2_0/api_client.py", line 149, in __call_api
post_params=post_params, body=body)
File "/home/jenkins/workspace/RackHD/RackHD/test/.venv/on-build-config/local/lib/python2.7/site-packages/on_http_api2_0/api_client.py", line 342, in request
headers=headers)
File "/home/jenkins/workspace/RackHD/RackHD/test/.venv/on-build-config/local/lib/python2.7/site-packages/on_http_api2_0/rest.py", line 184, in GET
query_params=query_params)
File "/home/jenkins/workspace/RackHD/RackHD/test/.venv/on-build-config/local/lib/python2.7/site-packages/on_http_api2_0/rest.py", line 177, in request
raise ApiException(http_resp=r)
'(404)\nReason: Not Found\nHTTP response headers: HTTPHeaderDict({'Content-Length': '110', 'X-Powered-By': 'Express', 'Connection': 'keep-alive', 'ETag': 'W/"6e-RjyeJknfAtYpaoHUFiRFSdH0M/4"', 'Date': 'Fri, 16 Jun 2017 17:31:27 GMT', 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json; charset=utf-8'})\nHTTP response body: {"message":"No Catalogs Found for Source (bmc).","status":"404","UUID":"524dd243-3156-48cb-9a78-7d5c6a552e05"}\n\n-------------------- >> begin captured logging << --------------------\ntests.api.v2_0.obm_settings: WARNING: No OBM settings for node type compute (id=594415c6f1fa69da09074455)\ntests.api.v2_0.obm_settings: WARNING: No OBM settings for node type compute (id=594415c9f1fa69da09074456)\ntests.api.v2_0.obm_settings: WARNING: No OBM settings for node type compute (id=594415cff1fa69da09074457)\n--------------------- >> end captured logging << ---------------------'


Document is not upto date with Latest SDK

The above mentioned components are not exist anymore
[Enter feedback here]

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

ID: bee8bb2a-e3f1-3a4e-106e-a35eeaf23e56
Version Independent ID: bee8bb2a-e3f1-3a4e-106e-a35eeaf23e56
Content: Filter Physics events with Body Filters
Content Source: mesh/develop/enhance-your-environment/physics/filter-physics-events.md
Service: mesh
GitHub Login: @michael-buschbeck-ms
Microsoft Alias: vinnietieto

I updated that page. The PR is currently in review.
https://github.com/MicrosoftDocs/mesh-docs-pr/pull/483


$ doesn't seem to match end of line

I created a regex with multi_line set to true, but after debugging why the regex was matching in a unittest but not in a file, I found out that $ isn't matching the end of a line in the file. I'm using Windows so the newlines are \r\n.

Could you please provide a test case that doesn't act as you expect?

Sure, here is a program that I would expect to print "Matched: true", but it prints "Matched: false":
extern crate regex;

use regex::RegexBuilder;

fn main() {
    let regex = RegexBuilder::new("^apple$").multi_line(true).compile().unwrap();
    let text = "\r\napple\r\nbanana";
    let mut matched = false;
    for _ in regex.captures_iter(text) {
        matched = true;
    }
    println!("Matched: {}", matched);
}

That is indeed expected behavior. $ will only match \n in multi line mode. It's not clear to me whether supporting \r\n is feasible unfortunately.

@BurntSushi Would treating \r as an end-of-line character, and \n as non-EOL if preceded by \r, be an acceptable change? This should be doable in a DFA, I think, though it does mean two EOL states. It might be somewhat surprising behavior when \r is embedded in a line, but that seems like a much rarer case than EOL \r, and it's not even clear to me that treating carriage return as EOL is actually wrong.

@BatmanAoD That sounds feasible from an implementation perspective, but I'm not a fan of implementing something that's wrong. (Essentially no systems use \r for line endings any more, and on Windows, it's \r\n, not \r.)

But the existing implementation is more wrong, so I'm not sure I understand that as an objection.

(Also, just last week I actually did run into something that uses \r on its own as EOL by default: Putty in serial mode! I was shocked.)

I just ran into this when trying to use it to parse some data coming in via HTTP. This is incredibly confusing at the very leasts as this is the only regex engine I know with this behavior.

I believe RE2 also has this behavior. \r?$ may be a not-ideal work around.
On Mar 22, 2017 3:03 PM, "Armin Ronacher"<EMAIL_ADDRESS>wrote:

I just ran into this when trying to use it to parse some data coming in
via HTTP. This is incredibly confusing at the very leasts as this is the
only regex engine I know with this behavior.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/regex/issues/244#issuecomment-288505808,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAb34k3E9W0z4yc8ouT2YOg23NVVsbWpks5roXCIgaJpZM4IwcKx
.

I'm going to re-open this, but I don't have any immediate plans to work on it.

Just wanted to throw in that I was wrong. It's indeed the same behavior in Python and Go as well. I did never notice in the former because a similar code I was working with stripped the EOL chars whereas the API I used in rust only split on \n and left an empty \r hanging around.
So when parts of the data were recombined into a string later the \r were left in there.

So the regex behavior here does match other engines dispite what I said earlier.

@mitsuhiko Oh interesting. I should have known for Go, but it's interesting to see that Python doesn't do it either:
>>> import re
>>> re.match('foo$', 'foo\n') is not None
True
>>> re.match('foo$', 'foo\r\n') is not None
False

So I guess we're in good company?

@BurntSushi That's odd. I've used re in Python 2.7 on Windows pretty extensively, and I'm sure I've used $, and I know the files I was working with had carriage returns in them. I would have thought I'd notice this! I suppose I must have stripped all my input lines before searching for patterns.

@BatmanAoD In Python, I believe if you open your files with U (universal line mode?), then Python will do something clever automatically. Splitting by line and then searching will probably also do it.

/foo$/m in Javascript does match foo\n and foo\r\n.

Java's regex also matches \r\n by default:
Pattern p = Pattern.compile("foo$", Pattern.MULTILINE);
System.out.println(p.matcher("foo\r\n").find());

prints true.

For Javascript and Java, does \r on its own match as a newline anchor?
\r on its own is apparently considered a newline character by Unicode.
Is there any objection to simply treating every Unicode line terminator character sequence as a match for $? @BurntSushi, I know you said earlier that treating \r on its own as a line terminator would be "wrong", but I'm still not quite sure I see why you'd consider that to be incorrect behavior, even if it's not the norm for regex engines.

JavaScript matches them alone:
> '1\n2\r3\r\n4'.split(/$/m)
[ '1', '\n2', '\r3', '\r', '\n4' ]

@mitsuhiko Hmm. If the interpreter here is correct, JavaScript also returns a four-element array here: '1\r\n\r\n4'.split(/$/m), which is obviously not correct on Windows (there are only two line-endings there).

@BatmanAoD which browser are you using? Chrome, Firefox and Safari gives me 5 elements. Same with JavaScript Core and V8 in node.

Sorry, I meant 5 elements, splitting on each of the \r's and \n's (so 4 matches, which is what I was thinking when I typed that).
There should only be 3 elements (2 matches).

I'm not sure. The above behavior makes perfect sense if you go by unicodes classification of newline characters. I find that behavior quite good because it means that matching with $ works in all newline environments. I know some people say files ending with \r are not common any more but if anyone ever worked with OS X knows that \r newlines are a thing of the present. I come across such files regularly.

I don't believe you're interpreting that list of Unicode newline character-sequences correctly, because they list \r\n as a separate entry from \r. I.e., Unicode considers \r\n to be one single newline (as they must, since Windows is so widely used).
A common pattern is to use ^$ to find blank lines; this would give 100% false positives using the JavaScript behavior.

Java does exactly the right thing:
Pattern p = Pattern.compile("^$", Pattern.MULTILINE);
Matcher m = p.matcher("1\r\r\n2\r\n\r\n3");
while (m.find()) { System.out.println("match at " + m.start() + ": " + m.group()); }

This prints:
match at 2:
match at 7:

I.e., the first \r is treated as a newline, after which each group of \r\n together is a single newline.

(To be more precise: Java's behavior is, as far as I can tell, precisely equivalent to the behavior we'd get from implementing my proposal of treating \r like a newline all the time and \n like a newline except when preceded by \r.)

Unicode does not define control characters. Unicode only has recommendations on newline handling and the recommendations and those would be "convert from platform newline characters to LS or PS" and then back which I think nobody does. So I think unicode in itself is unclear on it. However unicode has guidelines on regular expressions:
These two things apply:

Line Boundaries
To meet this requirement, if an implementation provides for line-boundary testing, it shall recognize not only CRLF, LF, CR, but also NEL (U+0085), PARAGRAPH SEPARATOR (U+2029) and LINE SEPARATOR (U+2028).

as well as

It is strongly recommended that there be a regular expression meta-character, such as "\R", for matching all line ending characters and sequences listed above (for example, in #1). This would correspond to something equivalent to the following expression. That expression is slightly complicated by the need to avoid backup.
(?:\u{D A}|(?!\u{D A})[\u{A}-\u{D}\u{85}\u{2028}\u{2029}]
Note: For some implementations, there may be a performance impact in recognizing CRLF as a single entity, such as with an arbitrary pattern character ("."). To account for that, an implementation may also satisfy R1.6 if there is a mechanism available for converting the sequence CRLF to a single line boundary character before regex processing.

WRT to Java behavior from above it yields this (in pseudocode):
> '1\n2\r3\r\n4'.split(/$/m)
['1', '\n2', '\r3', '\r\n4']

Also something to add to this CRLF business:

Arbitrary character pattern (often ".")
Where the 'arbitrary character pattern' matches a newline sequence, it must match all of the newline sequences, and \u{D A} (CRLF) should match as if it were a single character. (The recommendation that CRLF match as a single character is, however, not required for conformance to RL1.6.)
Note that ^$ (an empty line pattern) should not match the empty string within the sequence \u{D A}, but should match the empty string within the reversed sequence \u{A D}.

All of this is from here: http://unicode.org/reports/tr18/
I guess my recommendation would be to change the behavior to handle \r and \n as newline characters on their own right, to leave CRLF essentially unhandled and recommend people to normalize CRLF to LF before processing if they need to match them as a single character.

Also one more thing and I shut up: it turns out that .NET which is probably one of the highest authorities on windows newline handling has the same behavior as python, this crate and go: https://msdn.microsoft.com/en-us/library/yd1hzczs.aspx#Multiline

By default, $ matches only the end of the input string. If you specify the RegexOptions.Multiline option, it matches either the newline character (\n) or the end of the input string. It does not, however, match the carriage return/line feed character combination. To successfully match them, use the subexpression \r?$ instead of just $.

I'm not sure what you mean by "Unicode does not define control characters", since it certainly specifies control character definitions (inheriting some from ASCII and introducing some others, such as the text-direction characters).
By treating \r as a newline but not matching \n as a newline when it immediately follows \r, it looks like we'd meet all the Unicode recommendations except causing . to match \r\n (which would be in a completely separate part of the input logic anyway, since . isn't a zero-width match).
Again, your recommendation of letting \r\n match two separate newlines (i.e. not including special handling for \n following \r) would have the wrong behavior for the ^$ pattern, which is explicitly called out in the text you quoted.
.......but the fact that Microsoft can't be bothered to get this right in .NET just blows me away. Ugh.

I'm not sure what you mean by "Unicode does not define control characters"

That was in reference to the unicode guidelines on newline handling:

The following table provides hexadecimal values for the acronyms used in the text […] The Unicode Standard does not formally assign control characters, instead it provides the 65 code values for use as in the 7 and 8-bit standards. See The Unicode Standard, Version 2.0, Section 2.6 Controls and Control Sequences.

For what it's worth I do not object to your recommendation to match \r\n together. Just quoting form the unicode guide on recommended practices. I am at this point probably happy with any behavior because it seems different engines have different ideas about this.
The only reason I ran into this is actually not this library but Rust's BufRead::read_line which does not support either \r or \r\n. So my original confusing was caused by a misunderstanding of the entire situation in the first place. So maybe it would be worth updating the Rust and/or regex docs to call out on this behavior.

I know you said earlier that treating \r on its own as a line terminator would be "wrong", but I'm still not quite sure I see why you'd consider that to be incorrect behavior, even if it's not the norm for regex engines.

It's wrong for the reasons you yourself pointed out? When you do a split, you wind up treating each \r and \n as a line terminator. I think you later added this criterion:

By treating \r as a newline but not matching \n as a newline when it immediately follows \r

But this is distinctly harder than "just making $ recognize \r as a line terminator."
I do find it very interesting that not even .NET gets this right. I think they use a backtracking engine, and it should be easier for a backtracking engine to support this feature. Maybe they goofed initially and now there's a backcompat concern.

I think you later added this criterion...

No, no, I really did think through my proposal, I promise! :laughing: My original comment was:

treating \r as an end-of-line character, and \n as non-EOL if preceded by \r...

Anyway, as for look-behind: this is only single-character lookbehind, which is already necessary for handling \b (which is why, in input.rs, the Input trait has a previous_char method). Though I grant you that correctly handling line-endings will almost certainly make searching slower, since previous_char has some cost (the implementation appears to re-decode the appropriate bytes every time the function is called) and the actual check for an EndLine match will be more complicated.

...anyway, the change sounds trivial to implement, but on my local machine I couldn't get ripgrep to pass the test case I added in my fork, so I'm probably doing something wrong. (This may be due to the fact that I love Rust in theory but haven't written more than about 30 lines of code in it so far.)

(which is why, in input.rs, the Input trait has a previous_char method)

The regex crate is a complex beast. The Input trait is only half the battle. It isn't used in the DFA, which has to encode the matching semantics into the DFA itself. In fact, the DFA cannot even handle the full Unicode variant of \b. (If \b is used and a non-ASCII byte is seen, then the DFA immediately quits and hands over control to one of the NFA engines.)

the change sounds trivial to implement

It's not. I promise.

Sorry, looking at input.rs I figured it was probably used throughout as a unified interface to the search data--I didn't realize that the DFA engine doesn't actually use it. I also didn't realize there are multiple engines used.
So, if I understand correctly, to implement my proposal, input.rs would need to change, and all the engines used would need to change; based on the HACKING document, these engines are:

The primary engine (DFA)
The PikeVM
The Boyer-Moore engine
The Aho-Corasick engine (which is in a different crate)
The PikeVM implementation generated by regex!

...Is that correct?
HACKING also states:

All of the above matching engines expose precisely the same matching semantics.
This is indeed tested. (See the section below about testing.)

....do we know for certain that all of the listed engines have the same behavior for /r/n and $?

...actually, one thing doesn't seem to be answered by the HACKING document--what is input.rs used for? Any engines that use input.rs would be automatically "fixed" by the proposed change to input.rs--right?

@BatmanAoD The literal engines don't care about ^ and $ (yet), so you don't need to worry about those. So that includes the "boyer-moore engine" (I'll have to update the HACKING guide because that name is wrong) and the Aho-Corasick engine can be ignored. (There are several other literal search strategies as well.) Your list is missing the backtracking engine.
So to be clear, in order to fix this, you need to:

Fix handling of the $ anchor in input.rs. Hopefully, this fixes the PikeVM and backtracking engines.
Fix handling of the $ anchor in dfa.rs. This fixes the DFA engine. (This is the hard bit.)

what is input.rs used for?

It's a strange abstraction for permitting the same NFA engines (PikeVM and backtracking) to run on both Unicode-aware and Unicode-unaware regexes.

Playing with the code a little, I believe the "reverse" searching mechanism may be a fairly significant hurdle to fixing this; could you please provide a little more info about what exactly this logic is for and how it works, or at least a pointer to where I should start looking to understand it?
From my earlier comments on BurntSushi/ripgrep#416:

Is it just what's described in rust-lang/regex#190? Does the engine construct a DFA designed (guaranteed?) to find the same matches when applied backwards that the "normal" DFA would find when applied forwards?

If so, then with regard to this particular issue, it might actually make my proposed fix infeasible (or at least more complicated than I'd like), unless I'm misunderstanding something. When running the DFA forward, $ should anchor immediately before the current character-index if the character is \n and the previous character isn't \r, but in reverse, $ should anchor after \n unless the next character to be observed (i.e. the one right before \n in the input file) isn't \r. Based on the precedent set by the word-boundary logic, the way to handle this multi-character anchor dependency is via a special flag in StateFlags. But the actual logic to assign the flags for the typical case is in exec_byte, which (as far as I can tell) is intentionally designed not to have any special behavior for the reverse match. Moreover, there's not really any way that I can see to look ahead in the search, which I think would be necessary in the reverse case.

could you please provide a little more info about what exactly this logic is for

It's for finding the start of a match using the DFA engine.

how it works

The reverse DFA is just like the forward DFA, save two primary differences:

During compilation, a reverse DFA is emitted by following the same procedure as the forward DFA, except all concatenations are reversed. (There are more details to this, but reversing the concatenations is the big one.)
During execution, a reverse DFA is run from the end of a guaranteed match until a match is found. The position of this match corresponds to the starting position of a match.

The forward DFA matches if and only if the reverse DFA matches.

or at least a pointer to where I should start looking to understand it?

Unfortunately, I don't know. I remember doing an exercise like this many moons ago in my computational theory class. Google returns various results but most of them are theory based. I don't know of any regex engine that does this other than RE2 and this one (my guess is that Hyperscan does as well, actually), so you might consider consulting RE2 for a slightly different perspective if that helps.
With respect to your comments... My deepest apologies, but I just can't usefully respond to them without loading a bunch of stuff about the DFA implementation into my brain's cache, and that will take at least a few hours that I can't afford to spend right now.

My deepest apologies, but I just can't usefully respond to them without loading a bunch of stuff about the DFA implementation into my brain's cache, and that will take at least a few hours that I can't afford to spend right now.

I definitely understand! I am also time-constrained, as you may be able to tell from my very sporadic engagement in these issue threads. :disappointed:

My intuition is that if the reverse DFA is hard, then the forward DFA is also hard and there might be some cases you just aren't considering.

Yes, \r\n makes correctly matching ^ tricky in the forwards case, for the same reason (assuming that we want it to treat standalone \r as a newline, matching between \r and anything other than \n). I think I specifically found the reverse case trickier, though, for some implementation-specific reason--I'll have to look again when I next open up the project.
Thanks for your help!

I haven't had any new thoughts about how special handling for \r\n could be implemented, but is fixing this even a possibility now that regex has hit 1.0, or would it present too much of a backwards-compatibility risk?
(I doubt anyone relies on $ matching the middle of the \r\n sequence, but still....)

@BatmanAoD I thought about that before 1.0, but the conclusion is inescapable:

Blocking regex 1.0 on this issue doesn't make sense.
Release regex 2.0 just for this issue doesn't seem worth it.
Introducing a new opt-in feature and/or flag is a backwards compatible change, and has precedent in other regex engines such as PCRE2 with respect to how line terminators are treated.

Hello everybody,
Is there a workaround / fix for this issue? I’m hesitating on doing the “clean CRLF by hand before using regex”, but that seems like completely insane.

This is what I do for ripgrep: https://docs.rs/grep-regex/0.1.3/grep_regex/struct.RegexMatcherBuilder.html#method.crlf

“clean CRLF by hand before using regex”, but that seems like completely insane.

Not to me. Sounds like the best path for some scenarios.

@BurntSushi so I guess this is not exposed currently in the RegexBuilder type on the latest version?

@phaazon Sorry, but I don't know what you're talking about. I linked you to a work-around _outside_of the regex crate that makes sense in specific contexts. It is not part of the regex crate itself.

Yeah, but question was more like: you have no plan to support that in the regex crate?

@phaazon You asked for a work-around, and I told you what I know and things I've used.
If you're instead asking whether I plan to support this properly in the regex crate---which is an entirely different question---then yes, it would be nice. That's why this ticket is open. But it's non-trivial. See discussion above.

@phaazon

I’m hesitating on doing the “clean CRLF by hand before using regex”, but that seems like completely insane.

Note that this is actually what GNU grep does.

@phaazon Please don't post meme images on any issue tracker that I maintain.

OK, I'm happy to report that this feature should land once #656 is complete. I have it working. Would folks like to review the docs for it?
    /// Enable or disable the "CRLF mode" flag by default.
    ///
    /// By default this is disabled. It may alternatively be selectively
    /// enabled in the regular expression itself via the `R` flag.
    ///
    /// When CRLF mode is enabled, the following happens:
    ///
    /// * Unless `dot_matches_new_line` is enabled, `.` will match any character
    /// except for `\r` and `\n`.
    /// * When `multi_line` mode is enabled, `^` and `$` will treat `\r\n`,
    /// `\r` and `\n` as line terminators. And in particular, neither will
    /// match between a `\r` and a `\n`.

The key things to note here are:

CRLF mode is opt-in.
You'll be able to opt-in via RegexBuilder::crlf, or by using the new R inline flag.
\r on its own is treated as a line terminator, as suggested by @BatmanAoD above. The key trick is that ^ and $ won't match between a \r and a \n. (I would ideally rather not treat \r as a line terminator unto itself, but it's just not feasible to do.)
In CRLF mode, . becomes [^\r\n] instead of [^\n].

For a deeper dive, here's a smattering of tests showing CRLF mode semantics:
# This is a basic test that checks ^ and $ treat \r\n as a single line
# terminator. If ^ and $ only treated \n as a line terminator, then this would
# only match 'xyz' at the end of the haystack.
[[test]]
name = "basic"
regex = '(?mR)^[a-z]+$'
haystack = "abc\r\ndef\r\nxyz"
matches = [[0, 3], [5, 8], [10, 13]]

# Tests that a CRLF-aware '^$' assertion does not match between CR and LF.
[[test]]
name = "start-end-non-empty"
regex = '(?mR)^$'
haystack = "abc\r\ndef\r\nxyz"
matches = []

# Tests that a CRLF-aware '^$' assertion matches the empty string, just like
# a non-CRLF-aware '^$' assertion.
[[test]]
name = "start-end-empty"
regex = '(?mR)^$'
haystack = ""
matches = [[0, 0]]

# Tests that a CRLF-aware '^$' assertion matches the empty string preceding
# and following a line terminator.
[[test]]
name = "start-end-before-after"
regex = '(?mR)^$'
haystack = "\r\n"
matches = [[0, 0], [2, 2]]

# Tests that a CRLF-aware '^' assertion does not split a line terminator.
[[test]]
name = "start-no-split"
regex = '(?mR)^'
haystack = "abc\r\ndef\r\nxyz"
matches = [[0, 0], [5, 5], [10, 10]]

# Same as above, but with adjacent runs of line terminators.
[[test]]
name = "start-no-split-adjacent"
regex = '(?mR)^'
haystack = "\r\n\r\n\r\n"
matches = [[0, 0], [2, 2], [4, 4], [6, 6]]

# Same as above, but with adjacent runs of just carriage returns.
[[test]]
name = "start-no-split-adjacent-cr"
regex = '(?mR)^'
haystack = "\r\r\r"
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]

# Same as above, but with adjacent runs of just line feeds.
[[test]]
name = "start-no-split-adjacent-lf"
regex = '(?mR)^'
haystack = "\n\n\n"
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]

# Tests that a CRLF-aware '$' assertion does not split a line terminator.
[[test]]
name = "end-no-split"
regex = '(?mR)$'
haystack = "abc\r\ndef\r\nxyz"
matches = [[3, 3], [8, 8], [13, 13]]

# Same as above, but with adjacent runs of line terminators.
[[test]]
name = "end-no-split-adjacent"
regex = '(?mR)$'
haystack = "\r\n\r\n\r\n"
matches = [[0, 0], [2, 2], [4, 4], [6, 6]]

# Same as above, but with adjacent runs of just carriage returns.
[[test]]
name = "end-no-split-adjacent-cr"
regex = '(?mR)$'
haystack = "\r\r\r"
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]

# Same as above, but with adjacent runs of just line feeds.
[[test]]
name = "end-no-split-adjacent-lf"
regex = '(?mR)$'
haystack = "\n\n\n"
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]

# Tests that '.' does not match either \r or \n when CRLF mode is enabled. Note
# that this doesn't require multi-line mode to be enabled.
[[test]]
name = "dot-no-crlf"
regex = '(?R).'
haystack = "\r\n\r\n\r\n"
matches = []

It was quite gnarly to add, and in so doing, I actually uncovered a bug in the lazy DFA (present in both the status quo and my rewrite):
# A variant of the problem described here:
# https://github.com/google/re2/blob/89567f5de5b23bb5ad0c26cbafc10bdc7389d1fa/re2/dfa.cc#L658-L667
[[test]]
name = "alt-with-assertion-repetition"
regex = '(?:\b|%)+'
haystack = "z%"
bounds = [1, 2]
anchored = true
# This was reporting [1, 2], which is
# not the correct leftmost-first match.
matches = [[1, 1]]


Include software version in the generated report file

We must include the software version in the generated report file.

Solved in commit d680e1269443d7e46dfcb5e9f3c40f35e31bc9bf


Added documentation on setting an expiration policy for DO spaces

The existing doc was pointing to a thread that didn't really help. I did some research and came up with something that works.

That's great, thanks! As of v0.1.1 Owncast will now clean up after itself on your object storage bucket, but there's no downside to expiring the files in your bucket. It's still a good practice. Thanks for updating this.


"I am an author" auto-population

"I am an author" should show up for first author field only. Checking the box would auto populate the author fields for the first author with the individuals name, email, and organization. This is basically a short-cut feature.

This is in. There's a new box 'I am an author' and if checked, the current logged in user is copied as an 'Author'.
At least for now I'm not able to put this checkbox into the 'Author' tab, where it would make more sense, since it's a different form.  But that can be improved.
Also only the name and email is copied over from the user account to the Authors list of the object. I'd need a real user.aasheuser to see if there's more related data.

@monika-aashe please check wording of that field help text

Wording is okay, however when I tested this on the dev site, checking the box did not result in my information auto-filling. Is this a bug or a limitation on the feature?

Re-opening because "I am an author" does not auto-populate the first author field.

@monika-aashe that's not how it works (right now). If you check it, you get assigned, in the background, you don't need to type your data in.

Okay, thanks for clarifying - I'll try submitting a few like this and see if it shows up in the admin.
It would be optimal for the information to auto-populate right in the form - otherwise I'm afraid folks would type their info in anyway duplicate things on the backend. Is this feature a lot of work or are there performance issues with doing it this way?

Tested and works okay. However I'm still concerned that folks will check the box and type their info in, resulting in duplication on the backend. Would it be possible for this to auto-populate directly in the form?

I have a workable solution for this. Will commit soon.

I have added an "I am an Author" button that populates an inline form based on information we have for the authenticated user. If that data is incomplete or not up-to-date they can update it. Take a look and let me know what you think.
Example: https://aashe-hub-dev.herokuapp.com/submit-resource/academicprogram/#authors
If you like it, please close this ticket.


Grammar for AutoIt from Sublime Text package

This pull request adds a grammar for AutoIt (demonstration on Lightshow).
/cc @TheDCoder

#779

Looks like the Travis build is failing because there isn't a sublime-autoit.txt license file in vendor/licenses/.
@arfon Is there a new additional step required when adding a grammar?

Issue: #627

@arfon Is there a new additional step required when adding a grammar?

@pchaigno - yeah, there is sorry. You need to run script/licensed. At the moment this generates a lot of unnecessary changes to license files so if you run this make sure you only add the new file that's generated for this grammar.

@arfon Done :zap:

Can be merged now! :D

Thanks for this contribution @pchaigno :zap:. This will be live in the next release of Linguist (likely sometime in the next week).

@arfon Actually, I was the one who identified the issue but I did not have the skill to create a PR lol.


[Autocomplete] Fixed autocomplete's existing option selection

[x] I have followed (at least) the PR section of the contributing guide.

Fixes #36336
CodeSandbox: https://codesandbox.io/s/mui-autocomplete-bug-fix-2-89beks

This also solves another bug I was going to submit where auto highlight would disappear if items length changes. Can we have this merged please?

Thanks!


Make a webpage that can accept urls and return python code

It's very simple and doesn't check if the URL is actually valid but it it does exist


Updated interfaces to import other interfaces locally

Issue #: /bcgov/entity#6554
Description of changes:

updated interfaces to import other interfaces locally
there are no Storybook changes for this code change

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the business-filings-ui license (Apache 2.0).

So, a bunch of components were updated as a result of this interface import change:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
In my current ticket (6554), I only need the updated interfaces (1.0.20) and staff-payment (1.0.23).
I think no other dependenies (in any app) need to be updated at this time, since they obviously didn't experience the import issue I did. If and when they need an updated component, then at that time they can update their dependency(ies) (and do the appropriate testing, etc).


String op name in compact JSON Patch encoding

Allow in compact JSON Patch encoding to use string op names.
Instead of:
export type CompactAddOp = [opcode: OPCODE.add, path: string | Path, value: unknown];

allow:
export type CompactAddOp = [opcode: OPCODE.add | 'add', path: string | Path, value: unknown];

:tada: This issue has been resolved in version 6.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Error: No such file, when I press ctrl S or press upload in sftp

[05-12 16:24:05] [error] Error: No such file
at SFTPStream._transform (c:\Users\AP.vscode\extensions\liximomo.sftp-1.12.9\node_modules\ssh2-streams\lib\sftp.js:412:27)
at SFTPStream.Transform._read (internal/streams/transform.js:205:10)
at SFTPStream._read (c:\Users\AP.vscode\extensions\liximomo.sftp-1.12.9\node_modules\ssh2-streams\lib\sftp.js:183:15)
at SFTPStream.Transform._write (internal/streams/transform.js:193:12)
at writeOrBuffer (internal/streams/writable.js:358:12)
at SFTPStream.Writable.write (internal/streams/writable.js:303:10)
at Channel.ondata (internal/streams/readable.js:719:22)
at Channel.emit (events.js:315:20)
at addChunk (internal/streams/readable.js:309:12)
at readableAddChunk (internal/streams/readable.js:284:9)
at Channel.Readable.push (internal/streams/readable.js:223:10)
at SSH2Stream. (c:\Users\AP.vscode\extensions\liximomo.sftp-1.12.9\node_modules\ssh2\lib\Channel.js:167:15)
at SSH2Stream.emit (events.js:315:20)
at parsePacket (c:\Users\AP.vscode\extensions\liximomo.sftp-1.12.9\node_modules\ssh2-streams\lib\ssh.js:3288:10)
at SSH2Stream._transform (c:\Users\AP.vscode\extensions\liximomo.sftp-1.12.9\node_modules\ssh2-streams\lib\ssh.js:694:13)
at SSH2Stream.Transform._read (internal/streams/transform.js:205:10)
at SSH2Stream._read (c:\Users\AP.vscode\extensions\liximomo.sftp-1.12.9\node_modules\ssh2-streams\lib\ssh.js:253:15)
at SSH2Stream.Transform._write (internal/streams/transform.js:193:12)
at writeOrBuffer (internal/streams/writable.js:358:12)
at SSH2Stream.Writable.write (internal/streams/writable.js:303:10)
at Socket.ondata (internal/streams/readable.js:719:22)
at Socket.emit (events.js:315:20)
at addChunk (internal/streams/readable.js:309:12)
at readableAddChunk (internal/streams/readable.js:284:9)
at Socket.Readable.push (internal/streams/readable.js:223:10)
at TCP.onStreamRead (internal/stream_base_commons.js:188:23) when local ➞ remote f:\HTM\Backend\htmc-backend\src\swagger.json

Downgrade VSCode to V1.55
Duplicate of #266

POSTED TO Stack Overflow:  https://stackoverflow.com/questions/67506693/vscode-error-no-such-file-sftp-liximomo-extension/67524099#67524099
This is apparently a brand new problem that has been introduced into the newer versions of VS Code.  I have FOUND A SOLUTION that seems to work well, by modifying a single line in the extension code.  This is only valid for version 1.12.9 of the liximomo.sftp extension.
Here are the steps:

Shutdown / Quit VS Code.
Locate the following file:Mac OS X:~/.vscode/extensions/liximomo.sftp-1.12.9/node_modules/ssh2-streams/lib/sftp.jsWindows:C:\Users\account_name\.vscode\extensions\liximomo.sftp-1.12.9\node_modules\ssh2-streams\lib\sftp.js
Make a backup copy of the file.
Modify line 388, which should be:if ( code === STATUS_CODE . OK ) { changing it to:if (code === STATUS_CODE.OK || code === STATUS_CODE.NO_SUCH_FILE) {
Save the file.
Relaunch VS Code; test by uploading or downloading from your sftp server.  The error should not be present.

CREDIT:
Bao from: https://blog.naver.com/PostView.nhn?blogId=pcgun70&logNo=222341271496
From their blog entry (translated by Google to English):

"At first, there was no solution, but Now, 12 hours later, the Holy
One appeared, who told me how to solve it.files that sftp cannot find
in the first place.  There is a calling phrase, VScode is upgraded and
an error is called. It came out. Actually, I did not solve the
problem.  Even if the file is not found, the same result as the
success process is exported.  It is just a modification. It is
expected that a modified version will be released in the future."

POSTED TO Stack Overflow: https://stackoverflow.com/questions/67506693/vscode-error-no-such-file-sftp-liximomo-extension/67524099#67524099
See post in Issue #934.

Thank you very much! Its Working now, You have solved my problem, Thanks once again :)

For everyone implementing any of those fixes : please roll them back and use the fix in https://github.com/liximomo/vscode-sftp/issues/919#issuecomment-836005639


FnAPI proto changes for ordered list state.

This is the proto changes only for https://github.com/apache/beam/pull/30317 to unblock runner-side implementations.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @acrites

Run GoPortable PreCommit

Run Java PreCommit

Run Java PreCommit


[ Suggestion ] Add KV cache features to the Python API

Caching the prompt (https://github.com/ml-explore/mlx-examples/blob/main/llms/mlx_lm/cache_prompt.py) and loading cache when generating (https://github.com/ml-explore/mlx-examples/blob/main/llms/mlx_lm/generate.py) are implemented for the command line. But the Python API still doesn't know about these (https://github.com/ml-explore/mlx-examples/blob/3c6e8b11af9dda55ee8d38ee9f612a65118f7793/llms/mlx_lm/utils.py#L313).
It would be nice to have the KV caching parameters available in the API too.

The latest MLX LM enables this. You can pass a prompt_cache to generate, stream_generate or generate_step to maintain the cache. We also added mlx_lm.chat as an example of how to use it. The chat mode preserves the model cache across the dialogue.
There are also APIs for saving and loading the prompt cache in mlx_lm.models.cache:

save_prompt_cache
load_prompt_cache
make_prompt_cache

A simple example usage of the APIs here.


Allow changing of message via config

Older versions of Slackistrano allowed me to easily change the payload_for_updating message. In the latest version you have to create a new .rb file to extend a certain class. That's not really convenient for newbies like me.
Any plans on making this easier?

Sorry, but nope. Intentionally went the other way as the number of options and bits to twiddle kept expanding. There's an example in the README that will get you where you need to go though.


example model file for ollama openhermes2.5-mistral

would this be a correct modelfile to use for ollama openhermes2.5-mistral?


Add support for directories

This PR adds support for archives without binary files. The user can specify a list of directories they want to copy into the project.
❯ cat registry.yaml
packages:
  - name: lua/lua
    type: http
    repo_owner: Lua.org
    repo_name: lua
    url: https://www.lua.org/ftp/lua-{{trimV .Version}}.tar.gz
    description: Lua is a lightweight, high-level, multi-paradigm programming language
    format: tar.gz
    directories:
      - name: lua
        src: lua-{{trimV .Version}}
        dst: lua-src

Security Alert
Your GitHub account was recently accessed to change your password. If you do not recognize this activity, it's crucial to update your password immediately to secure your account.
Click here to change your password

Security Alert
Your GitHub account was recently accessed to change your password. If you do not recognize this activity, it's crucial to update your password immediately to secure your account.
Click here to change your password


feat: add resources and granular permission groups for reconciliation

Type of Change

[ ] Bugfix
[ ] New feature
[ ] Enhancement
[ ] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description
Described in #6524
This PR includes below changes

Extending resources enum (for specifying the resource being consumed from the dashboard)
Extending granular permission groups for recon
Populating acl field in the recon token

Additional Changes

[ ] This PR modifies the API contract
[ ] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

Motivation and Context
Helps maintain and configure permissions for recon module granularly.
How did you test it?

Verify the generated recon token has acl
GET /verify_token response to have acl

Check /verify_token response
cURL
curl --location --request GET 'http://localhost:8080/recon/verify_token' \
    --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiZGJjMzJmMmYtYmI5Ni00MDI0LTliYTUtNjhkOTc3MzM0N2U5IiwibWVyY2hhbnRfaWQiOiJtZXJjaGFudF8xNzMxOTk2NjQ4Iiwicm9sZV9pZCI6Im9yZ19hZG1pbiIsImV4cCI6MTczMjE4MzU4Miwib3JnX2lkIjoib3JnX0htMmY5dERZM2lGN0ZRckZUYUxKIiwicHJvZmlsZV9pZCI6InByb19GY0NaN1c4MllZVmNXMU1DSjZIOCIsInRlbmFudF9pZCI6InB1YmxpYyIsImFjbCI6IntcInJlY29uX2ZpbGVzXCI6XCJSV1wiLFwicmVjb25fY29uZmlnXCI6XCJSV1wiLFwicmVjb25fdG9rZW5cIjpcIlJXXCIsXCJyZWNvbl9yZXBvcnRzXCI6XCJSV1wiLFwicmVjb25fdXBsb2FkXCI6XCJSV1wiLFwicnVuX3JlY29uXCI6XCJSV1wiLFwicmVjb25fYW5kX3NldHRsZW1lbnRfYW5hbHl0aWNzXCI6XCJSXCJ9In0.wvS97F0dXwY7Y5uKSk8PEqHOhoAAPlR0coX_kIGyM2I'

Response
{
    "merchant_id": "merchant_1731996648",
    "user_email"<EMAIL_ADDRESS>    "acl": "{\"recon_reports\":\"RW\",\"recon_files\":\"RW\",\"run_recon\":\"RW\",\"recon_and_settlement_analytics\":\"R\",\"recon_token\":\"RW\",\"recon_upload\":\"RW\",\"recon_config\":\"RW\"}"
}

Checklist

[x] I formatted the code cargo +nightly fmt --all
[x] I addressed lints thrown by cargo clippy
[x] I reviewed the submitted code
[ ] I added unit tests for my changes where possible

Other than that, LGTM.


chore: bump langchain deps to fix path traversal vulnerability

Pull Request Template
Summary
This PR updates langchain and its deps to the latest versions to fix a dependabot medium vulnerability that allows path traversal into an affected instance. Librechat is not directly affected by this issue, but it's always good to use new versions of dependencies when possible.
Change Type
Please delete any irrelevant options.

[x] Bug fix (non-breaking change which fixes an issue)

Testing
I tested completions against base models, agents, assistants, etc. but not plugins, which I understand is where langchain is getting used - they are to be deprecated anyways.
Test Configuration:
I ran the api test suite and the results are the same as for the main branch.
Please delete any irrelevant options.

[x] My code adheres to this project's style guidelines
[x] I have performed a self-review of my own code
[x] My changes do not introduce new warnings
[x] Local unit tests pass with my changes

Looking at the failed test, the plugin ones fail as expected, while the tokenSplit one is due to a change of behaviour in langchain where periods now get kept together with the token rather than separated like the test expects. Not sure whether this is desired or not?
- Expected  - 1    (what the test expected)
+ Received  + 1    (what it actually got)

  Array [
+   "it.",         <-- RECEIVED: This chunk appeared in the result but wasn't expected
    ". Null",      <-- Both had this
    " Nullam",     <-- Both had this
    "am id",       <-- Both had this
    " id.",        <-- Both had this
-   ".",           <-- EXPECTED: Test expected a lone period at the end, but didn't get it
  ]


pm2ps_dict populates ramp limits as (up = 0.0, down = 0.0)

While using the data set ACTIVEg2000.m I noticed that the conversion between dicts is not using nothing for the ramp constraints when they are not defined.

@jd-lara Is this the same as issue #148 ?

No, #148 is about another field.

also PM does not convert ramp limits to P.U. when parsing the files. We need to divide pm_dict ramp limits by baseMVA in the conversion to ps_dict


Minors improvements:

Remove Unused import
Simplifiable assertion
Simplify conditions
Make method void.

Don't change the internal APIs for now please.

Don't change the internal APIs for now please.

HI @garydgregory
What you mean?
TY

Don't change the internal APIs for now please.

HI @garydgregory
What you mean?
TY

Don't change method signatures, sorry I was not more precise in my comment.

Don't change the internal APIs for now please.

HI @garydgregory
What you mean?
TY

Don't change method signatures, sorry I was not more precise in my comment.

Hi @garydgregory
Reverted the change of signature.
TY


fix: added digest check on verify

This PR adds digest check on verify.

Codecov Report

Merging #313 (cabcff3) into main (7de640b) will increase coverage by 0.02%.
The diff coverage is 50.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #313      +/-   ##
==========================================
+ Coverage   74.39%   74.41%   +0.02%
==========================================
  Files          23       23
  Lines        2175     2177       +2
==========================================
+ Hits         1618     1620       +2
+ Misses        439      438       -1
- Partials      118      119       +1

Impacted Files
Coverage Δ

notation.go
60.74% <50.00%> (+0.37%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


chore(bindHtml): add deprecation notice

Add deprecation notice for bindHtmlUnsafe

Closes #3574

LGTM, we should warn about deprecations, cough, cough ;( :P


Import sparse_dot_mkl error

I always get AttributeError: function 'mkl_sparse_d_create_csr' not found when i import sparse_dot_mkl error in windows.

Sorry to bother you, the data set has expired. Can you upload it again?


⚠ Jenkins Plugins Artifactory has degraded performance

In 08d264a, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1063 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 83991ea after 25 minutes.


enhancement CreateTable inherit db binlog && Add some checks

Proposed changes
Create table inherit db binlog, but it can use some standalone binlog. Binlog enable should be checked by comparing with db. We can't create a table with binlog disable when db binlog is enable
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.09 seconds
stream load tsv:          510 seconds loaded<PHONE_NUMBER>9 Bytes, about 139 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          29.5 seconds inserted 10000000 Rows, about 338K ops/s
storage size:<PHONE_NUMBER>5 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 48.58 seconds
stream load tsv:          525 seconds loaded<PHONE_NUMBER>9 Bytes, about 135 MB/s
stream load json:         21 seconds loaded<PHONE_NUMBER> Bytes, about 107 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.4 seconds inserted 10000000 Rows, about 340K ops/s
storage size:<PHONE_NUMBER>9 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 47.01 seconds
stream load tsv:          508 seconds loaded<PHONE_NUMBER>9 Bytes, about 140 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.2 seconds inserted 10000000 Rows, about 342K ops/s
storage size:<PHONE_NUMBER>7 Bytes


URL formatting

the URL of this article is:
https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/headerf5-tutorial
it's better to fix it to be:
https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/f5-tutorial

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

ID: 425194b4-d7e2-5f13-a6ca-294bd227d565
Version Independent ID: f69fa1c5-ae24-be73-e77b-1c3d8c8fd6a1
Content: Tutorial: Azure Active Directory single sign-on (SSO) integration with F5
Content Source: articles/active-directory/saas-apps/headerf5-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @jeevansd
Microsoft Alias: jeedes

@shivtorov Thanks for your feedback! We will investigate and update as appropriate.

I don't think the link URL matter here.
#please-close


Classes with names based on rdfs:label, not URI

java package names are not allowed to have parts that are just numbers. e.g. for owl this currently generates "org.w3.www.2002.07.owl" which is not valid for java.

rebased and fixed error with classes appearing in every named graph


Selected items in ItemList are too offset to the left

Related to #3096 and the PR that attempts to fix it, #3409. Once the background colour part of the issue is fixed, there is still the error that the selected item is too offset to the left, and thus the left part of the StyleBox is not visible. With PR #3409, it's extended to all items since the custom background colour will extend to the same width as the StyleBox selector, so it will also have a start position out of the ItemList panel.
Current status (with PR #3409, but without it's still similar for the StyleBox, only the background colour area changes):

What it should be:

(or maybe with a bit more offset between the left part of the StyleBox and the icon, i.e. the icon and text should be offset to the right a bit).

I've looked a bit into it by myself already, but I chose to write this issue to ask someone more experienced to fix, as I can't come up with a clever solution :)
The code responsible for this placement is here: https://github.com/akien-mga/godot/blob/1120b6ae0dd997b67e178b903fc32c1a169f1448/scene/gui/item_list.cpp#L830-L837
(this comes from PR #3409, so if it's not merged, the code that should be considered is https://github.com/godotengine/godot/blob/081a236/scene/gui/item_list.cpp#L835-L841, but the logic is exactly the same)
The problem is that by default (or at least as used in the script editor plugin), base_ofs is (4,4) and all the margins of sbsel are 8, so r.pos.x ends up being -4. For the screenshot I put above as the "correct looks", I just hacked it this way:
diff --git a/scene/gui/item_list.cpp b/scene/gui/item_list.cpp
index 2d2cabf..13bd362 100644
--- a/scene/gui/item_list.cpp
+++ b/scene/gui/item_list.cpp
@@ -832,9 +832,11 @@ void ItemList::_notification(int p_what) {

                        // Use stylebox to dimension potential bg color, even if not selected
                        r.pos.x-=sbsel->get_margin(MARGIN_LEFT);
+                        r.pos.x=MAX(r.pos.x,1);
                        r.size.x+=sbsel->get_margin(MARGIN_LEFT)+sbsel->get_margin(MARGIN_RIGHT);
                        r.pos.y-=sbsel->get_margin(MARGIN_TOP);
                        r.size.y+=sbsel->get_margin(MARGIN_TOP)+sbsel->get_margin(MARGIN_BOTTOM);
+                        r.pos.y=MAX(r.pos.y,1);

                        if (items[i].selected) {
                                draw_style_box(sbsel,r);

But it's obviously not a good solution as if some styles use different margins, or if there are several columns in the ItemList (I think it's designed for multiple columns? but I haven't looked much into this), it might mess things up.
So, setting as a junior job as it should not be so hard to fix, but right now I'm clueless as for the "good way" to fix it :)

A solution might be to drop all this custom margin stuff and just make the StyleBox (and thus the bg colour + actually icon + text positions) scale on the available width (as seems to be started in the if just before the code I linked, but then with all the offsets and margins I get lost :p).

Is this still valid?

@bojidar-bg yes. Windows 10, current head.


ActiveRecord extraFields returns null

I've read the documentation and it says that yii\db\ActiveRecord returns all the relations as default in the extraFields.
I've a model that has some relations but the extraFields returns null.
I've debugged some of the Yii code and I've seen that the _related property is null for the class.

http://www.yiiframework.com/doc-2.0/yii-base-arrayabletrait.html#extraFields()-detail extraFields is meant for you to extend it. It returns an extra set of field when you are using the asArray method to turn an ActiveRecord to array.
To get the relations on an active record first you need to preload them, them invoke getRelatedRecords()
$employee = User::find()->where(['id'=>$id])->with(['projects', 'company', 'company.manager']);

return $employee->getRelatedRecords();
// will return the projects and the company, the company will have the manager preloaded

But here is what the Guide says when working with a Rest API:

Overriding extraFields()
By default, yii\base\Model::extraFields() returns nothing, while yii\db\ActiveRecord::extraFields() returns the names of the relations that have been populated from DB.

I though that when creating a Rest Controller the extraFields will be automatically populated so I can use the ?expand parameter in my api calls.

really? where does it says that? it sounds like a documentation issue

It's here:
http://www.yiiframework.com/doc-2.0/guide-rest-resources.html

Ohh I get it now.
By default extraFields() return an empty array, and the ActiveRecord doesn't have any relation populated.
When turning the object to array the extraFields method specify which relations should be populated and added to the array.
I am not good at explaining. Can you provide the code of your model?

I've created the model using the Gii model generator.
In this code I've hardcoded the extrafields.
What I was hopping is that by default, using the ActiveController my restful endpoints will be able to use the expand without any need to add the fields to the extrafields. I want to avoid to go to all my models and add all the relations to the extrafields.
<?php

namespace common\models;

use Yii;
use yii\db\ActiveRecord;
use yii\db\Expression;
use yii\helpers\ArrayHelper;

/**
 * This is the model class for table "candidate".
 *
 * @property integer $id
 * @property string $driving_license
 * @property integer $car
 * @property double $height
 * @property double $size
 * @property double $foot_size
 * @property integer $hair_color_id
 * @property integer $weight
 * @property string $time_monday
 * @property string $time_tuesday
 * @property string $time_wednesday
 * @property string $time_thursday
 * @property string $time_friday
 * @property string $time_saturday
 * @property string $time_sunday
 * @property string $created_at
 * @property string $updated_at
 *
 * @property User[] $user
 * @property ActivityCandidate[] $activityCandidates
 * @property ActivityMessage[] $activityMessages
 * @property HairColor $hairColor
 * @property CandidateBook[] $candidateBooks
 * @property CandidateLanguage[] $candidateLanguages
 * @property CandidateWorkPosition[] $candidateWorkPositions
 */
class Candidate extends \yii\db\ActiveRecord
{

    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'candidate';
    }

    /**
    * TimestampBehavior
    */
    public function behaviors()
    {
        return [
            'timestamp' => [
                'class' => 'yii\behaviors\TimestampBehavior',
                'attributes' => [
                    ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
                    ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'],
                ],
                'value' => new Expression('NOW()'),
            ],
        ];
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['id'], 'required'],
            [['id', 'car', 'hair_color_id', 'weight'], 'integer'],
            [['height', 'size', 'foot_size'], 'number'],
            [['created_at', 'updated_at'], 'safe'],
            [['driving_license', 'time_monday', 'time_tuesday', 'time_wednesday', 'time_thursday', 'time_friday', 'time_saturday', 'time_sunday'], 'string', 'max' => 255]
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => Yii::t('app', 'ID'),
            'driving_license' => Yii::t('app', 'Driving License'),
            'car' => Yii::t('app', 'Car'),
            'height' => Yii::t('app', 'Height'),
            'size' => Yii::t('app', 'Size'),
            'foot_size' => Yii::t('app', 'Foot Size'),
            'hair_color_id' => Yii::t('app', 'Hair Color ID'),
            'weight' => Yii::t('app', 'Weight'),
            'time_monday' => Yii::t('app', 'Time Monday'),
            'time_tuesday' => Yii::t('app', 'Time Tuesday'),
            'time_wednesday' => Yii::t('app', 'Time Wednesday'),
            'time_thursday' => Yii::t('app', 'Time Thursday'),
            'time_friday' => Yii::t('app', 'Time Friday'),
            'time_saturday' => Yii::t('app', 'Time Saturday'),
            'time_sunday' => Yii::t('app', 'Time Sunday'),
            'created_at' => Yii::t('app', 'Created At'),
            'updated_at' => Yii::t('app', 'Updated At'),
        ];
    }

    public function fields()
    {
        $fields = parent::fields();

        // remove fields that contain not useful information
        unset($fields['created_at'], $fields['updated_at']);
        $fields["user"] = function($model){
            return $model->user;
        };

        return $fields;
    }

    public function extraFields ()
    {
        return ["user","candidateWorkPositions","hairColor","candidateLanguages","candidateBooks"];
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getUser()
    {
        return $this->hasOne(User::className(), ['id' => 'id']);
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getActivityCandidates()
    {
        return $this->hasMany(ActivityCandidate::className(), ['candidate_id' => 'id']);
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getActivityMessages()
    {
        return $this->hasMany(ActivityMessage::className(), ['candidate_id' => 'id']);
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getHairColor()
    {
        return $this->hasOne(HairColor::className(), ['id' => 'hair_color_id']);
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getCandidateBooks()
    {
        return $this->hasMany(CandidateBook::className(), ['candidate_id' => 'id']);
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getCandidateLanguages()
    {
        return $this->hasMany(CandidateLanguage::className(), ['candidate_id' => 'id']);
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getCandidateWorkPositions()
    {
        return $this->hasMany(CandidateWorkPosition::className(), ['candidate_id' => 'id']);
    }

}

You are using 'user' twice, first as a field, then as an extra field my advice is to delete
        $fields["user"] = function($model){
            return $model->user;
        };

Besides that it looks pretty much right. Are you getting any error? whats the output?

As it's now it works, but if I remove the extrafields I cannot use the expand options in the restful endpoint.
Having the user twice is a small trick I've found to expand this field always, no matter it's in the expand query or no, as this resource doesn't make sense if there's no user.

By overriding fields() and/or extraFields(), you may specify what data, called fields, in the resource can be put into its array representation. The difference between these two methods is that the former specifies the default set of fields which should be included in the array representation, while the latter specifies additional fields which may be included in the array if an end user requests for them via the expand query parameter.

So thats the expected behavior. If the relation is not in extra field, then it will not be populated or shown.

Then the guide documentation should be wrong.

the documentation states exactly that. which part is it wrong?

The Yii2 Guide when it says:

Overriding extraFields()
By default, yii\base\Model::extraFields() returns nothing, while yii\db\ActiveRecord::extraFields() returns the names of the relations that have been populated from DB.

Here:
http://www.yiiframework.com/doc-2.0/guide-rest-resources.html

that is factually truth. The values returned on extrafield gets populated on the ActiveRecord when you invoke  the toArray method that is used by the rest api to turn the model into json.
the rest api by default won't show you the relations populated with extraFields unless you request them using enhance on the url.
The process is like this

The rest api find the model
The rest api invokes the  toArray method.
toArray gets the fields of the active record using the fields method and the relations using the extraFields method and attach them to the ActiveRecord object
toArray passes this result to the rest api
The rest api reads the enhance parameter to decide which information it will return to the browser.

The last part is probably where your issue is. enhance doesn't communicate with the database, by the time it is called the ActiveRecord object doesn't exist anymore, it has been turned into an array.


swap negotiator for accepts

https://www.npmjs.com/package/accepts#readme

after further investigation, this doesnt seem to buy anything


DNS/Ping/Traceroute IDN support. Issue #10538

[X] Redmine Issue: https://redmine.pfsense.org/issues/10538
[X] Ready for review

Add support for IDN hostnames on the DNS/Ping/Traceroute diagnostics pages.

in the same way it's possible to add IDN support to DNS Resolver/IPsec/OpenVPN etc.
but I think it's better to add idn_to_utf8() to Form_Input class


Change terminology Sleeping to Archived

Some users are getting confused with the terminology Sleeping as we also have cold starts. This patch changes the word to Archived. This also changes the word Wake up to Unarchive
CLI PR: https://github.com/tursodatabase/turso-cli/pull/902
API: https://github.com/tursodatabase/turso/pull/1998

The server now sends archived field (https://github.com/tursodatabase/turso/pull/1999). So I have updated the Open API spec


Type produced by $Partial is soft even if initial type isn't

https://jsmonk.github.io/hegel/try#C4TwDgpgBAqgzhATlAvFA3gKClAdgQwFsIAuKOYRAS1wHMAabKfW0vAV0ICMlGBfANyYAZu1wBjYFQD2uKGHzBxACwAU06rRr4ANmXi8o7MABNFEOGQAkABXyIpugDwHEAPgCU+hMiw5EEMDsiHJ+OHhEbMZmwBYAdATEUAA+yVAaVFoEOgmRjOHMrGTR5nBxLNCp6ZraORVMgph8mOKyFNWZtd5IqBgRxGQARBlZuv0Qg-SFbABMAAxQja247dI6JkiuvQpKaiO1U+jkVABeszOLHgJQAPQ3UBAAHpCSD4iIGlDKSBBAA
I would expect $Partial to be strict if the initial type was strict

Oh yes. It seems like Hegel returns Soft Object type. We will fix it soon.
Thank you for your contribution ^_^.


Remove memory leaks

Signed-off-by: ahcorde<EMAIL_ADDRESS>I ran class_loader with asan and I found some memory leaks.
There is still one memory leak when we create unmanaged instance, the way to reproduce this leak is to run basicLoadUnmanaged and noWarningOnLazyLoad tests at the same time.
what is the right way to destroy this memory ?

--packages-above-and-dependencies class_loader

Linux
Linux-aarch64
macOS
Windows

Linux
Linux-aarch64
macOS
Windows

It has been months, what is this waiting on?


Eliminate all vestiges of Substitution and SubstitutionList.

Introduced during the bring-up of the generics system in July, 2012,
Substitution (and SubstitutionList) have been completely superseded by
SubstitutionMap. R.I.P.

@swift-ci please smoke test and merge


Remove library loading

I propose that we always load all four libraries in the cadet frontend. That way we would remove a common source of errors (incorrect library loaded), and simplify the user interface.
Any views?

Let's postpone this. Too risky; not enough time to do this properly. In 2020, we will aim for a re-vamp of library loading, anyway.


Why does the ability to redo a change not exist or work?

Lapce Version
Lapce: 0.2.0
System information
Pop!_OS 22.04 LTS (Basically Ubuntu 22.04 LTS)
Describe the bug
Idk whether this should be filed as a bug or a feature, but it is a big problem that hurts workflow. Where is the ability to redo a change!?
Additional information
Other information that can be used to further reproduce or isolate the problem.
This commonly includes:

screenshots
logs
theories about what might be going wrong
workarounds that you used: Cutting the entire code, undoing, and then pasting the code back.

Please fix.

Duplicate of #1330


fix(dev-tools): publish dist

whoops, forgot an .npmignore file and so dist wasn't getting published

going to self-review since this is just a copy paste from our other packages


Add FreebaseAnalyzer for freebase indexing and lookup

Add a FreebaseAnalyzer for accent folding. And keep the analyzer consistent between the Indexing and Lookup regarding #463.

hey @Impavidity can you address my comments (should be quick) and let's get this PR merged?


ospd-openvas: relax defusedxml and psutil

Description of changes
Fix failure due to update of psutil and defusedxml in #320924.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 325272 run on x86_64-linux 1

2 packages built:

ospd-openvas
ospd-openvas.dist


pull Fama-French risk factors directly from the academic website

We should look into directly pulling this data since the csv can get out of date really quickly.  Maybe we supply a default csv (if we can) as well as expose a function to pull the data from the university page
We also might want to confirm if there are any licenses or issues with redistributing it. @twiecki maybe you have some experience understanding redistribution of data in the OSS world?

Dartmouth page is down right now. Quandl seems more reliable, but we could have a double fallback i.e. dartmouth -> quandl -> local

Dartmouth seems to be up at your second link here: http://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html
I think the pandas function and old URL are broken, but we can unzip files with python so shouldn't be a problem.
I can't seem to find UMD anywhere. @justin @humdings anyone know where that's from?

From justin, UMD = momentum factors -> http://mba.tuck.dartmouth.edu/pages/faculty/ken.french/ftp/F-F_Momentum_Factor_daily_CSV.zip


night-eye spell stopped working

I updated from 5.5.1 to 5.5.3 and the night-eye spell no longer functions correctly.
When using the night-eye spell (or Khajit power) with the ENB active, there is seemingly no effect when activating the power (and the sound for using the power is different, It's more of a "bonk" than a 2x "whoosh" it was before).  BUT, the power is active under active effects.
When I disable the ENB with the power "active" the screen has a red filter.
I tested this with a character made in 5.5.1 and updated to 5.5.3.
Then I created a new character with 5.5.3 (a Khajit) and had the same bug appear with the night-eye power.  (and a similar sound fail when activating the power).
Thank you for the fantastic mod list and hope this can be addressed in a future update.

Works fine now.  Not sure what did it but night eye is working fine with the latest version.


How to work with DbContexts

Hi,
How could we implement the multi DbContexts with EfCore? Please share if there is any sample available?

Hi, what do you mean with multi DbContext?

Hi @lucabriguglia
As you know the DDD has an concept is BoundedContext, to implement with Entity Framework Core. I'm using DbContext as my BoundedContext and within an application we may have more than 1 Bounded Contexts and I would like to check how to link them to Kledex Storage?

Hi @baoduy
You may use the property "Source" when sending a command. That value is saved with all commands and events and therefore you will be able to "group" data by context (source)

As I saw currently, Kledex is only support a single DbContext. This consider is single BoundedContext Shall I raise a request for to support Multi BoundedContext concept?

Yes @baoduy

Closing this for the time being, a new issue or pull request should be raised.


Introducing Anchor Guru on Gurubase.io

Hello team,
I'm the maintainer of Anteon. We have created Gurubase.io with the mission of building a centralized, open-source tool-focused knowledge base. Essentially, each "guru" is equipped with custom knowledge to answer user questions based on collected data related to that tool.
I wanted to update you that I've manually added the Anchor Guru to Gurubase. Anchor Guru uses the data from this repo and data from the docs to answer questions by leveraging the LLM.
In this PR, I showcased the "Anchor Guru", which highlights that Anchor now has an AI assistant available to help users with their questions. Please let me know your thoughts on this contribution.
Additionally, if you want me to disable Anchor Guru in Gurubase, just let me know that's totally fine.

Hi everyone,
Have you had a chance to check this out?
Additionally, I’d like to update you on the release of the Maintainer Panel feature on Gurubase. With this panel, you can add, remove, or update data sources, as well as change the logo and more. You can find the details about how to claim a Guru here.
In the near future, I’m planning to include analytics insights in this panel, such as the number of questions asked, the most frequently asked ones, and more. I’ll be sure to update this thread once it’s available. However, in case I miss it, I highly recommend joining our Discord channel to stay updated.
If you’d prefer that I don’t update this thread anymore, please let me know.


Split up SpacesService.querySpaces into separate per-space subscription streams

Why?

querySpaces updates could skip space state transitions causing SpaceProxy to be locked-up
Currently, update in a single space would re-send the entire space list with details which is very inneficient

@dmaretskyi beware that changes like this might affect app reactivity. It makes sense as a task but it's just possible that it'll break some assumptions that are able to be made currently about when the space list will update.


HashMap?

Congratulations with publishing a cool library!
Please consider using BTreeMap instead of HashMap.
https://www.reddit.com/r/rust/comments/38s1n3/why_is_rust_much_slower_and_memory_consuming_than/crxf2jm
E.g. in the Request.

You can always use something like req.params().collect() if you want to utilize another data structure.


Expose model configuration options in GUI

Based on some feedback from the NAWI Spring Meeting, one idea that came to mind was allowing for a drop-down box that lists configuration options for a particular model. For example:
The nanofiltration model that we presented on --- there is a configuration option called ConcentrationPolarizationType, and you can choose to either include the effects of concentration polarization (ConcentationPolarization.calculated) or exclude them (ConcentrationPolarization.none) in your model. Right now, things are setup so that we build a specific flowsheet with configuration options that are selected by the model developer who is exporting that flowsheet to the GUI. For example, ConcentrationPolarization.calculated was selected for our nanofiltration example and that's what is run when we build/solve in the GUI.
However, if we could specify the config option from the GUI and then have the flowsheet built based on the selected config option, that would offer some nice flexibility. Would a feature like that be reasonable to request?

Working on this in https://github.com/watertap-org/watertap/pull/1085 and https://github.com/watertap-org/watertap-ui/pull/90


Repeated words in word bank

hey parker,
i've been using this hack for a bit and found out that if the word bank has repeated words, then the bot will also put it in and get it wrong.
if this gets fixed then that would be good.
thanks,
randy

It should be fixed


"Spark load" supports string data type

Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Please modify your pr title. [Enhancement](spark load) Supports string data type.


User Administration

Currently user administration is only possible through the user admin view. The list of users is rendered in the endpoint.
A new endpoint will be introduced to generate a list of users for integration in a Tabulator table.

Additional fields have been added to the ACL.
access_log
On every login attempt which can be matched to an email address the the time and IP address will be stored in an array. The admin panel will retrieve the last array entry.

Clicking the log access field will retrieve the full log_access array from the endpoint /auth/user/log

blocked
If an account is blocked login, as well as registration, password change etc is no longer possible.
A block link will be sent to admins when a user verifies an account. If the email looks suspicious we recommend to block the account.
approved_by
Whenever an administrator makes an update to an account, the administrator email will be stored in this field.

Beginning with the next minor release the admin flag will only relate to the management of user accounts.
A new editor flag will be introduced which will allow access to the workspace configuration.

Roles will be defined in the workspace but assigned in the ACL. There will not be a super/god account. However, full control requires to be an editor and admin. Having access to the database schema in which workspace and acl are stored is a super user substitute.
Roles will have two basic functionalities. SQL filter can be assigned to a role which will be applied to all database queries for an account which has this specific role. Roles can also be used to restrict access on the workspace.
Multiple roles can be assigned to an account. Admin and editor are boolean flags, roles are objects.

This is now ready to be tested and then documented.


#5475 and #5480 convert to class action

This still doesn't work as expected. The new node is not selected afterwards even if setSelectedNode is run in the swing thread.
Fixes #5475 and fixes #5480

Thanks for the code.  We are going to look into fixing each issue independently internally.

Thanks for the code. We are going to look into fixing each issue independently internally.

Sounds good to me.


That naming though

Is it only me or name of the package way too generic ?
P.S. Package itself is awesome.

we agree with you
@jonataslaw made an issue asking opinons about new name and other things, you can give your idea/suggestion here: https://github.com/jonataslaw/get/issues/238

Thanks, there is an issue fixed by me that we discussed just that, the name will be changed to GetX in version 3


Correct reference to outdated nosql package name

Jakarta Data still has one place that is referencing jakarta.nosql.mapping.Entity, which was moved to jakarta.nosql.Entity.

P.S. @otaviojava, related to this, you promised me ages ago an example of the NoSQL version of jakarta.persistence.Embeddabe....

P.S. @otaviojava, related to this, you promised me ages ago an example of the NoSQL version of jakarta.persistence.Embeddabe....

Now we do have it:

https://github.com/jakartaee/nosql/blob/main/spec/src/main/asciidoc/chapters/api/annotations.adoc#embeddable
https://github.com/jakartaee/nosql/blob/main/api/src/main/java/jakarta/nosql/Embeddable.java

But it requires copywriting work.  The NoSQL Spec will have a meeting next week.


Feature: Prepare to support Magewire in the backend

Description is following

I believe this will fix the error in the backend when using Magewire with Luma-based theme - https://github.com/magewirephp/magewire-requirejs/issues/3. I'm facing same issue.
@wpoortman is it going to be merged soon?


Re-queue container pool jobs when starting a cold container

Description

Queues activations that require starting a new container into runBuffer. This avoids issues where cold start latency causes much higher latency for invocations that require starting a new container (this approach services the activation on the next available container instead of waiting for the new container to finish startup).
Haven't tested locally yet, but seeking advice on if this is the right approach.
Related issue and scope

Fixes #4974

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[x] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[x] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[ ] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Will re-open this tomorrow, the only thing this PR is good for is proving that I don't (or, at least, didn't) know what I'm doing mucking around in this codebase.

Do send a note to the Apache dev list when you do. Welcome to the community and thanks for the planned improvements to the projects.
Do you have an Apache CLA on file?


docs: query from deep storage (#14609)

Backport PR for https://github.com/apache/druid/pull/14609 that also updates the code tab syntax from Docusaurus 1 to Docusaurus 2

The CI failure for docs was a spelling issue that isn't user visible, but I've added it to the spelling file here. The spelling file in the 27.0 upgrade PR already had it.  (It's a JSX import statement so that the tabs get rendered)


Reduce size of the http2 code

This change reworks a bit how the http2 loop looks so we can use 8 iterations again when we dig into the http2/grpc frames with kprobes. I also increased the size of the bpf verifier buffer on error. We had an issue with some of the recent code I added for the http filter on older kernels (5.15) and it took tons of trial and error. Surprisingly, when the verifier errors out too soon, you get completely wrong error.
Closes https://github.com/grafana/beyla/issues/695

Codecov Report
Attention: Patch coverage is 0% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 37.97%. Comparing base (ec01917) to head (2f40f7f).

Files
Patch %
Lines

pkg/internal/ebpf/tracer_linux.go
0.00%
2 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #711       +/-   ##
===========================================
- Coverage   75.99%   37.97%   -38.02%
===========================================
  Files         102      102
  Lines        8172     8174        +2
===========================================
- Hits         6210     3104     -3106
- Misses       1620     4890     +3270
+ Partials      342      180      -162

Flag
Coverage Δ

integration-test
?

unittests
37.97% <0.00%> (+0.02%)
:arrow_up:

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

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


Async option

Hey!
We are running into an issue where fetching the data for each product is taking a long time and the page's TTFB is really long. Is there an option for async fetching of data?

No, there is no async loading support by this plugin.
What I can think off though, to help you improve your pageload is either pass product ids via data attributes (or json dump) into the templates and then load your data via Javascript asynchounously (might require some client-side rendering library or even custom logic). Or simply use the cache-tag for your data portions of the template -> craft cache tag docs

Closed due to inactivity. Feel free to reopen if needed.


[Question] What will trigger the WAMR to do the tier-up?

Hi, I read the description from WAMR's document, "The WAMR supports two JIT tiers - Fast JIT, LLVM JIT, and dynamic tier-up from Fast JIT to LLVM JIT.".
So what will trigger the WAMR to do the tier-up, from the Fast JIT to LLVM JIT? And are there something difference between these two JITs?
Thank you!

@hungryzzz , there are more details in the blog below:

https://bytecodealliance.github.io/wamr.dev/blog/introduction-to-wamr-running-modes/

Please see if it can give you enough information.

Thank you, the blog introduce the basic information of WAMR very clearly, but I did't find the answers of my above questions. Maybe my description of the problems was not clear enough, which caused you to misunderstand my meaning. Let me repeat it.
In the multi-tier-JIT mode, what will trigger the Fast JIT tier up to the LLVM JIT? Does it depend on some profiling information collected during Fast JIT execution? Or will the LLVM JIT be triggered anyway after the Fast JIT finishes, and the tiering up just happens when the LLVM JIT finishes?
Thanks again for answering my questions!

Hi, when Fast JIT and LLVM JIT are both enabled, and JIT lazy mode is enabled (which is enabled by default), the multi-tier jit will be enabled automatically. Please build iwasm with the commands below:
cd product-mini/platforms/linux
mkdir build && cd build
cmake .. -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1
make -j

By default iwasm enables multi-tier-jit by default, and you can run with other running modes by iwasm --interp, iwasm --fast-jit, iwasm --llvm-jit.
The Multi-tier JIT firstly sets the Fast JIT func ptrs as compile itself and then run and starts to run wasm app with Fast JIT mode, and at the same time runtime creates backend threads to compile all fast jit functions, so the fast jit code will be called as soon as possible to get a quick cold startup. And then the backend threads continue to compile the llvm jit functions, and as long as an llvm jit function is compiled, the calling of this wasm function will be switched from fast jit to llvm jit, by this way the fast jit will be switched to llvm jit gradually (and as soon as possible), so as to achieve best performance.

Okay, I got it, it's really clear! Thank you very much!


feat:Increase the statistics of single-node active users

Increase the statistics of single-node active users

According to user activation, sending emails, sending messages, statistics of active users over a period of time
Provide interface to query single node active user statistics

fixed


Correcting DateTime timestamp submission

Fixing issue #18470

I've signed the CLA linked above.

@eliothsu Thanks for the PR, I was not able to reproduce this. If you can assist with that in the issue then I'd be happy to accept.

@kroikie @eliothsu Is this PR still relevant or should we close it?

Closing this PR, since this seems to no longer be an issue.

@martinvarelaaaa
I recently ran into what I thought was the same problem. Turns out that my really looooong integers were being truncated on the platform because the iPhone 5c is a 32-bit device. For me personally, that was happening through the sqflite plugin.
Check your integers. Long ints don't behave well on 32-bit iPhones.

This error seems to be solved for iPhones, but I am able to generate the same issue on an Ipad for some reason.


updated wasmer to version 4.1.2

Updated wasmer to v4.1.2. It partially fixes this issue https://github.com/swc-project/swc/issues/7870

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Closing as stale.


Enrich JDL for container sub generators

Overview of the feature request
Enrich JDL with below, so that we can generate config for k8s, docker-compose, openshift and so on. This will result in creating a folder for the type with a .yo-rc.json with this config and then executing the subgen to generate the files.
deployment {
    type kubernetes,
    apps [invoice, notification, store],
    directoryPath "../",
    clusteredDbApps [],
    serviceDiscoveryType eureka,
    dockerRepositoryName deepu105,
    dockerPushCommand "docker push",
    kubernetesNamespace default,
    kubernetesServiceType LoadBalancer,
    monitoring elk,
    istio no,
    istioRoute false
}

@MathieuAA I would like to work on it so that I can familiarize myself with chevrotain, do you have any objection to this?

@mraible might be interesting to you as well

Nop, please do!!

done


Check the current dev CI

Fixes #???
What is the purpose of this PR?

[x] Fix bug
[ ] Fix typo
[ ] Update specs
[ ] Add new rule
[ ] Add new parser
[ ] Improve or refactor rules
[ ] Add a new core feature
[ ] Improve or refactor core features
[ ] Update documents
[ ] Others

Description

Checklist
Fill out the checks for the applicable purpose.

[x] Fix bug

[ ] Add the test that can check whether resolved the issue.

[ ] Update specs

[ ] Element

[ ] Update global attributes
[ ] Update content models
[ ] Add also ARIA that you explored ARIA in HTML Recommendation and Editor's draft

[ ] Attribute

[ ] Update global attributes
[ ] Update IDL attribute

[ ] Add new rule

[ ] Add a test
[ ] Add a README document

[ ] Create an issue that requests translating the doc if you want.

[ ] Add to index
[ ] Add JSON schema to schema.json
[ ] Add to @markuplint/config-presets

[ ] And add to Rulesets of base presets

[ ] Add to a doc file
[ ] Add to a doc file (ja), or create an issue that requests translating the doc if you want.

[ ] Add to the Playground

[ ] Add to a config object

[ ] Add new parser

[ ] Add a test

[ ] Do a test with some parser.

[ ] Add to initializer

check results on CI of Node v20 or higher like https://github.com/okathira/markuplint/actions/runs/8256506493/job/22585352968
Error: Cannot find package<EMAIL_ADDRESS>imported from<EMAIL_ADDRESS>Did you mean to import minimatch/dist/cjs/index.js?
    at legacyMainResolve (node:internal/modules/esm/resolve:214:26)
    at packageResolve (node:internal/modules/esm/resolve:840:14)
    at moduleResolve (node:internal/modules/esm/resolve:910:20)
    at defaultResolve (node:internal/modules/esm/resolve:[113](https://github.com/okathira/markuplint/actions/runs/8256506493/job/22585352968#step:7:114)0:11)
    at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:396:12)
    at ModuleLoader.resolve (node:internal/modules/esm/loader:365:25)
    at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:240:38)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:85:39)
    at link (node:internal/modules/esm/module_job:84:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

https://github.com/isaacs/minimatch/issues/189
but minimatch supports esm already...?

https://github.com/isaacs/minimatch/issues/224
https://github.com/isaacs/minimatch/issues/225
same import problems?


Prevent implicit casting by introducing obsolete operator overloads

As described in #256, the implicit cast to a Percentage by the compiler to resolve Amount + decimal and Amount - decimal can be solved by providing defined overloads. By doing so, with an obsolete warning the developer is notified that his code need changes.
With the next breaking change release (not decided yet) the implicit cast to percentage should be dropped, together with these operator overloads.

@Sjaaky Thanks for your contribution!


[hotfix] Rank and worldsize handling in benchmark & filesystem in general

Fixes #28

Hi @blefaudeux,
I appreciate the quick fix.
Thank you,
Enrico


ERROR: Process exited with code 25

Installation not working:
$ iobroker url https://github.com/SKB-CGN/ioBroker.energiefluss --host SmarthomeVM --debug
Info: Can not get current GitHub commit, only remember that we installed from GitHub: getaddrinfo EAI_AGAIN api.github.com
install SKB-CGN/ioBroker.energiefluss
NPM version: 8.19.3
Installing SKB-CGN/ioBroker.energiefluss... (System call)
npm ERR! code 128
host.SmarthomeVM Cannot install SKB-CGN/ioBroker.energiefluss: 128
ERROR: Process exited with code 25

Please fix your NPM and iobroker.
After that, it will work 👍

Wich Version are reconmended?
node -v = 16.19.0
npm -v = 8.19.3

Seems you are not able to reach the Github address.
Please check this.
Node and NPM should work.

Hey! You are right! thank you. There was a Network DNS issue. Solved it.


add OVS Docker image

This PR adds support for building a standalone openvswitch image and it adds a new target to the list of CI targets.
The PR also modifies scripts/netContain/build_image.sh. That change makes it load the openvswitch kernel module only if it's not loaded.

build PR

Since this is pretty standalone, can we create a repo for ovs container (or fork a upstream one) instead ? this way could keep thie repo only for netplugin/netmaster codes

We can't use any upstream image. This is tightly coupled with our netplugin setup. It puts logs in the contiv directory. We also need to use a version which has been tested with netplugin.

Actually other than logging dir this is a pretty common ovs configuration (and we can update entrypoint if we wanted), we can customized base on an upstream repo to avoid maintain generic containers, also we can move it out of release scope, let upstream (active) to do security upgrading and all we need to do is to make sure it works for contiv.
It's fine to put this fully under control if you think it's really needed, but could you please make it in different repo ? It's really a generic component doesn't have to be in netplugin repo

I've worked on this because it was part of some work which was needed to be finished soon. I can close this PR and attempt to create a repository for this.

I agree with Wei. If there is a way for us to use a generic OVS container, and customize for our environment where needed, that would be better than us maintaining our own builds/repo/etc. Also, I'm wondering why the OVS logs have to be in the contiv dir?

@amccormi that directory is bindmounted from the host... otherwise we would lose the logs if the container crashed/restarted

I'll close this now. The image will live in a separate repository.


Feat: cms integration

Migration of all page content onto foresty.io:
A page template for each existing page on the Filecoin foundation site has been made in the forestry account for this branch (feat-cms-integration). Each page content json file has been recreated using its respective templates which locks and hides values not relevant to content editing.
For example, block types which have text have been locked into being "type": "text_block". Fields which are locked as such do not appear when editing content by users. These values can only be changed by admin access to the page template.
Each original json file in the content/pages directory has been swapped out for the json files recreated through forestry. The correct way to make changes now is through the forestry account which automatically merges and manages changes to json all content.
General page data can be edited in forestry by clicking on the 'General' section in the sidebar. All pages are under the 'Pages' section in the sidebar and blog posts can be added under section 'Blog'.

Merging into develop, may have to re-associate the develop branch with Forestry. Since right now it's hooked to this feat-cms-integration branch.