Please update with reference to where to get the QR code

The instructions above indicate you need a QR code to scan to add/update your account, but provides no details on how to do this. Only thanks to an MVP in the Teams arena was I able to get this sorted out. And it's as simple as adding the following link in the article so people know how to get this code. Could you add it so others aren't confused like I was? https://account.activedirectory.windowsazure.com/Proofup.aspx

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

ID: 74268828-9af5-750f-0195-0cb3e367039f
Version Independent ID: 6c6cae91-9f54-2f50-8b74-b150308d5d2e
Content: Backup and recover info with Microsoft Authenticator - Azure
Content Source: articles/multi-factor-authentication/end-user/microsoft-authenticator-app-backup-and-recovery.md
Service: multi-factor-authentication
GitHub Login: @eross-msft
Microsoft Alias: lizross

@thatmattwade Thanks for the feedback! We are currently investigating and will update you shortly.

@thatmattwade Thanks for reporting, I have assigned this issue to content author to further investigate and update as appropriate.

Thank you for pointing this issue out! I'll review your recommendation and let you know when any change is made.

@thatmattwade I'm trying to go to the link that you'd like me to add to the article, but it's not resolving to any actual page. Can you provide more info for the link, like the title of the page itself? Anything that I can use to search for the page would help. Thank you!!

