Telegram Image bridge caption missing (fixable)

Is your feature request related to a problem? Please describe.
The telegram Bridge Handler does not add Captions to images it uploads. The telegram go libary used is able to do that but it would need a little tweak to expose the option to us. As the bridge just sends an extra message with the caption after the image it is no problem for images with captions but if an image got no caption no one is able to tell who send it in the first place because there is no Nick added (as there is no caption).
Describe the solution you'd like
In handleUploadFile (bridge/telegram/handlers.go) tgbotapi.NewPhotoUpload is called. This function does not feature the caption parameter which it could if we would change go-telegram-bot-api/telegram-bot-api/helpers.go to allow that.
As go-telegram-bot-api/telegram-bot-api/helpers.go seems to be just a mirror for an external dependency it would not be wise to just edit it i suppose so how would i go about making my change?
Greetings.

After some more investigation i realized that we dont need to edit the tgbotapi dependency at all. I created a somewhat hacky edit to add the captions inline with the photo. Which would add the username even if there is not caption in the first place. See pr #1358

After some more investigation i realized that we dont need to edit the tgbotapi dependency at all. I created a somewhat hacky edit to add the captions inline with the photo. Which would add the username even if there is not caption in the first place. See pr #1358


Android runtime exception when creating new Tokenizer using kuromoji-ipadic

I implemented some test code on Android but I get a runtime exception when trying to create a new Tokenizer:
 java.lang.RuntimeException: Could not load dictionaries.

I'm using the kuromoji-ipadic package (com.atilika.kuromoji:kuromoji-ipadic:0.9.0)
I've traced through the stack a bit to find this:
Caused by: java.lang.IllegalArgumentException: capacity < 0: -4
     at java.nio.ByteBuffer.allocate(ByteBuffer.java:54)
     at com.atilika.kuromoji.io.IntegerArrayIO.readArray(IntegerArrayIO.java:38)
     at com.atilika.kuromoji.buffer.WordIdMap.<init>(WordIdMap.java:35)
     at com.atilika.kuromoji.dict.TokenInfoDictionary.setup(TokenInfoDictionary.java:168)
     at com.atilika.kuromoji.dict.TokenInfoDictionary.newInstance(TokenInfoDictionary.java:160)
     at com.atilika.kuromoji.ipadic.Tokenizer$Builder.loadDictionaries(Tokenizer.java:219)
     at com.atilika.kuromoji.TokenizerBase.configure(TokenizerBase.java:77)
     at com.atilika.kuromoji.ipadic.Tokenizer.<init>(Tokenizer.java:74)
     at com.atilika.kuromoji.ipadic.Tokenizer.<init>(Tokenizer.java:59)
     at com.atilika.kuromoji.ipadic.Tokenizer$Builder.build(Tokenizer.java:203)

Which is crashing in IntegerArrayIO at:
public class IntegerArrayIO {

    private static final int INT_BYTES = Integer.SIZE / Byte.SIZE;

