WebviewPanel.reveal() could create a second editor for custom editor that doesn't support multiple views.

Does this issue occur when all extensions are disabled?: Yes/No (triggered with extension)

VS Code Version: 1.63.2
OS Version: ArchLinux (also reproduced on github.dev)

Steps to Reproduce:

Create an extension with an custom editor that has supportsMultipleEditorsPerDocument: false
Add a command to call reveal() on a particular webviewpanel for the editor. (The patch below creates such an extension when applied on the custom editor example, you can also see the version of it I built locally attached.)
Run the extension
Create a new custom editor
Move it to a separate column (and maybe hide it behind another editor in that column)
Switch focus back to the original column (the one that the editor isn't on anymore)
Run the command to call reveal() on it.
The editor will open a second view for the same document in the current active column and left the previous one open, and in a strange/unclear state...

The expect behavior is for the panel to be moved to the specified column (in this case the active one), which is the documented behavior and what happens for a normal webview panel.
In any case, since supportsMultipleEditorsPerDocument is false, it should definitely not open a second view for the same document (I also verified that resolveCustomEditor is indeed called on the second view with the same document).

diff --git a/custom-editor-sample/package.json b/custom-editor-sample/package.json
index 2eba4bc..077d6b8 100644
--- a/custom-editor-sample/package.json
+++ b/custom-editor-sample/package.json
@@ -48,6 +48,11 @@
                                "command": "catCustoms.pawDraw.new",
                                "title": "Create new Paw Draw Document",
                                "category": "Paw Draw"
+                       },
+                       {
+                               "command": "custom-editor-example.reveal_last",
+                               "title": "Reveal last editor",
+                               "category": "Paw Draw"
                        }
                ]
        },
diff --git a/custom-editor-sample/src/extension.ts b/custom-editor-sample/src/extension.ts
index 5baac78..7f1f9fd 100644
--- a/custom-editor-sample/src/extension.ts
+++ b/custom-editor-sample/src/extension.ts
@@ -1,9 +1,12 @@
 import * as vscode from 'vscode';
 import { CatScratchEditorProvider } from './catScratchEditor';
-import { PawDrawEditorProvider } from './pawDrawEditor';
+import { reveal_last, PawDrawEditorProvider } from './pawDrawEditor';

 export function activate(context: vscode.ExtensionContext) {
        // Register our custom editor providers
        context.subscriptions.push(CatScratchEditorProvider.register(context));
        context.subscriptions.push(PawDrawEditorProvider.register(context));
+       context.subscriptions.push(
+               vscode.commands.registerCommand('custom-editor-example.reveal_last',
+                                               () => reveal_last()));
 }
diff --git a/custom-editor-sample/src/pawDrawEditor.ts b/custom-editor-sample/src/pawDrawEditor.ts
index 37af307..bbb34ae 100644
--- a/custom-editor-sample/src/pawDrawEditor.ts
+++ b/custom-editor-sample/src/pawDrawEditor.ts
@@ -14,6 +14,14 @@ interface PawDrawDocumentDelegate {
        getFileData(): Promise<Uint8Array>;
 }

+let last_view: vscode.WebviewPanel | undefined;
+
+export function reveal_last() {
+       if (!last_view)
+               return;
+       last_view.reveal();
+}
+
 /**
  * Define the document (the data model) used for paw draw files.
  */
@@ -284,6 +292,12 @@ export class PawDrawEditorProvider implements vscode.CustomEditorProvider<PawDra
        ): Promise<void> {
                // Add the webview to our internal set of active webviews
                this.webviews.add(document.uri, webviewPanel);
+               last_view = webviewPanel;
+               webviewPanel.onDidDispose(() => {
+                       if (last_view === webviewPanel) {
+                               last_view = undefined;
+                       }
+               });

                // Setup initial content for the webview
                webviewPanel.webview.options = {

custom-editor-sample.zip

Does this reproduce in the latest VS Code insiders build?

Yes it is still reproducible as of code-insider-x64-1644298958.tar.gz .

Errr… I thought I did provide the additional info though…. @mjbvz

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

How is this a feature request?

@mjbvz

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

I still don’t understand why this is treated as a feature request.

@mjbvz

@mjbvz could you please explain why the disagreement between documented behavior and the actual behavior is a feature request rather than a bug please? This may or may not be obvious for you but it is certainly not clear for me. It's not particularly nice that a bug report was literally met with a single human response before being classified as a feature report to be closed in 60days.

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

@mjbvz @Tyriar @bpasero @meganrogge


lerna diff

Whenever I run lerna updated and find something I didn't expect in there I immediately want to see the diff. It would be great if lerna could easily show me that.
$ lerna diff
$ lerna diff package-name

So that could just alias to a git diff of that package? and there's https://github.com/stevemao/diff-so-fancy which I saw yesterday

Yeah just git diff of packages/ or packages/{package-name}/ since the last release. I assume the following would just work:
lerna diff | diff-so-fancy

Moving to #45


Live preview in buffer of search and replace while typing

Issue Type
Feature Request
Description
I searched both open and closed issues and couldn't find this.
Howl Edit, although young and immature, has some nifty things going. I really love that one sees the replaced text and the replacement for every place in the doc, (lines in between are skipped to show more of the action in the screen), with tinted red/green colors highlighting the addition/removal, updated in real time in the buffer while typing.
This goes for find also, naturally, which is very convenient for complex regexes. ("Was it \1 or $1 in this editor, now again?" - quickly discovered!). The instant feedback speeds up work flows tremendously.
As a sidenote, Howl uses a single field, with the common pattern of "delimiter", "search-term", "delimiter", "replacement". I really like predictability and easy discoverable interfaces with simple rules, allowing complex and efficient work, primarily based on buffer-editing behaviour rather than different UI/UX-behaviours all over.
Keep it up with this highly promising editor!
VS Code Info
VS Code version: Code 1.20.0 (c63189deaa8e620f650cc28792b8f5f3363f2c5b, 2018-02-07T17:10:15.949Z)
OS version: Linux x64 4.13.0-32-generic

@ozra Live replace preview feature is already supported in Search/replace

Is this what you suggested?


WPF

I am trying to implement a webviewrenderer with a wpf project that is within a cross-platform application. Do you have an example or know how this can be accomplished?

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

ID: 9c1bd30c-6e7a-df38-8c20-dff7361e901f
Version Independent ID: 013c6027-db9a-6039-3404-2e4f717133a9
Content: Customizing a WebView - Xamarin
Content Source: docs/xamarin-forms/app-fundamentals/custom-renderer/hybridwebview.md
Product: xamarin
Technology: xamarin-forms
GitHub Login: @davidbritch
Microsoft Alias: dabritch

Hi @culigan
Afraid we don't have an example. WPF support in Xamarin.Forms is a community project.
Looking at the source code it should be no different to creating a WebView renderer on the mobile platforms.


Improve state of returned values from Session context

Related the following conversation: https://github.com/liteflow-labs/nft/pull/2093#discussion_r982693423
Currently we have the following behavior:

ready is true as soon as the wallet is connected (maybe truthy if the session tried to connect the wallet, but wallet was not previously connected, doesn't wait the user to be logged in
same issue with signer, truthy as soon as the wallet is connected, doesn't wait user to be logged in
account: truthy as soon as the user is fully logged in: wallet connected + authenticated against the API

We should tried to simplify the behaviour of signer and maybe ready to only returned a value after the user is fully logged in.
Need to be careful with side-effect of this change of behaviour!!!

Closing as the session has been removed


Make getpaths type-aware, add getpaths test.

Description
This PR slightly updates luigi.task.getpaths which is used to replace tasks in the structured object returned by Task.requires with their respective outputs. The change makes that procedure type-aware, so e.g. when the struct's class is a subclass of dict, the returned struct has the same class.
Motivation and Context
We often rely on the order in which we define our task requirements, e.g. via an OrderedDict. However, when looping over self.input(), that order might not be preserved at the moment, because the returned object type is a plain dict.
Tests
I added task_test.TaskTest.test_getpaths and checked for several types.

Seems like the TOXENV=py36-nonhdfs failed, but I don't have a clue why...

Could you give me a hint how to check what went wrong?

Could you give me a hint how to check what went wrong?

I just needed to rerun travis on that. Sorry never your fault.

Can you write a test case using an in immutable type please?

Should be covered with the tuple test, right?
https://github.com/spotify/luigi/pull/2113/files#diff-7fe10b1a62e793e1535a8477614c1b30R96
I can add more tests if you want.

@riga, I merged this, but took the liberty to greatly reword the commit message. I hope you don't mind.
Thanks for this patch! :)


Send emails in messages

I would like to send emails from bot to users
Here is code example
var  msg = `<b>New reservation:</b> From: <a href="mailto:${client.email}">${client.email}</a>`;
bot.sendMessage(chat_id, msg, {parse_mode:'html', disable_web_page_preview:true});

But in when Telegram client recieve message – it show it like<EMAIL_ADDRESS>It is  possible to format message with email link? Is it telegram proto bug?

I am not quite sure if Telegram supports mailto links. Do you mind asking Telegram Bot Support at @BotSupport?

Any luck sending e-mail links? Thanks.


fix: more consistent handling of partition values and file paths

Description
This PR does some more cleanup in how we handle encoding of file paths and partition values.
specifically, the following should be fixed

we were sometimes writing url-encoded strings as partition values in add actions
we were writing un-encoded paths to add actions

Building on the updates in #1613, this PR moves the encoding/decoding for the path fields in add / remove / cdc actions directly to serde,which covers all current code paths where create actions.
Last, we never explictly encoded the values when creating a partition path, but let object_store::Path handle that for us, which looks a bit different to what spark and pyarrow are doing - not saying they are doing the same thing :).#
While debugging #1591, I think I came across some situations where I don not see a clear path how we can make that fully work. I.e. object_store is more restrictive in the caracters it allows in a path then sparks implementation is. While file paths are somewhat arbitrary in delta, we cannot process paths, that contain characters object, store deems illegal. As a consequence - I think - there are certain paths that spark will write, that object store will not process, Some example characters include: }|<>~.
Similarly pyarrows partitioning can produce paths the we cannot process - i.e. if a partition value contains some of the chars above. If we create the same table using the rust writer, we can load it again, but for some reason spark cannot.
As a follow-up we should investigate a bit deeper. While we may not be able to cover all cases, I believe there is room for improvements by finetuning what chararcters we encode and where. When we do this we can also cover all of  #1215 - at tlest I think we can.
Related Issue(s)

closes #1651
closes #1653
closes #1591
closes #1299
closes #1111

@roeap could https://github.com/apache/incubator-opendal perhaps be an alternative to object_store with regards to that url parsing?

could https://github.com/apache/incubator-opendal perhaps be an alternative to object_store with regards to that url parsing?

Maybe :) - generally speaking though are we very happy with obejct_store and there is ahigh likelyhood that similar things would arise with opendal, as there are even more systems that are supposed to behave the same behind a sahred API ... and getting it fully integrated would like be a quite massive amount fo work.

