Native vim support for displaying search match index like (n of N)

When iterating through search matches with the n mapping, could vim display the match count and index of the current match in the list of matches? Instead of just displaying /in in the message area when you search for in, it could display [1/7]  /in, [2/7]  /in, etc. as you step through.
There are plugins https://github.com/google/vim-searchindex and https://github.com/henrik/vim-indexed-search that implement this somewhat effectively in vimscript, but they have a lot of quirks to work around.

+1
This would be pretty great!

for example, after type /test, you will expect [1/3] maybe.
test1
test2
test3

nn will be work fine. then you append test4 into the buffer. what you expect?

Messages in the message area disappear when you enter insert mode or do any other buffer operations. They only reappear the next time you trigger n or other search operations, at which point we'd have the updated count (this already works as expected in https://github.com/google/vim-searchindex).

When the count of indexes are little, It may works pretty good. However vim must update the count after exiting insert mode every time. So if the count will be huge, some users may stop to use vim.

@mattn I agree that this feature has potential performance implications and care would be needed to avoid visible lags. But like many advanced Vim features, such feature should be highly configurable (by default it could be turned off, or limited to some file size), so that users would be able to disable it.
To give perspective, here are some measurements for https://github.com/google/vim-searchindex on a 1.1 MB, 30 kLOC file. Perhaps it could be faster if integrated natively into Vim:
simple text search: 0.03 sec
regex search: 0.1 sec   (obviously, this depends on the pattern)
As you can see, if you keep your files to reasonable size - which is a good practice in coding anyway! - search counting can work pretty fast. But for big files, an option to disable it would be necessary.

On Mo, 19 Okt 2015, Radoslaw Burny wrote:

@mattn I agree that this feature has potential performance implications and care would be needed to avoid visible lags. But like many advanced Vim features, such feature should be highly configurable (by default it could be turned off, or limited to some file size), so that users would be able to disable it.
To give perspective, here are some measurements for https://github.com/google/vim-searchindex on a 1.1 MB, 30 kLOC file. Perhaps it could be faster if integrated natively into Vim:
simple text search: 0.03 sec
regex search: 0.1 sec   (obviously, this depends on the pattern)

What file and what pattern did you test this on?
I expect a reasonable performance penalty simply for keep on searching
to count the number of patterns. So if this gets implemented, it should
be definitely be allowed to disabled. Perhaps using the  shortmess
option?
(I might have a preliminary patch for that, but I like to get some
performance testing).
Best,
Christian
F: Warum trinken Elefanten keine Martinis?
A: Schon mal versucht, eine Olive aus der Nase zu bekommen?

+1 to having it behind an option, if only because the behavior change might surprise people. My vote would be to have it opt-in for a few months and then consider enabling it by default.
If you're really concerned about performance, you could try some tricks with caching, displaying [1/?] for the first search, finishing expensive searches when vim is idle, etc.

Okay, here is something to play with: https://github.com/chrisbra/vim-mq-patches/blob/master/search_stat

https://github.com/chrisbra/vim-mq-patches/blob/master/search_stat#L178
please ui_breakcheck and got_int.
https://github.com/chrisbra/vim-mq-patches/blob/master/search_stat#L197
check NULL first, or move STRCPY into if-block.

@mattn Thanks for the feedback.
I have updated the patch somemore (caches value, should work correclty with 'rl' set, when truncating the output and when wrapping around). However, whenever the cached value needs to be updated, the delay is noticeable. Especially with a long file and a pattern that matches often and although I like that Vim displays the statistics, I find the delay not acceptable.

Interesting. I'd still like to have it as an option, and personally I'd pbb enable it by default and use an autocmd to selectively disable it for long files (global+local setting would be ideal).

To reply to the previous question about my measurements: I took one of the bigger files from my team's C++ codebase, and copied it 5 times. The result was 1.1 MB, 30 kLOC C++ file. Only the first search time was measured; vim-searchindex caches the results, so repeated search would be immediate. I did two types of experiments:

searches for short and common words (so that many matches are hit), e.g. "void" or identifiers widely used in the file. Number of matches was up to 10k, depending on the pattern, and didn't affect the timing much. The counting took 30ms.
simple regex like a.*b.*( . This is something I would use on a one-off basis if I don't remember exact method name; obviously, this only exposes tiny part of complexity of regexes. In this case, number of matches was 2k, and the result was 100ms.

Christian, what results did you achieve? How does it scale with the number of lines & number of matches? If we could achieve a reasonably small timeout for files below 10kLOC and 1000 matches, this would already be a huge win (as I think it covers "normal" programming usage).
One approach to limiting lag  would be to have time-based "deadline" and just try to count the matches on the best-effort basis.

2015-10-22 2:29 GMT+03:00 Radoslaw Burny<EMAIL_ADDRESS>
To reply to the previous question about my measurements: I took one of the
bigger files from my team's C++ codebase, and copied it 5 times. The result
was 1.1 MB, 30 kLOC C++ file. Only the first search time was measured;
vim-searchindex caches the results, so repeated search would be immediate.
I did two types of experiments:

searches for short and common words (so that many matches are hit),
e.g. "void" or identifiers widely used in the file. Number of matches was
up to 10k, depending on the pattern, and didn't affect the timing much. The
counting took 30ms.
simple regex like a.b.( . This is something I would use on a
one-off basis if I don't remember exact method name; obviously, this only
exposes tiny part of complexity of regexes. In this case, number of matches
was 2k, and the result was 100ms.

Christian, what results did you achieve? How does it scale with the number
of lines & number of matches? If we could achieve a reasonably small
timeout for files below 10kLOC and 1000 matches, this would already be a
huge win (as I think it covers "normal" programming usage).

I think that most problematic will be multi-line matches (e.g. something
like ^\S.*(\_[^)]*\<foo, to find functions which have “foo” argument
(example was not actually tested and depends on the coding style)). Also
huge slowdown will be present in case of using back and forward references
(especially with a new regexp engine), but this is less critical with the
existence of \zs and \ze which cover many use-cases.
Most my searches though are simple \<word\> or word, which are fast.

One approach to limiting lag would be to have time-based "deadline" and
just try to count the matches on the best-effort basis.
—
Reply to this email directly or view it on GitHub
https://github.com/vim/vim/issues/453#issuecomment-150053385.
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to<EMAIL_ADDRESS>For more options, visit https://groups.google.com/d/optout.

Nobody mentioned logs? I usually view logs with Vim. They are large, sometimes hundreds of megabytes. And in those huge files I search a lot. I hope this feature won't make it slow.

@lilydjwg If this feature gets integrated, there will be a switch to turn it on. Currently in my patch, it is disabled by default and you need to set shortmess option.

David Barnett wrote:

+1 to having it behind an option, if only because the behavior change
might surprise people. My vote would be to have it opt-in for a few
months and then consider enabling it by default.
If you're really concerned about performance, you could try some
tricks with caching, displaying [1/?] for the first search,
finishing expensive searches when vim is idle, etc.

There could be an option that disables the feature when the file is
longer a certain number of lines and/or when some number of matches
are found.
Also, it should probably only display the count after performing the
search, not for incremental search.  And only do it when the command was
typed.
Considering that we have 'hlsearch', which I assume many people have
enabled, searching for more matches shouldn't slow down normal editing
much.
--
hundred-and-one symptoms of being an internet addict:
60. As your car crashes through the guardrail on a mountain road, your first
instinct is to search for the "back" button.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

And only do it when the command was typed.

So there would be no count update on n or N, which IMO is sensible.
We could then update the count with /<CR>.

@chrisbra posted a patch to the mailing list in which the match index is ON by default.
This is a plea to leave it off by default, which seemed to be the plan in this thread.

One thing that needs to be well-defined is when the message will "go away".  Currently in rburny/vim-searchindex, switching windows will leave the message at the bottom of the screen. Does the index message apply in the new window? Of course not... it should probably disappear as soon as the the cursor moves away from the match.  That is, it should only be visible while the user is cycling through matches.

Ideas from here and here
Notice the numbers on the statusline [Nth of N]

code
function! SearchCount()
  let keyString=@/
  let pos=getpos('.')
  try
    redir => nth
      silent exe '0,.s/' . keyString . '//ne'
    redir => cnt
      silent exe '%s/' . keyString . '//ne'
    redir END
    return matchstr( nth, '\d\+' ) . '/' . matchstr( cnt, '\d\+' )
  finally
    call setpos('.', pos)
  endtry
endfunction
set statusline+=[%{SearchCount()}] " Nth of N when searching

Add this code to your vimrc file.

there are some issues with your vimscript snippet (not ending the previous redir, not using g flag for :%s command, not sure the first index is correct (how do you know whether the cursor is before or after the match at the current line?) Also this will probably slow down Vim a lot, as the statusline is evaluated a lot. At least some kind of caching should be considered, before throwing this into the statusline.

How about use another function, say UpdateSearch(), do an update after searching？
Code
function! SearchCount()
  " variable b:lastKey = [key, Nth, N]
  if !exists('b:lastKey') | let b:lastKey = [[], 0, 0] | endif
  return b:lastKey[1] . "/" . b:lastKey[2]
endfunction

function! UpdateSearch()
  let pos=getpos('.')
  let key=[@/, b:changedtick]

  if b:lastKey[0] != key
    let b:lastKey[0] = key
    redir => cnt
      silent exe '%s/' . key[0] . '//gne'
    redir END
    let b:lastKey[2] = str2nr(matchstr( cnt, '\d\+' ))
  endif
  redir => nth
    silent exe '0,.s/' . key[0] . '//gne'
  redir END
  let b:lastKey[1] = str2nr(matchstr( nth, '\d\+' ))
  call setpos('.', pos)
endfunction

function CommandAfterSearch()
  if getcmdtype() == '/'
    return "\<cr>:call UpdateSearch()\<cr>"
  else
    return "\<cr>"
  endif
endfunction

function NextSearch()
  let l:line = line(".")
  normal! n
  if l:line != line(".")
    let b:lastKey[1]=b:lastKey[1]+1 <= b:lastKey[2] ? b:lastKey[1]+1 : b:lastKey[1]+1-b:lastKey[2]
  endif
endfunction

function PreviousSearch()
  let l:line = line(".")
  normal! N
  if l:line != line(".")
    let b:lastKey[1]=b:lastKey[1]-1 > 0 ? b:lastKey[1]-1 : b:lastKey[1]-1+b:lastKey[2]
  endif
endfunction

nnoremap <silent> n :call NextSearch()<CR>
nnoremap <silent> N :call PreviousSearch()<CR>
cnoremap <silent> <expr> <Enter> CommandAfterSearch()
set statusline+=[%{SearchCount()}] " Nth of N when searching

for what its worth, i updated my patch to Vim 8.0.0993 and made the feature opt-in as requested.

Looks like no further progress has been made getting that patch approved and submitted, right?

Well, FWIW, I am not sure what would be missing.

I would like to vote for this patch.
Despite the speed issue as already discussed, the way the plugin searchindex does its job have side effects: the last replacement string and the last flags used for substitution are overwritten by the plugin. see this issue.
For example, in the following Ex command sequence (should to be typed, not running in a function)
:s/red/green/g
/blue
:~

the last :~ will replace blue with empty string. If the :~ in the last snippet is changed to :~&, the flags used will be eng instead of g.
The problem for the last replacement string can be solved, while the problem for the losing flags can not be solved easily since vim has no way to keep the last flags unchanged; unless we add another feature keepflags as similar to keeppattern.

Maybe what's actually needed is a substitute command which avoids any side effect.

@chrisbra Like everything's lined up and we're purely waiting on a decision from Bram about accepting the patch? Didn't look like it was merged into vim yet.

Maybe what's actually needed is a substitute command which avoids any side effect.

Instead of a new command or function, I would rather suggest add a new flag (for example k) to :s.
It seems to be easier.

Updated the patch for 8.1.576. Major enhancement: Should work better with redraws now.
Also available at the search_stat branch here: https://github.com/chrisbra/vim/tree/search_stat

I'd love to see something like this in Vim.  I updated chrisbra's patch to latest Vim to try to help.  https://github.com/chrisbra/vim-mq-patches/pull/2

fixed by 9dfa3139198b38b28673e251a375643


Cleaned FileHandle#copyTo

Line 583 was always false

Please carefully read https://github.com/libgdx/libgdx/wiki/Contributing and make sure to apply the formatter.

Hello,
I applied the formatter but I had to modify the tab size from 3 (imported value) to 4 because I'm working on Intellij IDEA. (It was completing the tabs with spaces)
I also sent my contribution agreement.

It appears the PR isn't equivalent to the original code: dest = dest.child(name()); doesn't happen for the outer else. This method is complex (see javadoc) so I'm hesitant to fix what ain't broke. I'll remove the sourceDir check which is always false.


UNR-322 : Add more profiling coverage

Description
Increased unreal profiling coverage within the SpatialGDK plugin.
Based on stat captures provided by existing games.
Primary reviewers
@danielimprobable @improbable-danny

Overall looks good to me, just a couple of questions:
Do we want to do any additional tracking in RPC container? Do we want to keep the changes that I did for MW there too? Finally, do we want to guard some of these stats behind flags so that we can enable/disable them to avoid them messing with the execution time tracking unnecessarily?

I don't think we need to profile the RPC container, as it's just a utility class that calls into the sender/receiver where necessary. The functions it calls in those classes SendRPC/ApplyRPC have had profiling added. And all these stats are behind a few compiler flags already (mostly ENABLE_STATNAMEDEVENTS), so I think that should be sufficient.


Logging messages while $wp_object_cache is destroyed

I had an issue in the checkout where "/checkout/?wc-ajax=update_order_review" was called trough a XHR. The response was a JSON encoded success string as expected but also contained a PHP error after the payload complaining about the cache instance: "Fatal error:  Call to a member function get() on a non-object in /wp-includes/cache.php on line 113".
As it turns out the instance of global $wp_object_cache; isn't available anymore in the __destruct of WC_Gateway_Bitpa when its trying to write a log message with the following code:
"$this->log('BitPay Woocommerce payment plugin object destroyed.')"
Environment:
PHP version: 5.5.30
Woocommerce version: 2.4.10
Plugin version: 2.2.7
ps no other plugins were active.

this is fixed in 2.2.9


Minor tweaks to Keyboard to prepare for Keyboard event handling.

* Wrote the actual VK codes for windows;

* Use atomic_char8_t for Keyboard state.

There is a list of documentation error you need to fix before merging this PullRequest :

Sparkle/src/input/spk_keyboard.cpp:208
Member to_wstring(Keyboard::Key p_key) (function) of  spk is not documented.

Sparkle/src/input/spk_keyboard.cpp:145
Member kUp (variable) of  spk is not documented.

Sparkle/src/input/spk_keyboard.cpp:146
Member kDown (variable) of  spk is not documented.

Sparkle/src/input/spk_keyboard.cpp:147
Member kPressed (variable) of  spk is not documented.

Sparkle/src/input/spk_keyboard.cpp:148
Member kReleased (variable) of  spk is not documented.


Ability to request additional time

Some services may take longer to start/stop than default (seems 60 seconds at max). Tried this by putting Thread.Sleep(Timespan.FromSeconds(120)) in the Stop() method implementation and then trying to sc.exe stop SERVICE_NAME. After 1 minute it failed with the following message: The service did not respond to the start or control request in a timely fashion..
Is there currently a way to request additional time for stopping/starting?

The waitHint that is passed by default is 3000 (https://github.com/dasMulli/dotnet-win32-service/blob/master/src/DasMulli.Win32.ServiceUtils/SimpleServiceStateMachine.cs#L36) so the operation would be considered timed out after 3 seconds.
The same value is used for starting at https://github.com/dasMulli/dotnet-win32-service/blob/master/src/DasMulli.Win32.ServiceUtils/Win32ServiceHost.cs#L119
The idea API-wise is that if the operation takes longer, additional calls to ReportServiceStatus (win32 side: SetServiceStatus) will have to be wait to signal that the pending operation is still in progress.
According to docs, the maximum value is controlled by the registry value HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WaitToKillServiceTimeout which is documented to default to 20000 (20 seconds) - but is 5000 on my win10.
I don't know if call the SetServiceStatus function repeatedly will allow the service to be pending longer than this time span but it seems possible..
You can try by copying SimpleServiceStateMachine and trying some values (Win32ServiceHost has a constructor for passing in alternative state machines). ServiceBase has a RequestAdditionalTime(int milliseconds) but I don't know how to cram it into the "simple" default interface without making breaking API changes - that's what the state machine interface is for.

Thanks for the hint. I'll try with ReportServiceStatus() call and the state machine. I'll close this for now and reopen, if I have more trouble with this.


Error: The pipe 'async' could not be found!

Like the commonModule don't load in this case. If i delete untilDestroy from the component its work fine.
https://github.com/LucasKubicki/bug-ngdestroy ng serve try to access http://localhost:4200/customers
Ty for your time ;)

@NetanelBasal
That is tricky. After my debugging, I've noticed that this exception:

Is thrown when we call getDef(type), where ɵcmp is a getter. Still not got to the very roots of why it happens in JIT mode.
But actually... just thinking aloud...
Could we simply determine if it's a JIT mode:
type.hasOwnProperty('__annotations__')

And wrap decorateDirective(target, options) into:
Promise.resolve().then(() => decorateDirective(target, options))

That promise will be resolved before APP_INITIALIZER runs.

@arturovt what about this solution:

function decorateDirective(type, options) {
  const isJIT = type.hasOwnProperty('__annotations__');
  if (isJIT) {
    const compGetter = Object.getOwnPropertyDescriptor(type, 'ɵcmp').get;

    Object.defineProperty(type, 'ɵcmp', {
      get: function() {
        const def = compGetter();

        // TODO: Check if we should run it only on the first time
        def.onDestroy = decorateNgOnDestroy(def.onDestroy, options);
        markAsDecorated(def);
        return def;
      }
    });
  } else {
    const def = getDef(type);
    def.onDestroy = decorateNgOnDestroy(def.onDestroy, options);
    markAsDecorated(def);
  }

}

Your solution works too, and it's more readable, of course, but it's async. As almost no one uses JIT mode these days, I'll leave the decision to you.

@NetanelBasal I like this solution too.
Two heads are better than one :joy:

@7.1.6 has been published. Could you try it out?

I upgraded package to 7.1.6 in your github repo and it works.

Yes its work, ty for your time ;)


Website breaks when inserting inline math into specific text

During testing I used the following text and encountered some sort of overload, causing the site to basically stop responding entirely.
To replicate, copy this markdown text:
## What is Lorem Ipsum?

**Lorem Ipsum** is simply dummy text of the printing and typesetting industry.

and then insert an inline math block ($$) by hand or using the button for it between the header and the text, like this:
## What is Lorem Ipsum?
$$
**Lorem Ipsum** is simply dummy text of the printing and typesetting industry.

This happens on the demo page as well as on my test build (running version 1.11.4). It seems to happen when any header follows a few words, and the inline math is inserted in between.

Thanks, I am trying to fix it~

It was fixed in v1.11.5, have a try~


Appstudio update mvp-test-component

Pipelines as Code configuration proposal

Pipelines as Code CI/mvp-test-component-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
5 seconds
init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
36 seconds
sanity-inspect-image

✅ Succeeded
36 seconds
deprecated-base-image-check

✅ Succeeded
11 seconds
sbom-json-check

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
19 seconds
clair-scan

✅ Succeeded
8 seconds
sanity-label-check

✅ Succeeded
7 seconds
sanity-optional-label-check

✅ Succeeded
4 seconds
show-summary


FIX: "Warning: count(): Parameter must be an array or an object that …

…implements Countable"
> php -v
PHP 7.2.7-1+ubuntu16.04.1+deb.sury.org+1 (cli)
...

> vendor/bin/phpunit
PHPUnit 4.8.35 by Sebastian Bergmann and contributors.

..........................................

Time: 893 ms, Memory: 6.00MB

OK (42 tests, 115 assertions)

Thanks so much for contributing a fix for this - I've merged the changes in #231 to address this issue.


Adding colorcet images for colormaps

Also replacing references to bokeh/colorcet with pyviz/colorcet. I will upload the html files now.

Sure!


Implement test framework

Really need to get some tests into the code base before it can withstand any major feature additions at this stage.

@wadewegner i think you had some preferences on frameworks to use?


The Object class has been renamed to StatementObject

@xabbuh

In composer.json we need to replace "php-xapi/model": "^1.0 || ^2.0" with "php-xapi/model": "^1.0 || ^2.0 || 3.0".


install: only install OS packages if non-empty

@bbaassssiiee WDYT? Flatcar and Fedora CoreOS do not have a package manager and this patch is to avoid running the package task when one of those OS are used.


Rebuild setup-gcloud/dist/index.js

It still has syntax errors.  I run npm run build to make setup-gcloud/dist/index.js up to date.
/home/runner/work/_actions/GoogleCloudPlatform/github-actions/master/setup-gcloud/dist/index.js:9176
            ? buffer.from && Uint8Array && buffer.from !== Uint8Array.from
            ^

SyntaxError: Unexpected token ?
    at Module._compile (internal/modules/cjs/loader.js:718:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
    at Module.load (internal/modules/cjs/loader.js:641:32)
    at Function.Module._load (internal/modules/cjs/loader.js:556:12)
    at Function.Module.runMain (internal/modules/cjs/loader.js:837:10)
    at internal/main/run_main_module.js:17:11
##[error]Node run failed with exit code 1

@googlebot I signed it!

@stephenashank Thank you, I confirmed that it has been resolved for me!


Enable Hostname-Based Targeting in tsdproxy to Eliminate Port Exposure

Summary
This update enables tsdproxy to retrieve and use the target container's hostname via network aliases, allowing it to connect directly without the need to expose additional ports.
Benefits

Enhanced Security: Reduces potential attack surface by eliminating the need for exposed ports.
Simplified Configuration: Accessing containers by hostname streamlines the network configuration and reduces complexity.

Implementation Details
tsdproxy now queries container aliases to determine the hostname, leveraging Docker's internal DNS to route traffic directly to the target container.
Example:
services:
  tsdproxy:
    image: my-tsdproxy:arm64
    container_name: tsdproxy
    environment:
      DOCKER_HOST: unix:///var/run/docker.sock
      TSDPROXY_AUTHKEY: ${TAILSCALE_AUTHKEY}
    volumes:
      - /config/path/tsdproxy:/data
      - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped

  tautulli:
    image: lscr.io/linuxserver/tautulli:latest
    container_name: tautulli
    environment:
      PUID: 1000
      PGID: 1000
      TZ: Etc/UTC
    volumes:
      - /config/path:/config
    restart: unless-stopped
    labels:
      tsdproxy.enable: "true"
      tsdproxy.container_port: 8181

This would only work if both the services are in a single stack, right? And it wouldn't work if the services are in a separate stack but in the same network.

I believe (without trying this out) it would break if the service container is inside a different network since the alias would not be reachable 🤔

You are both right. Any suggestions on how we could make this work without breaking your other scenarios?

My approach was to check if the hostname/alias can be resolved: https://github.com/almeidapaulopt/tsdproxy/blob/7434759c6cbb400cd04a9cc247ef254ef15a94d3/internal/containers/containers.go#L101-L110


standalone selenium server is not running

What are you trying to achieve? (Expected behavior)
want to run java selenium server SIMPLE
What do you get instead? (Actual behavior)
sudo java selenium-server-standalone-3.9.1.jar
Error: Could not find or load main class selenium-server-standalone-3.9.1.jar

How could the issue be reproduced? (Steps to reproduce)

sudo java selenium-server-standalone-3.9.1.jar
Error: Could not find or load main class selenium-server-standalone-3.9.1.jar

Details

Php-webdriver version:  https://github.com/facebook/php-webdriver

PHP version:  PHP 7.X

Selenium server version:  selenium-server-standalone-3.9.1.jar

Operating system: Ubuntu 16

Browser used + version:  crome

Hi, please see readme about information how to start Selenium server: https://github.com/facebook/php-webdriver#getting-started


Destructure array in results controller

Fixes bug where results get switched every time results get approved

Although the results were switched correctly, it was premature


Don't crash in crash handler on aarch64 Linux

Checklist

[X] I have read the Contributor Guide
[X] I have read and agree to the Code of Conduct
[X] I have added a description of my changes and why I'd like them included in the section below

Description of Changes
Only copy a single instance of SIMD register context in the aarch64-specific logic. Otherwise we run off the end of the signal stack and SIGBUS.
Related Issues
Closes #42

Any chance you could cut a release with this? Thanks!

Ahh oops, was going to cut a release today but wanted to fix a Mac bug in minidump-writer first, will cut a release tomorrow.


warning: overflow in conversion from ‘float’ to ‘long int’ changes value from ‘+QNaNf’ to ‘0’ [-Woverflow]

Hello, here a warning message due to a wrong conversion.
In file included from silx/math/medianfilter/medianfilter.cpp:653:
silx/math/medianfilter/include/median_filter.hpp: In instantiation of ‘void median_filter(const T*, T*, int*, int*, int, int, int, bool, int, T) [with T = long int]’:
silx/math/medianfilter/medianfilter.cpp:5722:714:   required from here
silx/math/medianfilter/include/median_filter.hpp:247:54: warning: overflow in conversion from ‘float’ to ‘long int’ changes value from ‘+QNaNf’ to ‘0’ [-Woverflow]
             output[image_dim[1]*y_pixel + x_pixel] = NAN;
                                                      ^~~
silx/math/medianfilter/include/median_filter.hpp: In instantiation of ‘void median_filter(const T*, T*, int*, int*, int, int, int, bool, int, T) [with T = long unsigned int]’:
silx/math/medianfilter/medianfilter.cpp:6026:874:   required from here
silx/math/medianfilter/include/median_filter.hpp:247:54: warning: overflow in conversion from ‘float’ to ‘long unsigned int’ changes value from ‘+QNaNf’ to ‘0’ [-Woverflow]
silx/math/medianfilter/include/median_filter.hpp: In instantiation of ‘void median_filter(const T*, T*, int*, int*, int, int, int, bool, int, T) [with T = int]’:
silx/math/medianfilter/medianfilter.cpp:6330:711:   required from here
silx/math/medianfilter/include/median_filter.hpp:247:54: warning: overflow in conversion from ‘float’ to ‘int’ changes value from ‘+QNaNf’ to ‘0’ [-Woverflow]
silx/math/medianfilter/include/median_filter.hpp: In instantiation of ‘void median_filter(const T*, T*, int*, int*, int, int, int, bool, int, T) [with T = unsigned int]’:
silx/math/medianfilter/medianfilter.cpp:6634:874:   required from here
silx/math/medianfilter/include/median_filter.hpp:247:54: warning: overflow in conversion from ‘float’ to ‘unsigned int’ changes value from ‘+QNaNf’ to ‘0’ [-Woverflow]
silx/math/medianfilter/include/median_filter.hpp: In instantiation of ‘void median_filter(const T*, T*, int*, int*, int, int, int, bool, int, T) [with T = short int]’:
silx/math/medianfilter/medianfilter.cpp:6938:717:   required from here
silx/math/medianfilter/include/median_filter.hpp:247:54: warning: overflow in conversion from ‘float’ to ‘short int’ changes value from ‘+QNaNf’ to ‘0’ [-Woverflow]
silx/math/medianfilter/include/median_filter.hpp: In instantiation of ‘void median_filter(const T*, T*, int*, int*, int, int, int, bool, int, T) [with T = short unsigned int]’:
silx/math/medianfilter/medianfilter.cpp:7242:874:   required from here
silx/math/medianfilter/include/median_filter.hpp:247:54: warning: overflow in conversion from ‘float’ to ‘short unsigned int’ changes value from ‘+QNaNf’ to ‘0’ [-Woverflow]

This code output[image_dim[1]*y_pixel + x_pixel] = NAN; is only called for floating point type, but it is part of a template C++ class that also handles integers....
If one has a way to nicely handle that (using old C++), I'll take it.


How to attach event listener to an element in a string to be converted by react-render-html

Adding event listener to a string to be converted throws: Expected onClick listener to be a function, instead got a value of string type.

@JMA12 did you got solutions for this ? are you able to add onclick event listener


Add config to pop balloons in the nether

If a balloon is placed in the nether with the config enabled, it immediately destroys itself exactly as it would if a projectile hit it, and does not report that a balloon was added to the ship.
No change if the config is disabled.
Another balancing change to make the nether a more hostile environment in survival worlds. While it still allows for the creation of ships, it effectively limits these ships to lava lakes, instead of simply allowing you to park your mobile base on top of a nether fortress and feel safe.
Config is disabled by default.

It would be nice to have a config for setting what dimensions this occures in.

It would be nice to have a config for setting what dimensions this occures in.

Done
Also added more smoke effects to make it more clear to the user that balloons can't be placed, rather than look like they bugged


Change copyright template

Description
Changed copyright header template
Test Coverage

[ ]  This change is covered by existing or additional automated tests.
[ ]  Manual testing has been performed (and evidence provided) as automated testing was not feasible.
[x]  Additional tests are not required for this change (e.g. documentation update).

Codecov Report

Merging #10 (cfe617f) into main (1ce6fd4) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #10      +/-   ##
==========================================
+ Coverage   68.41%   68.43%   +0.01%
==========================================
  Files          41       41
  Lines        2096     2097       +1
==========================================
+ Hits         1434     1435       +1
  Misses        662      662

Impacted Files
Coverage Δ

continuous_delivery_scripts/tag_and_release.py
34.06% <100.00%> (ø)

continuous_delivery_scripts/utils/configuration.py
83.97% <100.00%> (+0.10%)
:arrow_up:

..._delivery_scripts/utils/language_specifics_base.py
69.04% <100.00%> (ø)


red button on error

Not totally sure about it, but I thought wouldn't hurt to share the code here.
I do think it looks pretty cool, but maybe a bit visual distracting if it changes color all the time.

and here an better quality png:

related issue:https://github.com/dart-lang/dart-pad/issues/187

I'm not 100% sure on the aesthetics. I think the thing to take away from https://github.com/dart-lang/dart-pad/issues/187 is that we want better visibility when running the app might not produce the desired results. My 0.02 would probably be an icon badge (an error or warning icon overlaying the bottom, right corner of the button by 50%). This wouldn't change the look of the button; it would tell users that there are issues and hitting run right now probably won't work great.
But this is a lower priority issue - unless you get super motivated we can hold off on implementing it.

Happy to explore different UI options. However, I do want the Run button
itself to indicate what's going to happen (error, warning, should work).
Using a "badge" over the button might work, but I don't seem to recall any
Material Design that overlays info on top of a button.
I do disagree about the priority, though. I'd bump to medium. If we get the
UI right, this is a really nice feedback boost to users.
Devon, if we go with a "badge" instead of changing the button color, can we
use colors?
On Sat, Mar 28, 2015 at 4:38 PM, Devon Carew<EMAIL_ADDRESS>wrote:

I'm not 100% sure on the aesthetics. I think the thing to take away from
#187 https://github.com/dart-lang/dart-pad/issues/187 is that we want
better visibility when running the app might not produce the desired
results. My 0.02 would probably be an icon badge (an error or warning icon
overlaying the bottom, right corner of the button by 50%). This wouldn't
change the look of the button; it would tell users that there are issues
and hitting run right now probably won't work great.
But this is a lower priority issue - unless you get super motivated we can
hold off on implementing it.
—
Reply to this email directly or view it on GitHub
https://github.com/dart-lang/dart-pad/pull/189#issuecomment-87330434.

@devoncarew
Do you mean with badge something, like on the right ?

By badge, I mean something like this:

It's a smaller icon or UI element, centered around a corner, and decorates the meaning of the main element. Like an in-box email count; in this case a warning or error count.
Medium priority sounds fine :) I would like to be happy with the end UI -

I'm not feeling the badge. I feel like badges don't alter the expectations
I get when I click/press the button. Badges are there to give me an idea of
what's behind the function, but the function itself works exactly the same
with or without the badge.
If there's 1 or more errors, the program will not run. The run button
should reflect that.
If my executable is broken, do I even want to run it?
Kasper, I love the third Run button (on the far left). To me, that's very
clear.
On Sat, Mar 28, 2015 at 6:56 PM, Devon Carew<EMAIL_ADDRESS>wrote:

By badge, I mean something like this:
[image: screen shot 2015-03-28 at 6 52 30 pm]
https://cloud.githubusercontent.com/assets/1269969/6883794/ad7be62c-d57b-11e4-85ce-8aabb0c1c11d.png
It's a smaller icon or UI element, centered around a corner, and decorates
the meaning of the main element. Like an in-box email count; in this case a
warning or error count.
Medium priority sounds fine :) I would like to be happy with the end UI -
—
Reply to this email directly or view it on GitHub
https://github.com/dart-lang/dart-pad/pull/189#issuecomment-87341008.

I've been trying some badges as you suggested, but I couldn't make them look right.
I actually think that this looks kind of neat. It's a sublte, but I think it is clear enough:

Or maybe adding colors to the icon:

What does the second button mean? (the gray triangle)
Should we turn the first button's arrow green (implying "good to go!")

@sethladd I thought about that as an alternative if you don't want any colors, then both warning and errors would give a grey warning icon.
Here is some more alternatives:

I'm a fan of 2, 5 (though, I would make the icon smaller, matching the width of the box in 7), 7

Maybe it's an optical illusion, but it doesn't look like the icons have the same width, in your last screenshot. The green button looks narrower than the square, and the triangle looks wider than the square.
Regardless, I like the green for Good, yellow for Warning, and red for Error.

According to the html the first has width 18px, second 17px and the third 17px. I agree, it doesn't look that way, but it looks fine to me.
Let's see what devoncarew and lukechurch prefer.

see https://github.com/dart-lang/dart-pad/pull/192


PHP 8 and/or 8.1 support?

Just wondering if this package will support PHP 8 and or 8.1.
Thank you for the great package!

Is this package still maintain? php 8.1? Laravel 9? just wondering thanks

I have update de composer.json
My pull request
https://github.com/joedawson/youtube/pull/133

My team forked this project...
https://github.com/daitsuna-group/youtube


Update Navie webview and show most recent AppMaps

Closes https://github.com/getappmap/appmap-intellij-plugin/issues/602
This PR adds the new, required properties and message handlers
It listens for new AppMaps and updates the webview after AppMaps changed.
The list of most recent AppMaps is filtered by the selected AppMap directory.
Because there may be lots of AppMap updates, the update of the most recent AppMaps is debounced by 1s. This code also prevents updates after changes to AppMaps, but during indexing. The AppMap data is only reliably available after indeixng finished..

:tada: This PR is included in version 0.60.0 :tada:
The release is available on:

v0.60.0
GitHub release

Your semantic-release bot :package::rocket:


Add a --dart-entrypoint-args flag to flutter run to pass through Dart entrypoint arguments

Arguments added to --dart-entrypoint--args are added to engineArgs.
I referenced this https://github.com/flutter/flutter/pull/69607

[test command]
flutter-tizen run --dart-entrypoint-args "test1" --dart-entrypoint-args "test2"
[result]

D/ConsoleMessage(31945): Launching a Flutter application...
I/ConsoleMessage(31945): Enabled: --enable-dart-profiling
I/ConsoleMessage(31945): Enabled: --enable-checked-mode
I/ConsoleMessage(31945): Enabled: --dart-entrypoint-args
I/ConsoleMessage(31945): Enabled: test1
I/ConsoleMessage(31945): Enabled: test2
I/ConsoleMessage(31945): Enabled: --tizen-logging-port
I/ConsoleMessage(31945): Enabled: 45227

Support for the --dart-entrypoint-args flag in flutter-tizne needs further discussion. so, this PR is closed.


International and returning teachers content updates to Get an adviser

International and returning teachers content updates to Get an adviser
Trello card
Context
Hi @gemmadallmandfe @peteryates, as agreed with Gaye I've made some content changes to the part of the Get an adviser service relating to ITRU user groups (international teachers, international trainees and teachers returning from overseas.
Changes proposed in this pull request
Home page:
I have:
clarified the difference between the guidance offered by TTAs and RTTAs
clarified who is and is not eligible
Added a call to action to contact the intl quals helpline to filter out users who are not eligible for the service
Added signposting below the start button for users who are not eligible for the service
Qualified to teach page:
I have clarified the 'qualification equivalent to QTS' hint text as this is not a thing (there is no equivalent qualification). I have replaced it with a link to QTS guidance
Eligible subjects page:
I have added more helpful text and signposting for users who are not eligible due to their subject specialism
What country do you live in:
I have updated with the latest guidance on visa sponsorship
Guidance to review

@laurahermionetennant92 I'm closing this PR as it has been superseded by the changes agreed with @Tomcowan1 and Andy last week which are covered in https://github.com/DFE-Digital/get-teacher-training-adviser-service/pull/906
We'll then have a wider review of further changes needed at some point


Create 00000-01-02-mhwalid.md

Add mhwalid's filein the my-slide branch and merge it too main branch

make the change merged

sd

Done


Fix variant stats; cached filtered variants; add exonic counts; add progress bar

This is an updated version of another PR - #168
Notes from that PR:

Addresses issues #166 - variant stats lead to divide by zero error when total read count is 0 for a variant
Also addresses #167 - filtering variant stats by type, irrespective of merged file type
caches filtered variants as well as unfiltered variant collections
pass **kwargs to filter_fn, if provided. This enables more flexible filtering

Also now includes PR #171:

Clean up some issues in filtered-variants cache, namely:

inspect closure of filter_fn for other filter_fns, use these to name the cached file
^ above method only works for python3; skip filtered cache on py2
added some tests to identify issues in the above

Made things more robust to errors reading from cache - e.g. fix #170

skip reading from cache if there is any error

added a number of new summary functions to cohorts.functions, including exonic_snv_count, expressed_exonic_snv_count, etc.

functions named 'snv' now explicitly filter for .is_snv type

pass **kwargs through summary functions to filter functions; e.g. for functions like variant_qc_filter, so that the following works for as_dataframe & plot_benefit, etc.:
df = cohort.as_dataframe(
        on=[exonic_snv_count],
        filter_fn=cohorts.variant_filters.variant_qc_filter,
        min_tumor_depth=7,
        min_normal_depth=7,
        min_tumor_vaf=0.1,
        max_normal_vaf=0.03,
        min_tumor_alt_depth=0)

allow **kwargs use with multiple functions, e.g. so the above can be multiplexed:
df = cohort.as_dataframe(
        on=[exonic_snv_count, missense_snv_count, expressed_missense_snv_count],
        filter_fn=cohorts.variant_filters.variant_qc_filter,
        min_tumor_depth=7,
        min_normal_depth=7,
        min_tumor_vaf=0.1,
        max_normal_vaf=0.03,
        min_tumor_alt_depth=0)

This will print a "warning" statement that the kwargs are passed to all functions, in lieu of previous behavior which resulted in an error.

Added debug logging statements throughout load-variants & application of filter functions to test behavior.

Added progress bar printing progress of function-application, to better know if process is running or stalled.

modified logging to not use stdout, so that progress bars print correctly.

Output looks like:

Coverage increased (+1.1%) to 56.889% when pulling fa9441aa8a411c27fbd91d7e2aa44f62f8d566b8 on develop into f382e8a1734e44eb59b0e1d38a9812c59601d2e2 on master.

Coverage increased (+1.2%) to 57.037% when pulling 7d151748adc30a7100ec220ec79913cf9322ac07 on develop into f382e8a1734e44eb59b0e1d38a9812c59601d2e2 on master.

@jburos would you mind given a more detailed name to this PR? The name shows up on task boards and "Develop" doesn't give me a good idea of what's going on.

Sure - apologies for strange naming; will copy description & other text from the related PR

Coverage decreased (-1.1%) to 54.679% when pulling e3c637347e8338def3e876887d465cf95fb60b46 on develop into f382e8a1734e44eb59b0e1d38a9812c59601d2e2 on master.

Coverage increased (+0.8%) to 56.634% when pulling e3c637347e8338def3e876887d465cf95fb60b46 on develop into f382e8a1734e44eb59b0e1d38a9812c59601d2e2 on master.

Coverage increased (+0.8%) to 56.634% when pulling 5c4f61438533754482e25773babf9e1a9f517c8d on develop into f382e8a1734e44eb59b0e1d38a9812c59601d2e2 on master.

Coverage increased (+0.9%) to 56.723% when pulling 5c4f61438533754482e25773babf9e1a9f517c8d on develop into f382e8a1734e44eb59b0e1d38a9812c59601d2e2 on master.

Coverage increased (+0.9%) to 56.723% when pulling 5c4f61438533754482e25773babf9e1a9f517c8d on develop into f382e8a1734e44eb59b0e1d38a9812c59601d2e2 on master.

Understood; what I'm getting at is that changing the meaning of
use_filtered_cache and then re-checking it again below seems
confusing/error-prone.
But if it's not obvious how to improve it, I'm fine with leaving it.
On Tue, Jan 17, 2017 at 3:44 PM, Jacki Buros Novik<EMAIL_ADDRESS>
wrote:

@jburos commented on this pull request.
In cohorts/cohort.py https://github.com/hammerlab/cohorts/pull/169:

   else:

       filter_fn_name = filter_fn.__name__

   logger.debug('loading variants for patient {} with filter_fn {}'.format(patient.id, filter_fn_name))

   use_filtered_cache = use_cache

   if sys.version_info < (3, 3):

       logger.debug('... disabling filtered cache due to python version')

       use_filtered_cache = False

   ## get cache name, if possible

   if use_filtered_cache:

       logger.debug('... identifying filtered-cache file name')

       try:

           ## try to load filtered variants from cache

           filtered_cache_file_name = "%s-variants.%s.pkl" % (self.merge_type,

                                                                     self._hash_filter_fn(filter_fn, **kwargs))

       except:

That's not equivalent logical structure - making it equivalent will end up
with what (IMO) will end up being a more confusing set of nested Try & If
statements. You can think of the second if as a "if we are still using
filtered cache".
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/hammerlab/cohorts/pull/169, or mute the thread
https://github.com/notifications/unsubscribe-auth/AATtdAwJGk3ueekyyMOUcOezCPbEulEOks5rTSg3gaJpZM4LQw_X
.

I'll try to clarify the intention of use_filtered_cache in the comments.

@tavinathanson made a bunch of requested changes - can you take another look when you have a chance? Not urgent ..

@jburos probably won't get to this until next week if that's okay!

@jburos added two minor comments but feel free to merge once rebased, sorry for the delay!

Merged with commit 26e935d


VIewbox does not work

When i search results in specifix viewbox it does not work
I installed nominatim using following command:
docker run -it
-e PBF_URL=https://download.geofabrik.de/europe/poland-latest.osm.pbf
-e REPLICATION_URL=https://download.geofabrik.de/europe/poland-updates/
-p 8080:8080
--name nominatim
mediagis/nominatim:4.3
When im executing this request:
https://nominatim.openstreetmap.org/search.php?q=przedszkole&viewbox=17.00635%2C51.07597%2C17.10231%2C51.05758&bounded=1&format=jsonv2
im getting results:
but when i do the same for my server
http://localhost:8080/search.php?q=przedszkole&viewbox=17.00635%2C51.07597%2C17.10231%2C51.05758&bounded=1&format=jsonv2

nominatim.openstreetmap.org runs the git master version, not the stabel 4.3.1 version. If the results improved, that's great, then it will likely be part of the next release.

Still doesn't seem to work. If I look for CVS stores in a box overlapping New York, i get nothing back.
https://nominatim.openstreetmap.org/search?q=CVS&addressdetails=1&limit=10000&format=xml&viewbox=74.01%2C39.01%2C72.01%2C41.01&bounded=1

@ghevge  74.01,39.01 isn't even close to New York City, USA. You probably mean -74.


Can't get this working

Does this package require Typescript?

Can you give me your github repo？？

No reply for a long time, temporarily closed.


Amplify build fails due to what seems to be a type error

When building the Amplify Frontend environment I get the following error:
# Starting phase: build
                                 # Executing command: npm run build
2023-10-06T16:41:46.277Z [INFO]: ><EMAIL_ADDRESS>build
                                 > tsc && vite build
2023-10-06T16:41:50.729Z [INFO]: src/components/DocumentDetail.tsx(26,21): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
2023-10-06T16:41:50.730Z [INFO]: src/components/DocumentDetail.tsx(26,40): error TS2339: Property 'toString' does not exist on type 'never'.
                                 src/components/DocumentUploader.tsx(92,32): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.
                                 Type 'undefined' is not assignable to type 'number'.
                                 src/components/DocumentUploader.tsx(92,52): error TS2339: Property 'toString' does not exist on type 'never'.
2023-10-06T16:41:50.755Z [ERROR]: !!! Build failed
2023-10-06T16:41:50.755Z [ERROR]: !!! Non-Zero Exit Code detected

Any idea what it could be?
Thanks

I think the error could be that filesize  is missing in the repo.

Looking into this and will have a fix in the next days.

Fixed in 19fd762.


Understanding shape filter

I'd like to create a mask so plate-minder can ignore a section of the camera. I don't quite understand the format here 1267,0,1920,0,1920,100,1267,100.  I understand it's referencing the size of the image I am passing it in pixels. Is there a tool I can use to preview the mask?

It's poorly documented, but there's some explanation in the README.md at the root of this project:
# Globally applied filters
# Filter jpeg frames. Currently 'motion' and 'mask' filters are available.
# Filters are processed in the order they are defined
filters:
  # Masks out a portion of the frame. Note that any pixels within the mask
  # cannot be used for detection.
  - type: mask
    # Optional. Outputs an image to the './data' path
    # debug: true
    shapes:
      # Shapes are a series of x/y coordinates
      - 1267,0,1920,0,1920,100,1267,100 # Timestamp, top right
  # Crops the frame down to the largest area of motion detection
  - type: motion
    # Optional. Outputs an image to the './data' path
    # debug: true

I saw that, but I still don't understand what the end result is. Is this just a polygon that uses fill? Do the coords above create a rectangle with fill? i.e.
point 1: [1267,0] point 2: [1920,0] point 3: [100,1267]

Scratch that, I didn't realize the debug image in the web UI would display the shape. And for me 0,0 was top-left


chore(master): add .desktop file for use with Flatpak

I'm working on a Flatpak for Lampray at https://github.com/poperigby/io.github.chollingworth.Lampray, and it would be nice to have a .desktop file for better system integration.

wouldn't it just be better to add the flatpak manifest here and update the release pipeline so this repo creates and publishes it?

Yeah, that would work fine I think.

Yeah, that would work fine I think. Would you like me to make a PR with manifest, or add it to this one?

👍🏻
on it.
i think this pr can stay in flight

any of the logo variants would work nicely https://github.com/CHollingworth/Lampray/tree/master/logo

any of the logo variants would work nicely https://github.com/CHollingworth/Lampray/tree/master/logo

Yeah. I was just going to copy those to /app/share/icons when building.

on it

@airtonix To clarify, would you like me to submit a PR with the manifest?

@poperigby Feel free to contribute to https://github.com/CHollingworth/Lampray/pull/123 if you can otherwise use the suggestion feature.
question about the pr title here (since it has impact on the generated changelog and resulting release version:
<TYPE>(<SCOPE>) , yours: chore(master).
I think chore is right, but since i've not used conventional commits with scopes much before, was there some reason why you chose master for the scope? (just trying to see if i missed something).
My understanding of the scope part, that it should help describe what part of the project (the component) this change affects.
is that right?

Feel free to contribute to https://github.com/CHollingworth/Lampray/pull/123. if you can, otherwise use the suggestion feature.

Sure!

question about the pr title here (since it has impact on the generated changelog and resulting release version:

Oops, sorry. I was just following what the other PRs were named like for the scope. I'm not super familiar with how conventional commits work either.

Oops, sorry. I was just following what the other PRs were named like for the scope. I'm not super familiar with how conventional commits work either.

Don't apologise. I thought there was something you knew that I didn't.

@poperigby but in terms of next steps, i think update the desktop file to accurately point at the logo.
for now it might be safe to assume that this one singular desktop file is only used for the flatpak distro. In future i can imagine that there might be other forms of packaging.

@poperigby but in terms of next steps, i think update the desktop file to accurately point at the logo.
for now it might be safe to assume that this one singular desktop file is only used for the flatpak distro. In future i can imagine that there might be other forms of packaging.

Do you mean just putting lampray instead of the reverse DNS named icon?


Change Russian splitter from +7<PHONE_NUMBER> to +7 495 000 00 00

There is more correct number splitting +7 495 000 00 00 instead of +7<PHONE_NUMBER>. As referenced here (same article but in english) and on wiki.
I didn't change it for South Osetia and fixed(3) because don't know much about these cases.

Sorry for the long time this took – was holidaying.


Can you make it support JupyterLab?

Seems like not support JupyterLab yet

+1

+1

+1

+1

+1

+1

+1


3.11-3.15 sprint planning

3.11-3.15 sprint planning
Peer Review

@xhyqaq -> @Baihhh
@IRONICBo  -> @LiusCraft
@Baihhh -> @IRONICBo
@Kasey0727 -> @Baihhh
@LiusCraft -> @IRONICBo

Bug lists

[ ] #254 @huangsihao7
[ ] #232 @huangsihao7 @IRONICBo
[ ] #230 @IRONICBo

Article

[ ] Support abstract view. @Baihhh @Kasey0727
[ ] User setting page. @LiusCraft @Kasey0727
[ ] Mobile view. @Kasey0727

Release

[ ] WeChat Login Authorization Authentication
[ ] Facebook login authorization
[ ] QiNiu Cloud Resource Authorization
[ ] Twitter login authorization
[ ] XiaoNiu Translation Authorization

Report

Server resources
Slides and README document update

Go+ doc

[ ] goplus doc generate, issue link: https://github.com/goplus/gop/issues/1755.  @xhyqaq

Reference repo: https://github.com/golang/pkgsite

Test doc link: https://x1e9blbiv2.feishu.cn/docx/X2lod7CYaoaKBvxz7VMcfxpvnUc#part-QjSgdALiXoJ1Mlx9vXscSmJXn3c


Creating form draft results in 504 when there are many form fields

@lognaturel was working on a server with a large number of form versions and hundreds of thousands of rows in the form_fields table. Quoting @lognaturel from Slack:

Creating a form draft takes a very long time and sometimes 504s. This is for any form on the server. Publishing a form draft generally 504s.

The strong suspicion is that the check_field_collisions trigger is responsible:

I can get things snappier by deleting all the form_field entries that correspond to the form with many versions except for the one for the active form def.

The behavior I’m experiencing is exactly what @matthew-white described at #381. So I think the now-reverted change to the trigger made it so slow the problem would show up with fewer versions.

Two ideas for improvement:

I believe that there are improvements to make to that trigger. There actually is a formId column on that table so it seems like at the very least the slowness could be constrained to only forms with many versions rather than affecting everything on the server.
(and compounding if there are many forms with lots of versions)

I wonder whether we could detect when the form schema hasn’t changed at all.
Seems there are lots of cases in which we’re saving a LOT of duplicate data.

Discussed this briefly with the team. The underlying user need is scripting form attachment updates. This automates entity-based workflows.
One question was whether this is worth addressing given that we're going to address the underlying user need with Central's entity mechanism. I think it is -- a lot of people do script these kinds of updates and a lot more would if we felt comfortable sharing examples. Yes, we have plans for more entities features but they're going to take a bit and scripting updates satisfies a need now. It's also what people are used to from Aggregate and other systems.
We run into the bad state described in this issue because Central requires a form version change when changing form attachments. I think the idea was to be able to reconstruct exactly the state of the form when it was filled out. In practice, Central does save form attachments for every version but doesn't currently make them accessible for edits (only available through the API).
Some possible ways to address the issue:

introduce a mechanism to overwrite form attachments for a published form version, maybe just through the API. This would solve all problems related to scripting form attachment updates. The only downside is that it would be impossible to reconstruct what a user saw when they were filling out a form.
add a level of indirection representing a schema. Central could detect a form update that doesn't involve a form schema update and not store the form fields again. This would solve issues related to form fields. It does not address a related issue which is that the blobs table gets really full of all the form attachment versions.
look into indexes and making the trigger more performant. I think we should do this regardless. Same as above, it doesn't address the blobs table getting big.

We're choosing the indirect representation approach:

When new defs come in, compare only to latest schema (walk through the fields and if there are any differences, make a new schema)
Migration to collapse existing duplicate schemas

introduce a mechanism to overwrite form attachments for a published form version

We're going to separate this out from the short-term bug fix.
@sadiqkhoja brought up that being able to overwrite published form attachments might be valuable beyond CSVs
@issa-tseng brought up a number of considerations:

there are questions around how this would interact with an existing draft
there's value to separating out editable and published states that we might miss for reasons we can't yet anticipate
there's clearly overlap with entities and there's confusion and overhead involved when there are many ways to do nearly the same thing

For 2 and 3 above, I think we just need to decide whether the risks are worth it.
For 1, we'd have to come up with a reasonable answer for what to do if there is a draft.
Currently, if a new draft is created programmatically, any existing draft is closed. This could be very confusing for someone trying to create a draft and possibly could lead to losing some state of a form definition or attachment that only exists in that draft. It's also relatively easy to explain and my experience is that the person/people scripting updates are also the ones most likely to be making manual form updates. Given that experience, I think it would be most predictable and easiest to explain if updating a published form attachment closed any existing draft. @issa-tseng points out that the current behavior is bad and could use rethinking.
We also discussed that the draft could "win" and overwrite a form attachment that was updated after the draft was created.
@issa-tseng also mentioned that there may be a big change coming to drafts that may touch on all of this.

For changing the database schema to support an intermediate form schema that doesn't get needlessly duplicated, how does this sound?
Make a new a form_schemas table with id (and probably formId)
then form_fields could have a formSchemaId column instead of formDefId
and form_defs could have a new formSchemaId column

For changing the database schema to support an intermediate form schema that doesn't get needlessly duplicated, how does this sound?
Make a new a form_schemas table with id (and probably formId) then form_fields could have a formSchemaId column instead of formDefId and form_defs could have a new formSchemaId column

Looks good. But I don't see the need of formId in form_schemas table


Graphite vs. Prometheus storage comparison is confusing

In https://prometheus.io/docs/introduction/comparison/ under the Graphite section there is, to me, conflicting and confusing information that I can't make sense out of. I have bold italicized what I think the conflicting information is. Why is Prometheus unsuitable for historical data long term? It says Prometheus data may be kept arbitrarily long.

Storage
Graphite stores time series data on local disk in the Whisper format, an RRD-style database that expects samples to arrive at regular intervals. Every time series is stored in a separate file, and new samples overwrite old ones after a certain amount of time.
Prometheus also creates one local file per time series, but allows storing samples at arbitrary intervals as scrapes or rule evaluations occur. Since new samples are simply appended, old data may be kept arbitrarily long. Prometheus also works well for many short-lived, frequently changing sets of time series.
Summary
Prometheus offers a richer data model and query language, in addition to being easier to run and integrate into your environment. If you want a clustered solution that can hold historical data long term, Graphite may be a better choice.

I think that's out of date since the comparison was written back in the Prometheus 1.x days when it was much worse at storing large amounts of data for a long retention time.


Fix change log message for uncategorized issues

Fix or rename ?

Fix or rename ?

looks like rename to me


[SPARK-10535] Sync up API for matrix factorization model between Scala and PySpark

Support for recommendUsersForProducts and recommendProductsForUsers in matrix factorization model for PySpark

Can one of the admins verify this patch?

OK to test

LGTM

I've added these methods doc string
Acually it is not that useful as it is now - as it returns "scala.Tuple2" strings - and not as in scala (Int, Array[Rating])
model.recommendUsersForProducts(1).collect()

returns
[{u'__class__': u'scala.Tuple2'}, {u'__class__': u'scala.Tuple2'}]

So there is no way to access user id and product record
@davies could you please point me how to update scala SerDe/ and python py4j related code to unwrap scala.Tuple2 into python tuple of int and Rating objects?

Oh, I missed that part.
You could add a wrapper in Scala (PythonMLLibAPI) to convert RDD[Tuple] into RDD[Array[Any]], and call the wrapper from Python.

@smartkiwi Sorry, my comments duplicate @davies 's ...

@mengxr, @davies thanks for a hints
I'm rather new with Scala, and very interested into learning it further.
I've found the code with Python wrapper used for other recommendation methods
https://github.com/smartkiwi/spark/blob/SPARK-10535/mllib/src/main/scala/org/apache/spark/mllib/api/python/MatrixFactorizationModelWrapper.scala#L34-L43
I'm working on using similar approach for the methods I'm adding

Ok
Please see this update - I've added methods for converting Tuple to Array into MatrixFactorizationModelWrapper
Could you please review this pull request again

@davies ping
Can somebody verify this? Jenkins have't started tests for this pull requests

Test build #1756 has started for   PR 8700 at commit bc7dc46.

Test build #1756 has finished for   PR 8700 at commit bc7dc46.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Jenkins please test again

Ok to test

test this please

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/42762/
Test FAILed.

Please test this again - there were some github connection issue

Test build #1783 has started for   PR 8700 at commit 969e4c3.

Test build #1783 has finished for   PR 8700 at commit 969e4c3.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

This fixes pyspark tests.
Please test this again.

Test build #1826 has started for   PR 8700 at commit 56d3321.

Test build #1826 has finished for   PR 8700 at commit 56d3321.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test passes. Any feedback on this? Or can this be merged?

LGTM, merging this into master, thanks!


CSS-8398 Adds custom CA certificate config options.

The airgapped ua-contracts charm does not use a relation to self-signed-certificates. TLS is left to the user to set up, so they will most likely be using their own CA (or maybe a trusted CA) to generate certificates.


feat: create different table cells components

Describe the feature you'd like to request
We have different tables across the app. Somme cells of those tables are rewritten across the codebase and should be extracted to components.
Describe the solution you'd like to see
For example, in the component collection-items-data-list-view.tsx, this piece of code inside of a TableCell:
                <Link
                  prefetch={false}
                  href={`/token/${token.collection_address}/${token.token_id}`}
                  className="flex items-center gap-4"
                >
                  <Media
                    src={token.metadata?.image}
                    mediaKey={token.metadata?.image_key}
                    alt={token.metadata?.name ?? "Empty NFT"}
                    className="size-10 rounded-md object-contain"
                  />

                    {token.metadata?.name ?? token.token_id}

                </Link>

is repeated in multiple part of the codebase and can be placed in a component named TokenInfosCell, in /apps/arkmarket/src/components/cells/token-infos-cell.tsx for exemple
Additional information
No response

Hi @YohanTz , can I be assigned this please once od hack starts please?

hello, @YohanTz, I would like to work on this

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hey I am Stephanie and I am a frontend engineer with experience  in React, TypeScript, and component-based architecture. I have always prioritized writing clean, modular code, which aligns perfectly with your need to refactor table cells into reusable components.
How I plan on tackling this issue
I would approach this problem by abstracting these cells into a reusable component located in a shared folder.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a software developer with 6 years experience building applications
How I plan on tackling this issue
I would create the TokenInfosCell component and place the reusable bits of code inside and replace that component across the app

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a smart contract and full stark developer.
Leveraging on my background, I can approach this issue by:
Applying modular design principles from smart contracts to extract reusable components. Implement stateless functions similar to Stark's functional paradigm. Optimize rendering and prop passing, drawing from gas optimization techniques in smart contracts.
How I plan on tackling this issue
I propose creating reusable cell components to reduce code duplication across our tables. By extracting common table cell patterns into separate components, we'll improve maintainability and consistency.
This approach will allow us to easily update shared UI elements in one place, enhancing our development efficiency. I'm ready to implement this solution by creating components like TokenInfosCell and integrating them throughout the app.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I'd like to work on this one, I have experience in refactoring React components to follow DRY pattern.
I have some experience refactoring using DRY best practices: https://github.com/walnuthq/op-scan/blob/main/src/components/lib/timestamp-list-item.tsx
How I plan on tackling this issue
I will create the component you hinted at in the first comment as well as search the entire codebase for similar repeated components and refactor using reusable components.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hi @YohanTz , can I be assigned this please? I'm a blockchain developer with 2 years experience. I have experience in html, css, react, JavaScript,TypeScript and solidity, python and Cairo.
How I plan on tackling this issue
To solve this issue, I'd:
1. Identify Repeated Code, that is I'd find instances of the same code for rendering token information across the app.
2. I'll create TokenInfosCell Component (/apps/arkmarket/src/components/cells/token-infos-cell.tsx). I'llInclude the necessary rendering logic for token information.
3. I'll replace repeated code in existing files with the new TokenInfosCell component, passing the required token prop.
4. I'll ensure the new component works correctly across all instances.
5. I'll provide documentation for the new component, including props and usage.
Please assign me.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am Om Santoshwar,
Final year btech UG at IIT Dhanbad,
i have a strong background in web development and blockchain development particularly in Ethereum and Starknet with 3 years of software development experience.
My Technical Skills-
Languages: Typescript, Javascript, Solidity, Rust, Cairo, C++
Frameworks and tools: Scaffold-eth/Stark, Nextjs, MERN, Ethersjs, Hardhat, Foundry, Openzeppelin contracts, Defi, AWS
Experience-
Participated in EthGlobal and other blockchain hackathons
Internships as Blockchain and Fullstack web developer
How I plan on tackling this issue
this can be solved by extracting the repeated code into a react functional component,
calling this functional component in place of repeated code hence making it DRY

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I’m Benjamin, a full-stack JavaScript developer with a strong focus on building responsive and reusable components. My experience includes 18 contributions on OnlyDust, where I’ve worked on various projects that emphasize clean code and efficient design.
How I plan on tackling this issue
I will create different table cell components by following these steps:
First, I will identify the repeating table cell structures across the app. This involves reviewing the codebase to spot common patterns in the table cells and noting where they are located for easy reference.
Next, I will create a new directory specifically for cell components. This will include adding a 'cells' folder under our existing components directory to keep everything organized.
Then, I will implement the reusable cell components. For instance, I’ll create a TokenInfosCell.tsx component to encapsulate the logic for rendering token information. I’ll extract the common logic and props needed for each cell type to ensure they are flexible and easy to use.
After that, I will refactor the existing code to utilize these new components. This means replacing the repetitive code with our new cell components while ensuring that the correct props are passed in to maintain functionality.
Finally, I will test the new components and the refactored tables to ensure everything works seamlessly. I’ll verify that all tables function as expected without any issues.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
UI: Extract Repeated Table Cells into Components
Hello Starknet Quest team,
I am Joel Vargas, and I'm a member of Dojo Coding. I also come from OnlyDust.
I would like to request the assignment of the issue related to Extract Repeated Table Cells into Components. Below is my proposed approach for implementing this issue:
How I plan on tackling this issue
Implementation Plan
STEP 1: Identify repeated code across the codebase.
Description: I will review the codebase to locate instances where the same table cell code is duplicated, such as the code snippet found in collection-items-data-list-view.tsx.
STEP 2: Create the new component.
Description: I will create a new component named TokenInfosCell in /apps/arkmarket/src/components/cells/token-infos-cell.tsx. This component will encapsulate the repeated table cell logic to promote code reuse.
Example Code Snippet:
<Link
  prefetch={false}
  href={`/token/${token.collection_address}/${token.token_id}`}
  className="flex items-center gap-4"
>
  <Media
    src={token.metadata?.image}
    mediaKey={token.metadata?.image_key}
    alt={token.metadata?.name ?? "Empty NFT"}
    className="size-10 rounded-md object-contain"
  />

    {token.metadata?.name ?? token.token_id}

</Link>
STEP 3: Refactor existing components.
Description: I will replace the duplicated code in the existing components with the new TokenInfosCell component, ensuring that it receives the necessary props for rendering.

STEP 4: Testing.
Description: I will conduct testing to ensure that the new component functions correctly and that the refactored components display the expected output.

Goal
The goal is to enhance maintainability by reducing code duplication and creating a modular structure for the table cells used throughout the application.

I look forward to your feedback on my approach!

i assigned you @SoarinSkySagar


Holder instances are returned with null buffer

Creating an instance of holders new VarCharHolder() is returning buffer as null. What mistake am I making here?

build.sbt
libraryDependencies ++= Seq(
  "org.apache.arrow"            % "arrow-vector"                   % "8.0.0",
  "org.apache.arrow"            % "arrow-memory-unsafe"            % "8.0.0"
)

Hi @iamsmkr Can you provide the code you're using to create the holders?
thanks

Hi @lwhite1, Is there any documentation on how to work with holders properly?

Ax far as I know, there is no documentation other than what is in the source code. A holder is just a clever way to access values in a Vector generically without boxing every primitive value, and only creating one holder per ValueVector.
So for example, If you have an IntVector called ageVector, and you want to add a year to everyone's age, you would create your IntHolder(s) once before starting your loop, then set its value inside the loop and pass the holder to a writer.
   IntVector ageVector = ...
   IntHolder ageWriteHolder = new IntHolder();
   IntHolder ageReadHolder = new IntHolder();
   for (int i = 0; i < ageVector.getRowCount(); i++);
            intVector.get(i, ageReadHolder);
            ageWriteHolder.value = ageReadHolder.value + 1;
            intVector.set(i, ageWriteHolder);
   }

So I have a use case where I was trying to create a holder, populate the buffer manually and then forward the same to the ListVector writer. Below is the work around but it doesn't seem to be an ideal approach since we are asking for new buffer of various size everytime. It would be really helpful, if you could suggest a better alternative. Thanks!
      writer.startList()
      writer.setPosition(row)

      value.foreach { str =>
        val bytes = str.getBytes(StandardCharsets.UTF_8)
        val length = bytes.size

        val buffer = vector.getAllocator.buffer(length) // TODO Fix this
        buffer.setBytes(0, bytes)
        writer.writeVarChar(0, length, buffer)
        buffer.clear()
      }

      writer.endList()


ARC upgrade error

The app errored during latest upgrade.
Logs
Initializing upgrade
[1016] Checking if upgrade is required.
[1016] Deleting new databases if exists.
Maximum IPC message size exceeded.
UnknownError: Maximum IPC message size exceeded.

Versions
App: <IP_ADDRESS>5-stable
Chrome: 54.0.2840.71
Platform: Windows (7)

After the above error none of the Saved items from project is working

Was about to add another issue with the same problem and version details when I saw this existing issue.  I'm seeing the same problem as Janani.  I first thought it might have something to do with the large number of Saved items I have (locally saved, not on Google Drive), but a purge of most of the Saved items didn't help.

Hi,
I'm working on the fix right now. Expect update very soon.
And you are right @bcswartz It's about size of the data. But it's about the history and not saved requests. I have no idea about any limitations for data transfer to web worker or to the indexeddb (it's not documented anywhere) so now I have to hotfix large sets of data.
And I'm closing it as a duplicate of #830. But thank you again for the report.

Thanks for the brief explanation.  Since I could afford to clear my history, I simply went ahead and did that, and after that the upgrade went through just fine.
Good luck with fixing the bug.  This is a wonderful extension/application and I love using it.

Great. Thanks for update. I hope you enjoy new features.

I've updated the app in CWS and it will not finish the upgrade with error anymore. It takes a long time though (if you have more than 100K history records in the datastore but in this case contact me for a medal ;)


real, imag, freq = nyquist_plot(sys)

Hi guys,
I get an error at nyquist_plot or nyquist:
import control
from control import nyquist, nyquist_plot
import numpy as np
num = 5
den = [1,6,11,6]
G = control.tf(num,den)
try:
    real, imag, freq = nyquist(G, omega=np.linspace(0,10, 100), plot=True)
except:
    real, imag, freq = nyquist_plot(G, plot=True)`

Traceback (most recent call last):
  File "/home/ilja/02_diss_ws/src/06_look_ahead_distance/test_nyquist.py", line 13, in <module>
    real, imag, freq = nyquist(G, omega=np.linspace(0,10, 100), plot=True)
TypeError: 'int' object is not iterable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ilja/02_diss_ws/src/06_look_ahead_distance/test_nyquist.py", line 15, in <module>
    real, imag, freq = nyquist_plot(G, plot=True)
TypeError: 'int' object is not iterable

The return arguments are not correct anymore. It used to work, but not now.
I'm using:
control-0.9.0 kiwisolver-1.3.1 matplotlib-3.3.4 numpy-1.19.5 pillow-8.2.0 pyparsing-2.4.7 python-dateutil-2.8.1 scipy-1.5.4 six-1.16.0
Does anybody have an idea?

solved it by from control.matlab.wrappers import nyquist ... it used to be another path

Hi @iljastas.
Glad you figured it out. Actually, the "correct" import path would be from control.matlab import nyquist
The TypeError is due to the different return signature of control.matlab.nyquist() vs control.nyquist_plot()


fix(logger): reduce severity of log failure

Sending a log to an external server should not kill the logger on an error. For example, if the host is down or unavailable, the logger should just log that the error message has been lost, but carry on.

Agree. LGTM.

Code LGTM.

Code LGTM.


[INTERNAL] ASAN builds

We already have some tests where asan would be useful - like load[cond]
Load unsafe tests will require this as well: https://github.com/jfalcou/eve/issues/290
When we finally get to algorithms, we will also need asan for that.
Suggestion:

Check how much just enabling asan hurts the build times
If it does create a special target, that has asan enabled. And we will add tests there.

What do we need to test, just add a "-sanitizer=all" to the options and see?

| Check how much just enabling asan hurts the build times
This is bad, at least now.
I suspect if we reduce the number of binaries + ideally enable unity builds, we can try again, but at this pont im more then doubles the build times.
x86sse2 - 13 min to 32 min
x86avx - 13 min to 38 min.
Which is a shame, since it finds bugs on top of everything.

I suspect, with modules we won't have any other option.

But at this point I'd suggest: let's just create a single test binary for asan tests.
Let's also do at least all pf the types we test in one file.

| Check how much just enabling asan hurts the build times
This is bad, at least now.
I suspect if we reduce the number of binaries + ideally enable unity builds, we can try again, but at this pont im more then doubles the build times.
x86sse2 - 13 min to 32 min
x86avx - 13 min to 38 min.
Which is a shame, since it finds bugs on top of everything.

I suspect, with modules we won't have any other option.

But at this point I'd suggest: let's just create a single test binary for asan tests.
Let's also do at least all pf the types we test in one file.

Fixed in 6cef970


[CROSSDATA-875] Basic Query Builder added to the driver

Use lower case letters to start methods

+1

+1


Recursive/cyclic imports are not supported

Solidity supports recursive/cyclic imports. We may want to question whether this is good or not, but it is being used.
A.sol:
import "./B.sol";

interface A {
  function a() external returns (B);
}

B.sol:
import "./A.sol";

interface B {
  function a() external returns (A);
}

The error:
/Users/alex/.nvm/versions/node/v16.8.0/lib/node_modules/eth-scribble/dist/util/misc.js:16
    throw new Error(message);
    ^

Error: Order [[SourceUnit#9,SourceUnit#0],[SourceUnit#0,SourceUnit#9]] is not a valid proper order. Topo sort stalled at 1 out of 3
    at assert (/Users/alex/.nvm/versions/node/v16.8.0/lib/node_modules/eth-scribble/dist/util/misc.js:16:11)
    at Object.topoSort (/Users/alex/.nvm/versions/node/v16.8.0/lib/node_modules/eth-scribble/dist/util/misc.js:186:9)
    at sortUnits (/Users/alex/.nvm/versions/node/v16.8.0/lib/node_modules/eth-scribble/dist/bin/scribble.js:331:19)
    at Object.<anonymous> (/Users/alex/.nvm/versions/node/v16.8.0/lib/node_modules/eth-scribble/dist/bin/scribble.js:611:33)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12)
    at node:internal/main/run_main_module:17:47

Thank you for reporting this! Will take a look and root-cause tomorrow!

So I misunderstood in my previous comment the problem - this is not actually solved yet, and its a little tricky. This impacts only output in flat mode, and to actually solve it we need to change how we do flattening.
I think instead of sorting the units by inclusion order, it might be sufficient to just sort ContractDefinitions in topographical order of inheritance, and leave other nodes as they are.

Thanks, this seems to be working with develop.

@cd1m0 On the same codebase whatever I do (like adding an invariant or a if_succeeds statement) I keep getting Javascript Maximum call stack size exceeded errors.
Two kinds in particular:

The first seems to be inside type checking:

Internal error in type-checking: Maximum call stack size exceeded

The seconds seems to be around recursive imports:

/Users/alex/Projects/scribble/dist/bin/scribble.js:494
            throw e;
            ^

RangeError: Maximum call stack size exceeded
    at ImportDirective.get vSymbolAliases [as vSymbolAliases] (/Users/alex/Projects/scribble/node_modules/solc-typed-ast/dist/ast/implementation/meta/import_directive.js:55:45)
    at lookupInSourceUnit (/Users/alex/Projects/scribble/node_modules/solc-typed-ast/dist/ast/definitions.js:101:28)
    at lookupInSourceUnit.next (<anonymous>)
    at new Set (<anonymous>)
    at lookupInScope (/Users/alex/Projects/scribble/node_modules/solc-typed-ast/dist/ast/definitions.js:229:12)
    at lookupInSourceUnit (/Users/alex/Projects/scribble/node_modules/solc-typed-ast/dist/ast/definitions.js:104:35)
    at lookupInSourceUnit.next (<anonymous>)
    at new Set (<anonymous>)
    at lookupInScope (/Users/alex/Projects/scribble/node_modules/solc-typed-ast/dist/ast/definitions.js:229:12)
    at lookupInSourceUnit (/Users/alex/Projects/scribble/node_modules/solc-typed-ast/dist/ast/definitions.js:104:35)

(It is a local install of 912a472)
I tried for a quite bit of time create a reduced example, but can't really spend too many hours on it. Do you have any idea based on the above?


Changelly box bad rendering on Android

Please look at the image:

Elegantt data. What's this?

@juguelio what device is this on? Do you know the pixel dimensions of your screen?

One plus 5 1080p 5.5 inches

Same issue on Honor 5X with a 5.5 inch screen full hd (1080 x 1920)

Same issue HTC One 5.2 inch 2560x1440

Similar issue with version 1.0.4. Look top borders.

➤ Craig MacGregor commented:
re-opening ticket

➤ Craig MacGregor commented:
Flex Box, Center / Center and some scaling


[TB] Images up against the edge, no padding/margin

Problem/Concern
If you load the Organisms->Images->Background Image & Text page, the left-side images are right up against the edge with no padding/margin.  Same with the labels.
The left images with no padding/margin are in Grid items, but they fill the Grid item including their margins, that is why they are up against the edge. The images are supposed to be different sizes but currently aren't, so should probably fix that problem at the same time. I'll open a different issue for that.
Proposed Solution

I'll take a look at this (part of GHC 23)

Taking a look at this (part of GHC 23)

@lwnoble believes that the left alignment is correct and the right padding is actually where it is incorrect.  @aaronreed708 to work with Lise to resolve this.

@lwnoble looks like this is related to a change that you made at https://github.com/finos/a11y-theme-builder/blob/89049fe753eaa1cb87cd0a8f3f9478c56eb87243/code/src/ui/src/mui-a11y-tb/themes/Theme.css#L10
This is causing the white space to the right of the image
.MuiGrid-container {
  width: calc(100% - var(--spacing-4)) !important;    <-------- the issue is here
  margin: var(--spacing-2);
}

@lwnoble - asking for feedback on this on your return

@lwnoble asking for clarification on this.  It looks like components like SmBackgroundImageTextRight are using grids to layout the text and image displayed by the component.  As noted above, the grids are automatically buffered on the right by making the grid --spacing-4 less wide than its parent.  Which causes the right-side images in the Background Image & Text panel of the Organisms tab to not reach all the way to the edge of the browser.  There is also an issue where each grid item is supposed to have a left padding of 16px which gives the text on the left room so that it isn't against the left edge of the grid parent, but that doesn't have the same effect on the background images so the images are right up against the left edge.
So what we are looking for is a clarification of what the desired behavior should be:

SHOULD the text go right up to the left edge of the Background Image & Text panel?
SHOULD the text go right up to the  left edge of the Background Image & Text panel?
SHOULD the image go right up to the left edge of the Background Image & Text panel?
SHOULD the image go right up to the  left edge of the Background Image & Text panel?
SHOULD the grid be --spacing-4 less wide than its parent in ALL situations?  Maybe we shouldn't use a Grid in these BackgroundImage components?

@aaronreed708 - @lwnoble to schedule time on your calendar to go over this and other issues

Discussed with @lwnoble today.  The issue appears to be specific to MUI Grid.  The goal behavior is:

a Grid container should stretch 100% width, left side to right side
a Grid item with a background image should have the background image spanning the complete size of the grid item, regardless of padding.on the item
a Grid item with text should obey any padding on the item

So essentially, on the page in question, the images should go up to the left and right edges of the content area, but the text should not.
When Lise and I tried to do this by hand with CSS in the browser inspector, removing the rules mentioned above and adding padding to the Grid items did not give the desired behavior.  Somehow the right grid item ended up overflowing the panel and getting cropped.  So this requires some experimentation and research about MUI Grid to see if the desired behavior can be accomplished.

I'm removing the "In Progress" state as I don't have time to pursue this issue currently.  Moving to triage for new priority given information above.  I'm removing @lwnoble and myself as assignees so that this might possibly be investigated by a new contributor who currently has more time.  We should bump up the priority if we find that this Grid issue affects more components.


How to get "Sponsored Products Advertised product report"

I checked all the report type but didn't find something which contains this advertising report.
Can you please tell me if I missed something?
I would be glad if someone gives feedback fast.
Advertising reports are here
Thanks.

I believe this is all under the amazon advertising api, not the market place api.
https://advertising.amazon.com/API/docs/en-us/reference/2/profiles

I believe this is all under the amazon advertising api, not the market place api.
https://advertising.amazon.com/API/docs/en-us/reference/2/profiles


Emojis are being cutoff until parent animation is finished on iOS

Emojis are cutoff on iOS until the parent animation is finished. This doesn’t occur when I don’t animated the emojis in.
Steps to Reproduce

Here is a reproducible sample
Expected results:
The emojis are fully painted
Actual results:
https://user-images.githubusercontent.com/35702719/120845278-6f7f2f00-c525-11eb-8054-34bace6a3906.mp4

Logs

Analyzing emoji_cutoff...
No issues found! (ran in 1.6s)

[✓] Flutter (Channel stable, 2.2.1, on macOS 11.4 20F71 darwin-x64, locale en-US)
    • Flutter version 2.2.1 at /Users/victoruvarov/flutter
    • Framework revision 02c026b03c (8 days ago), 2021-05-27 12:24:44 -0700
    • Engine revision 0fdb562ac8
    • Dart version 2.13.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0-rc3)
    • Android SDK at /Users/victoruvarov/Library/Android/sdk
    • Platform android-30, build-tools 31.0.0-rc3
    • Java binary at: /Users/victoruvarov/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7351085/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Users/victoruvarov/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7351085/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] VS Code (version 1.56.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.23.0

[✓] Connected device (3 available)
    • iPhone 12 Pro Max (mobile) • 5F694A74-ACD4-4896-A1B4-FB650D2B1C15 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)            • macos                                • darwin-x64     • macOS 11.4 20F71
      darwin-x64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome
      91.0.4472.77

• No issues found!

Thanks for the detailed report and code sample. I see the same behavior.

 flutter doctor -v
[✓] Flutter (Channel stable, 2.2.1, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-GB)
    • Flutter version 2.2.1 at /Users/dhs/documents/fluttersdk/flutter
    • Framework revision 02c026b03c (4 days ago), 2021-05-27 12:24:44 -0700
    • Engine revision 0fdb562ac8
    • Dart version 2.13.1

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.55.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (4 available)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 91.0.4472.77

• No issues found!

This should be fixed on iOS with Impeller


Update _version.py to 0.4.2

When this is merged could you create a release with the tag "release-0.4.2" which will push it to PyPI? Thanks!

Going to hold off since there are a couple of bugs that need to be fixed


BUG: SMS Priority is still being used

Describe the bug
In perf, QA was unable to send an SMS. The service had Pinpoint listed as the provider but it was using Govdelivery. After changing the priority on govdelivery from 5 to 15 (Pinpoint is 10), QA was able to send SMS through the VA Notify service again.
Endpoint:
POST /v2/notifications/sms/
Service:
d6aa2c68-a2d9-4437-ab19-3ae8eb202553
Template:
5ded3992-e30d-4360-9f77-8a1a644dd4a4
To Reproduce
Steps to reproduce the behavior:

Use Perf to send an SMS using the VA Notify service
body of the request should not have a sender id
Provider priority should be 5 for govdelivery and 10 for pinpoint
See error

Expected behavior
SMS uses the Service's provider
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
At the time, the default sms_sender was GOVUK, 286d6176-adbe-7ea7-ba26-b7606ee5e2a4, and the secondary sms_sender on the service was +16075362872, 40c9e594-6f5d-461f-bc4a-382be1837b1c.
I had attempted to use the POST update route to archive and set the default to 40c9e594-6f5d-461f-bc4a-382be1837b1c, but while the POST response was 200 and the response body indicated that the changes had been made, the GET /sms-sender route still showed the original configuration.
Kyle went in to the DB to make the requested updates and discovered the bug from there.

No longer relevant.


add example HTTP(S) proxy setup to docs

Document the process of setting up an HTTP(S) proxy in order to introduce artificial latency, bandwidth, or other network constraints to a client's conversation with Prism.  For the example, consider Toxiproxy or something similarly configurable.
Background
Team Tacocat discussed adding latency/bandwidth limitations to Prism as suggested by #1140.  We suggested an alternative, adding documentation that describes how to set up existing HTTP proxies that accomplish the same thing, suggested this approach, and it was well-received.

simple example implementation at https://github.com/stoplightio/ExampleChooserPrismProxy


The model size is extremely large T_T

I trained the original model without any modification, and got a model which can work well. But the model size is too big, about 1.1GB, while the supplied pretrained model is 217MB.
I just wonder if the pretrained model has discard some weights? Like the discriminator network's weights?

Good catch. The large size was due to saving the optimizer variables. The code has been updated to only save constant values. The model size is now ~230mb,


Flight:json returning HTML & JSON?

So for some reason, I'm getting output like this when I only want the JSON returned.
{"service":"github","name":"crock","status":"available"}
404 Not Found

The page you have requested could not be found.

Here's the relevant code.
public function log_response($service, $word, $code, $msg = null) {
        if ($code == 200) {
            return \Flight::json(array('service' => $service, 'name' => $word, 'status' => 'available'));
        } else {
            // Some un-related stuff here
        }
    }

The Flight:json method doesn't return anything. It immediately sends a HTTP response with the json data. If you just need the json as data then use json_encode.

Ah okay, thanks for the quick, informative response!
Here's my route
Flight::route('/check/@service/@word(/raw)', function($service, $word){
    $status = new App\Controllers\ServiceController($service, $word);
    return $status;
});

If a route returns true, that means continue on to the next route. If there is no matching route after that it will return a 404.