    public static int[] readArray(InputStream input) throws IOException {
        DataInputStream dataInput = new DataInputStream(input);
        int length = dataInput.readInt(); // length is returning -1

        ByteBuffer tmpBuffer = ByteBuffer.allocate(length * INT_BYTES); // -1 * 4 = -4, crashes with "capacity < 0:-4"
        ReadableByteChannel channel = Channels.newChannel(dataInput);
        channel.read(tmpBuffer);

I realize the library probably wasn't originally intended for Android, but I'd really like to try it and do some testing to see if it's viable for use on mobile as well.
The code that triggers the original exception is just the construction of the Tokenizer via the builder:
        Tokenizer tokenizer = new Tokenizer.Builder().build();

The IntegerArrayIO class's readArray() method seems to handle fine until trying to load the word ID map:
    public WordIdMap(InputStream input) throws IOException {
        indices = IntegerArrayIO.readArray(input);
        wordIds = IntegerArrayIO.readArray(input); // crashes here
    }

The above code is triggered by TokenInfoDictionary#setup():
        wordIdMap = new WordIdMap(resolver.resolve(TARGETMAP_FILENAME));

Here is the full stack trace (minus the parts that reference my code, which I think are irrelevant):
java.lang.RuntimeException: Could not load dictionaries.
   at com.atilika.kuromoji.ipadic.Tokenizer$Builder.loadDictionaries(Tokenizer.java:231)
   at com.atilika.kuromoji.TokenizerBase.configure(TokenizerBase.java:77)
   at com.atilika.kuromoji.ipadic.Tokenizer.<init>(Tokenizer.java:74)
   at com.atilika.kuromoji.ipadic.Tokenizer.<init>(Tokenizer.java:59)
   at com.atilika.kuromoji.ipadic.Tokenizer$Builder.build(Tokenizer.java:203)

(... my sources omitted for brevity ...)

 Caused by: java.lang.IllegalArgumentException: capacity < 0: -4
   at java.nio.ByteBuffer.allocate(ByteBuffer.java:54)
   at com.atilika.kuromoji.io.IntegerArrayIO.readArray(IntegerArrayIO.java:38)
   at com.atilika.kuromoji.buffer.WordIdMap.<init>(WordIdMap.java:35)
   at com.atilika.kuromoji.dict.TokenInfoDictionary.setup(TokenInfoDictionary.java:168)
   at com.atilika.kuromoji.dict.TokenInfoDictionary.newInstance(TokenInfoDictionary.java:160)
   at com.atilika.kuromoji.ipadic.Tokenizer$Builder.loadDictionaries(Tokenizer.java:219)
   at com.atilika.kuromoji.TokenizerBase.configure(TokenizerBase.java:77)
   at com.atilika.kuromoji.ipadic.Tokenizer.<init>(Tokenizer.java:74)
   at com.atilika.kuromoji.ipadic.Tokenizer.<init>(Tokenizer.java:59)
   at com.atilika.kuromoji.ipadic.Tokenizer$Builder.build(Tokenizer.java:203)

and the sample code I was trying to test with:
        StringBuilder stringBuilder = new StringBuilder();
        Tokenizer tokenizer = new Tokenizer.Builder().build();
        for (Token token : tokenizer.tokenize(text)) {
            stringBuilder.append(token.getSurface());
            stringBuilder.append(" ");
        }

When I test kuromoji on my desktop it seems to work fine on the local JVM, but on Android it crashes.
I'll continue to dig deeper and see if I can find out what's going on. If there's anything else you need let me know.
あざーす！

Update: I get the same exception using the jumandic version, so it's probably more related to kuromoji-core, which is where the IntegerArrayIO.readArray() is being handled

Hi hk0i,
I'm having a look at this issue for you.
If you are testing using an Android Virtual Device, could you please give me an overview of its AVD configuration (version and memory size etc). If you are testing on a real device, a broad overview of that device would be very helpful.

I managed to reproduce the problem - it exists in Kuromoji 1.0 too.
It is caused by the nio wrappers around an InputStream altering its offset in a manner that differs from the regular JVM's nio implementation, presumably due to buffering and readaheads. When loading the WordIdMap, this causes the reading of the second of two arrays read from the same InputStream to fail.
I've have a workaround and have managed to tokenize a sentence successfully in an Android app. I'll improve the performance of this workaround and submit a patch shortly.

Thanks for the detailed analysis @hk0i and for the fix @gerryhocks.  The fix has been merged to master, but I think this fix could warrant a 0.9.1 release to make Android users happy.

Sorry I couldn't get back to you sooner @gerryhocks. Looks like you figured it out either way.
For the record I was testing on an LG Nexus 5X, but as you said the issue was more generic than device-specific. Thanks for all the hard work everyone.
I was able to create a similar patch on my own as a quick temporary work around but the performance wasn't so great so I'd like to see what you came up with. Tokenization on my 5X takes around 2-3 seconds so I have to do it asynchronously.
I'll dig through the revision history on master to see if I can find it.

No problem @hk0i - the problem manifested on my first attempt, even on an x86 image.. perhaps I was premature asking for extra details.
The changes are not overly extensive and in the same flavour as the earlier version so should be easy to spot.
Out if interest, how much text are you tokenizing when you experience 2-3 seconds of processing?

I just took a look at your changes and—from memory—the hack that I put in to get things "working" was very different.
As for the amount of text to tokenize—not much. From my experience short sentences and long paragraphs were taking close enough to the same amount of time to tokenize.
The following text (on my implementation, not the fix that was just added) takes 2.52 seconds:

新しい言葉使いましょう

However, something longer—an excerpt from the Wikipedia entry on 日本語—takes 2.40 seconds:

日本語（にほんご、にっぽんご）は、主に日本国内や日本人同士の間で使われている言語である。日本は法令によって

Again this is not the official change from upstream but a different quick fix I found for this in another ticket.
I'll be able to pull the official kuromoji change from master and test the performance of that change later today within the next 5 hours or so.

That's right, I'm also iterating over the tokens with a foreach loop, something like this:
        Tokenizer tokenizer = new Tokenizer.Builder().build();
        for (Token token : tokenizer.tokenize(mInputText)) {
            /* store tokens in a list... */
        }

I just gave it a new shot using the code from your fix, @gerryhocks. It actually seems to be a few hundred milliseconds slower than the hot-fix I was using prior.
Testing with the same two sentences this is what I get...
Around 2.7–2.8 seconds for the first sentence:

新しい言葉使いましょう

and around roughly the same amount of time for the second sentence (2.75–2.82s):

日本語（にほんご、にっぽんご）は、主に日本国内や日本人同士の間で使われている言語である。日本は法令によって

The hot fix I was using was less centalized than what you did and more focused on IntegerArrayIO.java specifically:
diff --git a/kuromoji-core/src/main/java/com/atilika/kuromoji/io/IntegerArrayIO.java b/kuromoji-core/src/main/java/com/atilika/kuromoji/io/IntegerArrayIO.java
index 55ab53e..862222d 100644
--- a/kuromoji-core/src/main/java/com/atilika/kuromoji/io/IntegerArrayIO.java
+++ b/kuromoji-core/src/main/java/com/atilika/kuromoji/io/IntegerArrayIO.java
@@ -36,8 +36,9 @@ public class IntegerArrayIO {
         int length = dataInput.readInt();

         ByteBuffer tmpBuffer = ByteBuffer.allocate(length * INT_BYTES);
-        ReadableByteChannel channel = Channels.newChannel(dataInput);
-        channel.read(tmpBuffer);
+        byte[] buffer = new byte[tmpBuffer.remaining()];
+        dataInput.readFully(buffer);
+        tmpBuffer.put(buffer, 0, buffer.length);

         tmpBuffer.rewind();
         IntBuffer intBuffer = tmpBuffer.asIntBuffer();

I'm guessing that because I'm trying to use this code on mobile devices that these things become more time critical because working with my laptop the time taken for tokenization is not even noticeable.

Thanks again for the detailed info @hk0i.
If you were using the complete master source (1.0), it's worth noting that it uses a different underlying data structure (an FST), whereas the 0.9 release uses a Double Array Trie.
The new structure has a very small performance difference when loading the default dictionaries, but is significantly faster when loading user dictionaries.
These changes could account for the difference in times you are experiencing.
The instantiation of the Tokenizer() is going to be taking most of the time in your example. Depending on how you use the Tokenizer, it might be worth considering using a static instance or a singleton so the Tokenizer is only created once within the app.. naturally this will prevent the tokenizer from being garbage collected, but it might be a reasonable trade-off for you.

Glad to hear you've found a workable solution, @hk0i. Best of luck with your project.

Thanks a lot for sorting this out.  I'll close the issue.


[hotfix][docs] Fix typo

[docs][hotfix] fix two typos

Thanks for your contribution @YngwieWang!
Follow the standard in our community we use pattern [hotfix][<component>] ... thus I would suggest commit with message [hotfix][docs] Fix typo in Basic API Concepts page

Thanks for your contribution @YngwieWang!
Follow the standard in our community we use pattern [hotfix][<component>] ... thus I would suggest commit with message [hotfix][docs] Fix typo in Basic API Concepts page

Thanks, I corrected the subject.

@1u0, Am I doing the right thing?

@YngwieWang,
you would need to rebase (and also translate the Chinese version) your changes in this PR against the latest changes in master branch. You have a merge conflict due to your changes in #9299 PR that were merged earlier 😃.
English version looks good to me.


dev icon does not apply when building with flavor dev

This has been resolved in version 3.3.0-pre.3+16


Evaluate / Integrate Googles DeepVariant Caller?

I'll follow this one closely ;-)

GATK is bringing its own version of that now, should be less painful to get up and running (the google one seems like a pita)


[WIP] Fix single node problem and testkit aedpos extension.

:x: Build AElf <IP_ADDRESS>46 failed (commit https://github.com/AElfProject/AElf/commit/07325d23ff by @EanCuznaivy)

:x: Build AElf <IP_ADDRESS>03 failed (commit https://github.com/AElfProject/AElf/commit/e8140f374d by @EricBlack)


unable to enter custom name for new bot

Describe the bug
#1583 introduced a bug in which a user is unable to type a custom name for a new bot because the input field cannot be cleared. It is always reset to the 'default' name.
Version
21516678c2

Side note --  even though e2e tests are not failing the build, it is up to the developer to make sure new code does not break existing tests.

addressed in https://github.com/microsoft/BotFramework-Composer/pull/1668


No details file

The details file is used to store the youtube-dl version (which can be stale and should be retrived from the binary) and the binary path (with a default) that can be altered externally. This conflicts with packagers, because this file is read before a different path can be set and has to be included as an asset.
This patch removes the details file altogether. The same default path for youtube-dl is maintained, and if a different path is supplied it's only checked at runtime. So it's safe to include in packagers and there's no breaking changes.
Changing this will help to fix #282 later.

Ahn, sorry for the merges but they seem harmless and nops. If necessary I can create another PR without them.

Would this actually fix #282? I have a workaround where I get the current version from the details file and check the youtube-dl tags page to see if there's an update, this PR would (I think) make this method impossible:
let current_youtubedl_details = JSON.parse(fs.readFileSync(current_youtubedl_details_path));
let current_version = current_youtubedl_details['version'];

// got current version, now let's check if there's a newer one available
let youtubedl_api_path = 'https://api.github.com/repos/ytdl-org/youtube-dl/tags';
fetch(youtubedl_api_path, {method: 'Get'})
.then(async res => res.json())
.then(async (json) => {
	// check if the versions are different
	if (!json || !json[0]) {
		resolve(false);
		return false;
	}
	const latest_update_version = json[0]['name'];
	if (current_version !== latest_update_version) {
		// new version available, update!
		downloader(binary_path, function error(err, done) {
			if (err) {
				console.error(err);
				resolve(false);
			}
			console.log(`Binary successfully updated: ${current_version} -> ${latest_update_version}`);
			resolve(true);
		});
	}
});

The details file stores information that is available from the binary itself. I think it's redundant and may possibly be out of synchrony. This PR would break your code, but you could get the info by running youtube-dl with --version instead of reading the details file. I don't know if this PR will be approved, however.
I ended up needing so many changes from this package that I wrote a separate module, which already checks the version to avoid re-downloads, at https://github.com/Corollarium/node-youtube-dl.

Hey @brunobg sorry for the delay and thanks for this.
I updated your contribution in a new PR. See #352
hopefully, it will land soon 😃


[WIP] Feature 27: CompleteDone Ncm2PopupOpen Ncm2PopupClose

#27

Demo with latest ncm2-bufword

It should be more powerful to implementing a source based on more buffers. But currently I'm not interested on this source. With vim's builtin completion you could easily get completions from other buffers.
There's another feature enabled by this PR. :help Ncm2PopupOpen
    au User Ncm2PopupOpen set completeopt=noinsert,menuone,noselect
    au User Ncm2PopupClose set completeopt=menuone

With this config, things will be easier to work with vim's builtin completion.

// cc @rafaeln

The key press for the demo is <c-n><c-y><c-n><c-y>...
It should be possible to use <c-y><c-y>.... for completeopt=noinsert,menuone. (noinsert moreved)
But I'm more used to type things this way.

vimrc for easier setup for this PR
execute 'source ' . $WORKSPACE_DIR . '/plug.vim'

call plug#begin($WORKSPACE_DIR)

    " assuming your using vim-plug: https://github.com/junegunn/vim-plug
    Plug 'ncm2/ncm2', { 'branch': 'feature-27' }
    " ncm2 requires nvim-yarp
    Plug 'roxma/nvim-yarp'

    autocmd BufEnter * call ncm2#enable_for_buffer()
    set shortmess+=c
    inoremap <c-c> <ESC>

    au User Ncm2PopupOpen set completeopt=noinsert,menuone,noselect
    au User Ncm2PopupClose set completeopt=menuone

    " based on snipmate
    Plug 'ncm2/ncm2-snipmate'

    " snipmate dependencies
    Plug 'tomtom/tlib_vim'
    Plug 'marcweber/vim-addon-mw-utils'
    Plug 'garbas/vim-snipmate'

    inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
    inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"

    let g:snips_no_mappings = 1

    inoremap <silent> <expr> <CR> ((pumvisible() && empty(v:completed_item)) ?  "\<c-y>\<cr>" : (pumvisible() ? ncm2_snipmate#expand_or("", 'n') : "\<CR>" ))
    inoremap <expr> <c-u> ncm2_snipmate#expand_or("\<Plug>snipMateTrigger", "m")

    vmap <c-j> <Plug>snipMateNextOrTrigger
    vmap <c-k> <Plug>snipMateBack
    imap <expr> <c-k> pumvisible() ? "\<c-y>\<Plug>snipMateBack" : "\<Plug>snipMateBack"
    imap <expr> <c-j> pumvisible() ? "\<c-y>\<Plug>snipMateNextOrTrigger" : "\<Plug>snipMateNextOrTrigger"

    Plug 'ncm2/ncm2-match-highlight'
    let g:ncm2#matcher = 'abbrfuzzy'
    let g:ncm2#sorter = 'abbrfuzzy'

    " Language client neovim
    Plug 'autozimu/LanguageClient-neovim'
    let g:LanguageClient_serverCommands = {
                \ 'vue': ['vls'],
                \ }
    let g:LanguageClient_settingsPath = $WORKSPACE_DIR . '/.vim/settings.json'
    let g:LanguageClient_completionPreferTextEdit = 1
    autocmd BufEnter *.vue set filetype=vue
    autocmd filetype vue LanguageClientStart
    " debug
    set noshowmode
    inoremap <silent> <c-q> <esc>:<c-u>q!<cr>
    let g:LanguageClient_loggingFile = '/tmp/lc.log'
    let g:LanguageClient_loggingLevel = 'DEBUG'
    " without this, the popup of diagnostic is annoying
    let g:LanguageClient_diagnosticsSignsMax = 0

    Plug 'ncm2/ncm2-jedi'
    Plug 'ncm2/ncm2-libclang'
    Plug 'ncm2/ncm2-bufword'

call plug#end()


Fix : Cannot override system properties when launching the conductor server using the gradle command-line

Currently, if you try to override system properties when launching the conductor server using the gradle command-line, those are not taken into consideration.
For example, if I run the following command (from the server subdirectory) :
../gradlew server -DloadSample=false -Dport=8888
The server starts on port 8080 instead of the specified one and the loadSample=false is ignored as well.
This PR adds a missing line in the gradle build to allow overrides from the command-line

Hi @v1r3n
Could you please review this very small PR ?
it is a bit inconvenient having to update the build.gradle all the time when switching branches.

@picaron can you send this against the dev branch?

oh yes, my mistake
here is the new PR : https://github.com/Netflix/conductor/pull/318


Housekeeping

Database

The Mongoose models are automatically bound to the default Mongoose connection from mongoose.connect, so it isn't necessary to pass around the connection.

Don't need to call mongoose.model() every time, it's already done in the schema we require().

Routes

/device/info should be using URL parameters instead of request body, since it is a GET request now. Also should be taking a MAC address.

/device/unregister can be shortened to one database query.

Tests

Move test dependencies to devDependencies.

Rename server to app for consistency. If it should be server everywhere then let me know.

Take advantage of chai's expect syntax for more readable tests.

Add GitHub workflow for running and confirming all tests passing on PR.

Add POST, GET, mochatest VS Code snippets.

Remove unused express-router dependency.

ESLint should work properly now.

@matt8100 Thank you for bringing these issues in your pull request to our attention. I am appreciative of your efforts to keep the repository on par with the best practices. As a recommendation, let us try making multiple requests when a lot of changes are required so that pull requests can be short and specific to one issue.


Swizzle bit patterns typo?

Should the Block 16 Swizzle Patterns here...
https://github.com/ScanMountGoat/tegra_swizzle/blob/d2edff2083d07c26cb1917f8867b53263c5a06cd/swizzle.md?plain=1#L62-L65
...be this?
- 8 | 8 | 2 | 2 |<PHONE_NUMBER>0000100010 |<PHONE_NUMBER>0000100001
+ 8 | 8 | 2 | 2 |<PHONE_NUMBER>0000000010 |<PHONE_NUMBER>0000000001
- 16 | 16 | 4 | 4 |<PHONE_NUMBER>0000010010 |<PHONE_NUMBER>0000000101
+ 16 | 16 | 4 | 4 |<PHONE_NUMBER>0000001010 |<PHONE_NUMBER>0000000101

Otherwise the bits do not interleave.

Good catch. I thought I had removed bit patterns from all the documentation, but it looks like I missed some. The actual swizzling function is defined in hardware docs as a function of x and y byte coordinates. The bit pattern trick doesn't work for tegra swizzling in general. I've still kept a link to the blog post because it's well written and does a good job of explaining possible implementations.

The actual swizzling function is defined in hardware docs

Ooh, do you have a searchable title to find this doc? I'm not finding good search results, and I'd love to read through it (amusing the highest search results are this repo 😉). Perhaps it's hidden somewhere inside the NVidia Developer website.

It's the Tegra X1 technical reference manual (TRM). I reference it a few times in the source code. There are also comments indicating which parts are taken from reverse engineered driver code from Ryujinx. It should be page 1187 in the TRM for swizzling. I believe you need to create an nvidia developer account to access it, but it's also linked here: https://switchbrew.org/wiki/Tegra_X1


CoverageFileUtility.ConvertCoverageFile is culture depended

Version used
Microsoft.CodeCoverage.IO 17.7.0 https://www.nuget.org/packages/Microsoft.CodeCoverage.IO/17.7.0
Steps to reproduce

Take a binary coverage file like this one: Sample.coverage
Convert on a machine with a culture that has a decimal separator different from . like "de-DE".

using Microsoft.CodeCoverage.IO;
using System.Globalization;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var culture = CultureInfo.CreateSpecificCulture("de-DE"); // change this to "en-US" to get the expected outcome
            CultureInfo.DefaultThreadCurrentCulture = culture;
            CultureInfo.DefaultThreadCurrentUICulture = culture;
            new CoverageFileUtility().ConvertCoverageFile(
                path: "Sample.coverage",
                outputPath: "Sample.xmlcoverage",
                includeSkippedFunctions: false,
                includeSkippedModules: false);
        }
    }
}

Expected output
The Sample.xmlcoverage is serialized in a culture-neutral manner, e.g. block_coverage="33.33":
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<results>
  <modules>
    <module block_coverage="33.33" line_coverage="25.00" blocks_covered="1" blocks_not_covered="2" lines_covered="1" lines_partially_covered="0" lines_not_covered="3" name="consoleapp2.dll" path="consoleapp2.dll"

Actual output
The Sample.xmlcoverage contains , as decimal separator block_coverage="33,33":
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<results>
  <modules>
    <module block_coverage="33,33" line_coverage="25,00" blocks_covered="1" blocks_not_covered="2" lines_covered="1" lines_partially_covered="0" lines_not_covered="3" name="consoleapp2.dll" path="consoleapp2.dll"

This bug has been fixed, it will be available in the upcoming release.

Hi @mariam-abdulla, do you have an ETA for the next release?

Hi @costin-zaharia-sonarsource,
Visual Studio 17.9 has already been released on 13th February.

Hi @mariam-abdulla, We are using https://www.nuget.org/packages/Microsoft.CodeCoverage.IO, which includes CoverageFileUtility.ConvertCoverageFile, and we're interested in its release date.

@costin-zaharia-sonarsource @martin-strecker-sonarsource generally we recommend using dotnet-coverage merge to convert 1 report to another. You can find example here: https://learn.microsoft.com/en-us/dotnet/core/additional-tools/dotnet-coverage#merge-code-coverage-reports
Microsoft.CodeCoverage.IO is deprecated.
If you want to continue using direct approach you can try to use: CoverageFileUtilityV2 in https://dev.azure.com/dnceng/public/_artifacts/feed/test-tools/NuGet/Microsoft.CodeCoverage.Core/overview/17.10.3
Keep in mind that package is internal and you are using it on your own risk. We can easily break contract in upcoming releases.

Hi @jakubch1, thanks for the links. We will probably go with the internal package.


feat: updated lab6 task, updated theory 1.1, theory 1.2

Lab №6 Update:
Refined criteria for selecting the X value:

The result of the program matches the expected value;
The result of the program does not match the expected value;
The result of the program is located at the boundary where the last match with the expected value occurs.

Theory 1.1 Update:
The following changes were made to theory 1.1:

Added a description of the purpose of processor registers.
Includes information about the Z (zero) and N (sign) registers.
The description of existing processor registers has been updated to provide a clearer distribution of their purposes.

Theory 1.2 update:
Changing the background of command format pictures from transparent to white:
Before:

After:

The captions of photographs with address command formats have also been changed from 1.2 to 1.2a; 1.2b and 1.2c.

Theory 1.2 update:
Fixed links from theory 1.2 to theory 1.3
Previously there was a link to localhost, but this is incorrect and does not work, because the user will be redirected to his localhost, and not to the desired page of the site. Therefore, we will use markdown links, they work 100%, tested locally.
Before:

After:

Theory 1.2 update:
The extra dash has been removed and the command has been allocated to a separate command box

Theory 1.3 update:
Transferring the command table from HTML format to Markdown form to improve the style of the article
Before:

After:

Theory 1.4 update:
Information has been added about what forward and reverse code are, how they work, and the style has also been slightly changed
Before:

After:

Theory 1.5 update:
Transferring the command table from HTML format to Markdown form to improve the style of the article.
Before:

After:


Add an emergency alarm component to RomiDashaboard

Pre-requisite
https://github.com/osrf/romi-js-core-interfaces/pull/18 (Done)
What's new

Added an emergency alarm component to the Dashboard (not implemented).
Refactored alerts
Added tests for alerts
Added Logic subscribe to the emergency topic and update the state of the alarm.

Context
while a std::msgs::Bool  message with value true is published over topic /fire_alarm_trigger, the emergency situation is active. During this situation, the robots will head to their nearest holding points on the map.

Hi @koonpeng I'm trying to publish to a specific topic fire_alarm_trigger that it does not have a custom message like RomiCore.loopRequests in the romi-js-core-interfaces. So i'm getting the type of the message from rclnodejs/std_msgs/Bool. I'm trying to use the transport (that we define in app-config) to publish the message. I did the following:
class Emergency {
  static readonly typeName = "std_msgs/Bool";
  static fromObject(obj: any): Emergency {
    return new Emergency(true);
  };
  constructor(public data: boolean){ };
}

export default function AppBar(props: AppBarProps): React.ReactElement {
  const { toggleShowOmniPanel, showSettings, showHelp, transport } = props;
  const [anchorEl, setAnchorEl] = React.useState<HTMLElement | null>(null);
  const classes = useStyles();
  const authenticator = React.useContext(AuthenticatorContext);
  const user = React.useContext(UserContext);
  const [alarm, setAlarm] = React.useState(false);

  const emergency : RomiCore.RomiTopic<Emergency> = {
    validate: msg => Emergency.fromObject(msg),
    type: Emergency.typeName,
    topic: 'fire_alarm_trigger',
  };

  const EmergencyAlarmRequestPub = transport && transport.createPublisher( emergency);

  const handleAlarm = (): void => {
    EmergencyAlarmRequestPub?.publish({
      data:true
    })

  };

I'm having this error right now

I would really appreciate any inside/guide that you can give me on this.

rclnodejs requires the "full" type name, i.e. std_msgs/msg/Bool

If the browser crashes or is reloaded the publisher is destroyed but other active browsers keep the last state. If I enter to a new session when the publisher is already destroyed

E2e it's failing in the loop request, I'm taking a look into that

Have you experimented with ros2 QoS settings to make alarms persist across sessions?

Hi @koonpeng, yes but I had the same behavior, added again here https://github.com/osrf/romi-dashboard/pull/129/commits/530c36602e020b827d6c539d07cc045c4eae7346. Am I doing something wrong?
startSubscription(transport: RomiCore.Transport) {
    this._subscriptions.push(
      transport.subscribe(
        RomiCore.emergency,
        (state) => {
          console.log(state);
          this._alarmState = state.data;
          this.emit('updated');
        },
        {
          qos: {
            historyPolicy: RomiCore.HistoryPolicy.KeepLast,
          },
        },
      ),
    );
  }

  const emergencyAlarmRequestPub = React.useMemo(
    () =>
      transport
        ? transport.createPublisher(RomiCore.emergency, {
            qos: {
              historyPolicy: RomiCore.HistoryPolicy.KeepLast,
            },
          })
        : null,
    [transport],
  );

I'm not very familiar with ros2 qos as well, I will have to spend some time to experiment around. Hopefully we can fix the persistency issue before merging this.

Looks like you need the equivalent of these settings
      qos: new rclnodejs.QoS(
        rclnodejs.QoS.HistoryPolicy.RMW_QOS_POLICY_HISTORY_KEEP_LAST,
        1,
        rclnodejs.QoS.ReliabilityPolicy.RMW_QOS_POLICY_RELIABILITY_RELIABLE,
        rclnodejs.QoS.DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL,
      ),

Using the above, I managed to publish first, then late subscriptions receives the last message.
We should also set that as the default qos for the emergency topic in romi-js-core-interfaces.

Test code with rclnodejs
import rclnodejs from 'rclnodejs';

async function main() {
  await rclnodejs.init();

  const nodeA = rclnodejs.createNode('nodeA');
  const pub = nodeA.createPublisher('std_msgs/msg/String', 'test', {
    qos: new rclnodejs.QoS(
      rclnodejs.QoS.HistoryPolicy.RMW_QOS_POLICY_HISTORY_KEEP_LAST,
      1,
      rclnodejs.QoS.ReliabilityPolicy.RMW_QOS_POLICY_RELIABILITY_RELIABLE,
      rclnodejs.QoS.DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL,
    ),
  });
  pub.publish({ data: 'hello' });
  rclnodejs.spin(nodeA);

  await new Promise((res) => setTimeout(res, 1000));
  const nodeB = rclnodejs.createNode('nodeB');
  nodeB.createSubscription(
    'std_msgs/msg/String',
    'test',
    {
      qos: new rclnodejs.QoS(
        rclnodejs.QoS.HistoryPolicy.RMW_QOS_POLICY_HISTORY_KEEP_LAST,
        1,
        rclnodejs.QoS.ReliabilityPolicy.RMW_QOS_POLICY_RELIABILITY_RELIABLE,
        rclnodejs.QoS.DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL,
      ),
    },
    console.log,
  );
  rclnodejs.spin(nodeB);
}

main();

Looks like you need the equivalent of these settings
      qos: new rclnodejs.QoS(
        rclnodejs.QoS.HistoryPolicy.RMW_QOS_POLICY_HISTORY_KEEP_LAST,
        1,
        rclnodejs.QoS.ReliabilityPolicy.RMW_QOS_POLICY_RELIABILITY_RELIABLE,
        rclnodejs.QoS.DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL,
      ),

Using the above, I managed to publish first, then late subscriptions receives the last message.

maybe I'm missing something but it's not getting the last message.

But since the example that you post is working, I'll dig how the message reaches to the API gateway.

Oh, I think it's probably because the api gateway shares the same internal subscription across multiple subscribers. This is because ros2 used to have scaling issues (maybe its been addressed now) with too many subscribers, if we spawn a new subscriber for each new connection we could be easily spawning hundreds or thousands of subscribers.

I'm a bit confused on what the exact problem is, so I'll try to articulate my current understanding and you guys can let me know if I've misinterpreted things.
My understanding: It sounds to me like the goal is to subscribe to the alarm state topic on startup to see what the last alarm value was and then initialize the GUI to start with that value. This would allow the dashboard's alarm state to be persistent between dashboard sessions. But also, the dashboard is the only DDS participant that's publishing to the alarm topic.
As far as I can figure, there's no way for that setup to work. Once your dashboard session ends, its publisher will die with it. At that point, the messages which were stored by the transient local quality setting will effectively be erased because their publisher is gone. Any new subscribers who connect to that topic will be unable to discover the old publisher because it's dead.
From a Google search, I can see that Connext DDS provides a "persistence" service that stores messages to disk and will retransmit those messages after the publisher has died, but I think that might be a bonus feature of Connext and not something that is natively supported by ROS2.
I think a different strategy will be needed to get persistence for the dashboard.

Sorry for the misunderstanding. The "dashboard" in this case consist of several components, namely the web app client and a backend ros2 bridge (among other backends like the auth server). The actual publishers and subscribers are maintained by the backend bridge, currently it only maintains one pub/sub for each topic and multiplexes the messages to each of the connected web app clients. We need to do this to avoid an explosion of pub/subs, each connection will need to create 5-10 pub/subs, using individual pub/subs could easily explode the ros2 discovery with hundreds or thousands of participants.
But because we are multiplexing the pub/subs, webapp clients will not receive previous messages from QoS "keep last" as there is only one internal ros2 subscription. We could emulate ros2 QoS settings in the bridge to let the clients behave as if they all have their own internal subscribers. Or maybe it is better to use a service to get the current state of emergency alarm some where in rmf_core so that the web app can display the correct emergency status at all times.

Okay, thanks for the more detailed explanation.
I think the aspect of this that's most tricky is that the "source of truth" for the alarm is supposed to be a heartbeat from a building management system adapter. In an actual deployment, that message should be getting published periodically, and it should never emanate from the dashboard in the first place.
What if the alarm management is implemented in the web app backend, where its state could be on, off, or null, where null means that no message is being broadcast. Then instead of the web client publishing directly to a topic, it can switch the backend between those three states, where the default state is null?

Thanks, afaik, there isn't a "building management system adapter" yet? If that is the case, I propose we remove this feature until it is ready, we can still merge in this PR, just remove the feature from the ui.
On another note, should the dashboard provide a way to clear the alarm? Or should write-level control only be available in the rviz ui?

there isn't a "building management system adapter" yet?

For the physical demos, there is a node responsible for publishing the alarm state. It's hooked up to a big red button. For simulation demos, we've just been using rviz. There was some confusion when setting up a demo one time where the big red button and the rviz panel were both publishing alarm states, and when those states disagreed with each other, the fleet adapters would end up rapidly flipping in and out of emergency mode.
It's not obvious to me what the "right" way to deal with this is. I'm not sure if real-life deployments are guaranteed to have a single source of truth or if we'll have to deal with multiple sources of truth for the alarm. If there will actually be multiple sources of truth, then it would be good to have a multiplexer node that publishes an on-state if any one source is on, and an off-state if all of the sources are off.

Alright, thank you both for the explanation.

For the physical demos, there is a node responsible for publishing the alarm state. It's hooked up to a big red button. For simulation demos, we've just been using rviz. There was some confusion when setting up a demo one time where the big red button and the rviz panel were both publishing alarm states, and when those states disagreed with each other, the fleet adapters would end up rapidly flipping in and out of emergency mode.

Ok, to be on the same page:

In the meanwhile, we can subscribe to the /emergency_alarm topic from the dashboard; the alarm icon will be displayed just when the alarm is turned on.
For the publisher, we have a couple of options for now:
a. If we want to use the Dashboard for the demo instead of rviz, but not in the actual deployment, we can keep the alarm button (on/off) and the publisher behind a flag. If we want to publish the message from the Dashboard we should do something like Michael mentioned: add a backend service that saves, change and broadcast states. Maybe we can add them of o our API gateway, and use it as our backend
b. We can just remove the publisher from the dashboard, in this case, we will be depending on an external actor (someone pressing the big red button or rviz) to publish the message on the /emergency_alarm topic.

I'll do the 1 and 2.b. on this PR.

It's not obvious to me what the "right" way to deal with this is. I'm not sure if real-life deployments are guaranteed to have a single source of truth or if we'll have to deal with multiple sources of truth for the alarm. If there will actually be multiple sources of truth, then it would be good to have a multiplexer node that publishes an on-state if any one source is on, and an off-state if all of the sources are off.

Yeah, it makes total sense, not having a true scenario complicates things. Ideally, we should cover both scenarios, but I don't know if we should do it until we have more specifications. I'll create a ticket to deal with this again in the future.

@vallq


Axon does not remove some notifications

iPhone XS Max 12.4
Axon 0.2.3
Axon does not let me Clear Notifications and doesn’t show any Notifications exist. A respring temporarily fixes. Attached a photo showing no notifications. Pressing Clear All does not work.

Well it will not let me upload a screenshot on Mobile, so I will submit one tomorrow on my MacBook.

Are you using iOS 13?

iOS 12.4 iPhone XS Max unc0ver
--
Greigh Canary
On Nov 26, 2019, 8:16 AM -0500, Baw Appie<EMAIL_ADDRESS>wrote:

Are you using iOS 13?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Does Clear All work with Axon 0.3.0?

Unfortunately nope. It won’t even clear with notifications there now.

I have the same issue iOS 13.2.3 iPhone X checkra1n. I get and message, read it and then the message doesent disappear if I press on it it doesent open and i can’t clear it. If you want I can send a video

I have the same issue iOS 13.2.3 iPhone X checkra1n. I get and message, read it and then the message doesent disappear if I press on it it doesent open and i can’t clear it. If you want I can send a video

It would be nice to have a video 😀

Here are some videos. 😅
https://imgur.com/a/lPvUXyv

I think other tweak is interfering with Axon..

I also have this issue if I disable all tweaks and just have Axon enabled. I also tried rootFS


fEMR website is blank

The http://www.teamfemr.org website is either down or expired.
The community Slack link also leads to a blank site: http://teamfemr.org/slack.html
The last working snapshot of the site on Wayback Machine is from June 08, 2023.
The latest snapshot on May 28, 2024 also shows the website is not working properly.

I think you got this repository confused for another project?

Hi Ethan,
I did indeed. The other project is FEMR - Fast Electronic Medical Records. Whoops!


Chrome Agent: chrome_agent_client.js independent from the rest of Axiom

Also fixed/improved content_script and externally_connectable URL masks for the extension.
TBR: @rpaquay

lgtm


Let users know that panel can be collapsed and extended

Is your suggestion related to an experience ? Please describe.
Though there is a change in side panel, the hamburger action button seems to have no state change. I personally feel, it can be dynamic, showing extended vs collapsed view as two different states (icons that switch one to other).
Describe the improvement
We can use the regular hamburger for one of the states where the current one can point to the another state.

Additional context
Screencast from 2023-06-22 11-31-55.webm

How is this icon intuitive enough to say that it is collapsible? 🤔

We need to keep the application panel open/closed state and show different icons based on that.


”Medieș-Vii”, ”Potău”, ”Românești” are listed in the drop-down menu

Description:
When user writes ”Medieș-Vii”, ”Potău”, ”Românești” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Medieș-Vii"

Expected results
The location appears in the drop-down menu as "Sat Medieș-Vii, SATU MARE (Medieșu Aurit)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Românești"

Expected results
The location appears in the drop-down menu as "Sat Românești, SATU MARE (Medieșu Aurit)".


Speedloaders need cleaning up

It lets any ammo box function as a speedloader and not the actual intended speedloaders
Comments next to code is gross, also a few are misspelt.
It's doing updates every iteration of a loop instead of... outside of the loop
Some whacky null suppression.

From https://github.com/space-wizards/space-station-14/pull/12417

Do you still need someone to take a look at this?

Should be fine after https://github.com/space-wizards/space-station-14/pull/12697 and the other prs.


chore(Probability/Kernel): initialize_simps_projections

Move initialize_simps_projections few lines down so that simps uses FunLike.coe instead of CoeFn.coeFn. Add Kernel.coe_mk.
Co-authored-by: Yaël Dillies<EMAIL_ADDRESS>
fixes placement of initialize_simps_projections in previous PR #15316

maintainer merge

bors merge


add publish to pypi github actions and documentation

Description
Added publish to pypi github actions and documentation.
The action was tested successfully on two of my projects which were created using this template:
https://github.com/pksol/pytest-fastapi-deps
https://github.com/pksol/pytest-mock-generator
I also updated the documentation to match the new functionality.
Type of Change

[x] 📚 Examples / docs / tutorials / dependencies update
[ ] 🔧 Bug fix (non-breaking change which fixes an issue)
[ ] 🥂 Improvement (non-breaking change which improves an existing feature)
[x] 🚀 New feature (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🔐 Security fix

Checklist

[x] I've read the CODE_OF_CONDUCT.md document.
[x] I've read the CONTRIBUTING.md guide.
[x] I've updated the code style using make codestyle.
[x] I've written tests for all new methods and classes that I created.
[x] I've written the docstring in Google format for all the methods and classes that I used.

@TezRomacH , had you had a chance to review this code to enable publishing to PyPI?
I think that it will be a great addition to the library.


workbench.action.query.shortcut1 error message - cannot read property 'shortcut1' of undefined

Azure Data Studio Version:

Steps to Reproduce:

Launch Azure Data Studio.
Connect to a database server.
Open a new query window.
Write a query (for instance; SELECT * FROM AuditLog).
Select the table name and use the shortcut that would mimic "sp_help". In my case, I've set it up to F1.
When I use the keyboard shortcut, I get the error message "Cannot read property 'shortcut1' of undefined"

Screenshots attached for your reference.

@vaidymohan This should be fixed in insiders by https://github.com/microsoft/azuredatastudio/issues/11749 - if you have a chance could you try it out there and see if you're still seeing it?
https://github.com/microsoft/azuredatastudio#try-out-the-latest-insiders-build-from-main


Builder: mongo-swift-driver false negative

The issue is that xcodebuild currently fails to pick up cSettings
The fix is to either pass the settings explicitly to xcodebuild:
xcodebuild -scheme MongoSwift GCC_PREPROCESSOR_DEFINITIONS="MONGO_SWIFT_OS_DARWIN BSON_COMPILATION MONGOC_COMPILATION”

or to build via swift build

To summarise, I think our options are:

Somehow pass in explicit settings (via a metadata file for instance, or plain special casing of certain packages)
Short-circuit certain packages we know are problematic but where we agree to accept an upstream signal
Try swift build if xcodebuild failed
Wait for the Xcode build fix

I think 4. could be an option if we know it’s close - i.e. in Xcode 12. However, that seems unlikely, since Xcode 12b2 is also failing.
Option 3. isn’t great, as it complicates the build further and increases run times for every failed build (which are many). We could/should limit this to macOS, which might help here. Or turn it around, run swift build first and then xcodebuild? Not sure if there are risks of false positives or if there are even gains to be expected.

Re 2.: Given the SSWG minimal requirements for sandbox level projects and above, there’s an argument to be made to fast-path the projects from the Swift Server Ecosystem Index and report them supporting latest macOS/Linux.

So, given that we're going to need a swift build path through the builder tool in order to support Linux builds I think the best option is to simply add another column to our build permutations table.
We currently have:

When we add Linux support, we will then need something like this:

Given that we'll already have the command structure for building packages with swift build at that point, I think we could justify adding one more column:

To give an opinion on all these, I'd place them in this order from my favourite, to least favourite:

Try swift build if xcodebuild failed

Except, I wouldn't do it conditionally. Let's just run one more build for everything as I mention above.

Somehow pass in explicit settings (via a metadata file for instance, or plain special casing of certain packages)

Yep, I think this may potentially be necessary for some real edge cases that we have yet to see, but I bet they're in there somewhere.

Short-circuit certain packages we know are problematic but where we agree to accept an upstream signal

I'm happy to short circuit packages, but this does weaken the feature in that the matrix is no longer only showing build results, but build results and special cases.

Wait for the Xcode build fix

This could be a long time coming.

Just triggered via
    post build macos (spm):
        url: ${base_url}/api/packages/${package}/trigger-builds
        method: POST
        headers:
            Authorization: Bearer ${builder_token}
        body:
            json:
                buildTool: spm
                platform:
                    name: macos
                    version: "x86_64"
                swiftVersion:
                    major: 5
                    minor: 2
                    patch: 4
        validation:
            status: 200

and all three refs are passing now:

https://gitlab.com/finestructure/swiftpackageindex-builder/-/jobs/649059159
https://gitlab.com/finestructure/swiftpackageindex-builder/-/jobs/649059161
https://gitlab.com/finestructure/swiftpackageindex-builder/-/jobs/649059166

https://staging.swiftpackageindex.com/mongodb/mongo-swift-driver/builds

I’ll retrigger the rest as part of a full rebuild asap.


Question about sample generation

Without just getting the all the combinations from the feature set, what is the logic that you have used using num_subset_sizes and num_paired_subset_sizes ect to  generate new samples in Kernel SHAP?
In Brute Force Kernel SHAP you have made the powerset by taking all the combinations. In real code what is the logic behind that?

Thank you.
My next question is, is there a bias between the shapley values generated considering the whole subsets and considering the subsets taken by the criteria that you have mentioned before?

If I understand your question correctly, no, both approaches should have estimates with variance centered around the same values.
Since the default number of samples is just over 2k then yes.
That's right!

Thank you.
what do you mean by num_paired_subset_sizes?

Sorry for the late reply.

Some subset sizes are paired, meaning there is a complement subset that has the same number of zeros as this subset has ones. But if there are an odd number of subset sizes then we one of them won't be paired, hence why num_paired_subset_sizes can be smaller. We keep track of pairing to as to explore the part of the space we can exhaustively enumerate in a symmetric way.
Yes!

@rameshbkrishnan For KernelExplainer you don't want to pass the whole dataset for the background. Try using just a single reference value, or using shap.kmeans to summarize the dataset as just a few weighted points.
For Tree SHAP take a look at the first constructor for the Tree class in explainers/tree.py. It takes a tree definition in the same format sklearn uses and you can use that to explain any custom tree model you have.


WFNEWS-1353 compass page

Looks good! Did you run any lint command or something similiar? I see there are alot of styling changes but not related to this tickets

Thanks, I ran the npx cap update ios command which I think automatically created those changes

Looking good @ssylver93 a couple of pretty minor things to address

Thanks @dhlevi they should be fixed up now


Work on web site design.

We should work on a design for a cool look-and-feel for the website. Not that I don't like Oleg's HTML skills :-)

Not that I don't like Oleg's HTML skills :-)

There are none :) Just took the existing Hugo theme

The "O" in the logo should be a toggle... what it toggles I do not know!


Thailand

Is your proposal related to a problem?

(Write your answer here.)
Describe the solution you'd like

(Describe your proposed solution here.)
Describe alternatives you've considered

(Write your answer here.)
Additional context

(Write your answer here.)

Hi! Sorry but this seems like spam. Closing it.

3649


Packerina dev to master branch

Purpose

$subject

Fixes #
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #18332 into master will decrease coverage by 0.23%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #18332      +/-   ##
==========================================
- Coverage   15.06%   14.82%   -0.24%
==========================================
  Files          48       48
  Lines        1248     1268      +20
  Branches      192      201       +9
==========================================
  Hits          188      188
- Misses       1046     1066      +20
  Partials       14       14

Impacted Files
Coverage Δ

...-plugins/vscode/src/project-tree-view/activator.ts
0% <0%> (ø)
:arrow_up:

tool-plugins/vscode/src/telemetry/index.ts
80% <0%> (ø)
:arrow_up:

tool-plugins/vscode/src/overview/activator.ts
0% <0%> (ø)
:arrow_up:

...s/vscode/src/project-tree-view/project-overview.ts
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Y24-300 - Addition of anonymous ids for public data sharing - existing data

User story
As a member of GSU, I would like RVI samples already imported into Sequencescape to have an anonymous id added to them, so that when they are shared in public databases, the id does not give any unnecessary information.
Who are the primary contacts for this story
Anna G, Adrianne L
Who is the nominated tester for UAT
Anna G, Ya-Lin H
Acceptance criteria
To be considered successful the solution must allow:

[ ] Samples previously imported into Sequencescape for RVI should have an id created and inserted into the public name (?) field
[ ] Id is created using Baracoda (RVI prefix)

References
This story has a non-blocking relationship with:

https://github.com/sanger/limber/issues/1851
https://github.com/sanger/limber/issues/1895

Additional context
The data for these already imported samples has not yet been released.
Original request from Anna: "GSU would like to apply additional level of security in relation to sample IDs. This will need to be applied to future and all retrospective samples within RVI." (was split into 3 stories).
N.B. Is it worth checking before doing this story if the Sanger Sample Id would be sufficient? Is this used for existing samples in other studies? We discussed using the accession number but think this is not appropriate because it is specific to EBI and this will potentially be released to other databases as well.

RVI prefix is to be used.

Team Discussion 13Nov2024
Assumption:

Run a script to update the IDs
Referencing to only RVI samples and not Heron Samples
Use of public name field only for RVI and not for Heron

How do we identify the samples/Study that need to be updated?

@KatyTaylor There's an attribute in the database called sample_public_name which the manifest's PUBLIC NAME value is stored into. Is this the target for the new ID?

Outstanding questions:

How do we determine which samples are RVI samples? Are they all under particular studies?
If we update sanger_sample_id's that will break all RVI manifests (they will have old version) does this matter?

Quick clarifications.

How do we determine which samples are RVI samples? Are they all under particular studies?
Yes they will be identified by belonging to one or more studies. I will check exactly which ones with GSU.

If we update sanger_sample_id's that will break all RVI manifests (they will have old ids) does this matter?
We are not changing the sanger_sample_id values.
We would like to set the sample's  "Public Name" field to be identical to the sample's "Sanger Sample ID" field for these samples.

Should this be done after the manifest story so that we don't get intermediate data created after this data patch and before the manifest patch?
Good point. Yes.

If the sample has been accessioned whatever identifier is added to the 'name' and then added as the public name then potentially (if data is pushed to the ENA) this would expose the 'new id' as public name if is displayed as the title of the accessioned sample

@neilsycamore The issue they are trying to address is that they don't have an anonymous ID they can use for publishing data. Their sample supplier uses ids that are identifiable and they automatically transferred these over to SciOps / SequenceScape.
The accessioning logic,  I believe, uses public name if present and then fails back to supplier id ?
So, by setting an anonymous id in the Public Name field they can safely publish. We thought about allocating a new id with baracoda but it seems that in this case the SequenceScape name is sufficiently anonymous.
Does that help explain things? Are there any concerns with this approach?

@TWJW-SANGER , I’ve been looking into this, and I noticed that some samples belonging to the RVI Program - Bait Capture study have their sanger_sample_id prefixed with "RandD_" (e.g., RandD_RVIxxxxxx).
I’m unsure how to handle the public names for these samples. Should we remove the "RandD_" prefix to align with the acceptance criteria, or should we leave them as they are for now?

Good spot.
My thoughts below:

I don't think it would be a good idea to change the sanger_sample_id, as this is likely linked to in various ways in different systems.
I suspect that the R&D samples will not be part of the data release. So that it won't matter what their public name is as it will never be exported.
"RVI" vs "RVI_" - is irritating, but still satisfies the requirement to be anonymous and that inconsistency will be present in other systems that feed into SequenceScape already.

I suggest that we continue as planned but I will send an email to Adrianne and Ya-Lin to cover these points  and CC you both in.


Add entity functions for reading userinfo cvars to CPlayer class

requires https://github.com/R2Northstar/NorthstarLauncher/pull/293, implements functionality from that pr into wrapper functions to support typed queries and just be nicer to use in general

going to make some changes in native code to improve this, may merge after


Speaker Page

Is your feature request related to a problem? Please describe.
Implement the [speaker] page to display information about the speaker or organizing team member
Describe the solution you'd like

should display an image, speaker/organizer badge, name of speaker/organizer, bio and twitter handle at the bottom

Additional context

@kharioki  I would like to pick this up

@mog-rn I'll assign this to you for now

@kharioki just seeing u had assigned this to me. Sorry for missing it

@DeroMuli I am currently working on it


Add comment/uncomment bindings

This might be more broadly addressed with custom mappings/bindings, but adding comment/uncomment bindings would be super useful. Somehing along the lines of tpope's commentary which uses gc as the binding for commenting.

Yes! CMD + / almost works (on a mac), but it puts the # at the beginning of the line rather than where the indentation starts, so I end up manually adding # characters. I would love a commentary emulator.

Question to fellow Windows users ==> does Ctrl + / work for you? I am firing jupyter lab from a WSL-bash on a Windows machine, and have never got the commenting shortcut to work. All else are working just as nicely as they should have been.
About my configuration: I have been compiling the jupyterlab-vim locally, with only two additional key-bindings as the following. <c-[> to exit insert mode, while in a cell; and <c-]> to pop out of cell-editing mode. I don't see these settings to block <c-/> for commenting.
        commands.addKeyBinding({
            selector: '.jp-Notebook.jp-mod-editMode',
            keys: ['Ctrl ['],
            command: 'leave-insert-mode'
        });
        commands.addKeyBinding({
            selector: '.jp-Notebook.jp-mod-editMode',
            keys: ['Ctrl ]'],
            command: 'notebook:enter-command-mode'
        });

I downloaded the local copy some time in Januray, 2019. So, it should be still up to date as of this repo. My Jupyter Lab version is 0.35.4. Please advise if there is other diagnostic info that I can provide here.

Ctrl + / works for me, but I'm not running it through WSL.
On the <c-[> shortcut you've added, the plugin already has that functionality. That's what I use normally to exit INSERT mode.

@jrwrigh Just to confirm: you are using Windows machine? I have also tried to disable jupyterlab-vim, but nothing changes: Ctrl + / still got me nothing.
Plus, I did not find a proper command: clause that I can use to "hard-assign" Ctrl +/ to serve the role of toggling the comments.
Looking forward to a gc implementation as well.

Yes, I'm using Windows 10 OS.

How were you hosting Jupyter? Through Git-Bash, and a locally configured
Anaconda?
All the best,
-Linfeng
On Fri, Apr 19, 2019 at 2:32 PM James Wright<EMAIL_ADDRESS>wrote:

Yes, I'm using Windows 10 OS.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jwkvam/jupyterlab-vim/issues/81#issuecomment-484980257,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABM6CZZDHF4JJZ77OMCPB7TPRIF23ANCNFSM4HBOKCYA
.

--
Linfeng Li
Doctoral Candidate in Behavioral and Experimental Econ
School of Information
University of Michigan
Phone:   (+1)7346045530
Skype:   llinfeng1900

Anaconda

Update on using Ctrl + / for commenting
As mentioned by DreamFlasher's comment in this stack overflow post, the slash symbol (/) should be interpreted as the slash symbol from the Numpad!!!
On my Windows machine, I added the following mapping to tune the normal Ctrl + / key-press into the real thing: Ctrl + Numpad-Slash.
; I used a program called AutoHotKey
; Section that declares the `ahk_group JupyterLab`: this shall capture all cases where I may be using Jupyter
SetTitleMatchMode, 2
GroupAdd , JupyterLab       , JupyterLab - Mozilla Firefox
GroupAdd , JupyterLab       , JupyterLab - Vimperator
GroupAdd , JupyterLab       , JupyterLab - Google Chrome
GroupAdd , JupyterLab       , JupyterLab ahk_exe chrome.exe
return

; The simple mapping, along with other things that emulate Vim's fundamental actions.
#IfWinActive ahk_group JupyterLab
    ^/:: send ^{NumpadDiv}
    ^w::Send ^+{Left}{BS}
    ^h::Send {BS}
return

Hi all.
If I were to add my own vim bindings how would I do that?

@CrashLaker You shall find a relevant discussion in #17.

Thank you!! @llinfeng


karoo 1

Is only version 0.8-karoo1 compatible with karoo 1 or is version 5.0 also compatible with karoo 1?

Hi, for Karoo 1 the only compatible version is the 0.8-karoo1. Unfortunately Karoo 1 uses an older Android version and has some limitations, so the other releases will not work.
The version 0.8-karoo1 is outdated but will work fine and provides most (if not all?) Di2 features that were removed from Hammerhead, so you will be able to view gears, control screen via Di2 button, have Di2 battery warnings.

Thanks, appreciate it,


Add ToggleVisited ActionMenu

This PR partly resolves this issue here: https://github.com/Mosc/Glider/issues/39
It just adds a menu item for stories to toggle the visited status on them.
The Netherlands translation might need to be changed, since I used Google Translate for that :)

Note that the CI build fails on formatting in some files. Should be easy to fix.

Thanks for the contribution! I like this solution more than the option of clearing all visited stories proposed in #39. Forgive me for being a bit nit-picky in the review. Let me know if you disagree on anything.

Hey! Thanks for the comments, and being nit-picky is a great opportunity for me to learn new stuff! I actually agree on all your suggested changes, and will implement them soon!

Comments should be resolved now, please have a look :)

LGTM, thanks!


Allow for payload media types to be documented

Right now, AsyncAPI is missing a way to document the payloads' media type (e.g., JSON, XML, ...).
Can the specification be enriched to make this possible?
The approach for documenting media types could be similar to the one proposed in the OpenAPI specifications (v2 & v3):

The AsyncAPI Object could be extended with a 'defaultPayloadMediaType' property that allows to specify the default payload media type (e.g., with "application/json" as default value).

The type of the Message.payload property could be changed to "Map[string (media type), Schema Object] | Schema Object",  which allows the default payload media type to be overridden at the payload-level.

This would allow API specifications such as:
asyncapi: '1.0.0'
...
defaultPayloadMediaType: text/xml

topics:
  X:
    publish:
      payload:
        type: object
        properties:
          ...

  J:
    publish:
      payload:
        application/json:
          type: object
          properties:
            ...

  O:
    subscribe:
      payload:
        application/x-java-serialized-object:
          type: object
          properties:
            ...

Thanks in advance for considering this feature request!

Not to be repetitive (I know when all you have is a hammer - everything can look like a nail - but I have solved a great many problems using the built in header capabilities of HTTP, and have always wanted to extend them to message processing. - I hope that you find this feedback both constructive, well-intentioned, and helpful. )
The RFC for HTTP [RFC 7231] includes a specification for "Content Negotiation" between the request agent and the response agent. Encapsulating a method of communication of preferred request and response metadata could solve a lot of not yet anticipated future problems.

5.3.  Content Negotiation
The following request header fields are sent by a user agent to
engage in proactive negotiation of the response content, as defined
in Section 3.4.1.  The preferences sent in these fields apply to any
content in the response, including representations of the target
resource, representations of error or processing status, and
potentially even the miscellaneous text strings that might appear
within the protocol.
+-------------------+---------------+
| Header Field Name | Defined in... |
+-------------------+---------------+
| Accept            | Section 5.3.2 |
| Accept-Charset    | Section 5.3.3 |
| Accept-Encoding   | Section 5.3.4 |
| Accept-Language   | Section 5.3.5 |
+-------------------+---------------+
5.3.2. Accept
The "Accept" header field can be used by user agents to specify response media types that are acceptable.
<IP_ADDRESS>. Content-Type
The "Content-Type" header field indicates the media type of the associated representation
So: Accept indicates what kind of response from the server the client can accept. Content-type always is about the content of the current request or response.
So if your request has no payload, you don't use a content-type request header.

Wouldnt it be better to place such a notice inside the header information? I made a quick'n dirty demonstration here:

If it looks good to you, I recommend adding it to the example. I would also add an example that sends or receives a simple text (text/plain) instead of json. The online editor does support this as well, which is super awesome to have json and plaintext API documentation in the same place.
BTW: Did you look into Mqtt5 yet? It provides some additional features such as sending the content type (mime + utf8 yes/no), user properties aka. utf8 string-pairs, retained messages TTL and more.
I was about to create a feature request for those new features, but it seems it can be realized with the headers section, which is also the best place to put this information. Opinions?

Placing a header can also have other undesired consequences, for instance, it can make a system fail if it doesn't support the mime-type header.
Headers are part of the message as payload is. Content type should be documented in a different way. Also, it would help message portability, allowing you to use the same message with different formats, e.g., JSON and XML.


Make resource limit configurable

The resource limits in jupyterhub_config.py should not be hard-coded.
A simple FashionMNIST sample network breaks with only 10G of RAM. The limits regarding CPU cores and memory should be configurable either

via environment variables
per Moodle environment

to allow appropriate configuration for different classes.

with pr #52 this issue should be resolved temporarily. still need to make it configurable per moodle env.


install failed

Installion failed in Windows 10(build 10240 x64)
Atom version:1.0.7
It show me the error:
Haskell-ghc-mod: ghc-mod flag failed with error code 1
'ghc-mod' is not recognized as an internal or external command,
operable program or batch file.

Looks like Atom couldn't find ghc-mod. Did you install it? Have you
specified path to it in haskell-ghc-mod settings?
13 авг. 2015 г. 22:28 пользователь "Wingkou Loeng"<EMAIL_ADDRESS>написал:

Installion failed in Windows 10(build 10240 x64)
It show me the error:
Haskell-ghc-mod: ghc-mod flag failed with error code 1
'ghc-mod' is not recognized as an internal or external command,
operable program or batch file.
—
Reply to this email directly or view it on GitHub
https://github.com/atom-haskell/haskell-ghc-mod/issues/43.

Closing due to lack of activity


[FEATURE REQUEST] Add configuration option to Keycloak for PROXY_ADDRESS_FORWARDING env. variable

Is your feature request related to a problem? Please describe.
I would like Keycloak service to be aware of being behind HAPRoxy and inform it to use X-Forwarded-... headers for proper JWT issuer information. At the moment I manually edit keycloak stateful set to include PROXY_ADDRESS_FORWARDING environment variable.
Describe the solution you'd like
I would like Epiphany yml configuration file to have flag in auth-service application config that would translate to PROXY_ADDRESS_FORWARDING true/false value passed as environment variable to the keycloak pod. The default value can be set to false to maintain backward compatibility.
Describe alternatives you've considered
Additional context

DoD checklist

[ ] Changelog updated
[ ] COMPONENTS.md updated / doesn't need to be updated
[ ] Schema updated / doesn't need to be updated
[ ] Feature has automated tests
[ ] Automated tests passed (QA pipelines)

[ ] apply
[ ] upgrade

[ ] Idempotency tested
[ ] Documentation added / updated / doesn't need to be updated
[ ] All conversations in PR resolved
[ ] Solution meets requirements and is done according to design doc
[ ] Usage compliant with license
[ ] Backport tasks created / doesn't need to be backported

OS does not matter during testing process since application works in k8s cluster.
Tested on Ubuntu:

@przemyslavic i think we can merge this, i'm moving it to DoD, move back if you have any doubts


Return the current version of the extension

I would like to see which version the extension users are using in order to get feedback on the extension.
How about creating a helper function here that returns the version in the tag in the manifest.yml that is created when a binary extension is installed?

@seachicken I am not sure I understand your feature request. Can you give me a bit more detail on what goal you are trying to achieve?
From my current understanding it seems like a gh extensions that is trying to get feedback about the currently installed version would be able to do so without the help of go-gh by simply specifying a version in the extension itself that gets updated when a new release is created.

@seachicken I understand now, thank for explaining. I think right now writing a gh poi --version is the right solution, but you are correct that there is no place that we list extension versions in gh. It seems like this is information that should be output in gh extension list, if you agree I will move this issue over to the cli/cli repo where that command is maintained and we can get this feature added.

Yes, it would be nice to be able to check the version in the gh extension list 😃

However, one concern with showing the version in the gh extension list is that people who are currently creating extensions with sh don't have a manifest.yml and seem to be comparing them with sha. https://github.com/cli/cli/blob/c3d451b9b6818a01b66dec9fb82ec1a91fbfd280/pkg/cmd/extension/manager.go#L231
When we run the gh extension list, the sh extensions will not show the version, so it may not look consistent.
I'm not sure if it would be easy to add a manifest.yml to the sh extension as well.


Fix CVE-2023-44487

cherry-pick : https://github.com/opendatahub-io/modelmesh-serving/pull/243

fvt test is successfully done locally.


MultipleChooserPanel reference docs incorrectly namespaced as part of wagtail.snippets.edit_handlers

MultipleChooserPanel is mentioned as released in version 4.2 but is nowhere to be seen.
Pertinent section of the Wagtail docs
https://docs.wagtail.org/en/stable/reference/pages/panels.html#multiplechooserpanel
(Insert the permalink of the section heading in the Wagtail docs. Choose the most specific section / lowest-level heading to which your suggested change would apply. (In the docs, hover over the heading to see the permalink icon.))
Details
Feature is mentioned that has not been released
(Write your answer here.)
Perhaps mention what version it will be released in.

It is released in 4.2 and can be seen in wagtail.admin.panels.MultipleChooserPanel: https://github.com/wagtail/wagtail/blob/stable/4.2.x/wagtail/admin/panels/multiple_chooser_panel.py#L8
I noticed that the docs incorrectly mentions it as wagtail.snippets.edit_handlers.MultipleChooserPanel, due to the RST module namespace not being reset to wagtail.admin.panels after the reference docs for SnippetChooserPanel.
I'll change the issue title accordingly.

ah thanks for clearing that up.

Looks like this has fixed itself in the 5.0 docs due to us removing the docs for the deprecated panels including SnippetChooserPanel - will open a PR targetting 4.2.

Fixed in #10298


Fix matcher bug where METS works can get lost if they're sent too early

In particular, if you send the works in this order:

The suppressed Sierra e-bib
The METS work
The unsuppressed Sierra e-bib

We won't create a Sierra->METS link in step 2, so we can't retrieve the METS work on step 3.
This is a side-effect of us attempting to be clever about how we put suppressed works in the store.

Fixed, deployed, reindexed.


Background media controls

Enhancement
Steps to reproduce

Play a video or sound file
Press home button
Still, enjoy your media but wish to control it without returning to the app.

Expected behaviour
If the app is minimized or put into the background consider creating a few media controls outside of the app.
Actual behaviour
Currently, it just plays the sound in the background until you either return to the app to stop playback or close the app via the app switcher.
System Configuration

Device: OnePlus3T
Android version: 8.0.0

Anything Else
Thumbnails could be used in a fancy background like what is shown in Čľëmĕņťs screenshot.
Screenshots

Notification controls screenshot courtessy of Čľëmĕņť - Today at 11:14 AM in #lbry-android

https://github.com/tanguyantoine/react-native-music-control
The modules fit with the issue.


record ofac blocks, lookup durations and histogram of match %

I had written this down when working on some OFAC code on a plane. We likely will want to record our OFAC performance, but for now it could be metrics to casually inspect how the searches are returning and performing.

OFAC calls have been moved into Customers


Youtube_Extract_Clip_and_Generate_Content_Ideas

User journey to be defined @jravenel

@jravenel, this template is integrated in: abi/models/content-engine/YouTube_Extract_Clip_and_Generate_Content_Ideas.ipynb
As the webhook feature is not working yet, you can copy/paste the message in the input bar of your chat. Let me know if you have any questions!


[MINOR] Delete redundant code

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contribute/how-to-contribute before opening a pull request.

What is the purpose of the pull request
The parent class has been serialized, and the subclass does not need it
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

LGTM.

wonder why CI is failing though

I am observing and processing
@vinothchandar


Flutter pub get set sdks.dart value in pubspec.lock to ""

Steps to reproduce
Run the command flutter pub get only
Screenshots or Video

Screenshots / Video demonstration

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.16.0, on macOS 14.1.1 23B81 darwin-arm64, locale ru-RU)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.3)
[✓] VS Code (version 1.84.2)
[✓] Connected device (3 available)
[✓] Network resources