Hi @roeap, it seems delta-rs does not encode file paths, at least not completely - when trying to add a file with path: /str_col=hello world/file.parquet, the space character in the path is not encoded (nor the '=' character), and unfortunately when the path is provided "pre encoded", i.e. /str_col=hello%20world/file.parquet the result is double encoding, as the '%' character is getting encoded to "%25", resulting with: /str_col=hello%2520world/file.parquet.
I am writing this in the context of this PR, because it seems like spaces and some other characters are omitted from the list of "INVALID" characters, and I wonder if that was somehow on purpose?
AFAIK, the delta protocol dictates that add/remove actions' 'path' field should be kept URI-encoded:

A relative path to a data file from the root of the table or an absolute path to a file that should be added to the table. The path is a URI as specified by RFC 2396 URI Generic Syntax, which needs to be decoded to get the data file path.

Thanks for the report @natinimni. The handling of path encoding has recently been at least been consolidated a bit, but to improve testing I opened this issue.
One of the issues is, that the object_store crate which actually does the encoding took a different approach focussing on an encoding that would produce valid paths for all object store variants. In the next release with the next version of object store included, the encoding was moved a bit closed to at least what spark does...
That said, there is one thought I had that I'd appreciate your opinion on. Since delta actually does not use the partition values encoded in the file paths for anything, I planned on making the partitioning scheme configurable and defaulting to not including any partitions values in the file paths - thereby avoiding the issue all together...

Thank you @roeap for your prompt reply and for opening a new issue on this.
Indeed I see that the "serde_path" code was moved to under "/core/src/kernel/models/actions.rs".
Would you consider approving a PR that adds a few key characters to the "INVALID" list (the characters that undergo encoding)?
I understand that it won't be a complete solution, mainly because "string" partition can assume any value, which may certainly contain specials characters that are ought to be encoded, but I think that even just adding the : and   (whitespace) characters to that list would go a long way. WDYT?
As for you suggestion of not using partition values in paths - it absolutely makes sense. We actually use delta-rs only to read/write the delta log, while using other proprietary tools to write the data files and manage the table, so we won't directly benefit from such a change. I did however considered doing exactly that in our system, and decouple partition values from the path.
In any case, this would still be just a workaround as we do want users to be able to configure paths, and it sounds you intend to to the same in delta-rs.

Hey @natinimni,
certainly would. Unfortunately also realized I may have made a mistake in a recent refactor w.r.t. path encoding. Essentially we also need to take care of these lines
https://github.com/delta-io/delta-rs/blob/467afc57a2fa95ac37ee4241666040cf7c87b31d/crates/core/src/kernel/snapshot/log_data.rs#L161-L168
If you are up for it two things would be great.

running encoding through the same function for the Add action and in the location above.
having a roundtrip tests with spark for these cases, since we had situations where we might end up not being able to read each others tables.

Since you mention : explicitly, I assume this may also be windows related where this is a legal (or illegal I don't remember) character in a path?
I am happy to help out if this is beyond what you were planning.

Thanks @roeap - I can sure try to include these in a PR, but I would need some more context :)
Regarding # 1 - are you suggesting decorating path property of LogicalFile<'a>  with serde_path.encode #[serde(with = "serde_path")] ?
Regarding # 2 - do we currently have similar spark-roundtrip tests I can base these new tests of?
My motivation of encoding : characters is actually for HTTP URI paths :)
By the way, do have an estimate on when the next delta-rs version would be available? the last one was published months ago..


Vis app histogram

Histogram component of visualization app (#344)

Any reason why you're not using the built-in export to SVG and PNG that vega-lite/vega-embed provides?


Add fpp-to-layout tool

Added fpp-to-layout tool for generating layout text files for all connections in an FPP topology
Added unit tests for testing the different types of connections graphs (pattern, direct) as well as multiple topologies and duplicate topologies
Updated user guide and wiki to include new tool (wiki updates are here)

Closes #524.

Looks good! We discussed two updates:

When generating layout directories, first delete any directory with that name, so we don't have any old files hanging around in the new directory.
In the unit tests, rename the layout reference directories to X.ref instead of XRef.

After these changes, it will be ready to merge!

@bocchino I made the 2 adjustments you noted above and re-generated the test ref files. Let me know if you have any questions, etc.


question not issue. what browser are you using

Love how browser in screenshot looks so compact not sure how you have the tabs, url and such all on that thin layer with the open close minimize hidden.

Using firefox.
Theme: https://gist.github.com/koekeishiya/8a4299a7707a2b19edc6

Thanks!!
On Mon, Feb 29, 2016 at 7:10 AM koekeishiya<EMAIL_ADDRESS>wrote:

Using firefox.
Theme: https://gist.github.com/koekeishiya/8a4299a7707a2b19edc6
—
Reply to this email directly or view it on GitHub
https://github.com/koekeishiya/kwm/issues/196#issuecomment-190187988.


Better regex for Telegram usernames

Correct regex for Telegram usernames, https://telegram.org/faq#q-what-can-i-use-as-my-username

Nice, thx 👍


No Image - (video recv: timeout - grab:pyav stream failed)

Hi! I'm trying to run the tello drone from Ubuntu 20.04 and ROS Noetic on a Virtual Machine
I have been able to establish a connection to the drone and send commands. I've even written a script that controls the drone with the keyboard. The only issue is that I'm not getting any video. It keeps throwing:    video recv: timeout   followed by a fgrab:pyav stream failed
I'm attaching the error messages I receive. I would appreciate any insight into any mistakes I could've done, since I haven't been working with ROS for a long time

Hello, It's been a time since your post, but were you able to fix that? I'm facing the same issue and I can't find a solution. Thanks.


feat: MSSQL onConflict/merge support

Ref: #5646, #3186
What
Support for onConflict/merge for MSSQL
Why
Because there there is no support for this in Knex for MSSQL. You'd have to either decide on an upsert approach and wrap it in raw or use individual statements to achieve the similar behaviour
How
Implementing (most) of the current onConflict/ignore/merge API via a subset of standard ansi sql merge statements. .raw inside onConflict has not been added.
Anything else
Because this approach uses standard syntax, other dialects should also be able implement this in a similar manner (given they too support standard syntax).

Is anything happening with this? Seems like a no-brainer and would be really helpful to MSSQL users

@elhigu @kibertoad

@dustryder Been testing it for a little bit and everything works well except for unique composite indexes.  Seems to have been the issue with the original PR as well: https://github.com/knex/knex/pull/3763#issuecomment-717650068.
Did you manage to get that part working? Would really appreciate any guidance on getting that working since it seems to be stuck on my end there as well

The code in the commit linked related to triggers is only hit if you add the includeTriggerModifications option in your insert or update statement. This just bypasses the output using a slower methodology but it's a simple way to get around the trigger issues for return values. You could use the same ideology for the upset I suspect though. If you need further clarifications let me know.

@KalebMatthews Sorry for the late reply! I've tried a bunch of different fixes but none of them seem to work. Would you be able to provide some guidance on the exact changes to make?

Also been researching and trying to figure out if maybe I can replicate this: https://github.com/sequelize/sequelize/blob/0b7c86d063bfb43fd3d513640456a63304934231/packages/mssql/src/query-interface.js#L50
from sequelize

@KrisLau So you're issue is that you are treating the output like a return statement. As the error indicates if a table has a trigger the output statement must be pushed into a temp table of some sort. The main knex maintainers did not like the weight that this put on the normal query (which I agree with) which is why I added a modification option to enable to trigger specific insert, update, del returns. You can add the return feature only if the return is being utilized and generate the temp table and separate select statement (and delete temp table statement) if a return is specified. If one is not used then you can just return the count or exclude the output completely.
That is my suggestion.

@KalebMatthews Sorry for all the trouble I'm rather new to this! I looked through the _insertWithMerge function but it seems to be doing the same thing that you had implemented in the insert methods unless I'm misunderstanding the code. Specifically this part seems to be replicating the behaviour you mentioned:
const returningSql = returning
  ? ` ${this._returning('insert', returning, options.includeTriggerModifications)}`
  : ''

// other code

sql += returningSql;

if (options && options.includeTriggerModifications) {
  sql = this._buildTempTable(returning) + sql + this._buildReturningSelect(returning);
}

So is the issue with my code have to do with me having to pass true to the includeTriggerModication option?
The only other difference I could see was the return statement returning just the sql like this in this PR: return sql instead of an object with both sql and returning like this:
return {
    sql,
    returning
}

According to your testing scripts you are expecting results like
merge into [upsert_tests] using (values (?, ?)) as tsource([email], [name]) on [upsert_tests].[email] = tsource.[email] when not matched then insert ([email], [name]) values (tsource.[email], tsource.[name]) output inserted.[email];
The last output is where your error string is referring to.

@KalebMatthews Managed to get rid of the error turns out I hadn't noticed that I fixed the error and was getting a different one related to something else (managed to fix that too), thanks so much for the help! Now it just seems to be failing silently and I'm not sure what to do about that haha (no error, no update in the db). Any way to debug a silent failure in knex?

@KalebMatthews Managed to get rid of the error turns out I hadn't noticed that I fixed the error and was getting a different one related to something else (managed to fix that too), thanks so much for the help!

@KalebMatthews Managed to get rid of the error turns out I hadn't noticed that I fixed the error and was getting a different one related to something else (managed to fix that too), thanks so much for the help!

Glad I could be of some help.


Unifying rules for command parsing

Currently, there are two different rules for command parsing. One for sub commands like str join, another for simple command like echo.
This make application side difficult  to tell the difference between echo this and str join, cause they are both being parsed as sub command.
And this two rules also make command with three or more name segments failed to parse.

This pull request simplify those two rule into one, which always parse and only parse the first command segment as command name, everything else that follows are arguments.
Applications can look into arguments on their own, to recognize long command with more than one name segment.
Also this pull request rewrite part of pipeline rule, to allow user add new line before and after |.
Add an extra argument to ts test command in ts.nu to allow test case name filtering (also added completion for that arg).

@SirZenith Thanks for this PR!
@1Kinoti Would you mind reviewing this PR and letting us know what you think?

@SirZenith thanks for this.
a few nitpicks and we'll be good go

@fdncred this is good to go. thanks again @SirZenith

😄

@fdncred this is good to go. thanks again @SirZenith

Thanks @1Kinoti and @SirZenith. We appreciate the support!!


Improper formatting of Obsidian Title property

If a title has a :, the Obsidian properties at the top of the page "break". The best way to solve this is to surround the page title with quotes ("").
Reproduce by enabling the Obsidian sync and saving a page with a : in the title.

There are a few different characters that would break the YAML frontmatter in a note, so it would be good to wrap the titles, or any other strings, in quotes.


Account for searching for non-\w characters; remove unintensional non-printing characters

Blacklisted usernames:

Remove extraneous Unicode Left-to-right Override characters that were at the end of a few usernames. Comparing searches on metasmoke and the listed detections indicate this prevents matching (i.e. these changed blacklisted usernames were not effective).

Blacklisted Keywords:

Account for searches being bookended by \b. When searching for characters from languages other than English (i.e. using non- \w characters) a \W* is needed to consume all \W characters up to a \b word break.
Comparing searches on metasmoke and the detections listed for various TP posts indicated in each case this prevents matching (i.e. these changed blacklisted keywords were not effective). There were some few cases for a couple words where these did match correctly on a couple TP, but the significant majority of TP posts where theses existed to be match, they were not detected (after the detection was added to the watchlist/blacklist).

Watchlist:

Remove some unintentional non-printing characters (mostly Unicode Left-to-right Override characters)
Again, account for using \b bookending while searching for non-English text. [Basically, include the same statements here as were made above for blacklisted keywords wrt. lack of functionality/detection being indicated by comparing search results and listed detections.]

For the blacklisted keywords and watchlist, the drawback for using \W* to extend to the next \b in both the blacklist keywords and the watchlist is that what's being detected will not be as clear in the "reasons", because what will be shown as the match will be significantly more than the characters/words which we're really looking for.

Coverage remained the same at 65.763% when pulling be5f7258d76b6fe610b1edb8c2297d224898674a on makyen:Makyen-add-W-to-Eastern-language into 2c660424d13000b80409402c21cc870b7cd0100d on Charcoal-SE:master.

!!/approve


Support directives to control whether rustfmt runs on a section of code

clang-format allows you to disable formatting on a piece of code temporarily with special clang-format off and clang-format on comments.
http://clang.llvm.org/docs/ClangFormatStyleOptions.html#disabling-formatting-on-a-piece-of-code
Sometimes the output of rustfmt isn't to my liking -- in those cases I'd like the ability to disable it for a section of code.

you can use #[rustfmt_skip] to skip items

Hmm, that sounds very promising! Is that documented anywhere?
And does Rust make it possible for that attribute to be applied to individual blocks or lines of code?

Documented here: https://github.com/rust-lang-nursery/rustfmt#tips
You can apply attributes to blocks and statements (but not individual expressions)

Thanks!

For future visitors here who don't click on the link before trying out the suggestion: that only works in nightly. From there link:

Tips

For things you do not want rustfmt to mangle, use one of
#[rustfmt_skip]  // requires nightly and #![feature(custom_attribute)] in crate root
#[cfg_attr(rustfmt, rustfmt_skip)]  // works in stable

When you run rustfmt, place a file named rustfmt.toml or .rustfmt.toml in
target file directory or its parents to override the default settings of
rustfmt.

After successful compilation, a rustfmt executable can be found in the
target directory.

If you're having issues compiling Rustfmt (or compile errors when trying to
install), make sure you have the most recent version of Rust installed.