@eross-msft The link points to an Azure page that requires a login (though that's the point: this process is one to enable 2FA which requires confirmation of your identity). Below is a screenshot of the page, with some personal data blurred.

@thatmattwade  Thank you for the clarification. I'll look into this some more and get back to you with our suggestions and/or updates.

Well this was somewhat of a mission to find the answer. Given I stumbled upon this link along the way, I wanted to share what I found.
Essentially the user needs to navigate to their MyApps:

Launch MyApps (https://myapps.microsoft.com)
Click on your profile at the top right
Click on the 'Profile' option that appears
Click on the 'Additional Security Verification' link on the right
Configure your authenticator as required

Two helpful direct links: https://account.activedirectory.windowsazure.com/r#/profile
https://account.activedirectory.windowsazure.com/Proofup.aspx

I am adding this doc enhancement to my list of tasks. I will make sure we address it in the next release of the content. In the meantime, I'll add this link to the topic so there's a bit of a clarification: https://docs.microsoft.com/en-us/azure/multi-factor-authentication/end-user/microsoft-authenticator-app-how-to


✨ bookmarklet support for Gitlabs & Bitbucket repos

The Problem/Issue/Bug:
DDEV-gitpod bookmarklet does not support non-github "git repositories"
How this PR Solves The Problem:
This PR uses a regex expression to check for the 3 main repos

[x] Github - checks for "https://github.com"
[x] Gitlab - checks for "https://gitlab.com"
[x] Bitbucket - checks for "https://bitbucket."

Note:

I don't use bitbucket or gitlab on a regular basis.

Bitbucket

I did a search for bitbucket pulic repos and came across https://bitbucket.csiro.au/repos?visibility=public
Thought I might aswell expand support for non-"https;//bitbucket.org" repos
Not sure if github or gitlabs uses a similar thing

Manual Testing Instructions:

Add bookmarklet

Github

Visit https://github.com/rfay/randyfay.com

Gitlabs

Visit https://gitlab.com/weitzman/drupal-test-traits

Bitbucket

Visit https://bitbucket.csiro.au/users/bat161/repos/pytorch_unet/browse

Related Issue Link(s):
#3451

Your right, the bitbucket repo doesn't seem to pull down. When I "tested", it was basically making sure the page loaded but it seems the repo isn't even cloned.
I did a quick survey of co-workers that use bitbucket and did a search for other public repos.
A more "standard" repo seems to follow the following format where:
https://bitbucket.org/hyrioo-public/laravel-hyper-api/src/master/

hyrioo-public is the username
laravel-hyper-api is the repo name
master is the branch name

So after playing around this morning, I think the best approach for Bitbucket will be in the ddev-gitpod-launch repo.
It's failing because the git clone  line doesn't have a valid reponame
TEST
Visit the following repos, and click the bookmarklet

https://bitbucket.org/hyrioo-public/laravel-hyper-api/src/master/

$ echo ${DDEV_REPO}
https://bitbucket.org/hyrioo-public/laravel-hyper-api/src/master/
$ echo ${DDEV_REPO##*/}

$

https://github.com/rfay/randyfay.com

$ echo ${DDEV_REPO}
https://github.com/rfay/randyfay.com

$ echo  ${DDEV_REPO##*/}
randyfay.com

Bitbucket offers a 2 options for clone:

git clone git@bitbucket.org:hyrioo-public/laravel-hyper-api.git
git clone<EMAIL_ADDRESS>
But using the direct URL also seems to work

git clone https://bitbucket.org/hyrioo-public/laravel-hyper-api/src/master/

I think the bookmarklet functions correctly, but we could improve parsing in start_repo.sh

Detect if DDEV_REPO is bitbucket
If so, extract reponame

Perhaps you could run a Twitter poll and find out how many people use BitBucket, and what their "standard" url is.

I didn't completely understand you: Are you saying "let's drop bitbucket"? That's fine. Do we need changes then?

I submitted a PR to ddev-gitpod-launcher, https://github.com/drud/ddev-gitpod-launcher/pull/17 .
Assuming that PR is accepted, this PR should be good to merge as is.

Sorry, as over there, I don't think guessing the default branch will work out.  Thanks for your work on this. And if it needs to go without bitbucket support for now that will be OK.

Moving to #3526


Remove useless Windows (Phone) 8/8.1 information

The [FileOpenPicker] class described here is a component of the UWP platform which is exclusive to Windows 10. Hence, any information about how to use it on other platforms (such as Windows 8/8.1 or Windows Phone 8) is irrelevant and should be cut from this documentation.
This commit removes any references to non-Windows 10 API usages and also updates several links in the [See also] section to point to the the correct Windows 10 information.
*** End of basic commit information ***
General note: I posted an issue about this exact documentation issue on github MONTHS ago (back in May 2018) yet never got any reply from the MS docs team. (See: https://github.com/MicrosoftDocs/winrt-api/issues/373) So after months of waiting, here is my pull-request doing the job I reoprted to you guys all the while back. Hopefully, you can at least comment on it (if it will be approved, and if not, why).
While I love the new feedback system, it is pointless if you keep ignoring suggestions/requests made by your audience. Just browsing through the issues list for this repository (winrt-api) shows tons of user-requested changes without even A SINGLE COMMENT from the Microsoft team. Denying a request is one thing, but for you guys to not even comment on posted issues and why they won't be worked on is hugely disappointing!
Example issue which has been posted multiple times without any update: https://github.com/MicrosoftDocs/winrt-api/issues/387
If you keep ignoring your audience's ideas/requests, why even bother setting up such a nice feedback system?
Comments appreciated.

@msatranjr : The PR passed the acceptance checklist. Please evaluate further and approve/complete the PR if appropriate. Thanks!

Pull request #703 removes link locales. It seems like you just delete the /en-us.

@ptaffet ,
thanks for the info! I went ahead and removed the link locales.
@beneluxboy Does it look correct now?


Wrong start

https://www.boolder.com/en/fontainebleau/roche-aux-oiseaux/6354-anti-dogme
it starts higher up - it's not the sitstart variation (anti-dogme-assi).

Thanks for the feedback!
I will add the sit start version.

Hey!
I added the sit start version:
https://www.boolder.com/en/fontainebleau/roche-aux-oiseaux/22622-anti-dogme-assis
Thanks for your feedback.
And FYI we'll soon launch a new page to report errors and contribute to Boolder
Preview here: https://www.boolder.com/en/contribute


Method 'loadLanguages' cannot import packages correctly

url: prismjs/components/index.vue
example:
code:
import loadLanguages from 'prismjs/components/index'
loadLanguages(['css'])

error:
components sync?e27f:2 Uncaught Error: Cannot find module './prism-markup'

target:
origin code:
const pathToLanguage = './prism-' + lang
line 42: delete require.cache[require.resolve(pathToLanguage)]  // Packages cannot be imported correctly here
line 45: require(pathToLanguage) // Packages cannot be imported correctly here

advice:
line 42 -> delete require.cache[require.resolve(`./prism-${lang}`)]
line 45 -> require(`./prism-${lang}`)

That's not a lot of information to work with @ModernFarmer.
May I assume that you are using Vue.js? If so, is your component rendered on the server or on the client side?

I'm using prismjs in vue3 on the client side.

In that case, the easiest solution might be to use Autoloader and a CDN. loadLanguages is intended for server-side NodeJS usage.

Ok, thank you!

Same issue for us in Electron with Webpack.
Is there any way to manually load languages without relying on script tags and plugins? Looks like maybe the Babel plugin, but I'm really just trying to create a proof of concept here, so that seems like a lot.


Usage question

We are looking at upgrading our Cluster from v1.14.9 to v1.18.0.  It's not clear to me whether I should pull the v1.14 swagger json or the v1.18 json.

Hello and thanks for your interest in the project.
You should use the v1.18 version (--k8s-version=v1.18.9), because you're going to validate the objects from your cluster against their existence in the v1.18.9 version.
Let me know if this answers your question :)

That's what I thought, just wanted to make sure.
Thanks
On Mon, Sep 28, 2020 at 10:30 AM Ricardo Katz<EMAIL_ADDRESS>wrote:

Hello and thanks for your interest in the project.
You should use the v1.18 version (--k8s-version=v1.18.9), because you're
going to validate the objects from your cluster against their existence in
the v1.18.9 version.
Let me know if this answers your question :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rikatz/kubepug/issues/118#issuecomment-700044331, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAS6K7HZFNAKPNXA6X3PT4DSICMWZANCNFSM4R4RNGVQ
.


inline values do not work with mono-debug

While testing #18670:
Mono debug combines the variable type and name in the Variable's 'name' attribute. This seems to prevent the 'inline values' feature from finding values for variables.
Since variable hovers work (and they rely on the same lookup mechanism), it seems that the 'inline values' feature does not use the same code.

@weinand the current implementation on the vscode side feels like a hack, namely the debug hover looks for the last word in the name of the variable and that matches that agains the text that is being hovered over. I agree that we should use the same heuristics between the hover and inline variables, but what feels like a better solution to me is that mono debug should return the type as part of the type argument in the variable and not as part of the name.
If this is not possible then I can look into sharing the hacky heuristic between hover and inline values - though I would prefer to remove it from both places.

@isidorn that makes sense.

@weinand great. Once mono debug starts supporting this I can remove the hacky heuristic on the vscode side.

@isidorn do you know whether any other debug extension uses the same approach as mono-debug?

@weinand I do not know of any other extension that uses this approach.

fixed.
The latest mono-debug from the Marketplace (v0.13.0) shows inline values.

@weinand great!

Verified by code review of https://github.com/Microsoft/vscode-mono-debug/commit/d85fe27ccc085aba08d3ee3c928b78a93d1a3e22 and by understanding how inline values are computed and what was the initial issue


WIP: Add tests

#46 Add tests to upgrade plugin functionalities
This PR contains :

Add Base files for js project
Add dependencies for javascript testing
Configure travis
Trigger test on Webpack 1, 2, 3, 4

@owais What do you think about this changes ? I can add many more tests but i want to get feedback before continue.

Thanks for reviewing. This pr is a sandbox to do javascript testing and project standardisation.
727/5000
It was easier to show what I could do. I completely agree for cutting into several PRs.
I like TypeScript. I can take the opportunity to convert the project.
I propose to organize my work like this:

Close this PR
PR1: Yarn files
PR2: Standard javascript project files
PR3: Add tests only for webpack 1 (with or without a dockerfile)
Create a branch for webpack1 from master
PR4: Update tests only for webpack 2 (with or without a dockerfile)
Create a branch for webpack2 from master
PR5: Update tests only for webpack 3 (with or without a dockerfile)
Create a branch for webpack3 from master
PR6: Update tests only for webpack 4 (with or without a dockerfile)

@owais  What do you think about that ? I don't know what to do about version. I was thinking about specific major version for each webpack version with usage of minor for functionalities and patch for fix.

Can we support all webpack versions in the same webpack-bundle-tracker version/branch? Usage could look like:
var BundleTracker = require('webpack-bundle-tracker/webpackN');

where N would be the webpack version number. This way we can internally share most of the code and share a single branch. Testing might be easier as we can write or run the tests against a different sub-package.
How feasible do you think this would be?

Yes we can do it. I usually remove tests on unmaintained versions to force progressive update of application dependencies.
In our case, plugin isn't very complex and it seems to me a good idea to make several files by major version.
I will work on this we. I want to focus a little more on the tests this time around. I will start by cutting into 3 PR:

yarn files
Basic files + format files
test + Travis


Remove version column for EEntity

This PR fixes #1017.
The version column definition is now applied only to Projection and ProcessManager entities as a separate HasVersionColumn mixin.

@armiol PTAL.

@armiol PTAL.


chore(deps): update dependency puppeteer to v14.4.0

This PR contains the following updates:

Package
Type
Update
Change

puppeteer
devDependencies
minor
14.3.0 -> 14.4.0

Release Notes

puppeteer/puppeteer
v14.4.0
Compare Source
Features

export puppeteer methods (#8493) (465a7c4)
support node-like environments (#8490) (f64ec20)

Bug Fixes

parse empty options in  (#8489) (b30f3f4)
use error-like (#8504) (4d35990)
use OS-independent abs. path check (#8505) (bfd4e68)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

Renovate Ignore Notification
As this PR has been closed unmerged, Renovate will now ignore this update (14.4.0). You will still receive a PR once a newer version is released, so if you wish to permanently ignore this dependency, please add it to the ignoreDeps array of your renovate config.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.


optimize rotate?

while doing adventofcode i noticed rotate method a bit slow. checked implementation, does copy of array, allocates memory, not very good. implementation in ruby (copied from perl) does reverse three times:
https://github.com/ruby/ruby/blob/027b576b31cd12bad575b3a39476726273f58c41/array.c#L2296-L2315
i did benchmark with different sizes, seem after size 100 faster to allocate memory, otherwise do in place. or maybe always do in place?
class Array
  def new_rotate!(n = 1)
    return self if size == 0
    n %= size
    return self if n == 0

    Slice.new(@buffer, n).reverse! if n > 1
    Slice.new(@buffer + n, size - n).reverse! if n < size - 1
    reverse!
  end
end

def bench
  Time.measure do
    1_000_000.times do
      yield
    end
  end
end

sizes = [10, 20, 50, 100, 110, 200, 500, 1000, 5000]
rotate_counts = (1..9).to_a

puts "size, rotate, time old, time new"

sizes.each do |size|
  ary = Array.new(size, &.itself)

  rotate_counts.each do |rotate_count|
    time_old = bench { ary.rotate!(rotate_count) }
    time_new = bench { ary.new_rotate!(rotate_count) }
    puts "#{size}, #{rotate_count}, #{time_old}, #{time_new}"
  end
end

Output:
size, rotate, time old, time new
10, 1, 00:00:00.120928263, 00:00:00.016859090
10, 2, 00:00:00.101144279, 00:00:00.020961746
10, 3, 00:00:00.123458672, 00:00:00.017167817
10, 4, 00:00:00.122454864, 00:00:00.020344335
10, 5, 00:00:00.122315772, 00:00:00.017891776
10, 6, 00:00:00.123336572, 00:00:00.020212703
10, 7, 00:00:00.105817244, 00:00:00.018086583
10, 8, 00:00:00.100856720, 00:00:00.018376816
10, 9, 00:00:00.104535931, 00:00:00.018839083
20, 1, 00:00:00.100450762, 00:00:00.031587526
20, 2, 00:00:00.099028190, 00:00:00.031607453
20, 3, 00:00:00.116294172, 00:00:00.029703566
20, 4, 00:00:00.119623513, 00:00:00.030364195
20, 5, 00:00:00.116714344, 00:00:00.029344444
20, 6, 00:00:00.117427029, 00:00:00.034127133
20, 7, 00:00:00.134617673, 00:00:00.030561268
20, 8, 00:00:00.136022428, 00:00:00.030929011
20, 9, 00:00:00.129268385, 00:00:00.031708755
50, 1, 00:00:00.102764069, 00:00:00.067362985
50, 2, 00:00:00.106949262, 00:00:00.070628290
50, 3, 00:00:00.126886781, 00:00:00.072188116
50, 4, 00:00:00.128371287, 00:00:00.072219045
50, 5, 00:00:00.128669877, 00:00:00.070250427
50, 6, 00:00:00.128479294, 00:00:00.075750366
50, 7, 00:00:00.135220582, 00:00:00.069463664
50, 8, 00:00:00.137785256, 00:00:00.067685157
50, 9, 00:00:00.136315260, 00:00:00.071669669
100, 1, 00:00:00.099206141, 00:00:00.148144148
100, 2, 00:00:00.101125638, 00:00:00.147913928
100, 3, 00:00:00.131678238, 00:00:00.146786222
100, 4, 00:00:00.130791922, 00:00:00.156125615
100, 5, 00:00:00.128752702, 00:00:00.147817690
100, 6, 00:00:00.127315555, 00:00:00.148849068
100, 7, 00:00:00.137780093, 00:00:00.144140311
100, 8, 00:00:00.138602604, 00:00:00.149558444
100, 9, 00:00:00.140234268, 00:00:00.145874548
110, 1, 00:00:00.099337242, 00:00:00.153697442
110, 2, 00:00:00.099129942, 00:00:00.155149370
110, 3, 00:00:00.130136229, 00:00:00.160515708
110, 4, 00:00:00.131667602, 00:00:00.168184856
110, 5, 00:00:00.131960925, 00:00:00.158351375
110, 6, 00:00:00.131936713, 00:00:00.154146729
110, 7, 00:00:00.135346357, 00:00:00.153732246
110, 8, 00:00:00.137149644, 00:00:00.157924828
110, 9, 00:00:00.137761492, 00:00:00.162084057
200, 1, 00:00:00.114391576, 00:00:00.251576523
200, 2, 00:00:00.117437000, 00:00:00.269928936
200, 3, 00:00:00.138339056, 00:00:00.259907637
200, 4, 00:00:00.134251915, 00:00:00.251692345
200, 5, 00:00:00.134088314, 00:00:00.260822818
200, 6, 00:00:00.135678999, 00:00:00.263625594
200, 7, 00:00:00.141953332, 00:00:00.262330444
200, 8, 00:00:00.146124534, 00:00:00.267452469
200, 9, 00:00:00.147708968, 00:00:00.264784848
500, 1, 00:00:00.132368178, 00:00:00.615199123
500, 2, 00:00:00.127191336, 00:00:00.601483802
500, 3, 00:00:00.142068062, 00:00:00.594493267
500, 4, 00:00:00.142437275, 00:00:00.611995902
500, 5, 00:00:00.142401548, 00:00:00.587588649
500, 6, 00:00:00.144097188, 00:00:00.620041256
500, 7, 00:00:00.159433517, 00:00:00.608937110
500, 8, 00:00:00.165959937, 00:00:00.610409642
500, 9, 00:00:00.157916469, 00:00:00.613097371
1000, 1, 00:00:00.158271143, 00:00:01.176496980
1000, 2, 00:00:00.158373790, 00:00:01.181245065
1000, 3, 00:00:00.178311050, 00:00:01.150156520
1000, 4, 00:00:00.177887367, 00:00:01.215450674
1000, 5, 00:00:00.182622815, 00:00:01.233552764
1000, 6, 00:00:00.210927084, 00:00:01.241661947
1000, 7, 00:00:00.196003425, 00:00:01.189561179
1000, 8, 00:00:00.194813398, 00:00:01.193315692
1000, 9, 00:00:00.196365969, 00:00:01.203671327
5000, 1, 00:00:00.431793514, 00:00:06.029244231
5000, 2, 00:00:00.437870275, 00:00:05.902887141
5000, 3, 00:00:00.451904861, 00:00:06.663213585
5000, 4, 00:00:00.649389702, 00:00:06.158866684
5000, 5, 00:00:00.456520997, 00:00:06.533285982
5000, 6, 00:00:00.534730195, 00:00:07.382842737
5000, 7, 00:00:00.477839905, 00:00:05.966309350
5000, 8, 00:00:00.447289937, 00:00:06.108911938
5000, 9, 00:00:00.509821664, 00:00:05.920721640

it would also be helpful to make rotate work on a part of an array

size, rotate, time old, time new
5000, 9, 00:00:00.509821664, 00:00:05.920721640

new version is 10x slower here, ouch.

Please use Bechmark.ips for comparing performance. This makes it easier to recognize the differences.
require "benchmark"
sizes = [10, 20, 50, 100, 110, 200, 500, 1000, 5000]
rotate_counts = {1, 1000, 1001}

rotate_counts.each do |rotate_count|
  puts " == #{rotate_count} =="
  sizes.each do |size|
    ary = Array.new(size, &.itself)
    puts " === #{size} rotate #{rotate_count} ==="
    Benchmark.ips do |bm|
      bm.report "current" { ary.rotate!(rotate_count) }
      bm.report "new" { ary.new_rotate!(rotate_count) }
    end
  end
end

Results for rotate 1:
 === 10 rotate 1 ===
current   4.17M (239.98ns) (± 9.58%)  3.71× slower
    new  15.47M ( 64.64ns) (±17.91%)       fastest
 === 20 rotate 1 ===
current    4.4M (227.26ns) (± 9.80%)  2.43× slower
    new  10.68M ( 93.66ns) (±16.00%)       fastest
 === 50 rotate 1 ===
current   4.56M (219.45ns) (± 8.03%)  1.19× slower
    new   5.41M (184.86ns) (±10.07%)       fastest
 === 100 rotate 1 ===
current   4.23M (236.29ns) (± 8.35%)       fastest
    new   2.79M ( 358.3ns) (± 8.40%)  1.52× slower
 === 110 rotate 1 ===
current    4.3M (232.33ns) (± 7.11%)       fastest
    new   2.55M (391.62ns) (± 7.36%)  1.69× slower
 === 200 rotate 1 ===
current   3.74M (267.58ns) (±11.03%)       fastest
    new   1.28M (779.94ns) (± 9.78%)  2.91× slower
 === 500 rotate 1 ===
current   2.84M (352.02ns) (±11.73%)       fastest
    new 525.97k (   1.9µs) (± 7.87%)  5.40× slower
 === 1000 rotate 1 ===
current   2.05M (487.14ns) (±13.81%)       fastest
    new 270.51k (   3.7µs) (± 6.18%)  7.59× slower
 === 5000 rotate 1 ===
current 650.87k (  1.54µs) (± 8.68%)       fastest
    new   52.4k ( 19.09µs) (± 9.07%) 12.42× slower

On my machine, the performance lead switches somewhere between 50 and 100.
However, this is only for rotating by 1. Testing for rotation steps 1..9 does not really make any difference, the values are very similar. There are more significant differences with higher values.
If you rotate by a multiple of size (e.g. 1000), the new algorithm is slightly faster:
 === 10 rotate 1000 ===
current  59.06M ( 16.93ns) (±16.34%)  1.01× slower
    new   59.9M ( 16.69ns) (±20.17%)       fastest
 === 20 rotate 1000 ===
current  57.35M ( 17.44ns) (±20.04%)  1.07× slower
    new  61.49M ( 16.26ns) (±18.03%)       fastest
 === 50 rotate 1000 ===
current  59.07M ( 16.93ns) (±17.63%)  1.09× slower
    new  64.62M ( 15.48ns) (±14.13%)       fastest
 === 100 rotate 1000 ===
current  57.71M ( 17.33ns) (±19.60%)  1.09× slower
    new  63.09M ( 15.85ns) (±15.87%)       fastest
 === 110 rotate 1000 ===
current   3.16M (316.91ns) (± 8.68%)       fastest
    new   2.55M (392.79ns) (±10.53%)  1.24× slower
 === 200 rotate 1000 ===
current  60.53M ( 16.52ns) (±14.50%)  1.05× slower
    new  63.28M (  15.8ns) (±15.76%)       fastest
 === 500 rotate 1000 ===
current  56.82M (  17.6ns) (±20.58%)  1.11× slower
    new   63.3M (  15.8ns) (±16.25%)       fastest
 === 1000 rotate 1000 ===
current  58.74M ( 17.02ns) (±20.01%)  1.04× slower
    new  61.06M ( 16.38ns) (±19.83%)       fastest
 === 5000 rotate 1000 ===
current 113.33k (  8.82µs) (± 4.59%)       fastest
    new  58.88k ( 16.98µs) (± 7.51%)  1.92× slower

Now, lets take some higher and odd numbers that will require a good amount of rotating for most sizes. It looks like at size / 2 - 1 the current implementation has very bad performance:
 === 10 rotate 4 ===
current   3.93M ( 254.7ns) (±13.38%)  4.05× slower
    new  15.88M ( 62.97ns) (±15.50%)       fastest
 === 20 rotate 9 ===
current   3.77M (265.03ns) (± 7.08%)  3.00× slower
    new  11.31M (  88.4ns) (±14.33%)       fastest
 === 50 rotate 24 ===
current   2.51M (398.78ns) (± 9.03%)  2.12× slower
    new   5.32M (187.87ns) (±11.11%)       fastest
 === 100 rotate 49 ===
current   1.82M (549.46ns) (± 4.28%)  1.60× slower
    new   2.91M (344.23ns) (± 8.20%)       fastest
 === 110 rotate 54 ===
current   1.73M (579.47ns) (± 4.12%)  1.54× slower
    new   2.65M ( 376.9ns) (± 8.21%)       fastest
 === 200 rotate 99 ===
current   1.05M (955.07ns) (± 3.26%)  1.35× slower
    new   1.41M (709.23ns) (± 7.28%)       fastest
 === 500 rotate 249 ===
current 402.88k (  2.48µs) (± 3.95%)  1.33× slower
    new 535.31k (  1.87µs) (± 8.02%)       fastest
 === 1000 rotate 499 ===
current 268.91k (  3.72µs) (± 2.65%)       fastest
    new 267.07k (  3.74µs) (±10.40%)  1.01× slower
 === 5000 rotate 2499 ===
current  72.11k ( 13.87µs) (± 4.99%)       fastest
    new  54.65k (  18.3µs) (±11.35%)  1.32× slower

Here, the threshold is at about size 1000 instead of 100.
These numbers also show that the proposed algorithm has a very stable performance while the current implementation varies a lot depending on the rotation step. For example, with a size of 5000 elements, the current implementation reaches 650k IPS for rotate 1 but only 72k IPS for rotate 2499 while the propsed new algorithm has roughly the same value for both.

I wrote optimized (non-allocation version) rotate four months ago and I remember this is faster as same as current implementation, but I forgot this until now (due to #4837 works). I'll create a new pull request. Thank you.

Here is benchmark of some algorithms and result plot is this:

temp_array algorithm is current Crystal implementation. It looks fastest if rotation size is small, however it is slow and slow as rotation size gets close to the half of array size. Finally, the worst IPS of temp_array is the same as other non-allocation algorithms.
block_swap algorithm looks the fastest of non-allocation algorithms, but it is slower than temp_array totally :cry: So I optimize block_swap by n = 1 rotation boosting, this is named block_swap_1_opt in the above plot. It is known that n = 1 and also n = array size - 1 rotation can be ran efficiently on stack. In real, it is faster than temp_array on n = 1 (see the leftmost of plot and here). I think it is useful, based on this observation:

If n = 1 rotation is used, speed is important because it is known that n = 1 rotation can be ran efficiently.
If n > 1 rotation is used, memory efficient is more important than speed because memory usage invokes unintentional performance issues. For example, the memory is crowded by rotate allocated memory and other memory is moved to swap, then it causes serious performance issue.

I'll create a new pull request with block_swap_1_opt algorithm.

Additionally I remember libc++ uses this approach also.

btw, what the real use case for rotate? i never use it.

It would be nice to have some context about what the diagram shows.
If I understand correctly, the x axis shows the number of rotation steps (from 0 to 500k in steps of 50k) and y axis the numer of instructions per second each algorithm achieves (higher = better). All operations where done on an array of size 1M.

Yew, some algorithms uses rotate and it is very very popular operation. You have never used rotate yet, however you may use rotate tomorrow.

@MakeNowJust would be great to get benchmarks of those algorithms on small arrays.

Small array (array.size == 100) result plot and sources codes:

It shows better result than current on small array.

Hello. How about reusing capacity?
class Array
  def rotate_reusing_capacity!(n)
    return self if size == 0
    n %= size
    return self if n == 0
    if n <= size / 2
      if n < @capacity - size
        @buffer.move_to(@buffer + size, n)
        @buffer.move_from(@buffer + n, size)
        (@buffer + size).clear(n)
      else
        tmp = self[0..n]
        @buffer.move_from(@buffer + n, size - n)
        (@buffer + size - n).copy_from(tmp.to_unsafe, n)
      end
    else
      m = size - n
      if m < @capacity - size
        @buffer.move_to(@buffer + m, size)
        @buffer.move_from(@buffer + size, m)
        (@buffer + size).clear(m)
      else
        tmp = self[n..-1]
        (@buffer + size - n).move_from(@buffer, n)
        @buffer.copy_from(tmp.to_unsafe, size - n)
      end
    end
    self
  end
end

Since #8516 was merged, can this be closed?
Here are some benchmarks using the script from straight-shoota:
 == 1 ==
 === 10 rotate 1 ===
current 194.36M (  5.15ns) (± 0.21%)  0.0B/op        fastest
    new  99.71M ( 10.03ns) (± 1.15%)  0.0B/op   1.95× slower
 === 20 rotate 1 ===
current 155.33M (  6.44ns) (± 1.32%)  0.0B/op        fastest
    new  58.95M ( 16.96ns) (± 1.32%)  0.0B/op   2.64× slower
 === 50 rotate 1 ===
current 130.75M (  7.65ns) (± 1.24%)  0.0B/op        fastest
    new  30.86M ( 32.41ns) (± 0.33%)  0.0B/op   4.24× slower
 === 100 rotate 1 ===
current 103.18M (  9.69ns) (± 1.36%)  0.0B/op        fastest
    new  17.37M ( 57.58ns) (± 0.56%)  0.0B/op   5.94× slower
 === 110 rotate 1 ===
current  92.91M ( 10.76ns) (± 1.03%)  0.0B/op        fastest
    new  16.11M ( 62.07ns) (± 1.18%)  0.0B/op   5.77× slower
 === 200 rotate 1 ===
current  80.84M ( 12.37ns) (± 1.03%)  0.0B/op        fastest
    new   8.41M (118.88ns) (± 0.62%)  0.0B/op   9.61× slower
 === 500 rotate 1 ===
current  45.41M ( 22.02ns) (± 1.16%)  0.0B/op        fastest
    new   3.73M (268.05ns) (± 0.46%)  0.0B/op  12.17× slower
 === 1000 rotate 1 ===
current  26.74M ( 37.40ns) (± 0.67%)  0.0B/op        fastest
    new   1.94M (516.05ns) (± 0.38%)  0.0B/op  13.80× slower
 === 5000 rotate 1 ===
current   6.12M (163.47ns) (± 1.12%)  0.0B/op        fastest
    new 399.25k (  2.50µs) (± 0.15%)  0.0B/op  15.32× slower
 == 1000 ==
 === 10 rotate 1000 ===
current 239.53M (  4.17ns) (± 0.19%)  0.0B/op   1.01× slower
    new 241.47M (  4.14ns) (± 0.30%)  0.0B/op        fastest
 === 20 rotate 1000 ===
current 255.64M (  3.91ns) (± 0.23%)  0.0B/op   1.00× slower
    new 256.26M (  3.90ns) (± 0.53%)  0.0B/op        fastest
 === 50 rotate 1000 ===
current 255.66M (  3.91ns) (± 0.27%)  0.0B/op   1.00× slower
    new 256.66M (  3.90ns) (± 0.30%)  0.0B/op        fastest
 === 100 rotate 1000 ===
current 272.13M (  3.67ns) (± 0.21%)  0.0B/op   1.01× slower
    new 273.79M (  3.65ns) (± 0.19%)  0.0B/op        fastest
 === 110 rotate 1000 ===
current  75.26M ( 13.29ns) (± 1.86%)  0.0B/op        fastest
    new  16.20M ( 61.71ns) (± 0.46%)  0.0B/op   4.64× slower
 === 200 rotate 1000 ===
current 272.14M (  3.67ns) (± 0.25%)  0.0B/op   1.01× slower
    new 273.71M (  3.65ns) (± 0.22%)  0.0B/op        fastest
 === 500 rotate 1000 ===
current 289.89M (  3.45ns) (± 0.26%)  0.0B/op   1.01× slower
    new 292.49M (  3.42ns) (± 0.48%)  0.0B/op        fastest
 === 1000 rotate 1000 ===
current 289.23M (  3.46ns) (± 0.45%)  0.0B/op   1.01× slower
    new 290.98M (  3.44ns) (± 0.72%)  0.0B/op        fastest
 === 5000 rotate 1000 ===
current   1.02M (980.30ns) (± 3.11%)  3.96kB/op        fastest
    new 404.41k (  2.47µs) (± 0.30%)    0.0B/op   2.52× slower
 == 1001 ==
 === 10 rotate 1001 ===
current 156.26M (  6.40ns) (± 1.40%)  0.0B/op        fastest
    new  92.06M ( 10.86ns) (± 1.58%)  0.0B/op   1.70× slower
 === 20 rotate 1001 ===
current 155.01M (  6.45ns) (± 1.26%)  0.0B/op        fastest
    new  57.03M ( 17.54ns) (± 1.46%)  0.0B/op   2.72× slower
 === 50 rotate 1001 ===
current 130.91M (  7.64ns) (± 1.07%)  0.0B/op        fastest
    new  30.31M ( 33.00ns) (± 1.02%)  0.0B/op   4.32× slower
 === 100 rotate 1001 ===
current 104.19M (  9.60ns) (± 1.52%)  0.0B/op        fastest
    new  17.40M ( 57.46ns) (± 0.72%)  0.0B/op   5.99× slower
 === 110 rotate 1001 ===
current  74.76M ( 13.38ns) (± 3.93%)  0.0B/op        fastest
    new  16.54M ( 60.44ns) (± 0.62%)  0.0B/op   4.52× slower
 === 200 rotate 1001 ===
current  81.94M ( 12.20ns) (± 0.94%)  0.0B/op        fastest
    new   8.49M (117.82ns) (± 0.44%)  0.0B/op   9.66× slower
 === 500 rotate 1001 ===
current  45.77M ( 21.85ns) (± 1.08%)  0.0B/op        fastest
    new   3.76M (266.02ns) (± 0.67%)  0.0B/op  12.18× slower
 === 1000 rotate 1001 ===
current  26.97M ( 37.08ns) (± 0.92%)  0.0B/op        fastest
    new   1.96M (511.40ns) (± 0.34%)  0.0B/op  13.79× slower
 === 5000 rotate 1001 ===
current 944.45k (  1.06µs) (± 8.75%)  3.96kB/op        fastest
    new 396.03k (  2.53µs) (± 0.54%)    0.0B/op   2.38× slower

So the current behavior is basically always faster or slower by 1%
(btw why is the benchmark tool showing 1.01× slower while it is only 1% / 0.01× slower ?)

The results are not to be read as "1.01 times slower than the reference" but "1.01 times of the reference, which is slower".
But I agree this can be closed.


/api/v1/wallet doesn't show updated balance after making a payment

Detailed for @callebtc
This has been experienced on Voltage's LNbits install and has not been reproduced on legend.lnbits.com. Not tested elsewhere.
After making a LN payment, querying a wallet's balance does not show the updated balance until either the Web UI has been refreshed or a call to /api/v1/payments has been made.
Steps to reproduce

View balance curl -X GET https://38095bf851.d.voltageapp.io/api/v1/wallet -H "X-Api-Key: b9acb5b6716d4a5f8c66f080178cbe05"
Pay this LNURLp LNURL1DP68GURN8GHJ7VECXQUN2CNX8Q6NZTNY9EMX7MR5V9NK2CTSWQHXJME0D3H82UNVWQHKZURF9AMRZTMVDE6HYMP0XGUTR9M7
View balance unchanged curl -X GET https://38095bf851.d.voltageapp.io/api/v1/wallet -H "X-Api-Key: b9acb5b6716d4a5f8c66f080178cbe05"
Request payments API endpoint curl -X GET https://38095bf851.d.voltageapp.io/api/v1/payments -H "X-Api-Key: b9acb5b6716d4a5f8c66f080178cbe05"
View updated balance curl -X GET https://38095bf851.d.voltageapp.io/api/v1/wallet -H "X-Api-Key: b9acb5b6716d4a5f8c66f080178cbe05"

Voltage released an update for lnbits which I applied and it seems to have resolved this issue. Closing for now...

Can you tell what you applied to fix this?

This is still an issue on main as reported by @diskbuster

Issue is solved! when using lnbits as an backend for lnbits, the backend should also be at least the latest version also!

Now resolved.

Just replicated this running "LNbits version: 0.11.3" on Voltage.
As @blackcoffeexbt described, hitting the /api/v1/payments/ endpoint finally made the updated balance show up.
Oddly, the balance would update for invoices paid from another lnbits wallet (on the same node as wallet creating invoice). But balance would not update when paid from Breeze mobile wallet (even though payment success is confirmed by both mobile wallet and LND node).

Just replicated this running "LNbits version: 0.11.3" on Voltage.
As @blackcoffeexbt described, hitting the /api/v1/payments/ endpoint finally made the updated balance show up.
Oddly, the balance would update for invoices paid from another lnbits wallet (on the same node as wallet creating invoice). But balance would not update when paid from Breeze mobile wallet (even though payment success is confirmed by both mobile wallet and LND node).

0.11.3 is very old
Try reproducing with recent version. If this is still issue with the latest, please reopen.


Getting error for ImageEditor (has been removed from React Native)

Use 'react-native-image-editor'

Hi @sahilvicesoftware! I updated the version of this library. Now using @react-native-community/image-editor. Please check out README. In short, you will also have to install @react-native-community/image-editor

Hi @sahilvicesoftware! I updated the version of this library. Now using @react-native-community/image-editor. Please check out README. In short, you will also have to install @react-native-community/image-editor

Thanks @barrsan


Update nvim-workbench.vim

Fixed the highlighting problem. :noh turns off highlighting until the next search. Essentially I piped the command.
Fixes Issues #4
Works on my config but unsure if there are issues on different configs.

Hi @Vanderscycle, sorry for the late reply, it has been a busy week at work. I have received a few issues regarding the same problem, so I have decided to fix it. I think the current code should fix the highlighting problem. I have learned a lot throughout the process as well, you can take a look at the recent commits on how I am trying to solve it. I am using some example I found online as well. Credit to (https://gist.github.com/olmokramer/feadbf14a055efd46a8e1bf1e4be4447)
If you don't mind, can you try updating the plugin and see if it works. Anyway, really appreciate you spending time trying to fix this :) Have a great day.

Sounds good, I'll give it a look.


Adding followme to documentation index for distro distribution.yaml

I'd like followme to be index and documented on ros.org.

The validation of the PR failed because the version indigo is not a valid branch in the repository.
But beside that you should not use the same repository for the upstream sources and the release. Please follow the bloom tutorial to setup a separate release repository and after that clean your upstream repository.

The first time release tutorial can be found here: http://wiki.ros.org/bloom/Tutorials/FirstTimeRelease

Closing. Please follow the above tutorial to open a new PR using bloom.


Improve performance of HillasReconstructor

Please describe the use case that requires this feature.
HillasReconstructor is dominating the runtime of processing simtel files up to DL2 training. A cursory glance at the code lets me think there is a lot of room for easy improvement.
Describe the solution you'd like
Refactor HillasReconstructor code to optimize performance.

most of the time is taken in the coordinate transforms and creating coordinates. It's likely that could be optimized

Most of this was done in #2036


net: ParseCIDR returns IP of size 16 and not 4 for IPv4

What version of Go are you using (go version)?

$ go version
go version go1.13.6 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
Fedora 31
What did you do?
ParseCIDR does not return IP of expected size, at least according to the contract https://golang.org/pkg/net/#IP.To16 where it reads "If ip is not an IP address (it is the wrong length), To16 returns nil." Although the implementation of the IP address should be hidden, functions To4 and To16 actually do not follow the documentation. I want to use them to determine if the parsed IP address is IPv4 or IPv6, looks like it can't be done in any other way.
Reproducer: https://play.golang.org/p/eEiQOZkOWnu

@bradfitz @mikioh

In general IPv4 address may be represented as IPv6.

I want to use them to determine if the parsed IP address is IPv4 or IPv6, looks like it can't be done in any other way.

You can: the way to do it is to check whether it's an IPv4 address or not (so see if To4 returns nil). If it doesn't, you have an IPv4 address. If it does, you have an IPv6 address which does not represent an IPv4 address. Example:
https://play.golang.org/p/eY-VUtGE5Jr

Although the implementation of the IP address should be hidden, functions To4 and To16 actually do not follow the documentation.

They do. The address you have is the right length to be an IP address.

Okay, thanks.


Question. Create DB query, cannot make it work with Statement Parameters

conn.Query("CREATE DATABASE [?1]", dbName) is giving me error Error creating MSSQL database my_db1: sql: statement expects 0 inputs; got 1, %!s(MISSING)
same but with concat is working:
 _, err = conn.Query("CREATE DATABASE [" + dbName + "]")
I made that based on example in ReadME
db.Query("SELECT * FROM t WHERE a = ?3, b = ?2, c = ?1", "x", "y", "z")
SELECT is working for me

Does db.Ping() work?

Yeap, ping is working, and connection is fine. I can create DB if I use string concat "CREATE DATABASE [" + dbName + "]" but when I try to substitute it with statement parameters it fails.
I have SELECT statement with conn.Query("SELECT db_id(?1)", dbName) and it works fine.

Hello @partamonov
SQL Server cannot use parameters for identifiers (such as table names, field names and database names)
The only way is to concatenate the strings. If dbName can be entered by users, replace ']' characters with "]]" (e.g. "test]; drop database [master" must be escaped as "test]]; drop database [master" )

Thank you. I re-read docs and found what I need. once again thank you for clarifying.


Opencascade 7.5.0 with TCL/TK 8.6.11

Describe the pull request
Downgrading TCL to the latest stable release : 8.6.11
Adding TK latest release: 8.6.11-1
Adding the ability to build Opencascade with the visualization option (Draw)

Which triplets are supported/not supported? Have you updated the CI baseline?

Windows (hopefully)
Linux (new!)

I had an issue with the current build
Opencascade Version 7.5 - x64-windows
In Debug build the Occ TKService.DLL references relase mode freetype.dll (and its dependencies bz2.dll and libpng16.dll) instead of correctly freetyped.dll


Can we use DevTools to debug the UI layout?

Find a way to debug UI issues
Flet is very elegant and easy to use. It's smooth to develop simple UI, but when it comes to developing more complex UI interfaces with nested component layers, I haven't found a convenient method for debugging the UI layout.
Previously, when developing Web UI, I used Chrome DevTools which allowed me to inspect elements.
I hope that similar tools can be used when developing with Flet.
(Optional): Suggest A Solution
Dart Devtools It looks quite close to the requirements, but when I tried to connect Flet Web, it felt stuck. Could you provide some help or ideas? Thanks~

I'd also note that Dart Devtools is a very smart and efficient tool for flutter debugging.
Instead of reinventing the wheel, it would make a lot of sense to somehow integrate Dart Devtools with flet, even if it has reasonable overhead when running.
All flet developers would immensely benefit from this.

up


Migration to Android Studio

Any consideration for migrating the project from Eclipse to Android Studio, now that this is the official IDE of Android?

I just merged pull request #45 which adds support for Android Studio, happy dev'ing!

That's great!  Thanks very much.


prisma: 3.11.0 -> 3.12.0

Description of changes
Changelog: https://github.com/prisma/prisma/releases/tag/3.12.0
Things done

Built on platform(s)

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

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Packages updated are nodePackages.prisma and prisma-engines and not prisma (at top-level) as conveyed on commit message. Ideally we should be more precise on this. Each package on it's own commit. When running nixpkgs-review pr only prisma-engines was built. I don't know if this is related. I'm still trying to understand.

The thing why they're bundled is that we cannot update only one of them, they must come in bundle. Why they're not in the same build setup is an unfortunate decision made by Prisma ages ago...

The thing why they're bundled is that we cannot update only one of them, they must come in bundle. Why they're not in the same build setup is an unfortunate decision made by Prisma ages ago...

I was referring to the location of package at nixpkgs. In nixpkgs, at top level, package prisma does not exist. Which makes the commit message wrong. And as two packages are being updated, there should be two commit messages. One for nodePackages.prisma and another for prisma-engines.
Sorry about the inconvenience here just following the guidelines.

Oh, cool. Fixed that!

I'm just wondering is it really worth it due to somebody just checking this commit and then building nodePackages.prisma would give them a broken tool...

You could add a comment to both packages saying it needs to be updated in lockstep with nodePackages.prisma, prisma-engines.

A note on why such package shouldn't be used standalone could be good as well. We need more documentation on Prisma here. I've struggled a bit with Prisma. And my setup is still far from ideal. (I'm still using a nix-shell that I want to get rid of, eventually.)

You basically need both packages, nodePackages.prisma is the command line utility, and the node library prisma-client needs to know where to find the engine files, and in general nixpkgs don't hold javascript libraries, so you need to do an environment trick for it to work (as seen in my example).

Added comments about the dependency.

Wait, so docs and version change in the same commit or how do we squash?

Too bad NixOS is not and probably will not be officially supported by the company. Luckily two Prisma's Rust devs are hardcore NixOS users and here we are. :)

As Nix is gaining in popularity, this might change. I see a lot of growth of Nix happening. Everything at it's due time. Thanks for your contribution to Nix. Happy to use it. :-)

It's just a comment. Not a problem. You don't need to add docs for now. The comment is enough.

Quickly still confirming, do you want me to modify this PR somehow, didn't really catch that.

Quickly still confirming, do you want me to modify this PR somehow, didn't really catch that.

As you are changing 2 packages, it should be 2 commits and not 4 commits. One commit per package.

Done.


Release Savepoint

Your Question
Why doesn't gorm support RELEASE SAVEPOINT? it allows the DB to free up resources by rolling the changes into the parent transaction/savepoint. As gorm implements nested transaction with the use of savepoints i think it's highly advisable to automatically release a nested savepoint in *DB.Transaction logic.
Expected answer
I expected to have automatic savepoint release functionality inside the transaction handler or atleast to have a method Release(name string) *DB.

@jinzhu if you would agree i can attempt to make a PR for this

It seems like a valuable feature. Thank you for your contribution.

It seems like a valuable feature. Thank you for your contribution.

i also didn't see this comment for some reason so if this is actually still open, i can try to create a PR. lmk.


[Continuous Sync] Monitor and sync local file changes continuously with remote machine

I have given it a try after checking the issue #159  @artem-zinnatullin , It would be great to know what you think about this solution. I have tested with my android project running with remote docker container. I am able to make my builds and changes are synced consistently. Even though local to remote sync is not a time-consuming task with android projects, I assume that it will be helpful for other types of projects.

Monitors file changes in the local project using "fswatch (http://emcrisostomo.github.io/fswatch/)" and syncs it with the remote machine.
fswatch monitors with a latency of 5 seconds to reduce the number of syncs initiated.
Do not monitor the paths specified in common ignore and local_ignore files to avoid unnecessary syncs while syncing from local machine to remote machine.

Nice work! I imagined it as an option for mainframer.sh, like mainframer.sh --continuous-sync command.

Can you please check what happens in following scenario:

You make change in fs
fswatch detects it
remote machine starts build
while build is happening on remote machine you make another change

Will it run two builds in parallel or it'll run new one only after previous finishes?

Another concern I have about this is that many build systems support such continuos modes  themselves (Gradle, Buck, etc), I don't see clear ways to support that with mainframer and that creates a question of "should we add support for this feature or not?"…
cc @ming13 PTAL

Looks interesting, but I have some concerns.
The desirable usecase looks something like this (I guess).

Run Mainframer in continuous mode.
Change source code.
The build was successful (or not?).
Run the application.
As we cannot guarantee that the continuous build actually finished we will run the build again just to be sure. In this case we have to rely on build system to support incremental builds properly.

So the main benefit from this seems to be feeding the build system cache and incremental compilation.
BTW I have no idea how IDEA (see what I did here) will behave on constant resync with failed builds. It will try to reindex I guess and probably break resolved dependencies if they have failed.
I’m pretty sure there are similar solutions we can learn from. There is Guard for Ruby for example.
BTW 2 There is IDEA option Make project automatically, have no idea how it works. Some info about that.

Thanks for the feedback @artem-zinnatullin and @ming13
At present the sycmainfraner.sh script only syncs the changes with the remote machine as we make changes on the local machine. It does not initiate any build.
If I trigger a build after every sync then it can result in compilation errors due to incomplete changes as we cannot guarantee that the code will compile after every sync.
Moving the continuous sync functionality inside mainframer.sh with a --continuous-sync or -cs is definitely better than a separate script. But it will not take any build parameters as it does not trigger any build.
As you guys said the continuous build is being introduced to many build systems. Gradle has the continuous build mode in an early stage (https://docs.gradle.org/current/userguide/continuous_build.html).  But when it is released, we can trigger a continuous build in the remote machine just like any other build command with mainframer.sh and it will finish and sync back only when the user kills the continuous build execution. So, we need to sync the changes from local machine to remote machine continuously for the continuous build system to work.
So the use case will be,

In terminal 1 user will run "$mainframer.sh --continuous-sync" which will sync the changes continuously with the remote machine and the user can press ctrl+c to stop it.

In terminal 2 users will trigger a gradle build in continuous mode when it is available ($mainframer.sh ./gradlew -t testDebugUnitTes) which will make a new build whenever we sync from local machine to remote machine based on its own rules. It can take care of the compilation errors and the concerns with multiple builds based on the change introduced and the number of builds currently running.

If the user runs a normal build then the local to remote sync will be immediate as the changes are already synced in advance.

What do you guys think?

My bad, I saw this as continuous build but it is a continuous sync indeed. Well, in that case we can definitely introduce a --sync or --sync-daemon option to push changes to remote machine all the time. @artem-zinnatullin, any thoughts on this?

@ming13 No worries :) I would prefer to call it --continuous-sync ( -c in short form ). IMHO --sync refers one-time sync and our script is going to be a foreground process and not a daemon. What do you think?

@artem-zinnatullin @ming13 Hey folks, If you guys can give me a go ahead with moving this functionality inside mainframer.sh then I can make the additional changes. I am just waiting for your green flag :)

Sorry for long pause @balachandarlinks,
So we've discussed this thing in details with @ming13 and I've tried ./gradlew --continuous to find out how it could fit into this, what we've decided for now:

We're ~ok with adding such mode to mainframer.sh if we'll be able to solve most of the corner cases.
Mode should allow both local-to-remote and two-way syncs with local-to-remote enabled by default. two-way sync is required for continous builds provided by build system, so you could use results on your local machine (ie web development), two-way sync would require fswatch on remote machine as well.
Mode should allow user to pass command that'll be invoked on remote machine after each sync. If you don't need it you can just pass echo noop or we can allow invocations with empty command.
Mode should be added as a parameter and not affect execution nor performance of old use cases and mainframer.sh should not require fswatch for invocations without this mode.

This is what we want to target, of course we can implement it step by step, ie add two-way sync later.
@balachandarlinks feel free to comment!
@ming13 PTAL

@artem-zinnatullin  Sounds like a good plan 👍 We can investigate further on case by case.
So let's have a roadmap,

Continuous local to remote sync mode (--continuous-sync) without remote command execution support.
Adding continuous remote to local sync to --continuous-sync mode.
Adding remote command execution support to continuous sync mode.
I agree with your thoughts on fswatch requirement and supporting existing usecase as it is.

While doing my code changes, I thought that it would be good to follow a common code style/standard guideline.  Can we create one or accept a widely used one. There is a Google code guideline for bash scripts. It was looking good. Please take a look and let your what you guys think.
Google style guideline : https://google.github.io/styleguide/shell.xml
Note: I am currently in vacation and will resume only by the first week of may. So I may not be able to update my PR immediately. Apologies :(

I thought that it would be good to follow a common code style/standard guideline. Can we create one or accept a widely used one.

Good point! Created separate issue for codestyle #165. Since you're on vacation this gives us some time to apply codestyle first so your changes would not affect whole file, then we can start accepting small prs to main or separate feature branch for --continuos-syncand see how it fits the project and solves real world use cases :)
@balachandarlinks have a good rest on your vacation and don't write any line of code! At least not in our projects haha 🏖

@artem-zinnatullin My sincere apologies for keeping it open for a long time without progress. I feel guilty :/ I will close this PR and will open a new one soon.

@balachandarlinks, don’t be, everything is fine ;-)


pass context to truthy blocks

this needed for passing arguments through webpack query, for example you have 10 targets with different languages, this will let to pass lang as a query to every build
// #if this.query.lang === 'En'
--- do something ---
// #endif

this will let to pass lang as a query to every build

@MoreBlood, looks interesting and possibly helpful to what I'm working on. Could you give an example of how the langs would be passed to each build?

@njgraf512

            {
              loader: 'webpack-conditional-loader',
              query: {
                aspectRatio: build.width / build.height,
                resizeCode: helpers.getSizeCodeName(build.width, build.height),
                language: build.language,
                localizationTool: true,
              },


:seedling: Add Gantt Chart

What do you propose?
Adding a gantt chart to display the progression of different artists.
Do you have an idea how to implement that?
Yes
Code of Conduct

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

Done with commit: 8c5721fe5855444ded5808e72d26356417bad4f2


Add config option to stellar-core.cfg file

In the online mode users should be allowed to set their quorum slices and DB configuration. To allow this Horizon should accept a new config option with a path to stellar-core.cfg file. This file should be copied to a temp folder when stellar-core process is started.

Related core PR (this is in 13.2): https://github.com/stellar/stellar-core/pull/2574

Fixed in https://github.com/stellar/go/pull/2823.


[14.0] ISPN-14356 Set default datasource max-size

https://issues.redhat.com/browse/ISPN-14356

Integrated into 14.0.x, thanks @tristantarrant !


Fix several incorrect use of current_user.groups

In both validating token permissions as well as validating SAML and
OIDC group membership, asserted_groups should be used to ensure that
any group membership requirements (eg: MFA) are upheld correctly.
Closes #390

Coverage remained the same at 87.297% when pulling<PHONE_NUMBER>9305c4d3dfd6f479d4698324f843f7 on bug/groups-vs-asserted-groups into dfb7ba512df6d68ef8d73cee7f07159da3b1acfe on main.


chore(blockifier): replace entry_point_gas_cost with initial_budget

crates/blockifier/cairo_native line 1 at r2 (raw file):

Subproject commit 76e83965d3bf1252eb6c68200a3accd5fd1ec004

reminder: solve this before merging


coveo ui:create:* preconditions does not work properly

System Information

CLI version:  @coveo/cli/1.0.0 win32-x86 node-v14.16.1
Terminal: cmd.exe & PowerShell

Steps to reproduce:

Run coveo ui:create:angular projectName (or ui:create:react). You should get the following error message:

 »   An unknown error happened while running npm --version.
 »   spawn npm ENOENT
 »   Warning: Please visit https://github.com/coveo/cli/wiki/Node.js,-NPM-and-NPX-requirements for more detailed
 »   installation information.

With coveo ui:create:vue you should get the following error message:

Error: spawn UNKNOWN
Code: UNKNOWN

CDX-245

Fixed in #158
Released in update channel.


[FEATURE]: Would be great to have it in VS Code as an extension

I guess you already know.

Yea such extensions, but not this extension ;)


config.md: clarify which filed is required or optional

It's not clear which filed is required or optional in config.md(https://github.com/opencontainers/image-spec/blob/master/config.md)
We should make this clear.

On Mon, Sep 19, 2016 at 07:51:00PM -0700, Lei Jitang wrote:

It's not clear which filed is required or optional in config.md

Dup of #251?

yes, it's a dup


Wordpress kb articles

Requested pull incorrectly the first time.
Trying again.

updated markdown syntax

@bburge the "alt text" for images should either describe the image (for screen readers), or be left blank.


Docs Guide (input-multiple-models.md) - Example assumes PK id's are in sync

I noticed that in the example on this page: https://github.com/yiisoft/yii2/blob/master/docs/guide/input-multiple-models.md
The UserController's actionUpdate function assumes that the user table's primary key and the user_profile table's primary key are in sync. This may not always be the case, and is likely to cause issues for users down the road (and during development).
It would be better to use the relation's foreign key which maps back to the user table. Example in "solution" below.
My user table is stock from advanced migration example. So the id is auto-incrementing primary key.
In my user_profile table, I have:
id (auto incrementing primary key), user_id (foreign key to user table's id column), nicename, phone, address, etc, etc.

In the example, using findOne($id), it is grabbing the current model/user id and trying to find that same id in the user_profile table. This would generally work. However, say you manually create a user_profile, the incremental value of the id would now be 1 higher than the user table. Until you manually go into your database and fix the incremental value, it will always be 1 off. If it is off, it will grab the wrong profile!!!
Solution
Clip of what the docs should show:
https://github.com/yiisoft/yii2/blob/master/docs/guide/input-multiple-models.md
class UserController extends Controller
{
    public function actionUpdate($id)
    {
        $user = User::findOne($id);
        $profile = Profile::findOne(['user_id' => $id]);  // <-- fix
        // -- truncated
    }
}

I understand that not everyone may have user_id column, they may name it something else. So I am not sure how to "officially" doc this. I am just pointing out the possible issue.
Alternative Solution
Since not everyone will use the same column names, maybe in their Profile model, they can make their own findProfile() function.
public static function findProfile($userId)
{
    return self::findOne(['user_id' => $userId]);  // replace 'user_id' with your column name
}

Then call it in UserController:
$profile = Profile::findProfile($id);

Fixed. Thanks!

Your Welcome.
While it is fixed for clarity, are there any Yii docs/guides that would lead a user up to creating the 'user_profile' column, or assigning a getter for it? This assumes they track the profile id in the user table, or have created a getter or variable to hold it. My user table has no knowledge of the profile table. In my profile table, I have a fk holder the user's id it matches.
What I am saying is, there are multiple ways to do it. So if there are guides/docs that would instruct the user on creating a profile table, and mapping the user id, so that your code using $user->profile_id would work for them, then maybe we should link to it so they can setup the prerequisites.
You could do this (using relation):
$profile = Profile::findOne($user->userProfile->user_id);

Where userProfile is my relation to my user_profile table, and user_id is a fk to the user table.
I actually created a getter:
/common/models/User.php
public function getProfileId()
{
    return $this->userProfile->user_id;  // userProfile is relation and user_id is fk to user table
}

use in UserController.php
$profile = Profile::findOne($user->profileId);  // calls the getter function in User

While I obviously can read the guide and solve the issue myself, others (newer to Yii) may be lost. Which is why I was wondering if there was some guides or docs we could link to, that would get them set up with handling the user profile as you have demonstrated. Something that if they follow, they are already properly setup to use the code on this page.

Well, user profile could be implemented in many ways and we can't show all these. There's no single correct way doing it.


No styling or preferences

I just installed Obsidian and this plugin for the first time (about an hour ago), but I'm not getting styled previews or a settings section for the plugin. I've tried making it the only enabled plugin without any change there.

Obsidian version: 1.1.9
Fantasy Statblocks: 2.25.0
OS: macOS Ventura 13.x
What could be wrong? Is there some setting in Obsidian I've missed?

Hey sorry, you caught a little bug that could prevent the plugin from loading its settings tab when being installed. I just pushed a fix... please try updating.

Cheers, all looking good now :)


Add "self pin" feature

Is your feature request related to a problem? Please describe.
Currently there is a way for admins/mods to pin messages to a channel using the pin message feature. However normal users that would like to "bookmark" or keep track of posts aren't able to.
Describe the solution you'd like
We should add a "reaction" feature to a message that works similar to the "format" reaction feature, where if a user adds a "pin" feature, (the one that looks like a red tac) the bot takes that message, copies its contents, and DM's it to the user who pinned it, and then remove its reaction (so other users may pin the message or similar)
Describe alternatives you've considered
I'm not sure if the bot should wrap the original message in an embed, or just send it as it without any context.
Additional context
This should be done after the migration to TS #55

Can I help with this?

@cjcanlas01 Yea your welcome to tackle this, just give me until tomorrow (ended up busy today) to finalize the migration to TS and fix a few tiny issues here and there so once #55 is merged, your welcome to add it. :)


Image Annotation on Mac OS X & Firefox

When using Firefox on Mac OS X and an image with annotation : if we scroll with thze two fingers on the touch pad, the annotatoin doesn't follow the scroll until we move the mouse

The Image annotations are only being redrawn when the mouse moves. Should be updated when the view scrolls, too.

@spring-ryanc This being an annotation issue is well-suited for you.

The annotations should move properly when scrolling in https://github.com/MarkUsProject/Markus/pull/2137


ics-29 and incentivized ack

WIP

Current dependencies on/for this PR:

main

PR #12

PR #15   👈

This comment was auto-generated by Graphite.


Bitbucket Server

When trying to use this on a Bitbucket Server, it does not work. I added http://companyname-git:7990/* to the options.
(Tested on github, not an installation issue)
Is Bitbucket Server supported? Could the port in the pattern be an issue?
Is there a way to tell if octohint is active on a page (possibly changing the extension icon when active)?
Chrome 63.0.3239.84
octohint 2.0.1

Is Bitbucket Server supported?

Yes, but I only test it at https://bitbucket.org. I'm not sure if old version of Bitbucket server is supported

Could the port in the pattern be an issue?

According to this, seems that http://companyname-git/* is OK. Port does not matter

Is there a way to tell if octohint is active on a page (possibly changing the extension icon when active)?

It is a good idea. Will add it to future plan.

I'm not sure if old version of Bitbucket server is supported

That seems to be the Problem. I have Atlassian Bitbucket v5.0.2 (May 2017).
It has URLs with /browse/->/raw/ instead of /src/->/raw/ and different css classes on the code container.
Would you be interested in an OldBitbucketRenderer/BitbucketServerRenderer?
I could try to add something if you want it, but I don't have experience in browser extensions, so any tips on setting up the dev environment would be appriciated :)

@wirmar Dev environment setting up is easy, just see scripts field of package.json
In brief, for Chrome, just run npm run dev to start build process, output files are located at chrome/dist, then follow this guide to load it.
I've add a CONTRIBUTING.md to repo, and will update it soon
Thanks! If you get stuck at something, you could ask me any time :)

Hitching a ride on the OP's issue here :)
First of all, awesome idea, thanks for implementing it!
Secondly, on Bitbucket it seems to work only on the original files, but not those same files displayed on pull requests. Is this the intended behavior? Or is there something I need to configure in order to make it work on PRs as well?
Thanks again!

@lucabezerra

Is this the intended behavior?

Yes, code of pull requests are not supported currently. It is also mentioned at #9. We need to do some research for it.
Thanks!

Oh, totally skipped that issue, went straight into the Bitbucket one, haha. Thanks for answering!


Cipher Suite - Update tls.md

Description
"weaker cipher suite" text now links to a list of strong and weak cipher suites.
Issues Resolved
N/A
Version
All
Checklist

[x] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Signed-off-by: Jacob Duane<EMAIL_ADDRESS>

Sorry we are not going to make this change.


[docs][base] FocusTrap basic demo not focusing back to the Box in Firefox

Description
On firefox, FocusTrap doesn't refocus on the element.
This implementation addresses that by scrolling the element back into view.
Closes https://github.com/mui/material-ui/issues/37866

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

This code was written and reviewed by GitStart Community. Growing great engineers, one PR at a time.

Your feedback has been implemented @ZeeshanTamboli, thanks for the consideration.


Fix curve saving, refined undo/redo

Fixes #9421

yey
On Tue, Jun 27, 2017 at 9:45 PM, Marc<EMAIL_ADDRESS>wrote:

Fixes #9421 https://github.com/godotengine/godot/issues/9421
You can view, comment on, or merge this pull request online at:
https://github.com/godotengine/godot/pull/9425
Commit Summary

Fix curve saving, refined undo/redo

File Changes

M editor/plugins/curve_editor_plugin.cpp
https://github.com/godotengine/godot/pull/9425/files#diff-0 (82)
M editor/plugins/curve_editor_plugin.h
https://github.com/godotengine/godot/pull/9425/files#diff-1 (2)
M scene/resources/curve.cpp
https://github.com/godotengine/godot/pull/9425/files#diff-2 (46)
M scene/resources/curve.h
https://github.com/godotengine/godot/pull/9425/files#diff-3 (30)

Patch Links:

https://github.com/godotengine/godot/pull/9425.patch
https://github.com/godotengine/godot/pull/9425.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/9425, or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2_RBfS7xO-2BENya1AuKJKWxHwM9ks5sIaIugaJpZM4OHW-2
.


Allow shortcuts for workspace-level zoom

Currently, when you're using the View: zoom in / View: zoom out commands, they try to write to the global settings.json file. However, window.zoomLevel is a setting that can be overridden in workspace settings.
Users of e.g. home-manager can't have the shortcuts modify the global config file because of permissions (and reproducible builds), so for us, it would be ideal to change the shortcuts' behavior to write to the workspace-specific settings file.

Interesting, looks like once a workspace setting is created, the shortcuts actually modify the local file instead of the global one! This seems like a fair workaround for me. @andyrichardson what do you think?


Moved to nodenv org

Why the in progress label? Is there anything else that needs updating before this is merged?

those labels are created and used by waffle.io to create the kanban(esque) board. waffle.io/nodenv/nodenv

in total, waffle.io creates and uses Backlog, Ready, In Progress, and Done labels. actually, i'm not even sure if they use a Done label since that just represents the issue being closed.

Gotcha. Merging then.

We can edit the waffle board to have the columns we wish. For our purposes, I don't think we actually need a full kanban flow. I just use waffle so that I can see all the issues/prs across the entire nodenv org.

The Kanban flow is convenient though, and as minimal as it gets without eschewing columns completely. Might as well keep it.


"Http" plugin is not implemented on ios

Description
iOS app It stopped working suddenly. During the launch, it shows: “ An unexpected application error occurred. The following error message was encountered:
"Http" plugin is not implemented on ios
Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148”
Reproducible
Steps to reproduce
Open the app with a configured wallet with history.

After updating, it allows sending transactions, but shows a new error right after sending:
An unexpected application error occurred. The following error message was encountered:
null is not an object (evaluating ‘address.includes’)

Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148

Hi @cldevel
Thank you for letting us know
Our latest version has gone live via the Apple app store today, and it contains a fix for this issue. Please let me know if you experience any further issues


[FEATURE REQUEST] - For android (IOS?) builds change dependency to libgstreamer_android.so instead of discrete libs

Please see here for context, including comments from @sdroege
GStreamer #2999
Cerbero #453
When building for android (IOS?) the recommended deployment is a single shared lib (typically called libgstreamer_android.so), but the GStreamer rust bindings depend upon discrete libraries instead of the mono-lib created for the android platform.
For android builds, these discrete dependencies should be replaced with the mono-lib.

@bilelmoussaoui Any opinions here? We would need to add some cargo feature that switches the #[link] attributes to use libgstreamer_android.so for all the libraries. The pkg-config part is something that should be solved in GStreamer itself though.

This only affects libraries in gtk-rs-core i believe right?

Until someone ports GTK to Android/iOS, yes. Also other GNOME libraries, like libsoup, which are not desktop/GTK-related.

Are you aware of any library that requires similar treatment but links against a separate .so? just wondering if we should make gir hardcode the libgstreamer_android.so behind a gstreamer/android feature or we want to make it configurable.

I can do the gir bits if you want, should be pretty easy

There's also 'gstreamer-full', a way to build GStreamer with all deps and plugins into a single shared library (or even static library) via meson. And generally you can do such things relatively easily with meson, so I would be surprised if there are not other people doing such things out there.

I see. So the link with name has to be configurable somehow.

Maybe also finish https://github.com/gtk-rs/gir/pull/1298 while we are at it

Yeah that is kind of related. Also the things @pbor needs for gradually porting code over to Rust.

Are you aware of any library that requires similar treatment but links against a separate .so? just wondering if we should make gir hardcode the libgstreamer_android.so behind a gstreamer/android feature or we want to make it configurable.

Just a quick comment on this one.  Having this configurable (even for Androis/IOS?) as opposed to hardcoded is likely a wiser choice insofar as it is possible to use the discrete libs on the android platform (I was doing it this way early on).  I'm guessing that most folks use the documented mono-lib/libgstreamer_android.so strategy, but it's probably wise to anticipate that there are others using the discrete libs.

The problem is that only way to configure that would be through build.rs which is meh. I guess that is fine for now as we use it anyways

Yeah - agree.  Thanks for your work on this..... it's much appreciated.

How would you configure it through build.rs?

How would you configure it through build.rs?

Have a feature that would switch from using the hardcoded default dylib name to something you pass with an env variable? not sure if it that idea can even work, didn't thought too much about it

@bilelmoussaoui and @sdroege  - setting an environment variable would likely be a great solution (with the name of the shared monolib) - this can be checked in build.rs

The #[link] attributes can actually be overridden from the command-line: https://doc.rust-lang.org/rustc/command-line-arguments.html#-l-link-the-generated-crate-to-a-native-library

I'm not familiar enough with these settings to know if these are "cumulative" (i.e. libraries are added to the list of those linked to), or overridden/replaced.   If one can truly override/replace the other/default library linkage settings then this might be a great option.  In my experience these settings are typically added (switches/flags/etc.) to the toolchain compilation/linkage steps.

@sdroege and @bilelmoussaoui
I ran the following experiment which worked for my use case.
I have the following dependencies in my rust package (among others) -
gio = { git = "https://github.com/gtk-rs/gtk-rs-core" }
glib = { git = "https://github.com/gtk-rs/gtk-rs-core" }
gst = { package = "gstreamer", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs" }
gst-sys = { package = "gstreamer-sys", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs" }
gst-video = { package = "gstreamer-video", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs" }
gst-base = { package = "gstreamer-base", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs" }
gst-app = { package = "gstreamer-app", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs" }

My rust code and these dependencies are compiled and bundled into my own shared library ("libnative.so").  Then, in my android Java/Kotlin code, as part of bootstrap, the following occurs (kotlin):
  System.loadLibrary("gstreamer_android")  // the gstreamer mono-lib
  System.loadLibrary("android_glue") // extra glue code for my use-case - irrelevant in this example
  System.loadLibrary("native") // my rust code, and the rust gstreamer dependencies

  // Elsewhere, the GStreamer.init() occurs in bootstrap code - all normal android startup/setup

However, the above fails with message similar to:
10-10 10:15:02.735  3717  3717 E GeneratedPluginsRegister: Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: library "libgobject-2.0.so" not found: needed by /data/app/~~XB4c_YqPzVl8UI9_l1Osqg==/com.somecompany.some-application-Ioh0HPpzZnCF8bJ6zq-HTQ==/lib/arm64/libnative.so in namespace clns-4

So, one or more of the rust bindings packages is dependent upon the libgobject-2.0 shared library and the dlopen fails.  Notably, all of the symbols from the libgobject-2.0 library are included within my libgstreamer_android.so library (i.e. aggregated into the mono-lib), but the gstreamer rust dependencies expect these symbols in their own shared library (libgobject-2.0).  Bundling libgobject-2.0.so as a shared library with my android project solves the dependency, but then the next dependency fails (i.e. to be expected).
However the following works:
Inserting the following into my build.rs seemed to force the toolchain to check libgstreamer_android.so for symbols before anything else
    //
    // for android, link against the libgstreamer_android.so shared monolib
    // This is a kludge for now - as it only works/solves for the arm64-v8a arch android build
    // solve for all others though by creating sub-variants based on 'arch'
    //
    match os.as_str() {
        "android" => {
            // place where android build toolchain places the libgstreamer_android.so file
            // as long as this points to the local build, it should solve/satiate dependencies for gstreamer, as they are all included
            // inside the libgstreamer_android.so mono-lib
            println!("cargo:rustc-link-search=/home/<some-username>/<some-project>/android/gst-android-build/arm64-v8a");
            println!("cargo:rustc-link-lib=dylib=gstreamer_android");
        },
        _ => {}
    }

This compiles and runs within android, and symbols for all of the rust bindings packages are now satisfied/satiated from libgstreamer_android.so
Because I haven't looked in detail at the dependencies coded into the rust gstreamer bindings packages, I'm not sure whether this is a stable solution (i.e. ordering of dependencies may be problematic, especially within the Android eco-system, which requires both native and Java bootstrapping, but this does appear to have solved my dependency issue).  I plan to test this more fully this week, and will provide an update later on.

Can be closed now with https://github.com/gtk-rs/gir/pull/1600


Update to node 8

Supersedes #63
It separates linting issues from the actual change.
It change the function to actually be async.

Thanks for fixing and getting it merged!


TCompactProtocol.tcc: add missing include cstdlib

This PR adds a trivial change. On Ubuntu 18.04 x86_64 with gcc-7.2 the build can fail due to missing integer type definitions in TCompactProtocol.tcc. This PR adds include cstdlib to fix this.

[ ] Did you create an Apache Jira ticket?  (not required for trivial changes)
[ ] If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?
[x] Did you squash your changes to a single commit?  (not required, but preferred)
[x] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"?
[x] If your change does not involve any code, add  [skip ci] at the end of your pull request to free up build resources.

 Because there seem to be no known errors?

Originally I had an issue in CentOS 6, and later it appeared also in another OS version but I do not recall the details. It may have been CentOS 7 or MinGW build. I can not easily reproduce it without a larger rebuild. But I got reproducibly failing builds without this change on certain (older) versions of gcc.
If you feel this is not sufficient reason to merge then feel free to close the PR. I do not mind maintaining a local patch, and I can reopen the PR when the issue comes up for me again.


udacimak not downloading

everytime i try to install the udacimak in the git I get this error:
$ npm install -g udacimak
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
do you know how i can fix it?

I get this warning too.  However, it shouldn't stop you from running the downloader and render.  It still works for me.


Temporary white background when clicking on a tweet

Checklist

[X] I am able to reproduce the bug with the latest version.
[X] I made sure that there are no existing issues - open or closed - which I could contribute my information to.
[X] I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
[X] This issue contains only one bug, that only occurs in Squawker

Affected version
v3.8.2+300015943
Steps to reproduce the bug

Go to any tweet
Click it in order to view comments

Expected behavior
Tweet loads and the theme is maintained
Actual behavior
A white background appears around the clicked, primary tweet:

However, after 5-10s it disappears and the theme background fades back in:

Is this intended behaviour to show loading or a bug?
Screenshots/Screen recordings
No response
Logs
No response
Affected Android/Custom ROM version
Android 14 / GrapheneOS<PHONE_NUMBER>
Affected device model
Pixel 8
Additional information
No response

What are you Theme settings?
Theme mode ?
Theme ?
True Black?

Theme Mode: Dark
Theme: BahamaBlue
True Black: No
Font Size: 14px

Here are examples of it using two different themes.
https://github.com/j-fbriere/squawker/assets/15924377/936c18f8-7f07-41f3-b161-fa2a7e52899e
https://github.com/j-fbriere/squawker/assets/15924377/f6c2a7ed-3d42-40e9-aad0-f3e425ae414f
It seems to happen no matter the theme settings.

I also have this issue, for me it happens when I click on the post or get there from a link. It doesn't seem to happen if I just browse the feed, or profile. Only when interacting with any post.
https://github.com/user-attachments/assets/fe5c330c-1ce7-4bb0-89ff-12db04ea3ec0


Spells granted by Feats, Class/Subclass Features (e.g. Pact of the Chain, Pact of the Tome), and Class levels should be selectable via dialog in advancement

Spells granted by Feats, Class/Subclass Features (e.g. Pact of the Chain, Pact of the Tome), and Class levels should be selectable via dialog in advancement. Currently, if a Class level (or any of the other advancement features listed above) grants access to spells, those have to be manually selected and dragged onto the character sheet.
Originally reported against PHB2024
I know this requires a bit of work, but the user experience of advancement would be greatly improved by its addition.

Similar non-automation issue with Starting Equipment/Gold and Spell Grants from Backgrounds (i.e. Acolyte -> Magic Initiate).


No module named 'models.arcface_torch'

Hey. How did you solve this error. I'm struggling with this.


orientdb 2.0.13, when I put a vertex to a index, get a exception

java.lang.NullPointerException
at com.orientechnologies.orient.core.index.OIndexAbstractDelegate.getName(OIndexAbstractDelegate.java:117)

at com.orientechnologies.orient.core.index.OIndexTxAware.put(OIndexTxAware.java:97)

at com.orientechnologies.orient.core.index.OIndexTxAware.put(OIndexTxAware.java:41)

at com.tinkerpop.blueprints.impls.orient.OrientIndex.put(OrientIndex.java:100)

at com.tinkerpop.blueprints.impls.orient.OrientIndex.put(OrientIndex.java:49)

when I used orientdb 1.7.5 and debug my app by Intellij IDEA,  I got the log about rebuilding index, when I restart a stopped debug.  After I migrating to 2.0.13, I get the exception, and I don't know how to repair it   or repair the database

How did you migrate to new database release ? by export/import ?

I did not use the old data.
Now, I create index in executeOutsideTx method,  and the bug has disappeared


Clean up code

I decided to create this PR to fix all warnings on the code I could possibly find.
The only warnings I didn't fix were commenting exported values.
There is almost no logic changes, excepted deprecated methods that I updated and a lock copy.
These are:
youtube/feed.go
From:
httpClient, err := google.DefaultClient(context.Background(), youtube.YoutubeScope)
if err != nil {
    return common.ErrWithCaller(err)
}

yt, err := youtube.New(httpClient)

To:
yt, err := youtube.NewService(context.Background())

stdcommands/topic/topic.go
From:
doc, err := goquery.NewDocument("http://www.conversationstarters.com/generator.php")

To:
resp, err := http.DefaultClient.Get("http://www.conversationstarters.com/generator.php")
if err != nil {
    return nil, err
}

defer resp.Body.Close()

doc, err := goquery.NewDocumentFromReader(resp.Body)

stdcommands/wouldyourather/wouldyourather.go
From:
req, err := http.NewRequest("GET", "http://either.io/", nil)
if err != nil {
    panic(err)
}

resp, err := http.DefaultClient.Do(req)
if err != nil {
    return
}

doc, err := goquery.NewDocumentFromResponse(resp)
if err != nil {
    return
}

To:
resp, err := http.DefaultClient.Get("http://either.io/")
if err != nil {
    return "", "", err
}

defer resp.Body.Close()

doc, err := goquery.NewDocumentFromReader(resp.Body)
if err != nil {
    return "", "", err
}

bot/eventsystem/eventsystem.go
From:
func (e *EventData) WithContext(ctx context.Context) *EventData {
	cop := new(EventData)
	cop = e
	cop.ctx = ctx
	return cop
}

To:
func (e *EventData) WithContext(ctx context.Context) *EventData {
	cop := e.Copy()
	cop.ctx = ctx
	return cop
}

func (e *EventData) Copy() *EventData {
	if e == nil {
		return nil
	}

	cop := new(EventData)
	cop.cancelled = e.cancelled
	cop.cs = e.cs
	cop.ctx = e.ctx
	cop.EvtInterface = e.EvtInterface
	cop.GS = e.GS
	cop.GuildFeatureFlags = e.GuildFeatureFlags
	cop.Session = e.Session
	cop.Type = e.Type

	return cop
}

This was copying a lock.
PS: I have no idea why Github closed the PR when I merged dev into it, this is why I am reopening.

oof nice catch on the lock copy

This has a couple conflicts now again, im still going through the commit and im halfway through


chore(Algebra/Group/TypeTags): Remove porting notes related to lean4#1910, use new notation everywhere

part 1: make applied occurances of Additive.toAdd and Multiplicative.toMul use newly available dot notation.

[x] depends on: #19379

Well, it passes
bors merge


Oath of Thunder interaction with Ranged Expert feat

Oath of Thunder allows you to make ranged attacks with a warhammer. Ranged expert allows you to make a bonus action one-handed ranged attack after taking the attack action.
Currently, Ranged Expert doesn't work with Oath of Thunder. Taking the attack action doesn't allow you to make an additional throwing attack as a bonus action. Should it?

Ranged expert won’t interact with Thunder.

Know its closed but just to give Vitfall more clarity, Ranged Expert specifically says Ranged Weapons, thrown weapons are not considered Ranged Weapons in 5e: https://roll20.net/compendium/dnd5e/Weapons#content
Thrown weapons are Simple Melee or Martial Melee weapons that have the thrown tag.  But this is not the same as Ranged Weapons as you can see they also have their own category of Simple Ranged and Martial Ranged weapons.  So anytime it says "Ranged x" or in this case "make one-handed ranged bonus attack" it would have to be a weapon from the Ranged categories.
So a Dart and a Hand Crossbow would work in Solasta.


Adding sink FHIR server docker config to close #77

Description of what I changed
Added docker-compose setup for a sink FHIR server using https://github.com/hapifhir/hapi-fhir-jpaserver-starter.
E2E test
N/A
Checklist: I completed these to help reviewers :)

[x] My IDE is configured to follow the code style of this project.
No? Unsure? -> configure your IDE, format the code and add the changes with git add . && git commit --amend

[x] I am familiar with Google Style Guides for the language I have coded in.
No? Please take some time and review Java and Python style guides. Note, when in conflict, OpenMRS style guide overrules.

[ ] I have added tests to cover my changes. (If you refactored existing code that was well tested you do not have to add tests)
No? -> write tests and add them to this commit git add . && git commit --amend

[x] I ran mvn clean package right before creating this pull request and added all formatting changes to my commit.

[x] All new and existing tests passed.
No? -> figure out why and add the fix to your commit. It is your responsibility to make sure your code works.

[x] My pull request is based on the latest changes of the master branch.
No? Unsure? -> execute command git pull --rebase upstream master

BTW, as a follow up please also rename this to a .yaml suffix to be consistent with other compose configs (or change those) and move all of these compose configs to a separate directory.


Update Supply to use 0.12.0 of google-api-client

Checklist

[ X ] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[  X ] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[ X ] I've read the Contribution Guidelines
[ X ] I've updated the documentation if necessary.

Motivation and Context
The problem is pretty simple: version 0.12.0 of the API has breaking changes. Without this change, unless developers know to manually lock their google-api-gem to 0.11.x, supply will not work for them.
Description
Version 0.12.0 of the Google API Client gem has breaking API changes. Unfortunately, the previous gemspec requirement (~> 0.11) was slightly too permissive, and allowed the new version to be pulled in accidentally. This PR fixes this by upgrading to the new gem explicitly and updating the API calls.
This was generated by following the API diffs here (https://github.com/google/google-api-ruby-client/commit/3f26743ef728466c7f3edfe8dfb1224122c596b5#diff-215abaa8c4101dcb8977c43a24964183) and changing all calls in client.rb. I've validated by running my local project against this version of fastlane, and it seems to work as expected.
While I'm in here, it seemed like a good idea to update to 0.12.0 and fix the breakages. But the simplest possible fix would just be to lock the gem to 0.11.0 < 0.12.0 if someone else wants to do the upgrade later.

Hey @tmtrademarked - we would definitely like to get this merged in. Would you mind just taking care of the merge conflicts and we can 🚀 !

@ohayon - resolved!

Can we get back the supply --check-superseded-tracks after this?

@Capyvara - Would you mind opening up an issue to discuss that?

I'll create an updated PR so.

Sweet thanks @Capyvara !

Done!

@ohayon
Done!