Hi @ziqq, do you have this issue with a new flutter create'd app? Or is it with your existing project?
If it is with your existing project, can you share your pubspec.yaml?

Hello @danagbemava-nc, i have this issue with my existing project.
pubspec.yaml
name: app_name
description:  app description
publish_to: none
version: 1.2.0+1

environment:
  sdk: ">=3.0.0 <4.0.0"
  flutter: ">=3.0.0"

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

  flutter_svg: ^2.0.7
  flutter_hooks: ^0.18.6
  flutter_slidable: ^3.0.0
  flutter_markdown: ^0.6.17+3
  flutter_widgetkit: ^1.0.3
  flutter_speed_dial: ^7.0.0
  flutter_easyloading: ^3.0.5
  flutter_check_box_rounded: ^3.1.5
  flutter_local_notifications: ^15.1.1
  flutter_in_store_app_version_checker: ^1.5.0

  dio: ^5.3.3
  path: ^1.8.3
  intl: ^0.18.0
  rive: ^0.11.1
  crypto: ^3.0.2
  confetti: ^0.7.0
  equatable: ^2.0.0
  share_plus: ^7.1.0
  url_launcher: ^6.1.14
  contacts_service: ^0.6.3
  package_info_plus: ^4.1.0
  permission_handler: ^10.0.0
  mask_text_input_formatter: ^2.5.0

  # appmetrica plugins
  appmetrica_plugin: ^1.0.1

  # rate my app
  in_app_review: ^2.0.8

  # helpers
  connectivity_plus: ^4.0.2
  device_info_plus: ^9.1.0
  showcaseview: ^2.0.3

  # inversion of control
  get_it: ^7.6.4
  injectable: ^2.3.0

  # firebase
  firebase_core: ^2.16.0
  firebase_analytics: ^10.6.3
  firebase_messaging: ^14.6.8
  firebase_crashlytics: ^3.3.6

  # data store
  # shared_preferences: ^2.2.1

  # state managment
  logger: ^1.1.0
  stacked: ^3.4.1+1
  stacked_hooks: ^0.2.3
  stacked_themes: ^0.3.10
  stacked_services: ^1.3.0

  # custom widgets
  cached_network_image: ^3.3.0
  carousel_slider: ^4.2.1
  extended_image: ^8.1.1
  grouped_list: ^5.1.2
  lazy_load_scrollview: ^1.3.0
  modal_bottom_sheet: ^3.0.0-pre
  quick_actions: ^1.0.6
  pull_down_button: ^0.9.3
  shimmer: ^3.0.0
  sticky_headers: ^0.3.0+2
  scrollable_positioned_list: ^0.3.5
  syncfusion_flutter_datepicker: ^23.1.38
  table_sticky_headers: ^2.0.5

  # Map
  google_maps_flutter: 2.1.1

  # custom packages & plugins
  shake:
    git:
      url: git@github.com:ziqq/flutter_shake_detector.git
      ref: master