Sorry for bumping this so late. I am aware of #[rustfmt::skip] directive. However How can I disable and re-enable rustfmt within a certain portion of a block?
fn main() {
    // rustfmt off
    println!(
                  "something"
    );
    // rustfmt on
}

This is helpful when I am constructing a big gtk Box, makes my code more readable:
Example:
use {gtk::prelude::*, crate::consts::INNER_SPACE};

#[rustfmt::skip]
pub struct PrimaryWindow {
pub header_bar: gtk::HeaderBar,
    pub header_bar_hbox: gtk::Box,
        pub window_title: gtk::Label, // never really used
        pub stack_switcher: gtk::StackSwitcher,
pub window: gtk::ApplicationWindow,
    pub outer_hbox: gtk::Box,
        pub inner_vbox: gtk::Box,
            pub stack: gtk::Stack,
}

impl PrimaryWindow {
    pub fn new(gtk_application: &gtk::Application) -> Self {
        // init
        // ...
        // return

		// rustfmt off
        Self {
            header_bar: header_bar,
                header_bar_hbox: header_bar_hbox,
                    window_title: window_title,
                    stack_switcher: stack_switcher,
            window: window,
                outer_hbox: outer_hbox,
                    inner_vbox: inner_vbox,
                        stack: stack,
        }
		// rustfmt on
    }
}

You can just stick #[rustfmt::skip] attribute to statements.
fn main() {
    #[rustfmt::skip]
    println!(
                  "this will not be formatted"
    );
    println!(
                  "this will be formatted"
    );
}

Could rustfmt be skipped on the file header of a Rust file (as in license information, if any)?

Could rustfmt be skipped on the file header of a Rust file (as in license information, if any)?

There's several existing ways to skip an entire file:

Inner attributes, e.g. #![rustfmt::skip] within the file, https://github.com/rust-lang/rustfmt#tips
Via a commented @generated marker, which yes can be within license headers/comments present at the top of the file, along with the corresponding configuration option https://rust-lang.github.io/rustfmt/?version=v1.4.38&search=#format_generated_files
Adding the file path to your ignore list in the config file, https://rust-lang.github.io/rustfmt/?version=v1.4.38&search=#ignore

What if I have something like this:
const QR_MASK: u8     = 0b10000000;
const OPCODE_MASK: u8 = 0b01111000;
const AA_MASK: u8     = 0b00000100;
const TC_MASK: u8     = 0b00000010;
const RD_MASK: u8     = 0b00000001;

const RA_MASK: u8     = 0b10000000;
const AD_MASK: u8     = 0b00100000;
const CD_MASK: u8     = 0b00010000;
const RCODE_MASK: u8  = 0b00001111;

And I don't want to use #[rustfmt::skip] on every line?
Is there a way to also specify a multi-line skip like #[rustfmt::skip_start]...<more lines>...#[rustfmt::skip_end]?
Or would there be another solution that I am just missing here?

Is there a way to also specify a multi-line skip like #[rustfmt::skip_start]...<more lines>...#[rustfmt::skip_end]? Or would there be another solution that I am just missing here?

I was also looking for a solution to this. I have some code with a somewhat large list of constants. The best option I could find is putting the constants in a module and then adding #[rustfmt::skip] to the module. Not particularly ideal, but it works.

Is there a way to also specify a multi-line skip

Is there a way to do this in late 2023?

The following works for me on stable:
#[cfg_attr(rustfmt, rustfmt_skip)]
{
<code>
}


marines can hear almayer common groundside

I've observed the same with command comms when the towers are down.

fixed by Drsmugleaf


Updates Certification file for ISO27001 to 2022 version

This pull request updates the wavecon certificate file to the latest version regarding the 2022 edition of ISO27001 and changes the reference in the documentation text.

lgtm, thanks


support go actions

as per title

I made a Go library to help with this.
http://jamesthom.as/blog/2016/06/21/serverless-go-actions/

Here's another way to do it: https://www.ibm.com/blogs/bluemix/2017/01/docker-bluemix-openwhisk/

I am looking to the implementation of the nodejs runner. I wonder if the right implementation of a go action should not be instead of requiring an http server listening for the runCode post, and implement the unit code replacing the binary with the provided one. Or even create a .so library.

@sciabarracom
What @rabbah shared that’s exactly what it does, it executed a binary the go code is just an executable. In this case you would get the input via a single string JSON from stdin
This issue would be to take it to the level of in two fold

Instead of the user writing a go program to parse json from stdin or argv, it would be a more clean programming model to write a function that takes input as a structure object, there would be an epilogue to do the run of the user function parsing the the incoming JSON
The performance and memory reuse between invocations of different runs. Since the container might not even pause for invocations that are call back to back very fast or pause and resume would also preserve state on the container action

Sorry if I misunderstood your suggestion and comment

I wrote my proposal in the mailing list to make more clear what I mean.

Do you have a branch with changes or PR with some code maybe that would help understand better your proposal

Not yet, but I can work on it if it sounds acceptable.

@csantanapr I wonder if we are able to close this issue, since we have runtime-go repo.

Closing this as we have documented go actions and a dedicated repo.


adding first draft of intro blog