dev_dependencies:
  flutter_test:
    sdk: flutter

  build_runner: ^2.3.2
  stacked_generator: ^1.5.1
  injectable_generator: ^2.4.0
  flutter_native_splash: ^2.3.5
  flutter_launcher_icons: ^0.13.1

  # testing
  faker: ^2.0.0
  mockito: ^5.3.2
  plugin_platform_interface: ^2.1.6
  url_launcher_platform_interface: ^2.1.5

  flutter_lint_rules:
    git:
      url: https://github.com/ziqq/flutter_lint_rules.git
      ref: main

flutter:
  generate: true
  uses-material-design: true

  assets:
    - assets/

Hi @ziqq, when did you start experiencing this issue? I updated a semi-new project with your pubspec and the sdk field is all there.
sdks:
  dart: ">=3.2.0 <4.0.0"
  flutter: ">=3.16.0"

Hi @danagbemava-nc, I get this bug when update flutter to 3.16.
UPD: I solved my issue by just deleting pubspec.lock and run pub get. Thx for you help.


Bug 1985125: fix(og): Fix missing MultiOperatorGroups condition in some cases

In some special cases, the MultiOperatorGroups condition is missing
even though there are multiple OGs in the same namespace. The process
of adding this condition happens during syncNamespace which sometimes
doesn't happen if syncOperatorGroups fails prematurely due to other
errors. Moving the MultiOperatorGroups condition to syncOperatorGroups
to ensure it will be run everytime.
Signed-off-by: Vu Dinh<EMAIL_ADDRESS>
Description of the change:
Motivation for the change:
Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Docs updated or added to /doc
[ ] Commit messages sensible and descriptive

/bugzilla refresh

/bugzilla refresh

/lgtm


Feature request: Support overloaded user-defined functions

Similar requests

[X] I have searched and found no existing similar requests

How are you using Studio?
Legend Studio
What problems are you trying to solve?
Overloaded user-defined functions have been allowed/supported in the backend.
Studio needs to support this too.
Use the mode below.
function model::testInteger():Boolean[1]
{
  true;
}
function model::testInteger(input: Integer[1]):Boolean[1]
{
  true;
}

Describe the solution you would like to see implemented
When checking the duplicated elements, for function, we should use path plus the whole function signature instead of path plus function name.
Describe alternatives you have considered
No response
Documentation, Design, Adoption, Migration Strategy
No response
Contribution

[ ] I would like to work on this feature

Duplicate of #1211


[BUG]

Description
got 3 errors. no idea of its cause of the unofficial version of adibag or its yours that makes the error
Addon Version
1.1.0
World of Warcraft Flavor
Retail (Dragonflight)
Tested with only AdiBags_DFCrafting

[X] Yes
[ ] No

Lua Error
4x Interface/AddOns/AdiBags_DFCrafting/Main.lua:350: unfinished long comment near ''

Locals:
4x Interface/AddOns/AdiBags_DFCrafting/Main.lua:1 Interface/AddOns/AdiBags_DFCrafting/Main.lua:350: unfinished long comment near ''
4x FrameXML\Bindings.xml:1 Interface/AddOns/AdiBags_DFCrafting/Main.lua:1 Interface/AddOns/AdiBags_DFCrafting/Main.lua:350: unfinished long comment near ''
Reproduction Steps
Open AdiBags
Screenshots
No response