I had a few comments, and ping me when you want me to merge this (I'm being careful, because you labeled this as a "draft").

Great point!  I have changed it


Support customizing the paginating-legend for pie charts

Currently the legend on pie charts generated by paginating-legend.js is very inflexible.
It would be real nice if we could customize its position and size, and also change the limit for key truncation.

Thanks for the suggestion @semiosis! We'll keep this in mind for an upcoming sprint of updates and improvements.

This is a feature enhancement that we're also looking forward to!

Fixed in
https://github.com/keen/keen-dataviz.js/releases/tag/v3.0.0
Configuration options:
https://github.com/keen/keen-dataviz.js#legend
We've removed all the CSS styling from the JS files, so you can use your own custom CSS.


Add documentation on cases that does not support autocorrection in cop

This PR added an explanation of the cases that does not support autocorrection.

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Updated documentation.
[-] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

If you have created a new cop:

[-] Added the new cop to config/default.yml.
[-] The cop is configured as Enabled: pending in config/default.yml.
[-] The cop is configured as Enabled: true in .rubocop.yml.
[-] The cop documents examples of good and bad code.
[-] The tests assert both that bad code is reported and that good code is not reported.
[-] Set VersionAdded in default/config.yml to the next minor version.

If you have modified an existing cop's configuration options:

[-] Set VersionChanged in config/default.yml to the next major version.

I tried to use does not support autocorrection  . What do you think?


[BUG] AttributeError in PandasDataFrame.__init__ with triad>=0.9.2

Minimal Code To Reproduce
import fugue_sql

dag = fugue_sql.FugueSQLWorkflow()
df = dag.df([[0, "hello"], [1, "world"]], "a:int64,b:str")
dag("SELECT * FROM df WHERE a > 0 YIELD DATAFRAME AS result")

result = dag.run("dask")

Describe the bug
When pulling in triad>=0.9.2, the above reproducer fails due to a missing enforce_type attribute:
AttributeError                            Traceback (most recent call last)
Cell In [1], line 7
      4 df = dag.df([[0, "hello"], [1, "world"]], "a:int64,b:str")
      5 dag("SELECT * FROM df WHERE a > 0 YIELD DATAFRAME AS result")
----> 7 result = dag.run("dask")

File /datasets/charlesb/miniforge3/envs/dask-sql-py38/lib/python3.8/site-packages/fugue/workflow/workflow.py:1523, in FugueWorkflow.run(self, *args, **kwargs)
   1521         if ctb is None:  # pragma: no cover
   1522             raise
-> 1523         raise ex.with_traceback(ctb)
   1524     self._computed = True
   1525 return DataFrames(
   1526     {
   1527         k: v.result
   (...)
   1530     }
   1531 )

Cell In [1], line 4
      1 import fugue_sql
      3 dag = fugue_sql.FugueSQLWorkflow()
----> 4 df = dag.df([[0, "hello"], [1, "world"]], "a:int64,b:str")
      5 dag("SELECT * FROM df WHERE a > 0 YIELD DATAFRAME AS result")
      7 result = dag.run("dask")

File /datasets/charlesb/miniforge3/envs/dask-sql-py38/lib/python3.8/site-packages/fugue/dataframe/pandas_dataframe.py:64, in PandasDataFrame.__init__(self, df, schema, metadata, pandas_df_wrapper)
     62 schema = _input_schema(schema).assert_not_empty()
     63 pdf = pd.DataFrame(df, columns=schema.names)
---> 64 pdf = PD_UTILS.enforce_type(pdf, schema.pa_schema, null_safe=True)
     65 if PD_UTILS.empty(pdf):
     66     for k, v in schema.items():

AttributeError: 'PandasUtils' object has no attribute 'enforce_type'

Expected behavior
With triad=0.9.1, running the above workflow would succeed.
Environment (please complete the following information):

Backend: dask
Backend version: 2022.3.0
Python version: 3.8
OS: ubuntu 20.04

Ah, sorry, but I think Fugue side has finished the change to depend on dask-sql when the backend is dask, I will make a pr to dask-sql to remove the unnecessary part.

Hey, I'm also affected by this bug, using Spark backend.
Some relevant requirements:
adtk==0.6.2
pyod==1.0.1
numpy==1.22.3
fugue==0.8.3

My application suddenly stopped working from one deployment to another. It seems like the setup.py of fugue pins down versions in a rather risky way:
        "triad>=0.9.3",
        "adagio>=0.2.4",
        # sql dependencies
        "qpd>=0.4.4",
        "fugue-sql-antlr>=0.1.6",

So I'm guessing triad was updated, which caused my pinned down version of fugue to break. I see two long term solutions to this problem:

Change the pinning strategy of the fugue project, to something like this:

        "triad<=0.9.3",
        "adagio<=0.2.4",
        # sql dependencies
        "qpd<=0.4.4",
        "fugue-sql-antlr<=0.1.6",

This would ensure sub-dependencies are only updated with a specific version update on fugue.

Add a disclaimer in the installation steps that proper requirement locking is required from end-users, by using something like pipenv. Currently documentation recommends installation by pip which is a ticking bomb: https://github.com/fugue-project/fugue#installation


Cannot access QGIS Python (PyQGIS) API

URL
https://qgis.org/pyqgis/3.34/
On what type of device(s) did you see this bug?
Desktop
On which browser(s) are you seeing the problem?
Microsoft Edge
Other Browser
No response
Summary
I cannot reach https://qgis.org/pyqgis/3.34/ or https://qgis.org/pyqgis/master/

Links on the following pages point to a "404 - There isn't a GitHub Pages site here."

https://qgis.org/resources/hub/
https://docs.qgis.org/3.34/en/docs/pyqgis_developer_cookbook/cheat_sheet.html#sources

As a workaround you can try if the Internet Archive has the wanted pages archived. Start from http://web.archive.org/web/20240427104917/https://qgis.org/pyqgis/3.34/

A better workaround is this:
You can download zip releases of the docs at https://github.com/qgis/pyqgis-api-docs-builder/releases
E. g. https://github.com/qgis/pyqgis-api-docs-builder/releases/tag/3.38 -> https://github.com/qgis/pyqgis-api-docs-builder/releases/download/3.38/pyqgis-docs-3.38.zip
Extract that and open the build/index.html file in your web browser as entry point.

Seems to be caused by https://github.com/qgis/pyqgis-api-docs-builder/issues/125#issuecomment-2223279243

Hi everyone, please also see my comment there. https://github.com/qgis/pyqgis-api-docs-builder/issues/125#issuecomment-2225064102.

The issue has been fixed. Thanks to @3nids.

@kannes @Xpirix please see https://github.com/qgis/QGIS-Hugo/issues/343.


Performance

Hi,
when I'm comparing http://rrag.github.io/stockcharts-demo/ with http://rrag.github.io/fullpage/documentation.html there is difference in speed.
Besides freezing problem in fullscreen mode in SVG + Canvas in Chrome there is difference in speed when zooming in/out when you compare these two.
Why is http://rrag.github.io/stockcharts-demo/ zooming so much faster? Is it some setting that can be changed? Or is it because there is more data?

So first reason i think it difference release version on two demo
on documentation page it is 0.6.1
on demo page - 0.2.12

thanks @borm you are right demo is a really old version, I have never gotten around to upgrading it to the latest.
About zoom speed, you could change it with a prop zoomMultiplier on ChartCanvas
if you wish to

reverse the direction of zoom, like scroll up to zoom out (instead of zoom in) change the value to < 1
increase the speed of zoom change to to a higher value

every zoom-in event will change the scale by zoomMultiplier times and zoom out will change the scale by  1 / zoomMultiplier
default value is - https://github.com/rrag/react-stockcharts/blob/master/src/lib/ChartCanvas.jsx#L945

thanks, works much better now


Fix Docker build process, score-properties-builder.sh was not valid, hygeia-jenkins-plugin failed due to mismatched dependency

Fixes made in order to make mvn docker:build finish properly.

This resolved the build issue for me.

Please finish this pull request.
Actually mvn docker:build is not working correctly...

@mrlov WIll finish it now need to re-base.

@matthewbeasley Re-based it is re-building then should be good for merge!

@mikesalvia - thanks a lot bud!


fix: reflect change in angular private API

Fix #696. Since 50d4a4f, Angular's compiler exports PropertyBindingType as a const enum which declaration does not get emitted to JavaScript. This requires a local definition of the same enum.

Wouldn't this issue have solved itself per the upgrade to Angular 6.1 in a9d74bef3a93818520127676612fc67531dde785? I would expect the TypeScript compiler to inline the const enum values now, much like what happens in this PR as well but then without the additional delegate type.

Yep, good point.


Syncing from upstream zalando/patroni (master)

bt_gitbot

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
We've detected an issue with your CI configuration that might affect the accuracy of this pull request's coverage report.
To ensure accuracy in future PRs, please see these guidelines.
A quick fix for this PR: rebase it; your next report should be accurate.

41 of 41 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.858%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
13341

Relevant Lines:
13360

💛  - Coveralls


Fluctuation in LSS speed for steady wind

Hello,
I am observing the LSS speed fluctuation even at steady wind of 8m/s, which leads to 1P for DTU10MW. Wondering if anyone can help me understand if this is numerical or physical or point me in right direction.

Regards,

Dear @PaulKSmith,
Just a few questions in response:

Is this the output from an OpenFAST model?
Where did you obtain this model and have you changed it in any way?
Does your model include imbalances such as structural (e.g., differing blade masses) and/or aerodynamic (e.g., differing blade-pitch angles)?

Best regards,


Add change log

We will release v0.3.0. So, I added the changelog for it. cc: @KentoMoriwaki

open_api_annotator|master ⇒ be rake release
open_api_annotator 0.3.0 built to pkg/open_api_annotator-0.3.0.gem.
Tagged v0.3.0.
Pushed git commits and tags.
Pushed open_api_annotator 0.3.0 to rubygems.org

@KentoMoriwaki
I've just released v0.3.0 including your change!
Thank you for contributing this gem! 😄


Loading screen is not real-time with Adonuxt

Version
v2.5.0
Reproduction link
https://github.com/nuxt-community/adonuxt-template
Steps to reproduce
Try to run the dev server with Adonuxt template.
What is expected ?
This is expected that the loading screen display real-time compilation.
What is actually happening?
Depending on the compilation step, the loading screen is frozen on it.
Additional comments?
I am using Adonuxt and run the dev server with npm run dev.
Running it with nuxt dev -o as said in the changelog is working with the loading screen but the default page is displayed because pages directory is in resources.
Thanks!

This bug report is available on Nuxt community (#c8882)

Closing this issue, it has been fixed with 2.6.x.


Parser bug fixes

I believe I have identified 3 Ike Payloads that have bugs in their parser implementations. Notify and Delete seem to assume the length passed to them doesn't have the 4 bytes for the header removed. Vendor ID seems to be trying to skip over some other data in addition to the header.
I committed fixes to each of the 3 parsers and added unit tests that capture the error I was correcting. Let me know if there is any other information or code changes you'd like to see in this MR.

Hey @chifflier Just wanted to ping you to see if I can get q review on this and my other pull request. Thanks!


/api/positions responds with Device access denied

Hello,
I upgraded my instance to latest version 3.14 of traccar.
Using API's only to communicate with traccar. and everything had been working well before.
I am calling the api/reports/events?
and then with the positionId returned in the above api call, I query  /api/positions  with the positionId for the position details, it was working well until 3.13
However with 3.14 the /api/positions call is returning an error as follows.
When the user is a manager.
Device access denied - SecurityException (PermissionsManager:276 < PositionResource:76 < ...)
When the user is an end-user
Manager access required - SecurityException (PermissionsManager:158 < *:270 < PositionResource:76 < ...)
I have tried troubleshooting, Unable to figure out the cause.

Most likely you are missing Accept header. I has been discussed and explained many times.


Broken links in readme

The following links in the readme do not work:

https://github.com/senecajs/ramanujan/blob/master/informal-requirements
https://github.com/senecajs/ramanujan/blob/master/message-specification
https://github.com/senecajs/ramanujan/blob/master/service-specification

The link to fuge is also broken :)


system level plugin locations

The Larch document says that the system location for plugins is /usr/local/share/larch/plugins.  In practice, on my Ubuntu machines, plugins get installed into /usr/share/larch/plugins.  (I presume that is because you use sys.prefix in setup.py, which is /usr.)
I suppose that /usr/local/share is the "correct" location for data associated with a package built from source.  (Here, "correct" is relative to the confusing and often-ignored linux file system standard.)  So the request here is to modify either setup.py or the doc so they agree.
On a related topic, do you have a recommended link to a good setup.py tutorial?  I find the offical docs to be rather thin reading.  What I'd like to read is a cookbook of examples.

This is now significantly changed.  Larch plugins are installed to the user's account ($HOME/.larch on unix or a similar %APPUSER%\larch on Windows).  This makes it much easier to manipulate post-install,  including blowing away an install.  And it means non-root installs are possible.


[Draft] Avoid expensive findEntry call in segment metadata query

The change looks like a good idea to me. How about:

changing all call sites
removing findEntry and the PartitionHolder asImmutable method
adding a performance test that verifies that CachingClusteredClient is able to do its work in a reasonable amount of time even when there are some crazy number of segments in a time chunk, like 100,000? (That ought to be enough for anybody.) The "reasonable" amount of time might need to be somewhat high to prevent flaky tests from being an issue. Maybe 15 seconds. In reality, we'd want this to happen much faster than 15 seconds, but we don't want to cause flaky tests.

Another thing: I see that asImmutable doesn't just return an immutable copy, it also calls OvershadowableManager.copyVisible to potentially not return all of the chunks. So cutting out the call to asImmutable would also cut out the call to copyVisible. I'm not sure what consequences that might have. Have you analyzed it and determined that it's OK to cut out that call?

@abhishekagarwal87 Another idea I had is in the CachingClusteredClient.getQueryRunnerForSegments we can cache the result returned from timeline.findEntry(spec.getInterval(), spec.getVersion()). We can maintains a map while iterating through all the input specs and cache returned PartitionHolder<ServerSelector> for the interval/version pair. This is useful when the Iterable<SegmentDescriptor> specs contains a lot of same interval/version pair. For example, if new there are a lot of segments per interval, the specs can contains pretty much all a single interval/version pair.

The change looks like a good idea to me. How about:

changing all call sites
removing findEntry and the PartitionHolder asImmutable method
adding a performance test that verifies that CachingClusteredClient is able to do its work in a reasonable amount of time even when there are some crazy number of segments in a time chunk, like 100,000? (That ought to be enough for anybody.) The "reasonable" amount of time might need to be somewhat high to prevent flaky tests from being an issue. Maybe 5–15 seconds. In reality, we'd want this to happen much faster than that, but we don't want to cause flaky tests.

Yes. I plan to remove all findEntry calls and fix tests accordingly. I will add the perf test as well. Thanks for the tip.

Another thing: I see that asImmutable doesn't just return an immutable copy, it also calls OvershadowableManager.copyVisible to potentially not return all of the chunks. So cutting out the call to asImmutable would also cut out the call to copyVisible. I'm not sure what consequences that might have. Have you analyzed it and determined that it's OK to cut out that call?

Good catch. As far as I can tell, cutting down that call should not make a difference. copyVisible retains only visible chunks in knownPartitionChunks. However, in the getChunk call too, we are only returning a chunk if its visible. There shouldn't be a mismatch in behavior after the change.

@abhishekagarwal87 Another idea I had is in the CachingClusteredClient.getQueryRunnerForSegments we can cache the result returned from timeline.findEntry(spec.getInterval(), spec.getVersion()). We can maintains a map while iterating through all the input specs and cache returned PartitionHolder<ServerSelector> for the interval/version pair. This is useful when the Iterable<SegmentDescriptor> specs contains a lot of same interval/version pair. For example, if new there are a lot of segments per interval, the specs can contains pretty much all a single interval/version pair.

yeah, I thought about that too. I didn't go ahead with that approach since that would require creating a new temporary state variable. For queries with many intervals, it could be that we end up creating many map entries with deep copies of OvershawdoableManager.  what do you think?

It would seem this change alone is not enough. Adding a chunk to timeline is also O(N*N) since it calls PartitionHolder.isComplete which is O(N) op.

LGTM


How  can I get the libtritonserver.so file from the FasterTransformer.git repository?

Description
I tried to build  source codes in the  FasterTransofrmer.git repository  in order to get the **/opt/tritonserver/bin/tritonserver** and **/opt/tritonserver/lib/libtritonserver.so** with **-DSM=61** option  to support the (out-of-date)  Nvidia Titan Xp card.

* OS: Ubuntu 18.04 LTS x86_64
* GPU: Nvidia Titan Xp (VRAM 12GB)

1. git clone https://github.com/NVIDIA/FasterTransformer.git
2. cd FasterTransformer && mkdir build && cd build
3.  time cmake **-DSM=61** -DCMAKE_BUILD_TYPE=Release .. && make -j12
4. ./bin/gptj_example

            .......... Omission .................
After loading model : free:  0.24 GB, total: 11.91 GB, used: 11.67 GB
After forward       : free:  0.09 GB, total: 11.91 GB, used: 11.82 GB
Writing 320 elements
  818   262   938  3155   286  1528    11   257     0 39254
zeroCount = 8
[INFO] request_batch_size 8 beam_width 1 head_num 16 size_per_head 256 total_output_len 40 decoder_layers 28 vocab_size 50400 FT-CPP-decoding-beamsearch-time 2294.78 ms

The below contents show the ELF binary files and SO libraries that could be generated by cmake/make command.
However, I could not  get the  libtritonserver.so file .  How can I get the libtritonserver.so file to support Nvidia Titan Xp (-DSM=61), Maybe,  ./lib/libGptJTritonBackend.so can be replaced to libtritonserver.so file?

The .so file used by triton backend is ./lib/libtransformer-shared.so.

You are right. I think that the triton backend's repository is https://github.com/triton-inference-server/fastertransformer_backend. Actually, the fastertransformer_backend repository generates two shared object files such as libtritonserver.so and libtransformer-shared.so file. So I wonder what is difference between the fastertransformer_backend and this repository (e.g. fastertransformer)?

It is like the tensorflow_backend and tensorflow.
All features are implemented in FasterTransformer, and fastertransformer_backend is only a interface, letting triton call FasterTransformer.

Thank you for your response. Your comment provided me with additional information.
I have summarized the ELF files and SO files generated by the following three repositories:

https://github.com/triton-inference-server/server

Output: tritonserver (ELF), libtritonserver.so

https://github.com/triton-inference-server/fastertransformer_backend.

Output: libtriton_fastertransformer.so, libtransformer-shared.so

https://github.com/NVIDIA/FasterTransformer

Output: libtransformer-shared.so

Close this bug because it is inactivated. Feel free to re-open this bug if you still have any problem.


Fix build for android

Describe your changes

Fix errors and warnings observed when running :android:compileDebugKotlin that caused 0.11.1 release to fail.

Don't use BigInteger.TWO: not supported in Java 1.8
android deps

Add kotlin-reflect
Bump and format deps

Update NativeLoader to handle System.getProperty() returning null

Linked issues

Closes
Breaking changes

[ ] This issue contains breaking changes

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

Project coverage is 71.12%. Comparing base (2131ce4) to head (41b9ee3).

Files
Patch %
Lines

...tlin/com/swmansion/starknet/crypto/NativeLoader.kt
0.00%
1 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #445      +/-   ##
==========================================
- Coverage   71.17%   71.12%   -0.06%
==========================================
  Files          75       75
  Lines        3337     3338       +1
  Branches      366      367       +1
==========================================
- Hits         2375     2374       -1
- Misses        797      798       +1
- Partials      165      166       +1

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


Add api for interacting with bounding boxes

It would be more than nice if we could access and do at least basic operations with entity aabb.
in forge we can simple use methods
net.minecraft.world.World#getCollidingBoundingBoxes(Entity,AxisAlignedBB )
net.minecraft.world.World#findNearestEntityWithinAABB(Class , AxisAlignedBB, Entity)
net.minecraft.world.World#getEntitiesWithinAABB(Class,AxisAlignedBB)
but we can't do that with spongeapi, this can lead to ugly workarounds

For now its impossible or at least very expensive to find

Player's targeted entity
Nearby/Nearest entities around another

Yeah, this would be super useful for working with entities.

It'd make porting over certain plugins from Bukkit easier.

Forgot to close this when I merged the feature/aabb branch.


Updated $addField (v5)

Added Index field.
Updated usage.
Added example image.

Solve the merge conflicts!

The function has already been updated for v5 by the Dev's. So you can close this pr. Thanks for your efforts.

Conflicts and already updated.


Implement Queue using Two Stacks | Java

Implementing A Queue using Two Stacks
Type of Issue -

[x] Adding New Code

Programming Language

[x] Java

Self Check

Ask for issue assignment before making Pull Request.
Add your file in the proper folder
Clean Code and Documentation for better readability
Add Title and Description of the program in the file

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Happy Coding,

Please assign this issue to me! :)