Resolved in 39071dc1ea8b71686c7d4e5abd594640268fe391, release v1.1.1


Prevent releases from non-master branches. Clean up after release.

Coverage decreased (-0.2%) to 94.992% when pulling 767431345b609da77ce7bcab5704e73c2b44998f on delete_build_dirs_after_release into 629c0a027e023b285a141ac226e1ad4a16fb1380 on master.


Utils

Added merge_geojson utils script to create a valid json
Update docs for ^ and more descriptive examples compatible with QA tiles. Afghanistan chosen as it has a lot of remotely added data and is quite messy.

cc @geohacker @Rub21 @batpad

Umm @planemad do you think this may be worth as a separate utility outside of osmlint?

@geohacker absolutely, ideally would be great to have a npm module that one could install and get this done. Unfortunately it looks like there are no existing tools which can do this. The closest I found was json --merge but does not give the expected output and overwrites the array instead of appending to it https://github.com/trentm/json/issues/102

@planemad you want to help make a tiny module like this one?


The installer keeps getting stuck at 69 percent

At 69% is not stucking, it is downloading things from Internet. The performance depends on the speed of your connection. Leave it working and then it will move from 69% to the end of installation.


Check the heading margins, paddings and line-heights

https://github.com/ConciseCSS/concise.css/issues/112


chore: remove relay as default when starting nwaku for tests

Problem
relay was set as a default protocol to start when running an nwaku node to simulate any tests.
Solution
Remove it as a default, and explicitly enable it for tests that require it.
Notes

Related to https://github.com/waku-org/js-waku/pull/1027
interestingly, none of the relay tests failed without enabling relay on nwaku 🤔

Already approved :)


[Request]: save check and extract progress

Is your request related to a problem?
Yes
How is the feature request related to the problem?
Collapse will redownload the deleted packages after download is paused and resumed while merging.
Describe your proposed solution
save check and extract progress with hash info in the files so that Collapse will continue to check and extract after resuming.
Otherwise Collapse will start from download after resuming and cause unnecessary time and bandwidths consume.
Describe alternatives you've considered
save installed voice version and game package version separately.
Additional context
No response

Note for assignees:
This happens if the extraction phase already pass the 1st package.
E.g. in HSR, install/update phase begin with Audio, so the audio will get updated first then the archive gets deleted. If for any reason user/app stops the next step, the install/update mechanism will check if every packages exist first, then do the first step again regardless.
For Audio patching in HSR, user can choose to skip it by adding @NoAudioPatch file in the game root folder


Error 400 when trying to create a token

Thanks for stopping by to let us know something could be better!
Please include as much information as possible:
Environment details