Please assign me for the C++ version of this issue


Compatible with size layout with all size classes?

I am struggling to get the table views full screen when using iPhone and iPad compatible auto layout.  Anyone else?

Think I'm experiencing the same issue. The view is full screen when toggling with segmented control but shifts down slightly when swiping? Any luck @mcassano ?

I ended up switching to another segmented control (FHSegmentedViewController) but it had the same problem.  I stuck with it with that control and found that if I set the navigation bar to translucent = false then everything drew correctly.  This same could work for XLMailBox.  Find the navigation bar on load and set translucent to false so the list can't load behind it.

Apologies on the late reply. Thank you for sharing what you found, I also
switched the FHSegmentedViewController, then implemented the change. Fixed
my issue! Thanks again.
On Sunday, January 25, 2015, Michael Cassano<EMAIL_ADDRESS>wrote:

I ended up switching to another segmented control
(FHSegmentedViewController) but it had the same problem. I stuck with it
with that control and found that if I set the navigation bar to translucent
= false then everything drew correctly. This same could work for XLMailBox.
Find the navigation bar on load and set translucent to false so the list
can't load behind it.
—
Reply to this email directly or view it on GitHub
https://github.com/xmartlabs/XLMailBoxContainer/issues/11#issuecomment-71379937
.


feature support split scanners by size of segment

Proposed changes
Issue Number: close #xxx

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

run buildall

run buildall

run buildall


Leader election fails after install via manual manifest apply

Hi!  Having some trouble installing cert-manager.  We utilize kustomize + argocd to install cert manager, and to do so there's a few hoops to jump though to get things to roll out properly.  It seems, however when things do spin up cert-manager is very angry about configmaps in kube-system namespace.
We use kustomize to get argocd to install cert-manager correct, you have to use sync-wave patches to allow the webhook configuration to roll out in correct order:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: cert-manager

commonAnnotations:
  argocd.argoproj.io/sync-options: Validate=false

resources:
  - https://github.com/jetstack/cert-manager/releases/download/v1.0.1/cert-manager.yaml

patchesStrategicMerge:
  - webhooks.yaml

webhooks.yaml
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
  name: cert-manager-webhook
  annotations:
    argocd.argoproj.io/sync-wave: "2"

---

apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
  name: cert-manager-webhook
  annotations:
    argocd.argoproj.io/sync-wave: "2"

cert-manager logs
E0925 05:22:07.622864       1 leaderelection.go:321] error retrieving resource lock kube-system/cert-manager-controller: configmaps "cert-manager-controller" is forbidden: User "system:serviceaccount:cert-manager:cert-manager" cannot get resource "configmaps" in API group "" in the namespace "kube-system"

cert-manager ca-injector logs
E0925 05:24:34.199349       1 leaderelection.go:321] error retrieving resource lock kube-system/cert-manager-cainjector-leader-election-core: configmaps "cert-manager-cainjector-leader-election-core" is forbidden: User "system:serviceaccount:cert-manager:cert-manager-cainjector" cannot get resource "configmaps" in API group "" in the namespace "kube-system"
E0925 05:24:34.426304       1 leaderelection.go:321] error retrieving resource lock kube-system/cert-manager-cainjector-leader-election: configmaps "cert-manager-cainjector-leader-election" is forbidden: User "system:serviceaccount:cert-manager:cert-manager-cainjector" cannot get resource "configmaps" in API group "" in the namespace "kube-system"

Expected behaviour:
Install properly without special flags and allow for cluster issuers to be applied.  Preferably do not require access to kube-system namespace.
Steps to reproduce the bug:
You can either install using argocd and have it roll out cert-manager with just 1.0.1 or you can stick all those kustomize files in a directory and run kustomize build, I noticed when you install v1.0.1 without the validate flag you see similar behavior, but even with annotations within argocd on all the 1.0.1 assets to validate=false it get's very angry and won't let me manage certs :(
Environment details::
GKE 1.16
/kind bug

nevermind, I was overwriting the kube-system namespace to be cert-manager with the kustomization.yaml


Cannot run Verify.Xunit tests on Windows ARM64

Describe the bug
I have a .NET 6 Xunit test project that uses the package Verify.Xunit (version 19.10.0).
Other relevant versions:

Microsoft Visual Studio Enterprise 2022 (ARM 64-bit) 17.4.4
xunit 2.4.2
xunit.runner.visualstudio 2.4.5

I'm running on Windows ARM64 (under Parallels, M1 MacBook Pro).
I'm using a basic test:
[UsesVerify]
public class VerifyTests
{
    [Fact]
    public async Task TestVerify()
    {
        var result = true;
        await Verifier.Verify(result);
    }
}

It fails with the following exception:
  Message:
System.TypeInitializationException : The type initializer for 'DiffEngine.ProcessCleanup' threw an exception.
---- System.TypeInitializationException : The type initializer for 'System.Management.ManagementPath' threw an exception.
-------- System.TypeInitializationException : The type initializer for 'System.Management.WmiNetUtilsHelper' threw an exception.
------------ System.ComponentModel.Win32Exception : Failed to load required native library 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\wminet_utils.dll'.

I cannot find information regarding the compatibility with the ARM64 architecture

out of curiosity, why didnt you try and fix it?

can u try v 11.2

Hi Simon, thank you for support.
I tried version 11.2, but I'm getting the same error.
I hoped that it was a quick fix, but it doesn't seem so. I looked at the code and then did some search - found open issues in the dotnet runtime regarding System.Management.ManagementObjectSearcher not working for ARM64.

can u share that issue?

This: 59844

Hi, followed the discussion above and the bug filed to dotnet/runtime
Is it possible to move from WMI to NtQueryInformationProcess and find command line from the PEB? (perhaps for ARM64 only)
Or wait for dotnet to fix their issue?
(i can give it a try if PRs are welcome? need to get the green dots to be considered senior dev :) )

@toastmastern a PR that omits the WMI code on ARM64 would be greatly appreciated

Will give it a try, have had a bit shortage in hours :) noted that dotnet seems to be lack of supporting \program files (arm64), might be better to give them a day or two to solve it?

can u try v 11.3.0

Works for me

Works perfectly! Thank you so much @SimonCropp !


is it possible to add MARKET/OPG orders?

Hello. Thank you for the project. I am new with GitHub, not sure this is the right place to suggest adding the possibility of trading MARKET with Instructions=OPG.  Regards.
Edited: I have edited the HTML and it seems that adding qualifier = 4 should make it trade OPG, however I cannot make it work. It doesn't send the order although I have a "Order Placed Successfully" message. OrderID = preview_warning

I will look at this when I get some time. I have been quite busy. If I can get the codes correct it is definitely possible to add.

This is now added in the firstrade-api v0.0.21 release.

I appreciate it. Thank you very much))))


Dreambooth: No checkpoints created and loop

Hi,
I tried to train a model and despite having selected the checkpoints option none has been created at my Google Drive root folder.
Also it didn´t created the final CKPT, and the notebook started again creating automatically a second one: https://imgur.com/a/0b8aWVG
My config was like this:
Start DreamBooth
Resume_Training:

If you're not satisfied with the result, check this box, run again the cell and it will continue training the current model.
Training_Steps:
7500
Total Steps = Number of Instance images * 200, if you use 30 images, use 6000 steps, if you're not satisfied with the result, resume training for another 500 steps, and so on ...
Seed:
Insert text here
Leave empty for a random seed.
Resolution:

512
Higher resolution = Higher quality, make sure the instance images are cropped to this selected size (or larger), if you're getting memory issues, check the box below (slower speed but memory effecient) :
Reduce_memory_usage:

fp16:

Enable/disable half-precision, disabling it will double the training time and produce 4.7Gb checkpoints.
Enable_text_encoder_training:

At least 10% of the total training steps are needed, it doesn't matter if they are at the beginning or in the middle or the end, in case you're training the model multiple times.
For example you can devide 5%, 5%, 5% on 3 training runs on the model, or 0%, 0%, 15%, given that 15% will cover the total training steps count (15% of 200 steps is not enough).
Enter the % of the total steps for which to train the text_encoder
Train_text_encoder_for:
100
Keep the % low for better style transfer, more training steps will be necessary for good results.
Higher % will give more weight to the instance, it gives stronger results at lower steps count, but harder to stylize,
Save_Checkpoint_Every_n_Steps:

Save_Checkpoint_Every:
500
Minimum 200 steps between each save.
Start_saving_from_the_step:
1500
Start saving intermediary checkpoints from this step.

Thanks!

I believe the "save checkpoint every" checkpoints are saved in runtime, under /content/models, and only the final checkpoints land on your Drive. It's a bit weird I think...

the intermediary checkpoints are saved immediately in gdrive in the session's folder

I have the same problem. I have tried running the Colab 4 different times now, and no ckpt files were created.
When doing training a week ago (November 5) checkpoints were created every 500 steps as requested. They did not end up in the session folder then, but in the root folder.
Anyway, thanks for an amazing colab! The results from my first training on pictures of myself are incredible.

the intermediary checkpoints are saved immediately in gdrive in the session's folder

Mmm. But there is no ckpt files there.
I see this:

I even looked by creation date on my Google drive, but I didn't saw anything similar.

I'll check that out

I'll check that out

Thanks, I appreciate it.

Same thing happening to me. Just done 3800 step training, set it to save every 500 from 500 steps and nothing is there. At the end of training, it just started again. Any update on how to fix it?

New or old method ?

Same here, latest fast-DreamBooth.ipynb file
80GB free gdrive space
Save_Checkpoint_Every_n_Steps checked and set to 500
10 hours of training, not a single checkpoint generated, it used to work the last time I tried a couple of weeks ago
Lots of paid compute units wasted this month.

try again now with a test run, set the save to the step 205 and see if it works

try again now with a test run, set the save to the step 205 and see if it works

Same problem, by the way, my images are cropped to 640 and also enabled the Female faces option

I'll check that out

So I tried again now that I'm not busy, and I found that I was mistaken.
There is no loop, I didn't used the fast method for a while and I got confused with the "Enable_text_encoder_training".
As is set by default in the value 100 and goes before the training itself I thought it was the training because it was taking the same time. And that's also why there was no saved check point.
I tried again, this time changing the 100 for 20%, and it worked, even the saved check points.
Now I don't know what does the "Enable_text_encoder_training" function. I'll do a bit more research.
Once again, thank you for your work.

Same problem, by the way, my images are cropped to 640 and also enabled the Female faces option

if you enable "contains_faces" it will not save the checkpoints until the training of the UNet starts, it will not save checkpoints during the training of the text_encoder

Oh... This is the problem of course. When it worked before I believe the text_encoder field was prefilled with something like 35. The new default, 100 (100%?) means that no intermediate checkpoints will be saved. I just went with the default as I thought it was chosen deliberately.
I am using 158 images and am therefore running 15800 iterations. This is too high for the free version of Colab, but if I have intermediate checkpoints I can start testing the one with the highest number of iterations.