OS: Android 10.0
Java version  N/A
google-auth-library-java version(s): 0.12.0-0.17.1

Steps to reproduce

Upgrade speech to text sample app to latest library google-http-client

#### Stacktrace
09-14 17:38:17.151  2891  3330 E SpeechService: Failed to obtain access token.
09-14 17:38:17.151  2891  3330 E SpeechService: java.io.IOException: Error getting access token for service account: 400 Bad Request
09-14 17:38:17.151  2891  3330 E SpeechService: {
09-14 17:38:17.151  2891  3330 E SpeechService:   "error": "invalid_request",
09-14 17:38:17.151  2891  3330 E SpeechService:   "error_description": "Bad Request"
09-14 17:38:17.151  2891  3330 E SpeechService: }
09-14 17:38:17.151  2891  3330 E SpeechService: 	at com.google.auth.oauth2.ServiceAccountCredentials.refreshAccessToken(ServiceAccountCredentials.java:432)
09-14 17:38:17.151  2891  3330 E SpeechService: 	at com.google.auth.oauth2.OAuth2Credentials.refresh(OAuth2Credentials.java:157)
09-14 17:38:17.151  2891  3330 E SpeechService: 	at com.google.auth.oauth2.OAuth2Credentials.refreshIfExpired(OAuth2Credentials.java:174)
09-14 17:38:17.151  2891  3330 E SpeechService: 	at SpeechService$AccessTokenTask.doInBackground(SpeechService.java:359)
09-14 17:38:17.151  2891  3330 E SpeechService: 	at SpeechService$AccessTokenTask.doInBackground(SpeechService.java:333)
09-14 17:38:17.151  2891  3330 E SpeechService: 	at android.os.AsyncTask$3.call(AsyncTask.java:378)
09-14 17:38:17.151  2891  3330 E SpeechService: 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
09-14 17:38:17.151  2891  3330 E SpeechService: 	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
09-14 17:38:17.151  2891  3330 E SpeechService: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
09-14 17:38:17.151  2891  3330 E SpeechService: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
09-14 17:38:17.151  2891  3330 E SpeechService: 	at java.lang.Thread.run(Thread.java:919)

Code snippet
 final InputStream stream = getResources().openRawResource(R.raw.credential);
            try {
                final GoogleCredentials credentials = GoogleCredentials.fromStream(stream)
                        .createScoped(SCOPE);
                credentials.refreshIfExpired();
                final AccessToken token = credentials.getAccessToken();
                prefs.edit()
                        .putString(PREF_ACCESS_TOKEN_VALUE, token.getTokenValue())
                        .putLong(PREF_ACCESS_TOKEN_EXPIRATION_TIME,
                                token.getExpirationTime().getTime())
                        .apply();
                return token;
            } catch (IOException e) {
                Log.e(TAG, "Failed to obtain access token.", e);
            }
Any relevant code snippet to help reproduce the issue.

External references such as API reference guides used

https://github.com/GoogleCloudPlatform/android-docs-samples/tree/master/speech/Speech

Any additional information below
I could not use an older library in the speech to text sample app because It had Apache library that isn't compatible with Android 10.0  and I tried adding credentials.refreshIfExpired();
Following these steps will guarantee the quickest resolution possible.
Thanks!

oauth token retrieval function is broken in Android 10.0 SDK. My work requires to be on latest Android SDK. I  had to make a barebone  android 9.0 app which contains the token retrieval and stored it in a shared preference.

Can you list out the dependencies and their versions, so we can help investigate?

google-auth-library-credentials-0.17.1
google-auth-library-oauth2-http-0.17.1
google-http-client-1.31.0
google-http-client-jackson2-1.31.0
jackson-core-2.9.9
httpclient-4.5.9
httpcore-4.4.11
okhttp-2.7.5
okio-1.6.0
grpc-stub-1.4.0
grpc-protobuf-lite-1.4.0
grpc-okhttp-1.4.0
grpc-core-1.4.0
grpc-context-1.4.0
instrumentation-api-0.4.3
opencensus-contrib-http-util-0.18.0
opencensus-api-0.18.0

For me authentication works with latest http and grpc ( and Kotlin ) but same auth issue (bad request) happens when using gradle:3.5.1.
When trying different versions finally downgrade gradle:3.4.1 helped for me.  Challenge to test is that issue happens only when building for "release" - no issue when building and deploy "debug" pkg.  Versions working:
supportLibraryVersion = '28.0.0'
grpcVersion = '1.24.0'
google-auth-library-oauth2-http:0.17.2
com.google.protobuf:protobuf-java:3.10.0
gradle:3.4.1

Facing the same issue, Everything works in debug build but getting error 400 in the release. Any update on this?

Closing as the most recent activity is 4 years ago, and google-auth-library-java has changed a lot since 0.17.1.
Please feel free to reopen if this is still an issue after updating to latest version.


Unexpected JSON serialization result

Thanks for this crate! It comes in very handy with my current ESP32 project.
Using picoserve::extract::Json yields an unexpected result when serializing a HashMap. Is this intentional? Can I get to the normal representation somehow?
Expected result:
'{"example":null}'

Actual result:
'[["example",null]]'

Minimal sample (I use hashbrown on the ESP, but std gives the same result):
// picoserve = { version = "0.13.2", features = ["std"] }
// serde = { version = "1.0.216", features = ["derive"] }
// serde_json = "1.0.134"
// tokio = { version = "1.42.0", features = ["macros", "rt"] }

use serde_json;
use picoserve::response::sse::EventData;
use std::collections::HashMap;

#[tokio::main(flavor = "current_thread")]
async fn main() {
  let data: HashMap<&str, ()> = [("example", ())].into();

  let x = serde_json::to_string(&data).unwrap();
  println!("Expected: '{}'", x);

  let j = picoserve::extract::Json(&data);
  let mut buffer = vec![0u8; 1000];
  let _ = j.write_to(&mut buffer.as_mut_slice()).await;
  println!("Actual: '{}'", std::str::from_utf8(&buffer).unwrap().trim_matches('\0'));
}

This is by "design", if by design you mean the simplest implementation, as I don't use map serialization myself.
I think I'll change to implementation to mirror what serde_json does, which is to have a specific serializer for map keys, which serializes strings and characters as string keys, converts numerical types to strings, and rejects all other types.
Interestingly, de-serializing to hashmaps hits an unreachable!() in serde_json_core which I use, so be warned.

It's not a huge deal for me, just surprising.
Looking at the code, serde_json_core still seems to handle str keys properly at least:
https://github.com/rust-embedded-community/serde-json-core/blob/ca6745785c6d315d532170a33bff826377c693c9/src/de/map.rs#L162
But yeah, might get a panic if using an integer key. Luckily for me, I don't deserialize JSON in my project :D
Otherwise deserialize_with/as might be helpful I think.


Fix config setup problem

Reported 8.9.2021 by @MrCoffee and @colingold
Someone added a single newline in template-folder.js without realising the knock-on impact.

@jgclark So, in reading your comment here (and what you posted o plugin channel) I am guessing the offending “new line” was in templates-folder.js line 154?   Pretty crazy that such a small, seemingly innocent change could cause so much harm.

Yes, I think it was. Just a result of the way the
insert-new-section-into-first-codeblock happened to be implemented. Neither
wrong on their own but together they were …--
  One of those things that “looks” correct to the human eye, but the computer eye says something different.  Regardless, great job nonetheless.


Containers started with withReuse(true) are killed when the JVM exits abruptly

I start my containers from Spring Cloud @BootstrapConfiguration classes
When there is some bean/applicationcontext error and the JVM exists abruptly, any containers started before this point are killed. The withReuse(true) seems to be completely ignored...
If there is no bean/applicationcontext issue and the Spring Boot application starts sucessfully and I gracefully exit it, then the containers stay running. And are happily reused next time I start the Spring Boot application.
Any ideas on what might be going on?
P.S.
Interesting tidbit, if I debug the Spring Boot application and set a breakpoint before the application receives an error and then terminate the application from intellij, the containers stay running..

@aaronjwhiteside the behaviour you described usually means that you stop() the container somewhere in your code. Calling stop() on a reusable container is valid, behaves the same as with regular containers and means "I don't need it anymore".
The easiest would be to override container's stop() method and check who is calling it.

thanks @bsideup, it was indeed that sometimes stop() was called on some containers and other times not.. due to https://github.com/spring-cloud/spring-cloud-commons/issues/752
I have another questions, under what concumstances does the container reaper ryuk reap containers? I haven't been able to find good documentation on it on the testcontainers.org site.. And in my experience sometimes it seems to reap the contiainers as expected other times it does not..

@aaronjwhiteside it should reap them unconditionally after the testing session. See https://github.com/testcontainers/moby-ryuk
Have you observed "dangling" containers?


Create  00_gen.md

"Why Does Olympus Exist" tab above "What is Olympus?"under "Overview" on Docs menu

on hold pending: https://discord.com/channels/838651642190495804/897491551628984380/1104103091491586149


Relabel BOTW graphics fixes that are outdated

New users could accidentally check off graphics fixes that are no longer needed, for example, the Intel iGPU shadow fix pack is no longer needed after Cemu 1.20.1 and does more harm than good. Can such packs say "No longer needed after ___ update" in their description?

Yup, we've got that all planned in a very big future update:
! That's basically what we're going for, not 100% sure on the final sorting.

Yup, we've got that all planned in a very big future update:
! That's basically what we're going for, not 100% sure on the final sorting.

Addressed in https://github.com/ActualMandM/cemu_graphic_packs/commit/ca22977ef03e4a826f3bfe7f0df92447437c4219

Addressed in https://github.com/ActualMandM/cemu_graphic_packs/commit/ca22977ef03e4a826f3bfe7f0df92447437c4219


Add new page from table view

I would love to be able to add new page from the table view and to have a pre-filled yaml structure (so the page fits the query). Perhaps even be able to define default yaml values?
Thoughts?

I think this is a great idea! It would be an easier way of inserting a template into a new note.
If a note had, say, 10 fields in its metadata, but the dataview table block only references 3 of those 10, would the newly created note only have those 3 inserted into it? I guess that makes the most sense, as the other 7 may not be consistent across the notes. Thoughts?

Yes, I agree that it probably makes the most sense to add the 3 fields that are common across all of the notes.

I like the UX of this, and dataview has been a little... lacking in the frontend department, haha. It will be a little difficult for complex sources (what do I do if there is an 'OR' in the query?), but I can implement this for simple cases. Maybe I can add a TEMPLATE command which lets you specify a template to copy?

I think a template is a great idea! Perhaps being able to set default values for fields in the template could help with the more complex queries?

For more complex queries, taking the intersection of the fields would guarantee all returned results have that field.
But @arminta7 also gives a good solution to specify which fields would go in the template

I think some newer plugins like obsidian-notion-like-tables do this. Check #1015 for further discussion.


Mouse movement/scroll simulation?[Feature Request]

Hello, do you think mouse movement, or scrolling can be dome with this app? I think that can help into making your server more human ?

This is good idea.. please do it