@Xtreamer  if you set it to 100, it will train 15800s the textenc and 15800s the unet, set it to something like 30%

Same problem, by the way, my images are cropped to 640 and also enabled the Female faces option

if you enable "contains_faces" it will not save the checkpoints until the training of the UNet starts, it will not save checkpoints during the training of the text_encoder

ohh, ok I understand now, thanks!


Better handling of the patchelf dependency

meson-python needs patchelf to manipulate the RPATH of executables [1], shared libraries, and extension modules when a shared library is shipped as part of the Python package on Linux. patchelf is not a Pythoin package, but a PyPI package for patchelf exists, similarly as for ninja. Currently the meson-python declares a dependency on the patchelf package if patchelf is not found on the system and if the package being built is not a pure Python package
https://github.com/mesonbuild/meson-python/blob/6c720bbae702b9fbb90af0434dcdb042d1d14084/mesonpy/__init__.py#L1046-L1058
To check if the package being built is pure, meson-python checks whether there are any files distributed in platlib or if any of the distributed scripts is a native executable:
https://github.com/mesonbuild/meson-python/blob/6c720bbae702b9fbb90af0434dcdb042d1d14084/mesonpy/__init__.py#L336-L347
There is no check for whether any shared library is distributed with the package. This causes patchelf to be requested when is not actually needed for most packages built with meson-python (I think that distributing a shared library with the package is somehow rare).
Another, IMO more important, issue is that the first check requires the meson project to be configured and the second requires the project to be also built. These operations happen in a temporary build directory, thus, to actually build the wheel, the project is configured (and sometimes built) twice.
The rationale behind this appears to be the observation that it is cheaper to configure (and eventually build) the project twice than installing a binary wheel that may not be used. I think that this compromise is the wrong one. patchelf is a 450 kB binary wheel and pip nowadays ships with caching enabled by default, thus the cost of installing patchelf is small and mostly a one time thing (I assume downloading 450 kB dominates the cost, and that unpacking the wheel into the temporary build environment is negligible compared to other things required to build the wheel), on the other hand, configuring the meson project is a cost paid for every version of package built. The observation that no one has yet complained of the fact that meson-python requires to install patchelf for simple packages that do not ship shared libraries seems to corroborate this thesis.
I propose to always require patchelf on Linux when a system provided patchelf is not found.
This will affect only projects that use meson-python to build pure Python wheels. I suspect these to be extremely rare, meson-python itself being the exception. And these are also the kind of projects for which providing wheels on PyPI is extremely easy, thus I expect the global cost of this change to be minimal. On the other hand, the global savings for most of the other projects that don't need to configure the meson project twice will be significant.
By the way, does anyone know if there is a way to query PyPI for all the projects that declare a build dependency on meson-python?
[1] The oldest bug report against meson-python #3 actually claims that the mechanism does not work for executables. But many things changed since then and I haven't verified if this is the case.

Also, as noted here
https://github.com/mesonbuild/meson-python/blob/6c720bbae702b9fbb90af0434dcdb042d1d14084/mesonpy/__init__.py#L1056-L1057
meson since version 1.1.0 supports a "none" backend that basically allows only to configure a project and install files, see https://github.com/mesonbuild/meson/pull/10779
It don't have a detailed plan for how that could be integrated into meson-python but it could be a solution for pure Python packages to drop the dependency on ninja and patchelf. The easiest would probably be to add a new option:
[tool.meson-python]
backend = 'none'

that would drop the requirement for ninja and patchelf, on Linux, and would configure the project with
meson setup $builddir --backend=none

I propose to always require patchelf on Linux when a system provided patchelf is not found.

An alternative I considered is to drop the detection of the need for patchelf and require the projects that need it to add it to their build-system.requires, but I don't know how that could be made conditional to the presence of patchelf on the system.

Probably a good idea to revisit this indeed. I haven't noticed the double configure step, because I never use a system where it's not already installed. GitHub Actions Ubuntu images have it installed as well.

An alternative I considered is to drop the detection of the need for patchelf and require the projects that need it to add it to their build-system.requires,

I think this is the better alternative of the two you proposed. It limits the impact to the few projects that actually need this, rather than imposing an extra transitive dependency on every project.

but I don't know how that could be made conditional to the presence of patchelf on the system.

It can't, but that may still be fine. At that point it's a minor optimization that's lost for the packages that do need it. The gain for the many packages that don't need it seems more important.

I don't like much the solution of having the packages that need patchelf list it in their build-system.requires for two reasons: it feels wrong to have to install a Python package for something that can (and probably is better to) be provided by the distribution, and most importantly, it break backwards compatibility.
As you say, most systems already come with patchelf installed, and the cost of unpacking it into the build environment is really minimal. We have been imposing this cost on everybody already (except the projects that use meson-python for pure Python projects, of which I thing meson-python itself is the only example), basically since day zero. What I'm proposing to do is to continue to do that, but do not require the additional meson setup run that is required now.

If you're going to require every package that has a binary extension which patchelf could be reasonably run on, add something to their pyproject.toml to say so, maybe it would make sense to have them add [tool.meson-python] patchelf = true instead of [build-system] requires = ['patchelf'].
I do think that given a choice between running the full build in order to figure out whether patchelf is needed, or just assuming the build will have compiled extensions, it's so much simpler and more reliable to simply say: "meson-python depends on patchelf, no exceptions, and if you don't have your own then we will download one for you". But the "none" backend would be neat to support and part of my reason was for situations like this.
Anecdotally:
Arch Linux, Fedora, Gentoo, and Void Linux all have their package unconditionally depend on patchelf
Debian has patchelf as a Recommends.
Alpine Linux doesn't depend on it at all, neither in meson-python nor in scipy, so I wonder how that works.

@eli-schwartz There may be a misunderstanding: patchelf is needed only if the package distributes a shared library (and relies in the meson-python facilities for handling the installation location and the rpath) and something else that links to it. I don't think there are many packages doing this. However, we now run at least meson setup on the package to determine if it includes any compiled artifact and add a requirement for patchelf if it does.
This has two drawbacks: patchelf is required in many cases when it is not needed, and it requires running meson setup twice. On packages that distribute anything that ends up in the scripts path in the wheel it also requires a full compilation. What I propose to do is to assume that the vast majority of packages using meson-python distribute extensions and skip the meson setup required for determining this, and always request the patchelf package if a patchelf executable is not detected on the system. This maintains the status quo of requiring patchelf for packages that don't need it, but removes the need for running an extra meson setup.

Adding a configuration knob is of course a possibility, but configuration knobs add complexity for all users, and requiring to set a configuration knob is a compatibility break. I think it all boils down to how onerous we assume it is to install a 500 kB package on systems that do not have patchelf installed.

I think it all boils down to how onerous we assume it is to install a 500 kB package on systems that do not have patchelf installed.

I think it is a regression - in particular because it's now in every Python environment, instead of only once system-wide. It's the same as meson and meson-python both not depending on ninja from PyPI.
I will also note that in the current situation, we haven't received a single complaint yet (AFAIK). And for those cases where someone would notice, the solution is dead simple: install patchelf with your distro package manager, and the problem is gone.

it feels wrong to have to install a Python package for something that can (and probably is better to) be provided by the distribution

Exactly:) With https://peps.python.org/pep-0725/ it could be better in the future, it'd be something like:
[external]
dependencies = [
    "pkg:generic/ninja",
    "pkg:generic/patchelf; platform_system=='Linux'",
]

in our pyproject.toml.

Of course we would request the patchelf package only if we don't find a suitable patchelf binary on the system, like we do now.

Oh okay, I think I lost that in the long-ish thread, sorry about that. This is probably a patch of only a few lines long, deleting the is_pure check? If so, maybe open a PR for your preferred solution?

Until this is not hashed out, it is not useful to solve the issue at hand.

Sure, it was more a conceptual comment. It's going to take quite a while before that gets accepted and then implemented in packaging tools.


Review: RLA overhaul

Requirements at work caused us to need more robust handling of non-8-bit RLA files.  In the process, I did a lot of simplification, refactoring, and commenting.
I'm very confident in the reader now.  Even handles things like 10-bit RLAs embedded in 16 bit containers.
I'm still testing the writer, I think there are a couple subtle bugs that I'm tracking down that leads to occasional LSB errors.  I'll update when I have them fixed, but it's going to be very minor, so I think there's no reason not to start the review now for anyone who's interested.

Fixed the bug.  Tests pass now.  For all of Jeremy's examples, I can "iconvert foo.rla foo-oiio.rla" and have "idiff foo.rla foo-oiio.rla" report identical images.

One more fix -- although I can't find any documentation saying that this should be the case, our previous implementation just dumped float data without RLE compression at all, in order to match other RLA-using software at SPI.  I honestly don't know if this is "correct", "incorrect", or "nobody else has ever used float RLA, so who cares."  I'm erring on the side of preserving compatibility with what we had before.

Looks good to me!  (Feel free to commit either with or without the warning fix).


Why it does not return what I see on Foursquare

Hi,
I don't understand something
I tried to get all my friend. Now I have 19 friends but the api just return me 10 why ?
And It's the samething with the friends of mine, I don't have the exact number of friend I see on Foursquare.
The second problem, it's the structure of the response, the structure is not the same all the time. Could you explain why please ?
Thanks

Can you please include detailed requests and responses?

Also, have you compared results with the API Explorer on foursquare's developer site?


fix: tsup build esm import ReleaseType error

Description
This PR contains two fixes.
One is the extra ts type ReleaseType in the build,
and the other is that when tsup is packing, it encounters picocolors to generate esm and builds an invalid __require.
Dynamic require of "tty" is not supported
Linked Issues
fixes #9
Additional context
referenced from 为什么是 tsup and discussion Make require work in ESM bundle

@antfu very need this to make tsup works in esm context


Data source support for KPI Base Search Id

Hi There
Thank you for this terraform provider, I am currently POC'ing this into our environment and all is going well so far.
I just wanted to reach out to see what the possibility would be of providing a data source for being able to get the kpi base search id?  I think similar to the one you have done for the kpi threshold template (itsi_kpi_threshold_template).
The issue I am currently facing is that if I need to create kpi base search and a service at the same time, I unable to link the kpi base search to the service, as I am only the know base_search_id after terraform has applied the configuration.   This is because my Services and KPI Base Searches are all fed into a module using a single config file called env.tfvars, so I only know the name (Title of the base search) at the time of creation.
Thank you again for supporting the community.
Thanks!

https://github.com/TiVo/terraform-provider-splunk-itsi/pull/174

the datasource is available in https://github.com/TiVo/terraform-provider-splunk-itsi/releases/tag/v0.10.9.


Fix invalid shell syntax in docs-merge-pipeline

Ref: https://stackoverflow.com/a/18558871

cc @shczhen @purelind

Testing in sh, there is still a failure

test this with sh on local, it passed, will merge this later.

We can use echo $TARGET_BRANCH | cut -c1-8 if not work.


neutron audit data not being generated

Neutron has a paste file that is somewhat unique, and so far the configure_stack command hasn't stumbled upon the magic formula.

Issue moved to Solinea/goldstone-compliance #61 via ZenHub.io


ReferenceEncoder did not use the actual mel lengths

In the ReferenceEncoder, it only use the mels as inputs. When training or batch inference, the mels are padded_data, it seems that the ReferenceEncoder should use the actual mel lengths to get the last GRU hidden state. Please correct me if any wrong understandings.
Add my test results. when ReferenceEncoder get the last hidden state by pack_padded_sequence, in my dataset the clusters of style tokens are more clear than without pack_padded_sequence.

Can you share the location in code?

OK, I will prepare and submit a pull request.


Expose /ready for the iqe test framework

The iqe test framework could check the connection to composer, and general readiness, and include it in qe metrics for clouddot.

Done in #158


[Event Request] Codeunit 22 "Item Jnl.-Post Line" - procedure Code - OnCodeOnAfterCalcQtyPerUnitOfMeasure

Please add an Event OnCodeOnAfterCalcQtyPerUnitOfMeasure in Procedure Code in Codeunit 22 "Item Jnl.-Post Line"
[Event Request] Codeunit 22 - Item Jnl.-Post Line - procedure Code
    begin
        OnBeforePostItemJnlLine(ItemJnlLine, CalledFromAdjustment, CalledFromInvtPutawayPick, ItemReg, ItemLedgEntryNo, ValueEntryNo, ItemApplnEntryNo);

        with ItemJnlLine do begin
        ...
            if not Subcontracting and
               (("Entry Type" = "Entry Type"::Output) or
                IsAssemblyResourceConsumpLine)
            then
                QtyPerUnitOfMeasure := "Qty. per Cap. Unit of Measure"
            else
                QtyPerUnitOfMeasure := "Qty. per Unit of Measure";

            OnCodeOnAfterCalcQtyPerUnitOfMeasure(ItemJnlLine, Subcontracting, QtyPerUnitOfMeasure);

            RoundingResidualAmount := 0;
            RoundingResidualAmountACY := 0;
            if MustConsiderUnitCostRoundingOnRevaluation(ItemJnlLine) then begin
        ...

[IntegrationEvent(false, false)]
local procedure OnCodeOnAfterCalcQtyPerUnitOfMeasure(ItemJnlLine: Record "Item Journal Line"; Subcontracting: Boolean; var QtyPerUnitOfMeasure: Decimal)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 43353.


[WIP] Add ability to notify WAITING_APPROVAL event to external services like Slack

What this PR does / why we need it:

[x] Notify something to Slack
[x] How to mention a user through webhook url
[x] Read YAML file.
[ ] Get userIds

https://api.slack.com/reference/surfaces/formatting#mentioning-users

[ ] Email

Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

This PR was trial.


xPackage: The variable '$Localized' cannot be retrieved because it has not been set.

Details of the scenario you tried and the problem that is occurring
Trying to install a package and got this error. I forgot to include two backward slashes (it's a network location) so it is expected to have an error - but this ended with an unexpected different error message because there's a misnamed variable.
Verbose logs showing the problem
VERBOSE: [CHWS01]: LCM:  [ Start  Resource ]  [[xPackage]NetFx472]
VERBOSE: [CHWS01]: LCM:  [ Start  Test     ]  [[xPackage]NetFx472]
VERBOSE: [CHWS01]:                            [[xPackage]NetFx472] The path extension was .exe
VERBOSE: [CHWS01]: LCM:  [ End    Test     ]  [[xPackage]NetFx472]  in 0.1720 seconds.
C:\BootStrap\BootStrap.ps1 : PowerShell DSC resource MSFT_xPackageResource  failed to execute Test-TargetResource
functionality with error message: The variable '$Localized' cannot be retrieved because it has not been set.
At line:1 char:1
+ .\bootstrap.ps1
+ ~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,BootStrap.ps1

Suggested solution to the issue
Change:
Write-Verbose -Message ($Localized.TheUriSchemeWasUriScheme -f $uri.Scheme)
To:
Write-Verbose -Message ($localizedData.TheUriSchemeWasUriScheme -f $uri.Scheme)
The DSC configuration that is used to reproduce the issue (as detailed as possible)
                xPackage 'NetFx472' {
                    Name = 'NetFx472'
                    Path = "$($domainController.$($node.DomainName))\Resources\NDP472-KB4054530-x86-x64-AllOS-ENU.exe"
                    ProductId = ''
                    InstalledCheckRegKey = "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
                    InstalledCheckRegValueName = "Release"
                    InstalledCheckRegValueData = "461814"
                    Arguments = "/q"
                    DependsOn  = '[WindowsFeatureSet]All', '[Computer]Rename'
                }

The operating system the target node is running
Windows Server 2012
Version and build of PowerShell the target node is running

WMF 5.1
Version of the DSC module that was used ('dev' if using current dev branch)
dev

Unstale

Reopen.


Bundle Proguard Rules

You can do so by creating a resource file at: src/main/resources/META-INF/proguard/evalex which contains the following:
-dontwarn lombok.Generated

Here's an example with RxJava: https://github.com/ReactiveX/RxJava/blob/216f509083efdd01b4a36108df3a3a7ac45f0d0c/src/main/resources/META-INF/proguard/rxjava3.pro
Otherwise when using this library on Android it fails:
ERROR: Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /Users/niklas/dev/GitHub/vanniktech/app-game-utilities/build/outputs/mapping/release/missing_rules.txt.
ERROR: R8: Missing class lombok.Generated (referenced from: boolean com.ezylang.evalex.config.ExpressionConfiguration$ExpressionConfigurationBuilder.allowOverwriteConstants$set and 108 other contexts)

FAILURE: Build failed with an exception

Thanks, I will add this to the next release.

@vanniktech can you please have a look at my pull reuest #394, if this is ok for you?

Ah,  thanks for the review. Missed the dot. I have corrected it.


Add a equivalence key to all code actions

A roslyn analyzer will complain in rc3 if the equivalence key is not set. I set it to the concatenation of all diagnostic ids the code fix can fix. I don't think we have a code fix where we want to do it differently.

:question: What do you mean "will complain"?

Roslyn has a new rule in its analyzers that checks if the CodeAction.Create invokation is providing an equivalence key. https://github.com/dotnet/roslyn/blob/cbd066333305ef9baed06035db81717ac8f32acb/src/Diagnostics/CodeAnalysis/Core/FixAnalyzers/FixerWithFixAllAnalyzer.cs#L312

It looks like the equivalence key only needs to be specified in cases where we associate more than one code fix with a single diagnostic. Do we ever do this?

Not yet. So should we just disable the warning?

I'm thinking yes, and possibly file a bug. From the look of dotnet/roslyn#3093, this diagnostic shouldn't even be reported for our code (because we never produce multiple code fixes for a single diagnostic).

I'm going to close this for now. When the warnings show up after the update to RC3 (or later), we can look back at it then and try to find a less "ugly" alternative to this.

The SA1103CodeFixProvider does actually register two possible fixes for the same diagnostics in some cases.

Reopening, but we need to find a solution with less ugly.

I changed all the key to usethe name of the code fix instead

In addition to the mentioned items, during the merge I addressed several diagnostics which were omitted from this pull request.

SA1022CodeFixProvider
SA1024CodeFixProvider
SA1026CodeFixProvider
SA1027CodeFixProvider
SA1102CodeFixProvider
SA1207CodeFixProvider
OpenCloseSpacingCodeFixProvider


Removing additional _deltaTime at line 23

what
I'm confused why would you need to remove the additional _deltaTime

because it already exists on line 19

Ah, thank you


[docs] Fix Magento 2 quickstart for Magento 2.4.6, fixes #4762

Add elasticsearch engine to options
Define elasticsearch port
Disable depending new Magento_AdminAdobeImsTwoFactorAuth module

See issue: #4762

Thanks so much!

Thanks so much, this works for me. I did see a case where the setup directory didn't get created, and ddev composer install didn't fix that. Thoughts about what might have happened?

Magento ships a base package with the skeleton of the application. All the files in this packages are copied by a Composer Plugin during "Composer Install".
If something breaks during installation the files are not copied. In that case we have to remove the base package from vendor folder and re-run composer install which then triggers the copy of the skel again.
The setup directory is part of the base package.

So this is a known "issue", and it would have been a result of something (unnoticed) going wrong in ddev composer create, and it doesn't get fixed by ddev composer install
I would have expected to see an error, but maybe that error doesn't stop execution?
Thanks so much for maintaining the Magento stuff.  I've been thinking about how we can do automated tests of these quickstarts...

@rfay I don't know if most of the people in Magento World are aware of that issue.
At netz98 we developed a "base page redeploy" command for Composer. I already thought to open source that command.
I do not think it's a problem that ddev should fix. We could add a notice to the docs.

@rfay I am just working on a composer:redeploy-base-packages command in n98-magerun2 to provide a way to fix this issue.
This will be released with v7.1.0 of n98-magerun2 if tests are successful.
https://github.com/netz98/n98-magerun2/pull/1176


Include docker image environment variables back in

Factor out environment variable file generation code
Change the way that docker image env variables are added
so they don't squash over normal environment variables

Pull Request Test Coverage Report for Build 3273

13 of 18 (72.22%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.07%) to 25.846%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

executor/runtime/docker/docker_env.go
13
15
86.67%

executor/runtime/docker/docker.go
0
3
0.0%

Files with Coverage Reduction
New Missed Lines
%

executor/runtime/docker/docker.go
2
6.18%

Totals

Change from base Build 3258:
0.07%

Covered Lines:
2995

Relevant Lines:
11588

💛  - Coveralls