Unable to recover funds with seed and derivation path: m/0'

I am trying to recover access to funds for a friend.
We have the seed phrase that allows us to restore different address-types (1*, bc1*) with Electrum. We can see transctions up to March 2021 and May 2021 respectively. But my friend is certain that they did make transactions after that. When following the trail of transactions I can find transactions that they say they authorized. But those do not show up in Electrum.

Did BRD-Wallet change the derivation path in 2021?
Did BRD-Wallet do a re-keying in 2021?
Did BRD-Wallet create a gap in the derivation that is larger than what Electrum assumes?

What else could explain this?
 And then scan all these addresses for funds.
Or: In this case I could provide the address that does have the funds and let this tool run until that address and its private key is generated.

Hey Dirk,
I haven't used it in a while, but I think Electrum only supports one type of address at a time. BRD derived both segwit and non-segwit addresses from the same seed phrase.
I think you'll need to create two different electrum wallets: one segwit and one non-segwit.
I'm not aware of an address generation tool that you mentioned, but that would be cool if it did.

The Coinbase wallet (assuming that is an option) surely would allow you to see all your BRD transactions and them move them to a wallet of your choice; rather than struggling with seeds, derivation paths and addresses.

They tried the Coinbase wallet. It does not show latest balance. Assuming it doesn't generate the respective key pairs as well.

I am trying to recover access to funds for a friend.
We have the seed phrase that allows us to restore different address-types (1*, bc1*) with Electrum. We can see transctions up to March 2021 and May 2021 respectively. But my friend is certain that they did make transactions after that. When following the trail of transactions I can find transactions that they say they authorized. But those do not show up in Electrum.

Did BRD-Wallet change the derivation path in 2021?
Did BRD-Wallet do a re-keying in 2021?
Did BRD-Wallet create a gap in the derivation that is larger than what Electrum assumes?

What else could explain this?
 And then scan all these addresses for funds.
Or: In this case I could provide the address that does have the funds and let this tool run until that address and its private key is generated.

will advise you to contact the best hacker around he helped me recover my wallet,fast and reliable his telegram is https://t.me/Blackhathacker111

hello @biafra23 did you resolved this? I have met the same situation too, have tried all method and derivation for m/0' and m/44'/1'/0', feel's not good...

No. I haven't resolved this, yet. My next step would be to download the source around that time and modify it to generate the addresses for me. But this is not urgent (for me :-). So it might take some time until I try to resolve this again.

I have downloaded the breadwallet-ios source code, in the latest version I saw that BRD use this WalletKit(https://github.com/blockset-corp/walletkit/tree/master-brd-app) project as the bitcoin address recovery and generate. I compiled the latest WalletKit source code, I entered my seed phrase, unfortunately, the WalletKit tool shows first unused address is the same as Electrum wallet which have the same derivation path m/0'. I have generate the gap in Electrum but it didn't show any history.
So, I'm doubt whether BRD team has changed the derivation path or WallKit library during the releases. By the way, my first transaction in BRD was about 2017 later to 2018 middle, and my address is legacy, I can even found that in exchange withdraw record, I checked the address, its on the chain, and the coin is there.

so you could restore your bitcoin that way?


Add measure of convergence for tight coupling

Description
Work In Progress, Draft Created for Review Purposes
This PR adds the capability to quantifiably measure the numerical convergence when considering tight coupling. The current approach within ARMI blindly iterates on the system of equations using the numCoupledIterations setting. While indispensable for framework development, characterizing the numerical convergence of the nonlinear system of equations is essential to ensuring the mathematical validity of obtained solutions. This PR aims to accomplish this by adding several methods to measure the convergence of parameters on individual interfaces.
Breaking Changes
This PR has breaking changes to simulations that utilize the current looseCoupling and numCoupledIterations settings.

Checklist

[x] This PR has only one purpose or idea.
[ ] Tests have been added/updated to verify that the new/changed code works.

[ ] The code style follows good practices.
[ ] The commit message(s) follow good practices.

[ ] The release notes (location doc/release/0.X.rst) are up-to-date with any bug fixes or new features.
[ ] The documentation is still up-to-date in the doc folder.
[ ] The dependencies are still up-to-date in setup.py.

@sombrereau @drewj-usnctech
Since this PR has breaking changes at the ARMI settings level, I wanted to make sure that each of you were aware of the proposed changes. Please let me know if you have any comments/concerns/questions!
@john-science

Thanks for checking in @albeanth -- I don't anticipate any issues on my end. :D

@sombrereau @drewj-usnctech
Since this PR has breaking changes at the ARMI settings level, I wanted to make sure that each of you were aware of the proposed changes. Please let me know if you have any comments/concerns/questions!
@john-science

Thanks for checking in @albeanth -- I don't anticipate any issues on my end. :D

Might also be worth referring to/updating the coupling information in https://github.com/terrapower/armi/blob/d6dae1f1fcfc6db3a27965b8131c11d1ac1896f2/doc/requirements/srsd.rst

@albeanth - The majority of tests are failing because numCoupledIterations was removed and not all instances in the code were changed. I didn't go through and fix these.

@albeanth thanks for reaching out. Improved coupling / convergence has been something we've been thinking about for a bit. Just by looking at the PR description, I'm not sure what the impact would be to our application, other than the looseCoupling andnumCoupledIterations settings being removed. Some off-the-top questions

Are we expected to only rely on the tightCoupling setting now?
How should we control the convergence? Is there a new setting to configure the number of iterations or the convergence criteria?
How can we extend the fields used in convergence? Some skimming of the comments indicates keff (v important) and power are checked, but what about other fields? Block flux? And isn't power fixed by the settings file? I might be mis-reading the threads here

Hey @drewj-usnctech - thanks for the questions!

Are we expected to only rely on the tightCoupling setting now?

Nope! Loose coupling is the default option (via setting tightCoupling: False). This will hopefully become more clear once we update the documentation.

How should we control the convergence? Is there a new setting to configure the number of iterations or the convergence criteria?

This is a work in progress. A new setting is being introduced to specify the parameter(s) and convergence criteria for each parameter. There is currently a setting to control the maximum number of iterations, tightCouplingMaxNumIters (4 by default). As for the new setting to control parameters and convergence criteria, you can get an idea of what we're workshopping by checking out TIGHT_COUPLING_SETTINGS_EXAMPLE in test_tightCouplingSettings.py (more on this below).

How can we extend the fields used in convergence? Some skimming of the comments indicates keff (v important) and power are checked, but what about other fields? Block flux? And isn't power fixed by the settings file? I might be mis-reading the threads here

This is a great question. We're workshopping this setting to be extensible and allow for varying ARMI composites to be called upon. E.g., keff, block power, block temperature, etc. You're correct in that power is fixed in the settings file. But this is the total core power. When we converge on "power" we are assuming block-wise power. This will hopefully become more clear as we develop the new setting and documentation.  If you have any questions/comments/concerns/ideas for this setting, let us know!

@jakehader @keckler @john-science @ntouran CI is all green! Whoo! I'll open the PR now. Would very much appreciate another round of reviews from you all before we ship this thing off.

@drewj-usnctech that is exactly what we implemented, actually! The only exception being that this first iteration (pun semi-intended lol) will have convergence parameters defined on the interfaces. As @keckler points out, this is admittedly suboptimal and changing it to be focused on ARMI composites (core, assemblies, blocks, etc) is going to be the focus of a future PR. One that's hopefully not too far away.
So users will be able to specify convergence information on a yaml input as follows:
tightCouplingSettings:
    globalFlux:
        parameter: keff
        convergence: 1e-05
    fuelPerformance:
        parameter: peakFuelTemperature
        convergence: 1e-02

Where parameter is a registered parameter on the ARMI database.

Thanks for the example on the UI @albeanth. Does this mean users will need to know what parameters each plugin exposes in order to select them? Unless this is well documented, it's not intuitive where parameters come from to users. They just exist and can be used. I know that keff is provided, maybe by multiple physics codes, because it shows up in reports / the data  file. I know that the power in each block is reported because I can see it in the paraview vis files. But where those parameters come from may or may not be as clear. Depends on how the docs are written / deployed.
However, I would know that I want to run a specific neutronics code (mcnp, dif3d, etc.) and I'm pretty sure it could provide those parameters. So I might write something like
tightCouplingSettings:
    mcnp:
        parameter: keff
        convergence: 1e-05

And this might be handled w/ some calls to super methods. But now there's another thing for me to modify if I switch neutronics kernels and want to still do tight coupling.
Am I understanding the implementation and impact correctly?

Thanks for the example on the UI @albeanth. Does this mean users will need to know what parameters each plugin exposes in order to select them? Unless this is well documented, it's not intuitive where parameters come from to users. They just exist and can be used. I know that keff is provided, maybe by multiple physics codes, because it shows up in reports / the data file. I know that the power in each block is reported because I can see it in the paraview vis files. But where those parameters come from may or may not be as clear. Depends on how the docs are written / deployed.
However, I would know that I want to run a specific neutronics code (mcnp, dif3d, etc.) and I'm pretty sure it could provide those parameters. So I might write something like
tightCouplingSettings:
    mcnp:
        parameter: keff
        convergence: 1e-05

And this might be handled w/ some calls to super methods. But now there's another thing for me to modify if I switch neutronics kernels and want to still do tight coupling.
Am I understanding the implementation and impact correctly?

Your understanding is correct except that we are implementing it based on the interface function attribute so that hopefully someone in theory could change which interface is on the stack from settings (e.g., globalFlux) and it would still work.
I would think of this as a functionality that does and will be improved over time with more user / developer feedback and your point on composites is exactly what @keckler raised and it's a fantastic point. Based on some discussion with me, I asked that we try to get this PR in to support some internal deadlines but I absolutely want and think we need to keep working at how this is implemented so that parameter convergence can be checked independent of the interface stack for a current run. I think this will take a bunch of refactoring and the tight coupling might just be a responsibility of the operator rather than the interfaces themselves.
I could imagine either reducing the scope of the base standard operator and then adding another operator subclass to manage tight coupling or we could just extend the operator to generically handle this. @albeanth - if you haven't made a ticket for this please do so we don't lose track of both Chris's and Drew's comments here.

Okay, another thought on this.
I know people don't want to put this convergence stuff on the operator, because we want to keep the operator free from physics. Fine, I can agree with that, even if I wouldn't classify "calculating convergence" as "science".
So let's consider another option, rather that the coupling machinery goes into its own interface which sits at the end of the stack. To me, this actually makes a whole lot of sense. Interfaces have native access to both the case settings and the reactor model, so interrogating those things would be very natural from within an interface. This also would be an obvious place for all of the machinery to sit, instead of passing instances of the TightCoupler class around and sticking them on other interfaces, as we're doing now.
This seems pretty similar to the report, database, or memoryProfiler interfaces that are already at the end of the stack.
@jakehader @john-science @ntouran @albeanth Thoughts?

Okay, another thought on this.
I know people don't want to put this convergence stuff on the operator, because we want to keep the operator free from physics. Fine, I can agree with that, even if I wouldn't classify "calculating convergence" as "science".
So let's consider another option, rather that the coupling machinery goes into its own interface which sits at the end of the stack. To me, this actually makes a whole lot of sense. Interfaces have native access to both the case settings and the reactor model, so interrogating those things would be very natural from within an interface. This also would be an obvious place for all of the machinery to sit, instead of passing instances of the TightCoupler class around and sticking them on other interfaces, as we're doing now.
This seems pretty similar to the report, database, or memoryProfiler interfaces that are already at the end of the stack.
@jakehader @john-science @ntouran @albeanth Thoughts?

You're probably right. Given some deadlines we are going to move forward with this less-than-ideal solution but your comments and discussion points are valid. @albeanth - if you haven't done so already, can you make a ticket that tracks all the good review comments from @drewj-usnctech and @keckler on this for improvements and refactoring? I suspect this can be a priority in a couple of months but not now from my perspective.

@jakehader sounds good. I will create an issue to document the requested changes and we can discuss further on there the desired approach.

@jakehader I understand we are pushing this PR due to deadlines, though people expect a better version of the code is forthcoming.
Just to make sure we don't get stuck with this lesser version of the feature indefinitely, can we make some sort of hard commitment to see those improvements done before people forget about this work forever?
Thanks, man!

I know people don't want to put this convergence stuff on the operator

What I was saying is I don't want to put this in Operator.py. If you want to put this stuff in a CovergenceOperator subclass, be my guess. More power to you.
But Operator.py does one thing right now: Creates, organizes, and runs Interfaces. The only reason we think we can jam this code into Operator.py is because ANY code could go in that file. Literally any feature you build you could just throw into that file and it would be easy.  And that file would become an unusable mess in like a month.

@jakehader I understand we are pushing this PR due to deadlines, though people expect a better version of the code is forthcoming.
Just to make sure we don't get stuck with this lesser version of the feature indefinitely, can we make some sort of hard commitment to see those improvements done before people forget about this work forever?
Thanks, man!

Yes I'm committing to that now. Thank you

Might also be worth referring to/updating the coupling information in https://github.com/terrapower/armi/blob/d6dae1f1fcfc6db3a27965b8131c11d1ac1896f2/doc/requirements/srsd.rst

@ntouran The SRSD looks ok to me. We could tweak the language, but I think it's ok as-is. I did update the ARMI user docs and think that the SRSD aligns well with the new updated user docs.
Let me know what you think?


Milestone 1: Project Setup

Completed:

[x] create-react-app initialisation with npm as package manager
[x] Gitflow
[x] Github Actions
[x] ESLint
[x] Stylelint
[x] Heroku deploy with create-react-app-buildpack
[x] README

Thanks, @elmejdki!


Saved tabs are gone after policy update

I've just updated the new extension policy, which unabled the extension to be used. After accepting it, I went to the saved tabs history and OH! all of them were gone.
How do I recover them?
EDIT: It seems the version displayed is 1.0 but the extension is on 1.2

Yeah. I've noticed this some days ago, but I've thought that it's only my problem (sometimes I break everything when developing). So now I remember where I messed up. I'll fix it today


Concretizing Pattern Match API

[follow-up of #1087]
For the 2.0.0 release we will fixate the following pattern match API:
1) We will add visitors for all Javaslang types.
E.g. types are Option, List, Future, ... These visitors are safe because the patterns are exhaustive.
list.match(
  (x, xs) -> ...,
  () -> ...
)

TODO (not part of 2.0.0): Open question how to provide visitors for 3rd party types.
2) We provide pre-generated patterns for all Javaslang types.
The type must have an arity <= 2, i.e. decompose to Tuple0, Tuple1 or Tuple2.
import static javaslang.API.*;

Match(list).of(
  Case(List("1", $_), head -> ...),
  Case(List(), () -> ...),
)

TODO: Is Case of type Function<T, Option<R>> or PartialFunction<T, R>, where
interface PartialFunction<T, R> extends Function<T, R> {
    boolean isApplicable(T obj);
}

3) We provide syntactic sugar for all Javaslang types.
// equivalent to Match(list).of(cases)
list.match(
  Case(List("1", $_), name -> ...),
  Case(List(), () -> ...),
)

4) We add match guards in form of predicates.
Match(obj).of(
  // Pattern*<List<T>, ...>, Predicate<? super List<T>>, Function<? super List<T>, ? extends R>
  Case(List($(), List.empty()), head -> head != null, head -> 1)
)

Also without patterns. This will be the substitute for the removed Match API of Javaslang 1.x.
Match(obj).of(
  Case(Predicate<???> predicate, Function<???, ? extends R> f),
  Case(Predicate<???> predicate, Supplier<? extends R> f), // will be ambiguous I think
  Case(Predicate<???> predicate, R> f)
)

Having a set of javaslang.Predicates would make life much easier. We will add them (isType(Class), isIn(...), isNull(), isNotNull(), etc).
4.1) Maybe we need a special Case for types
It will not be possible to use Predicates to 'expand' the type and to have a meaningful function:
// not possible
Match(exception).of(
    Case(isType(NumberFormatException.class), numberFormatException -> ...),
    Case(isType(ClassCastException.class), classCastException -> ...),
    Case($_, ...) // catch all
)

Therefore we probably need a special Case for types:
Match(exception).of(
    Case(NumberFormatException.class, numberFormatException -> ...),
    Case(ClassCastException.class, classCastException -> ...),
    Case($_, ...) // catch all
)

Uses classes will have one limitation, generics are not supported. This leads to the next point, full-blown structural pattern matching of 3rd party types.
5) NOT PART OF 2.0.0: We provide an annotation processor for 3rd party types.
Match.of(localDate).cases(
Case(LocalDate(2015, $_, $()), (yy, dd) -> ...),
Case(LocalDate(...), (yy, mm, dd) -> ...)
)

As we see, beside the visitor-pattern-like match (see 1)), the API is uniform: Match(obj).of(Case...)

Progress:
[ ] match guards
[ ] visitor for all types
[ ] syntactic sugar for all types
[ ] special case for types define a set of predicates
[ ] annotation processor + pre-generated patterns

We will skip the features 'visitor for all types' and 'syntactic sugar for all types'. These will be added later if needed. Now it is closed-shop time for 2.0.0 final.


iCloud account issue

Mac running latest Big Sur. Error produced when trying to add a feed to iCloud account. I performed the recommended actions to no avail. NNW iCloud account is working fine on my iOS devices, where I have 20 or so feeds, but none of those show up in the Mac version. I have only one Apple ID and iCloud account.

Deleting the iCloud account in NetNewsWire on your Mac and adding again doesn't show any of the feeds in your iOS devices?
Is there anything unusual about the location of the NetNewsWire data? For example, is it symlinked to somewhere?

Correct. I don’t think there is anything special about the data. I boot from an external SSD containing Big Sur and NNW.
-- Ron

On Jul 5, 2021, at 1:32 PM, Maurice Parker @.***> wrote:

Deleting the iCloud account in NetNewsWire on your Mac and adding again doesn't show any of the feeds in your iOS devices?
Is there anything unusual about the location of the NetNewsWire data? For example, is it symlinked to somewhere?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

@ronzo99 If you don't mind, could you send me the contents of your iCloud account so that I can see what is wrong with it? The location is ~/Library/Containers/com.ranchero.NetNewsWire-Evergreen/Data/Library/Application Support/NetNewsWire/Accounts/2_iCloud.
Could you also verify that you have write permissions to that directory.

hmm, /Users/ronreuter/Library/Containers/ does not have a com.ranchero… folder. Perhaps I should try reinstalling NNW?
-- Ron

On Jul 5, 2021, at 2:37 PM, Maurice Parker @.***> wrote:

@ronzo99 If you don't mind, could you send me the contents of your iCloud account so that I can see what is wrong with it? The location is ~/Library/Containers/com.ranchero.NetNewsWire-Evergreen/Data/Library/Application Support/NetNewsWire/Accounts/2_iCloud.
Could you also verify that you have write permissions to that directory.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

It should recreate it for you without having to reinstall. Are you able to use the On My Mac account for anything? It would be in that folder too.

at startup in xcode:
[CloudKit] Error adding account container: Partial Failure: some items failed, but the operation succeeded overall.
I have read/write on Containers folder, but no com.ranchero folders
-- Ron

On Jul 5, 2021, at 2:55 PM, Maurice Parker @.***> wrote:

It should recreate it for you without having to reinstall. Are you able to use the On My Mac account for anything? It would be in that folder too.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

i can add a feed to On My Mac, and that works. When I add the same feed in iCloud, it pops up in the Ui, then immediately disappears, then shows the error alert
-- Ron

On Jul 5, 2021, at 2:55 PM, Maurice Parker @.***> wrote:

It should recreate it for you without having to reinstall. Are you able to use the On My Mac account for anything? It would be in that folder too.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Maurice,
Here’s more info, in case it is relevant:
Using latest source from GitHub
Building with XCode 12.5.1
Check for update reports: NetNewsWire 6.0.3b1 is currently the newest version available.
UI behavior:
At around 17 seconds, the iCloud account briefly shows an “Untitled” globe icon, then the Six Colors icon, then nothing, then the error message.
Thanks for your help!
— Ron

On Jul 5, 2021, at 2:54 PM, Maurice Parker @.***> wrote:
It should recreate it for you without having to reinstall. Are you able to use the On My Mac account for anything? It would be in that folder too.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/Ranchero-Software/NetNewsWire/issues/3211#issuecomment-874303053, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFOJLWJUVENUD36LZU5LJ5DTWIEZFANCNFSM473E2RKA.

Xcode builds of NNW with iCloud support require setting up and maintaining a personal CloudKit container that won't communicate with the production CloudKit container. This is usually more hassle than it is worth and the source of your errors. Unless you are deadset on working on the iCloud code, I recommend you stick with the -dev build and run a production build of NNW for personal use. You can run both and they won't interfere with each other because they will have different bundle IDs and store their data in separate containers.

Ah! Thank you!
I’ve been looking at the source code for a long time (taking inspiration from Olof Hellman’s scriptability code) and didn’t realize that I could (or needed to) download the executable from the web site.
I did that just now, and voila! — all my iCloud subscriptions appeared.
Thanks again.
— Ron

On Jul 5, 2021, at 6:42 PM, Maurice Parker @.***> wrote:
Xcode builds of NNW with iCloud support require setting up and maintaining a personal CloudKit container that won't communicate with the production CloudKit container. This is usually more hassle than it is worth and the source of your errors. Unless you are deadset on working on the iCloud code, I recommend you stick with the -dev build and run a production build of NNW for personal use. You can run both and they won't interfere with each other because they will have different bundle IDs and store their data in separate containers.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/Ranchero-Software/NetNewsWire/issues/3211#issuecomment-874370429, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFOJLWPSVTZ3BA7V7FID643TWI7PRANCNFSM473E2RKA.


My Report

So i was trying to use adv dupe 2 and  what happened is it said it was busy at hte moment and i wasnt doing anything with it at the time and then i cant use it.

Make sure you update to the latest version. Or provide more if you're sure you are.


Accessible examples

This PR makes the examples compile with master again and ensures they stay that way.
It also makes them visible to dub as subpackages and cleans up a few deprecations.

Hmm. travis-ci doesn't seem to pick up the right version of the config. going to try a new PR.


Guild with no icon raises error.

ERROR
Cannot read property 'startsWith' of null
Specifications
node.js: any
disco-oauth: 4.2.1
The library errs when the authorized user is in a guild with the default icon URL.

Fixed in version 4.2.6


Auto-generate Trace v2

Anything in particular you'd like reviewed?

Thanks for generating this! Why removing the V1 related code? We probably need to keep both V1 and V2 library as the V1 API is still serving.

Whups, sorry about that. Re-added the v1 guts.
Note that users explicitly wanting to use v1 will have to from google.cloud import trace_v1; just importing trace will get them v2.

CircleCI is blocked by error-reporting system tests. Verified locally that the trace tests passed. LGTM to merge.


Unable to save brew

Reproduction steps:

Navigate to homebrewery.naturalcrit.com/new
Paste the Markdown below.
Hit 'Save'
Brew is not saved, do not get redirected to the edit page

Amelioration steps:

Open Properties tab
Manually enter a Title
Hit Save
Brew is saved, get redirected to edit page

### Fiendmask

*
  A mask made from the skull of the devil who's essence is giving it its powers. Its name "Retifer" stands carved in Infernal upon     the brows.
*
  >**Stats**
>
> +1 DEX
>
> +5 Initiative

#### Abilities

  **Malevolent Presence** If you wear this mask you gain Advantage on Intimidation checks.

**Devil's Sight**. Magical Darkness doesn't impede your vision.

  **Retifer's Price** You can choose to spend 10% of your current HP, rounded up, to add 1d6 + your character's level fire, cold or necrotic damage.

Just to further muddy the waters, following the reproduction steps on my local Win10 HB install results in a Brew with the title: * A mask made from the skull of the devil who's essence is giving it its powers. Its name "Retifer" stands carved in Infernal upon the brows. *
Based on the investigation that I have completed with the Marked.js demo and it's raw Lexer output, this appears to be the correct title for this source Markdown.

On further investigation, it looks like my local Win10 install was not signed into a Google account. Testing with it signed in resulted in the following error messages:

OAuth2Client {
_events: [Object: null prototype] { tokens: [Function (anonymous)] },
_eventsCount: 1,
_maxListeners: undefined,
transporter: DefaultTransporter {},
credentials: {
access_token: undefined,
refresh_token: '1//0gkvJF7pHeCMmCgYIARAAGBASNwF-L9Irm0KcuY_i4IzHIvL7rS8U31WKTT4gUDUvUSqIuqekuZFoTsSepQvzFLfX7gccnslwZP8'
},
certificateCache: {},
certificateExpiry: null,
certificateCacheFormat: 'PEM',
refreshTokenPromises: Map(0) {},
_clientId: '298979587138-hvhbddolumnae02ckmetordv6ncq3kcq.apps.googleusercontent.com',
_clientSecret: 'w98ie9v0Ot98RsQCOV1qCOkW',
redirectUri: '/auth/google/redirect',
eagerRefreshThresholdMillis: 300000,
forceRefreshOnFailure: false,
[Symbol(kCapture)]: false
}
GaxiosError: Properties and app properties are limited to 124 bytes in UTF-8 encoding, counting both the key and the value.
at Gaxios._request (D:\Homebrewery\homebrewery\node_modules\gaxios\build\src\gaxios.js:112:23)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async OAuth2Client.requestAsync (D:\Homebrewery\homebrewery\node_modules\google-auth-library\build\src\auth\oauth2client.js:343:18)
at async Object.newGoogleBrew (D:\Homebrewery\homebrewery\server\googleActions.js:198:15)
at async newGoogleBrew (D:\Homebrewery\homebrewery\server\homebrew.api.js:127:18) {
response: {
config: {
url: 'https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart',
method: 'POST',
userAgentDirectives: [Array],
paramsSerializer: [Function (anonymous)],
data: [PassThrough],
headers: [Object],
params: [Object],
validateStatus: [Function (anonymous)],
retry: true,
body: [PassThrough],
responseType: 'json',
retryConfig: [Object]
},
data: { error: [Object] },
headers: {
'alt-svc': 'h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"',
connection: 'close',
'content-length': '386',
'content-type': 'application/json; charset=UTF-8',
date: 'Sat, 20 Feb 2021 20:25:02 GMT',
server: 'UploadServer',
vary: 'Origin, X-Origin',
'x-guploader-uploadid': 'ABg5-Uy45-Hvfk9au36GcdB5xmNWnP__cMlc8Kx_p4QLj37-EYMPkRqbLDSk77U69wSNSDiGzTaNjOKMGqRffJOI96M'
},
status: 403,
statusText: 'Forbidden',
request: {
responseURL: 'https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart'
}
},
config: {
url: 'https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart',
method: 'POST',
userAgentDirectives: [ [Object] ],
paramsSerializer: [Function (anonymous)],
data: PassThrough {
_readableState: [ReadableState],
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
_writableState: [WritableState],
allowHalfOpen: true,
_flush: [Function: flush],
[Symbol(kCapture)]: false,
[Symbol(kTransformState)]: [Object]
},
headers: {
'x-goog-api-client': 'gdcl/4.4.3 gl-node/14.15.1 auth/6.1.6',
'content-type': 'multipart/related; boundary=62496146-3fa2-435a-b9f7-6eae07804f01',
'Accept-Encoding': 'gzip',
'User-Agent': 'google-api-nodejs-client/4.4.3 (gzip)',
Authorization: 'Bearer ya29.A0AfH6SMCldoc_Lo5O_PnsdI_usZTDIzBy_qhKd4ADGJPqewDbryaSDff2rl0bM8wPDBmudTi7Gte-oY3FqyGHjZlcokrg9JiPoqB8y3XlyK3O_l7hKPmTQ-XuMUausE0PgUMVb8A4cR4RocY0tB1xk81Zj_4-',
Accept: 'application/json'
},
params: { uploadType: 'multipart' },
validateStatus: [Function (anonymous)],
retry: true,
body: PassThrough {
_readableState: [ReadableState],
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
_writableState: [WritableState],
allowHalfOpen: true,
_flush: [Function: flush],
[Symbol(kCapture)]: false,
[Symbol(kTransformState)]: [Object]
},
responseType: 'json',
retryConfig: {
currentRetryAttempt: 0,
retry: 3,
httpMethodsToRetry: [Array],
noResponseRetries: 2,
statusCodesToRetry: [Array]
}
},
code: 403,
errors: [
{
domain: 'global',
reason: 'propertyLengthLimitExceeded',
message: 'Properties and app properties are limited to 124 bytes in UTF-8 encoding, counting both the key and the value.'
}
]
}
(node:4380) UnhandledPromiseRejectionWarning: ReferenceError: res is not defined
at D:\Homebrewery\homebrewery\server\googleActions.js:204:4
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async Object.newGoogleBrew (D:\Homebrewery\homebrewery\server\googleActions.js:198:15)
at async newGoogleBrew (D:\Homebrewery\homebrewery\server\homebrew.api.js:127:18)
(node:4380) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)

Focusing on this line: GaxiosError: Properties and app properties are limited to 124 bytes in UTF-8 encoding, counting both the key and the value., using the Marked.js demo page to view the raw lexer output, the first paragraph token contains *\n  A mask made from the skull of the devil who's essence is giving it its powers. Its name \"Retifer\" stands carved in Infernal upon the brows.\n* which, when I dropped it into Notepad++, is reported at 150 characters long.
Reducing this line to A mask made from the skull of the devil who's essence is giving it its powers. causes it to save correctly on the live site (https://homebrewery.naturalcrit.com/edit/1L6WoLrZz6u3jleaar7RlsebmBZ3cOk7D5djBAX58F5Ac).

Tada! Wow who would've thought. Ok, so we just need to limit the max number of characters in titles. Shouldn't be too bad of a fix. I'm honestly surprised it came down to an issue with the title after all. 😅

Ditto and likewise. I'm busy right now but I should be able to put together a PR later today.

I've submitted PR #1251 now; it appears to solve the saving issue on my local installation.
Getting the code to instead select the heading would be a better solution, but that would also suffer the same issue, if that heading should be longer than 124 bytes, so limiting the title length is probably required any way.

Closing as the PR has been merged.


OnResize logic isn't correct

https://github.com/opentk/LearnOpenTK/blob/6825eba6a99e097236eb17b768f59c157e6dadde/Chapter1/2-HelloTriangle/Window.cs#L185
I set the window to (1280, 720) but the GL.Viewport is actually set to:

When I used ClientRectangle.Size.X and ClientRectangle.Size.Y it became proper:

The correct property is actually FramebufferSize, others will break on macOS.
Will fix next time I do some work on these tutorials (if no one else has made a PR)

Oh ok, thank you!


IT for ungraceful daemon restart with multiple host-mode containers

the missing IT for #17594
Signed-off-by: Madhu Venugopal<EMAIL_ADDRESS>

LGTM 🐻 assuming it's green :wink:

LGTM


Map Matching for precision in mapping data also needed

@maxlorenz
Viterbi algorithm can resolve the real life issues of the map matching problem (will choose the most probable previous state as the predecessor of each state in a sequence)

Key is to use Hidden-Markov-Models which are based on Markov Chains.

More readings can be found here

Thanks for the input :smile: we'll have a look into that!


Update laracasts/flash package

The generator does not accept the latest version of the laracasts/flash package. Could this be fixed?
Thanks

yes, will fix it.


cli*.exe and gnu*.exe dont work on windows (launcher.c)

cli*.exe and gnu*.exe add a shebang on windows and due to that some executables can not be launched without the python interpreter invocation. this issue was noticed during usage of pytest(.exe) that was build using setuptools (VS14.0, python 2.7.16, will prob affect python 3.7.2). i had to change launcher.c (see lines 282-285, remove shebang) and rebuild cli*.exe and gnu*.exe (with changes to msvc-build-launcher.cmd to accommodate for VS version) to fix the error (which probably isnt the ideal solution).
TL;DR: a shebang breaks executables on windows

Presumably the shebang was put there for some good reason, though I don't recall at this time wouth more investigation.
However, these executables only get used if a package is installed with easy_install, which is deprecated (except when used internally by setup_requires). If a package is instead installed with pip (recommended), then the executables will be generated by distlib and will have better characteristics and probably aren't subject to the bad behavior you encountered.
As a result, I'm going to close this as wont-fix, but if you have a use-case where the workaround isn't suitable for you, do please provide more detail about your use-case.


Create New Patient

Scenario
AS a user with patient write access
I WANT to be able to create a new patient
SO THAT I can enter a new patient into my system
Acceptance Criteria
GIVEN there is a new patient to be added to the system
WHEN I access the /new/patients page
THEN I should see a form that allows me to enter the following date:

Name - (prefix, given name, family name, suffix)
Sex
Date of Birth
Approximate Age
Patient Type
Occupation
Preferred Language
Phone Number
Email
Address

GIVEN a new patient form
WHEN I select the approximate age checkbox
THEN A new text box appears that allows me to enter an approximate age
AND THEN when I enter the approximate age, the date of birth field should be populated with the date which equals current date - approximate age.
Technical Notes
https://www.hl7.org/fhir/patient.html
Related Issues

#1612

there is a small typo in the Acceptance Criteria:
THEN I should see a form that allows me to enter the following date data

Thanks @pragyanone 😊


[FEATURE] Implement  --group dev instead of --dev (being deprecated)

What kind of feature are you missing?
Hello,
First of all thank you for the plugin.
I would like to suggest you to implement "--group dev" instead of "-dev", as seem in the warnings issued from poetry 1.2.0:
poetry add --dev autopep8 The --dev option is deprecated, use the --group devnotation instead.
Additional context
No response

That's great to know, I have been waiting for that feature to be released in stable versions on Poetry for a while. Thanks for sharing this, will also update the plugin to support this.


Update README with instructions for clusters

We improved cluster support in https://github.com/buildkite/agent-stack-k8s/pull/154. It changed the config you need to provide to use clusters, so let's document it.

I look forward to ripping out the graphql stuff, once we've taught the agent api some new tricks soon

Yas!


Cannot read property 'formatted_address' of undefined

Chapter 19 - where-am-i exercise gives two errors:
On web: Cannot read property 'formatted_address' of undefined
On iOS: window.navigator.geolocation.watchPostion is not available. Import and execute installWebGeolocationPolyfill() from expo-location to add it, or use the expo-location APIs instead.

Hi @evapoulsen, I got the same problem, and here some suggestions that worked for me.

geolocation on iOS and Android:

I installed the expo-location package by running expo install expo-location .
I imported expo location in App.js as Location: import * as Location from 'expo-location'.
I used the #installWebGeolocationPolyfill function that polyfills #navigator.geolocation for interop with the core React Native
and Web API approach to geolocation just before using of the #navigator.geolocation.getCurrentPosition like
this:

       # ... some code

      Location.installWebGeolocationPolyfill()
      navigator.geolocation.getCurrentPosition(setPosition);

      # ... some code

2.The error 'formatted_address' is undefined:
That because there is no API_KEY, you should get an API key from Google, instead, I just Added it manually into the #setPosition function like this:
 #...some code

.then(
          ({ results }) => {
            results[0]={formatted_address:"here"}
            setAddress(results[0].formatted_address)
          },

 #...some code


Improve updates of Win32 window's WindowStyles

What does the pull request do?
Improves updates of window styles, reducing the number of calls to SetWindowLong needed to apply an update to a window.
This change computes the required window styles from the window properties, ensuring only the styles we requested persists.
To allow user to set custom styles, 2 new apis are provided;
Win32SpecificOptions.SetWindowStylesCallback : called after the window styles are computed.
Win32SpecificOptions.SetWndProcHookCallback: called as part of the window message handling.
What is the current behavior?
Window styles are updated from the current window styles. Then the relevant styles are toggled and window is updated. Since the styles aren't validated with the window properties, and only when the properties change will their styles be toggled, the window styles can have other unexpected styles set by external applications, and window behavior may differ from normal.
What is the updated/expected behavior with this PR?

How was the solution implemented (if it's not obvious)?

Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Documentation with user documentation

Breaking changes

Obsoletions / Deprecations

Fixed issues

You can test this PR using the following package version. 11.0.999-cibuild0039094-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

the window styles can have other unexpected styles set by external applications

What about other styles set by the application itself? There are very valid usages of SetWindowLong with GWL_EXSTYLE (WS_EX_TRANSPARENT or WS_EX_NOACTIVATE come to mind), which will be broken by such a change (or even prevent porting existing apps).
I've definitely seen such usages being suggested as workarounds in some Avalonia issues/discussions, which is fine imo, as Avalonia isn't expected to handle every platform-specific property.

the window styles can have other unexpected styles set by external applications

What about other styles set by the application itself? There are very valid usages of SetWindowLong with GWL_EXSTYLE (WS_EX_TRANSPARENT or WS_EX_NOACTIVATE come to mind), which will be broken by such a change (or even prevent porting existing apps).
I've definitely seen such usages being suggested as workarounds in some Avalonia issues/discussions, which is fine imo, as Avalonia isn't expected to handle every platform-specific property.

Thanks for your feedback. Win32SpecificOptions.SetWindowStylesCallback has been added to allow setting custom style and exStyle flags

You can test this PR using the following package version. 11.0.999-cibuild0039177-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

Thanks for your feedback. Win32SpecificOptions.SetWindowStylesCallback has been added to allow setting custom style and exStyle flags

Thank you!
Any reason why Win32SpecificOptions isn't in Avalonia.Win32? (It's so specific I don't think it belongs in the general platform.)
Moving it to Win32 will also simplify the code by removing the extra interface and directly check for Win32.WindowImpl.

You can test this PR using the following package version. 11.0.999-cibuild0039195-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

Thanks for your feedback. Win32SpecificOptions.SetWindowStylesCallback has been added to allow setting custom style and exStyle flags

Thank you!
Any reason why Win32SpecificOptions isn't in Avalonia.Win32? (It's so specific I don't think it belongs in the general platform.) Moving it to Win32 will also simplify the code by removing the extra interface and directly check for Win32.WindowImpl.

Having it in controls would allow using the api in the shared ui projects, especially in the multiplatform templates.

This is platform-specific code. So I don't see why we wanted to add that to some x-plat template.

You can test this PR using the following package version. 11.0.999-cibuild0039205-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0039400-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0039454-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

This is platform-specific code. So I don't see why we wanted to add that to some x-plat template.

I've not been involved in this feature, so I may be wrong but this is my layman's understanding:
Win32SpecificOptions is defined in Avalonia.Controls to support cross-platform code like this:
if (OperatingSystem.IsWindows())
    Win32SpecificOptions.SetWindowStylesCallback(foo);

When running on non-win32 this code will be stripped, and no reference to Avalonia.Win32 or Avalonia.Desktop is necessary. However if Win32SpecificOptions were defined in Avalonia.Win32 then either:

All platforms would need a reference to Avalonia.Win32/Avalonia.Desktop whether they actually need to or not
You'd need to conditionally compile and conditionally reference Avalonia.Desktop

@kekekeks @emmauss please correct me if I'm wrong.

Even if it won't be stripped (e. g. you define it from XAML), the code in Win32SpecificOptions is so small it won't really make a difference.
The problem with having it in Avalonia.Win32is not just trimming, but bringing the entire backend package when targeting mobile/wasm. It has various build problems.

You can test this PR using the following package version. 11.0.999-cibuild0039523-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

I'd argue that if an user needs such a low level platform specific hook, they're either targeting a single platform, or already have conditional compilation/references in place.
Here, the API is simple: it's only two delegates with primitive arguments only. For the sake of the argument, imagine we need some heavy Win32-specific structs instead: personally, I'd find it really weird to have them in the base platform.

You can test this PR using the following package version. 11.0.999-cibuild0039654-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0039698-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0039963-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0039967-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0040024-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0040030-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0040034-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

Hello, I've noticed that in recent master builds, a no-chrome Window opened in Windows 11 is no longer the size indicated by the Window.Width/Height properties, but it is a decent amount larger.  This is for windows with Window.ExtendClientAreaChromeHints set to NoChrome and Window.ExtendClientAreaToDecorationsHint set to true in the window's constructor code-behind.
Previous to this PR, a <Window Width="1024" Height="768"> window with the ExtendClientAreaChromeHints and ExtendClientAreaToDecorationsHint set as above properties would open at 1024x768 size.  Now after the PR, it opens at 1040x807 size on my system.
A window with those properties set is only showing a single pixel border all around.  My guess is the result SHOULD be that the window opens at 1026x770 (1024x768 plus a pixel on each side) instead of 1040x807 since there is no chrome and Avalonia seems to try and get the window's content to the Window.Width/Height size.  The size the no-chrome window now opens at is far too large.
Prior to the PR, the no-chrome window's overall size was the exact Window.Width/Height size, which was close at least to what it should be.
Can this PR be updated to get it working properly for no-chrome windows?


Add HTML entities to Currency

See http://www.w3schools.com/charsets/ref_utf_currency.asp.
Is this useful, because there aren't many of them?

I think this is useful, issue 31 is about a parse value for Money amount given as a string.
In this case, recognizing the valuta sign that can be the prefix of the amount is in order.
When this list is an integral part of the library, searching and finding the valuta is much easier.
When done in this way using CultureInfo or RegionInfo is not necessary.

This is about adding something a property that can be used when displaying a currency in a webpage, like:
currency.HtmlEntity


The latest (0.17.0) library in https://unpkg.com/@excalidraw/excalidraw does not work

The latest (0.17.0) library in https://unpkg.com/@excalidraw/excalidraw does not work with the browser with the jsxs error.  But the 0.16.0 version works.  Could your team generate a new version to support the browser? Thanks.

@mdaxf please use 0.17.1 version of the library and it will work

@ad1992, Thanks.  When using excalidraw in the browser, how do you get the excalidrawAPI objects?

Following works with excalidraw 0.17.1:
<!DOCTYPE html>

    <title>Excalidraw in browser</title>
    <meta charset="UTF-8" />

December 1

But unfortunately doesn't work with Preact, it cannot find ExcalidrawLib again
<!DOCTYPE html>

    <title>Excalidraw in browser</title>
    <meta charset="UTF-8" />

December 1

@7flash you need to make sure that env variable process.env._IS_PREACT is accessible  (and it should be string "true")then it will work with Preact too - https://docs.excalidraw.com/docs/@excalidraw/excalidraw/integration#preact

https://docs.excalidraw.com/docs/@excalidraw/excalidraw/integration#preact

In example above I am not using vite, but just importing build excalidraw-with-preact.development.js directly

https://docs.excalidraw.com/docs/@excalidraw/excalidraw/integration#preact

In example above I am not using vite, but just importing build excalidraw-with-preact.development.js directly

Does it throw any error in the console? Can you share a CSB link with the example so I can look into it? I had tested with bundler and it worked well with Preact.

https://docs.excalidraw.com/docs/@excalidraw/excalidraw/integration#preact

In example above I am not using vite, but just importing build excalidraw-with-preact.development.js directly

Does it throw any error in the console? Can you share a CSB link with the reproducible example so I can look into it? I had tested with bundler and it worked well with Preact.

https://codesandbox.io/p/sandbox/solitary-architecture-lg7n9h

This issue seems to be back in 0.17.2. It was fixed in 0.17.1 but I get the following error with 0.17.2:
icons.tsx:212 Uncaught TypeError: Cannot read properties of undefined (reading 'jsxs')
    at eval (icons.tsx:212:84)
    at ../../components/icons.tsx (excalidraw.development.js:3588:1)
    at __webpack_require__ (excalidraw.development.js:5614:42)
    at eval (Hyperlink.tsx:21:75)
    at ../../element/Hyperlink.tsx (excalidraw.development.js:3852:1)
    at __webpack_require__ (excalidraw.development.js:5614:42)
    at eval (renderScene.ts:22:77)
    at ../../renderer/renderScene.ts (excalidraw.development.js:4424:1)
    at __webpack_require__ (excalidraw.development.js:5614:42)
    at eval (transformHandles.ts:13:79)


Hypertext should use IntersectionObserver for mobile device support

Is your feature request related to a problem? Please describe.
Current implementation of HyperText is using onMouseEnter which not available in the Mobile Device. when the animateOnLoad={false}, use Intersection Observer to start the animation.

Describe the solution you'd like
You can check on https://usehooks-ts.com/react-hook/use-intersection-observer to see how to create intersection observer helper.
Additional context
To maintain the backward compatibility, please keep the onMouseEnter as it is.

@mazipan So, if I understand correctly, you want that text to animate when it comes into view? on Desktop the hover will trigger the effect and on mobile when your scrolling down to that part the animation will trigger for once?

Yes, correct.
In the current condition, the animation seems never executed, especially if the element below the fold where user needs to scroll down to see the element.
There is no option in the mobile device to see the animation in that condition.

Makes sense. Than you for the catch. Will push a fix soon 🤝

@mazipan this should be fixed now 🤝 thanks for the feedback.


Switch from one prerelease tag to another

We've been developing a big release for a while in pre-release mode with tag "alpha".
Now we're ready for a release candidate so we'd like to switch to tag "rc", without first doing a non-pre release.
You can't just run changeset pre enter rc when you're already in pre mode.  You can do changeset pre exit; changeset pre enter rc or you can just manually change the tag to rc in pre.json.
This all seems to mostly work except that I'd like the versions to start over at<EMAIL_ADDRESS>instead of incrementing to the next number past the last alpha (eg<EMAIL_ADDRESS>is followed by p@4.0.0-rc.14). Is there a right way to do this?

Oops, looks like this is a duplicate of #933


gui: use createspend command for coin selection and missing amount

This PR is a follow-up to https://github.com/wizardsardine/liana/pull/927 and uses changes made in https://github.com/wizardsardine/liana/pull/938.
It reverts to using the createspend command in the GUI for automated coin selection and to determine the amount left to select when creating a new spend (which was previously changed in https://github.com/wizardsardine/liana/pull/863).
With this PR, the changes from https://github.com/wizardsardine/liana/pull/873 will become effective in the GUI so that (some) unconfirmed coins are used as candidates and any additional fee to pay for ancestors is included when calculating the amount left to select.

Thanks to @edouardparis for spotting that the amount left to select would not update if the user deselected all coins. This was because passing an empty list of outpoints to create_spend_tx would use auto-selection rather than manual selection with an empty list of inputs. I've made a change as suggested to set the amount left to select in that case to the total destination value.


Dictionary look up

Is it possible to see the defiinition of words other than the first in a sentence? A way to scroll through them or something? I've just been deleting text to get to them but I don't know if there's another easier way to do it

It is possible now! In the new update you can tap the first character of the word you want to look up, just like Yomichan, if you ever used that


Add enable/disable configuration for debug logging in diktat and ktlint

Now it is awful:
if (debug) {
}

Other things to consider regarding logging:

migrate from slf4j to kotlin-logging
do something not to exclude slf4j-log4j12 from diktat-rules when used as a plugin (use log4j only in our own tests and in fat jar)

Another point regarding logging: both maven and gradle provide slf4j-compatible logger implementation at runtime, so diktat-rules should only include slf4j-api in jar and use provided logging implementation.

ktlint 0.44 finally changed logging mechanism to slf4j, so I suppose this issue can be closed. But before closing, we should check if debug parameter is needed anymore and also if we have any transitive dependencies on logging implementation in plugins (like https://github.com/analysis-dev/diktat/issues/1269#issuecomment-1098778524)

Then we should remove all “legacy debug” logging in diktat? @petertrr

Then we should remove all “legacy debug” logging in diktat? @petertrr

IIRC, we don't use old ktlint's debug, we always use slf4j loggers, but we'll need to recheck this


Use a single Policy model for Platform policies and Constitution policies

Combine PlatformPolicy and ConstitutionPolicy into a single model called Policy

custom migration file ensures that policies arent lost, I tested on my server. it also downloads all policies to text files as backup.

Require policies to have names, and show an error to the user if save is unsuccessful (So they don't lose their work!)
Some fixes to starterkit constitution policies that were calling action.execute() on pass, which would lead to double execution since we do it from the engine

Looks great, thank you!


swap token - auc token bug

Describe the bug
2 API possible issues
showing liquidity for empty pool

API response:
"pool_dlt_id":"0x164A1229F4826C9dd70Ee3D9f4f3d7B68a172153","name":"AUC/BNT","decimals":18,"liquidity":{"usd":"91230.692969"},"volume_24h":{"usd":"0"},"fees_24h":{"usd":"0"},"fee":"1000","supply":"108912.489530614453884081","version":9,"converter_dlt_id":"0x3B0116363e435D9E4EF24ecA6282a21b7CC662df"},{"reserves":[{"address":"0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C","weight":"500000","balance":"4484.935796331895916223"},{"address":"0xc944E90C64B2c07662A292be6244BDf05Cda44a7","weight":"500000","balance":"8280.715307549089961795"}]
pool on the blockchain is empty.
check API to see why the pool data return balances
EDG token decimals:
API:
{"symbol":"EDG","dlt_id":"0x08711D3B02C8758F2FB3ab4e80228418a7F8e39c","decimals":18,"liquidity":{"usd":"0.000397"},"rate":{"usd":"397175460754095.546000"},"rate_24h_ago":{"usd":"371180213824927.257000"}}
etherscan: edg token has 0 decimals

EDG request -
https://api-v2.bancor.network/tokens?dlt_id=0x08711D3B02C8758F2FB3ab4e80228418a7F8e39c&dlt_type=ethereum
returns this -
{"data":[{"dlt_type":"ethereum","dlt_id":"0x08711D3B02C8758F2FB3ab4e80228418a7F8e39c","symbol":"EDG","name":"Edgeless","decimals":0,"liquidity":{"usd":"0.000478"},"price":{"usd":"478020013863734.010000"},"price_24h_ago":{"usd":"462196820080762.008000"},"volume_24h":{"usd":"0","base":"0"}}]}
0 decimals.
How come we're seeing different results?

We're now seeing 0 decimals coming from EDG.

@ashachaf are we tackling the other API issue in #1023 then?

The other API issue (EDG token decimals) was already fixed.

i am closing this issue as both items have been fixed.


Refresh wallet balance after send

Make sure to refresh wallet balance after send

This possibly just requires testing

yes, currently sync is being called right after broadcasting the tx
do u think waiting a second after broadcast and before calling sync will improve the user's experience ? @BullishNode

I don't think it was just to make sure that we do the sync

Closing this. I think this is addressed now by 0.1.91


Sorted x

I know that xSort is not official API yet, but I have this problem - I need to draw some XY charts ( where I set points like [0,1], [3,4], [2, 5]). I need them to be not in order and I guess that is what xSort option is for. However, when I load new values, x values get sorted.
Here is fiddle to show the problem https://jsfiddle.net/wykra9tr/2
If this is not implemented yet, is there an easy way for me to fix this?

I have a similar issue with TimeSeries data: the date data is being loaded into the chart in a specific order but the "index" attribute of each data point is resorted based on ascending date, which makes it impossible for me to later correlate dots with external data via index.

I've got the same use case, XY chart should allow to plot non sequential data.
Example: https://yannick-isencia.tinytake.com/sf/NDgxNjMyXzI1NzI0MjI
data.xSort option doesn't seem to do the trick.
Any chance that this will ever be supported?

I would need to get this working too?
Any chance that this will ever be supported?
What kind of workarounds you have done? Could some add example?

I had the same problem and managed to fix it by overwriting the default config of the attribute data_xSort :
c3.chart.internal.fn.additionalConfig = {data_xSort: false};

It worked like a charm.

@raphaelpra you just saved my butt. Thanks for this!


Custom mime types

Would be awesome to be able to set custom scripts for files handling, like in "tg" for example.
# media
video/*; mpv "%s"
audio/ogg; mpv --speed=1.33 "%s"
audio/mpeg; mpv --no-video "%s"
image/*; qview "%s"

# text
text/html; w3m "%s"
text/html; open -a Firefox "%s"
text/plain; less "%s"

# fallback to vim
text/*; vim "%s"

Or at least a custom command to handle file previews. I want to set quicklook for that.

Perhaps we can start with just adding support for custom command when opening files, as it should be fairly quick. If using command see (Linux) I believe mailcap directives would be used.

Custom command will do the job for me.

Support for custom command has been added in above commit. It's configurable using attachment_open_command - check the README.md for details and example.


[Feat]: support read-only access with more than anonymousPolicy

Is your feature request related to a problem? Please describe.
I'd like to run a zot that serves up a read-only RootDirectory but does not allow anonymous access.
I was able to start a zot (did not test significantly) pointing it at a read-only mount with this config:
distspecversion: 1.1.0-dev
storage:
  rootdirectory: /tmp/myzotd
  dedupe: false
  remotecache: false
  gc: false
  commit: false
http:
  address: <IP_ADDRESS>
  port: "0"
  accesscontrol:
    repositories:
      '**':
        anonymousPolicy: [read]
  realm: zot
log:
  level: debug
  output: logs/access.log
  audit: logs/audit.log

But I would like to be able to use a config below.  The changes from above are:

htpasswd auth
anonymous does not have read permission
default permission is none
the 'ro-user' has explicit 'read' permission.

distspecversion: 1.1.0-dev
storage:
  rootdirectory: /tmp/myzotd
  dedupe: false
  remotecache: false
  gc: false
  commit: false
http:
  address: <IP_ADDRESS>
  port: 0
  auth:
    htpasswd:
      path: htpasswd
  accesscontrol:
    repositories:
      '**':
        anonymousPolicy: []
        defaultPolicy: []
        policies:
          - users: ["ro-user"]
            actions: ["read"]
  realm: zot
log:
  level: debug
  output: logs/access.log
  audit: logs/audit.log

An attempt will currently fail like this:
$ ./zot-linux-amd64-minimal --version 2>&1 | jq
{
  "level": "info",
  "distribution-spec": "1.1.0-dev",
  "commit": "v2.0.0-rc6-0-gde24bd9",
  "binary-type": "minimal",
  "go version": "go1.20.6",
  "time": "2023-08-04T14:24:24-07:00",
  "message": "version"
}

$ ./zot-linux-amd64-minimal serve config.yaml
panic: open /tmp/myzotd/repo.db: read-only file system

goroutine 1 [running]:
zotregistry.io/zot/pkg/cli.newServeCmd.func1(0xc000e7e000?, {0xc00024bcc0, 0x1, 0x1?})
        zotregistry.io/zot/pkg/cli/root.go:66 +0x11f
github.com/spf13/cobra.(*Command).execute(0xc000e7e000, {0xc00024bc80, 0x1, 0x1})
        github.com/spf13/cobra@v1.7.0/command.go:944 +0x847
github.com/spf13/cobra.(*Command).ExecuteC(0xc000b11b00)
        github.com/spf13/cobra@v1.7.0/command.go:1068 +0x3bd
github.com/spf13/cobra.(*Command).Execute(0xc0000061a0?)
        github.com/spf13/cobra@v1.7.0/command.go:992 +0x19
main.main()
        zotregistry.io/zot/cmd/zot/main.go:10 +0x1e

Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

Hi @smoser, are you sure zot can write to the folder set as root directory? It looks like it failed to create the db (the one it uses to store the groups the user may belong to, among other things). Opening that file is triggered by you enabling user authentication.

I got something working that is I think sufficient for me using a "/" subPath:
storage:
  rootdirectory: "/path/to/writable/dir"
  dedupe: false
  remotecache: false
  gc: false
  commit: false
  subpaths:
    "/":
      rootdirectory: "/path/to/read-only/dir"

The files/directories listed above are written into /path/to/writable/dir
(repo.db and friends) and /path/to/read-only/dir is unmodified.
Attached (go-test.sh.txt) is a script that demonstrates this working. It takes as input a "top dir" and a "orig dir".  config is written into top_dir, a read-only bind-mount of orig-dir is done to top_dir/ro-data and that directory is used for the subPath.
The whole config looks something like this:
distspecversion: 1.1.0-dev
storage:
  rootdirectory: "/tmp/td/testd/rootDir"
  dedupe: false
  remotecache: false
  gc: false
  commit: false
  subPaths:
    "/":
      rootDirectory: "/tmp/td/testd/ro-data"
http:
  address: "<IP_ADDRESS>"
  port: 0
  auth:
    htpasswd:
      path: "/tmp/td/testd/htpasswd"
  accesscontrol:
    repositories:
      '**':
        anonymousPolicy: []
        defaultPolicy: []
        policies:
          - users: ["ro-user"]
            actions: ["read"]
  realm: zot
log:
  level: debug
  output: "/tmp/td/testd/access.log"
  audit: "/tmp/td/testd/audit.log"

For my own info, updated the script and re-attached (go-test.sh.txt).  This version does not need root.  It does so by doing the bind-mount unprivileged via 'unshare'.


support for flutter 3

any plan to upgrade to flutter 3?

here is my dart version.
[✓] Flutter (Channel stable, 3.0.1, on macOS 12.4 21F79 darwin-x64, locale en-GB)
• Flutter version 3.0.1 at /Users/gln/Documents/flutter3
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision fb57da5f94 (3 weeks ago), 2022-05-19 15:50:29 -0700
• Engine revision caaafc5604
• Dart version 2.17.1
• DevTools version 2.12.2

See version 2.1.1.


Latest version of all scala libraries is unknown

Create a sbt project, add any scala library as dependency (e.g "com.typesafe.scala-logging" %% "scala-logging" % "3.1.0"), publish project to versioneye using versioneye sbt plugin - "Newest" column for dependency will be "UNKNOWN".
It seems scala binary version suffix, present in artifact id of all scala libraries (e.g. "_2.11" in http://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.11/ ), is not used when resolving latest version of a library.

@mp911de Can you please take a look to this?

Yep.

@sslavic Can this be closed now? /cc @mp911de

Yep, fixed in 0.1.1


deprecate github cdn

Deprecate using GitHub as a CDN. Currently some users files hosted in the repository. GitHub repositories are for source control, not hosting.
Users will get a console error if they continue to consume it via GitHub.
We'll keep this file here but it won't be updated.
If users want to acces any updates, they must consume the library as instructed: CDN or Node

fixed by #1921


c42-fix-enum-types

Change Summary

Removed the enum type from the database. The application now provides validation for fields

Change Form
Fill this up (NA if not available). If a certain criteria is not met, can you please give a reason.

[x] The pull request title has an issue number
[x] The code works by "Smoke testing" (in other words, you have tested it your own and it works)
[ ] The code has documentation (either comments or in main documentation platform)

Other Information
[Is there anything in particular in the review that I should be aware of?]

If this has been reviewed, and ready to go, don't let the PR go stale here. Merge it
The longer a branch is away from main branch. The higher the likelyhood of it causing merge conflicts because most branches are branching of master (or develop) which means always keep it updated. https://softwareengineering.stackexchange.com/questions/395021/is-it-better-to-merge-often-or-only-after-completion-do-a-big-merge-of-feature


HELP please: correct way to break a task

Hi,
thank you very much for your package. I want to use it for a little project that I'm creating.
I have a utility developed with Lazarus that show a form with a progress bar and receive command from stdin. This utility is launched from a LUA script that get the handle of its stdin and send commands to that handle.
The section that receive the command is a task create with your component, and the routine send the commands to the main task (the GUI) with the PostMessage method.
In the task there's a continuous loop that only check the Sender.Terminated.
The significant section of the program is this:
procedure TformMain.TaskStdinExecute(const Sender: TTask; const Msg: Word;
							var Param: Variant);

var
    keyEvent: TKeyEvent;
    stdin: String = '';

begin
    keyboard.InitKeyboard;
    while not Sender.Terminated do
    begin
        keyEvent := PollKeyEvent;
    	if keyEvent <> 0 then
	    begin
			keyEvent := GetKeyEvent;
	        keyEvent := TranslateKeyEvent(keyEvent);
	        if GetKeyEventFlags(keyEvent) = kbASCII then
	        begin
	            if ((Ord(GetKeyEventChar(keyEvent)) = 10) or
	            	(Ord(GetKeyEventChar(keyEvent)) = 13)) then
	            begin
	                Sender.PostMessage(WM_MY_MESSAGE, stdin);
	                stdin := '';
	            end
	            else
	            begin
	            	stdin := stdin + KeyEventToString(keyEvent);
	            end
	        end
		end;
    end;
    keyboard.DoneKeyboard;
end;

procedure TformMain.TaskStdinFinish(const Sender: TTask; const Msg: Word;
						const Param: Variant);

begin
	ShowMessage('This thread terminated');
end;

procedure TformMain.TaskStdinMessage(const Sender: TTask; const Msg: Word;
						const Param: Variant);

var
    my_inp: String;
    my_value: LongInt;

begin
    ShowMessage(Param);
	if Msg = WM_MY_MESSAGE then
    begin
        my_inp := LowerCase(Param);
        if my_inp = 's' then
        begin
            formMain.Show;
        end
        else if my_inp = 'h' then
        begin
            formMain.Hide;
		end
		else if my_inp = 'q' then
        begin
        	formMain.Close;
		end;
	end;
end;

procedure TformMain.threadStdinAllTasksFinished(const Sender: TWCthread);

begin
    ShowMessage('All threads terminated');
end;

end.

My problem is:
When the TaskStdinMessage receive the string 'q', the program must end, but the task TaskStdinExecute that read the stdin is running, so which is the correct way to terminate the task and only after that quit the program?
Actually, in my program the methods 'TaskStdinFinish' and 'threadStdinAllTasksFinished' never show.
Forgive me for the length of my post and thank very much for any help that you'll give me.

Further analysis showed that the first problem is related to keyboard management in the Execute procedure of the task.
It seems that keystroke polling/handling interferes with message dispatch between tasks, but I can't understand why.
However, while I will be doing other tests, it would be useful to have the answer at least to the second point, that is, while the Execute procedure of the task is still running (the execution is a closed loop that controls only Sender.Terminate), what is the correct way for the primary process of the GUI to interrupt and cancel the task releasing all the resources?
Thanks again

Hi, Lurgainn!
You cannot access the keyboard and GUI directly from the thread. To do this, use the message queue. Your task does not need an additional thread. All this should run in the main thread.
PS. OnFinish will be executed when the task completes normally. Terminated is the abnormal completion of a task or application.
Sample:
`unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, wcthread;
const
WM_SET_LABEL = 1;
type
{ TForm1 }

TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    SimpleTask: TTask;
    WCThread1: TWCThread;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure SimpleTaskExecute(const Sender: TTask; const Msg: Word; var Param: Variant);
    procedure SimpleTaskFinish(const Sender: TTask; const Msg: Word; const Param: Variant);
    procedure SimpleTaskMessage(const Sender: TTask; const Msg: Word; const Param: Variant);
private
    FTaskFinished: boolean;
public

end;

var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
FTaskFinished := false;
SimpleTask.Start;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SimpleTask.Stop; // terminate task, not finish
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
FTaskFinished := true; //
end;
procedure TForm1.SimpleTaskExecute(const Sender: TTask; const Msg: Word; var Param: Variant);
var i: integer;
begin
i := 0;
while not Sender.Terminated do begin
Sender.WaitMs(100); // hard work emulation
if FTaskFinished then break; // normal completion of the task, OnFinish will be executed
inc(i, 1);
Sender.PostMessage(WM_SET_LABEL, IntToStr(i)); // send message to main thread
end;
end;
procedure TForm1.SimpleTaskFinish(const Sender: TTask; const Msg: Word; const Param: Variant);
begin
ShowMessage('Finished!'); // task normally finished, not terminated
end;
procedure TForm1.SimpleTaskMessage(const Sender: TTask; const Msg: Word; const Param: Variant);
begin
case Msg of
WM_SET_LABEL: Label1.Caption := Param; // this event will be executed in main thread
end;
end;
end.
`

Thanks very much. Now I understand and I'll close this issue.
And thanks again for your work.
Bye.


Improve Dapr-Bot

Describe the proposal
We could improve the Dapr Bot for Repo Management with the following:

stale is fine: Mark an issue as stale when it is not being responded to in X days
needs-author-feedback: Add the tag when a comment is made with /ping-author by a contributor. This will then add the label needs-author-feedback to the issue.
needs-team-attention: Add the tag when the Author of the issue replies to a comment that added the label needs-author-feedback. It will as well remove the tag needs-author-feedback

/assign

Additionally, add a /ok-to-e2e-test command.

Additionally, add a /ok-to-e2e-test command.

Doesn't ok-to-test do that?

@tanvigour, we don't have these currently in this repo's dapr bot.


Remove jailed and all references to it.

Remove this line https://github.com/FreeCodeCamp/FreeCodeCamp/blob/7b3e78119da00a1ebd34d94df6686a634256a6b8/server/views/partials/challenge-footer.jade#L1
And all the associated files https://github.com/FreeCodeCamp/FreeCodeCamp/search?l=javascript&q=jailed&utf8=✓

@BerkeleyTrue Hi, I want to try on this issue. After removing L1 on challenge-footer.jade, should I remove the folder for all the associated files?

@baguzzzaji Yes, thanks.


Trends: max/min

I'm submitting a ...

[x] Feature request

For trends, zabbix itself shows min,max and avg.
Would be nice if this could be selected/controlled in garafana as well

You can use trendValue() function like here: http://play.grafana-zabbix.org/dashboard/db/trends

Thanks. Does seem to have some issues when using together with stacked values


Fixed SparseMatrixOperator to correctly implement adjoint.

This is a fix for open issue https://github.com/scipy/scipy/issues/5546

note to reviewers: this is one of several proposed fixed from gh-5546.

@yorickthreski Could you add a test?

the linked issue was closed by a different PR. thanks for the interest @yorickjh !


Link C++ client libraries from Cloud Trace documentation

https://cloud.google.com/trace /cpp/docs/reference/trace/latest

Cloud Trace does not have a place to put links to the C++ client library.  All the documentation is about integration with exporters for OTel and instrumenting the code.  This requires closer collaboration with the technical writers.

This is done.
https://cloud.google.com/trace/docs/client-libraries links to https://cloud.google.com/trace/docs/setup/cpp-ot


FlexJS path not recognized in Windows 10

I don't understand why the path of FlexJS is not recognized on Windows.
The sdk is on the second partition,

I even set the path in the tasks.json

There must be something wrong with your SDK. Important files might be missing!

Try this format: --flexHome=F:/dir/dir
Set in (CTRL+SHIFT+P then) User Settings:
"nextgenas.sdk.editor": "F:/dir/dir",

If you download FlexJS 0.8.0 with the Flex SDK Installer, make sure to get the "release branch" version.

@joshtynjala There is no 0.8.0 in Flex SDK Installer (?)

SDK Installer doesn't work with errors

@gdeverlant What the log says?

I've before downloaded manually from this link https://github.com/apache/flex-asjs/releases the 0.8.0-rc1

Well I just tried same thing, a got another error: Error #1000

Log end:
...
Falcon and FalconJX installed in F:\test-Apache-flexJs-install-070
Downloading Adobe AIR Runtime Kit for Windows from: http://airdownload.adobe.com/air/win/download/25.0//AdobeAIRSDK.zip
Validating download: F:\test-Apache-flexJs-install-070/in/AdobeAIRSDK.zip
Uncompressing: F:\test-Apache-flexJs-install-070/in/AdobeAIRSDK.zip
Error #1000
It is probably cause latest AIR is much larger due to 64bit.. How to solve this?

It looks like only the version 21.0 is going through.

From run time errors:
Code 1000
Message	Description
"The system is out of memory.	Flash needs more memory to compile your code than your system has available. Close some of the applications or processes running on your system."

AIR 25
AIR 24
AIR 23
AIR 22
all of them are not working ... I didn't test the other ones but they might not work also.

I have tried one from this link:
http://apacheflexbuild.cloudapp.net:8080/job/flex-asjs/lastSuccessfulBuild/
but no success in making v0.8.0 work in VSCode.

There is no 0.8.0 in Flex SDK Installer (?)

In the Flex SDK Installer, if you right-click and choose Show Dev Builds, it will show nightly builds, including the 0.8.0 release branch.

I've before downloaded manually from this link https://github.com/apache/flex-asjs/releases the 0.8.0-rc1 Even if I do it manually it doesn't work

I have tried one from this link: http://apacheflexbuild.cloudapp.net:8080/job/flex-asjs/lastSuccessfulBuild/ but no success in making v0.8.0 work in VSCode.

If you download 0.8.0 outside of the Flex SDK Installer, you need to manually run the install script. Expand the archive, go into the directory, and then run ant -f installer.xml using Ant.

Well I just tried same thing, a got another error: Error #1000 How to solve this?

Currently, if you try to install AIR 25 with the Flex SDK Installer, you will get Error 1000 because Adobe made the download size significantly larger to add support for iOS bitcode, and 32-bit processes aren't able to allocate enough memory without crashing. You can install FlexJS with AIR 24 or older, or you can install manually with Ant. With FlexJS, you're probably not going to use AIR at all, so any version older than AIR 25 should be fine. I usually pick whatever the default is, which I think is AIR 23.

For the manual process can you provide a video tutorial which explains step by step process?

I can't certainly consider a video tutorial for that in the future. It's actually not very complicated.
First, you need to download Apache Ant.
Then, open the command line and run these commands:
cd d:\programming\sdks\flexjs-0.8.0
ant -f installer.xml

You may need to use the full path to ant.exe, if it's not in your Path environment variable. Let's say you extracted it to d:\programming\ant
cd d:\programming\sdks\flexjs-0.8.0
d:\programming\ant\bin\ant.exe -f installer.xml

Hey it looks like now it works with AIR 24 and FlexJS 0.8.0 release branch

Thanx for the video tutorial :D


Document that CollidingEntities requires ActiveEvents::COLLISION_EVENTS

Looks like this may not have been the case before. I ran into this trying to use CollidingEntities, and was only able to find the cause after looking into its implementation.
Lmk if anything else is needed for this PR!

Thanks!


Use postgres in CI

Use postgres in CI and fix CI errors

Done: https://github.com/metarhia/metasql/pull/119


What is the approval process for proposed changes to models maintained in the public instance of Legend (e.g. ISDA's CDM)?

Legend currently leverages Gitlab SDLC for approving and merging data model changes. Code review is initiated through Studio and changes are then able to be viewed in GitLab before approval. This means, model changes can be completely managed in the Studio UI. Generally, we encourage users working on data models to customize their own approval process leveraging out of the box GitLab functionality. For the CDM specifically, the ISDA ARC offer governance and review of changes before being able to commit back to the golden source in Rosetta.


Get User Location Extension using API's

Problem Description:
The feature request is aiming to enable an application to retrieve a user's location using APIs. This functionality is crucial for various applications, especially those that need to provide location-based services or personalize content based on the user's geographical position.
Solution Description:
The solution involves integrating a location-based API into the application. This API should allow the application to determine the user's geographic coordinates (latitude and longitude) based on their device's IP address or other available location data. The retrieved location can then be used to enhance user experience by providing relevant information or services tailored to their location.
Alternatives Considered:

HTML5 Geolocation API: This browser-based API provides location information using the device's GPS or other location sources if available. It's suitable for web applications.

IP Geolocation APIs: Services like IPinfo, ipstack, or ipdata provide location data based on IP addresses. These are useful when precise GPS data isn't necessary or available.

Closing this #989


Saving file with new branch and merge

Estimate: L

https://developer.github.com/v3/

Let's split this into smaller pieces once we know what we're actually doing


The accuracy between UNETR and Pre-trained Swin-UNETR

Dear Authors,
Thanks so much for the great work! I found these two papers from your group are quite interesting:
[1]. UNETR: Transformers for 3D Medical Image Segmentation
[2]. Self-Supervised Pre-Training of Swin Transformers for 3D Medical Image Analysis
So, when I looked at the accuracy from Table I of [2] for both UNETR and Swin UNETR. It suggested that the accuracy increasing is pretty minor and some organs have excately the same DSC accuracy. For example, Rkid: 0.942, Lkid: 0.954, Aor: 0.948. It also suggested that the accuracy increasing are from Veins, Pan and AGs.
So, I downloaded the segmentations you have submitted to the BTCV website, named "UNETR_newVer1.zip" for UNETR and "3D_SSL_pretrain_swinTransformer_and_SwinUNETR_v2.zip" for pre-trained Swin-UNETR. Please correct me if I downloaded the wrong ones.
I did a DSC calculation for these two submissions for the 20 test sets.  Interestingly, most of the DSC between those two submissions are 1. DSC of 1 means that the two organs are identical and requires pixel-leve match. So my question is how would this be possible given the segmentations are calculated from different models even there are 10-ensemble for the two different models?
I am looking forward to your reply and I appologize if I missed something.
Thanks !

Hi, Authors,
Could you please reply my question/concerns ?
Thank you!

Hi, I'm not the author, and I would like to ask where is the code of the pre-trained Swin-UNETR? I can't find it. Thank you very much.

Hi @overbestfitting ,
Thanks for the comment. There should have been a mistake about this.
Please check the latest pre-print (link) and leaderboard. Pre-trained Swin UNETR achieves an average Dice of 0.918 which outperform UNETR's 0.891. The difference is also shown in organ-wise dice comparisons.
Thanks

Hi @ljljlj02,
Thanks for the comment. Swin UNETR is now merged into core MONAI (link). We plan on releasing the research repository very soon. Please check this repository for updates.
Thanks


Example with consul.io

Hi,
I start to change all of my company architecture from monolyth API to microservices approache. After several weeks, we find Kong to (correct me if i am wrong) make the proxy and api gateway part and Consul to make the registrator part.
After several days, I find how to add into consul automatically all my services and now i search how to add this services into Kong automatically and how to set the loadBalancer if I have x occurences of one microservice.
Have you examples, sources, documentations, .. to do this ?
Thanks.
PS : Sorry for my english

@throrin19 to use the DNS resolution provided by Consul (and leverage its load balancing), you need to specify the DNS resolver address in the Kong configuration, specifically you would need the following entry:
dns_resolver: server
dns_resolvers_available:
  server:
    address: "<IP_ADDRESS>:53"

Where <IP_ADDRESS>:53 is the address to the Consul DNS resolver address and port. This will disable the default dnsmasq resolver.
At this point any upstream hostname, for example helloworld in upstream_url=http://helloworld/request, will be resolved by Consul.

Can I use 2-3 DNS server? Will Kong load balancing between them? Can Kong detect failed dns server and won't query to that dns server?

When I change configuration to:
dns_resolver: dnsmasq
dns_resolver: server
dns_resolvers_available:
server:
address: "<IP_ADDRESS>:8600"
dnsmasq:
port: 8053
I can't restart Kong:
sudo kong restart
[INFO] Using configuration: /etc/kong/kong.yml
[INFO] Leaving cluster..
[INFO] Kong 0.7.0
[INFO] Using configuration: /etc/kong/kong.yml
[ERR] Some services required by Kong are already running. Please execute "kong restart"!

@jimmypk that doesn't look like a valid YAML format, try with proper indentation, like:
dns_resolver: server
dns_resolvers_available:
  server:
    address: "<IP_ADDRESS>:8600"

Kong will only accept one address.

I forgot the syntax when copy to here. The kong.yml is the same with your post. But it still doesn't run. I check log file at /usr/local/kong/logs/error.log
2016/03/29 09:53:03 [notice] 17679#0: signal process started 2016/03/29 09:53:03 [error] 17679#0: open() "/usr/local/kong/nginx.pid" failed (2: No such file or directory) 2016/03/29 09:53:44 [notice] 17760#0: signal process started 2016/03/29 09:53:44 [error] 17760#0: open() "/usr/local/kong/nginx.pid" failed (2: No such file or directory)
If I remove 4 lines of dns. Kong starts normally. I don't know why can't configure dns (that is consule dns server).

DNS is UDP protocol

Touchè, I wanted to say a UDP load balancer.

I check log file at /usr/local/kong/logs/error.log

Those errors should not affect the DNS resolutions. I will try locally with Consul and let you know the results of my test.

Kong started ok with dns of consul server.
When I send HTTP request to test.domain.com (is pointed to Kong), Kong will query Consul DNS Server.
2016/03/29 10:25:30 [error] 2332#0: *10 test.service.consul could not be resolved (3: Host not found), client: <IP_ADDRESS>, server: _, request: "POST /sessions HTTP/1.1", host: "test.domain.com"
What type of the dns query, it is normal query or SRV query?
I want to use Kong send services lookup (query SRV record) to Consul Server, is that possible with Kong?

Kong will execute a normal DNS query, and it currently doesn't support SRV queries. Does Consul only support SRV queries or also normal queries?

Consul only support SRV queries for service discovery.

@jimmypk got it - then support for SRV should be introduced in 0.9.0 since we will adopt https://github.com/openresty/lua-resty-dns for DNS resolutions by then, and the lua-resty-dns module should support SRV.

Thanks for your roadmap.
Currently I write plugin to do that with lua-resty-dns
Hope you think about this https://github.com/Mashape/kong/issues/1129#issuecomment-206690990

@thefosk Hi, are u already working on this or is just planned?

This is only planned, there are other things we must address before, including first releasing 0.8.

hey @thibaultCha I would like to help with this, maybe I can open an issue to discuss with you guys the better way to implement this, what do you think?

The refactor/cli branch needs to be completed and merged first before tackling this, we can talk about it once that is done, but globally our plan is to switch to balancer_by_lua instead of the proxy_pass directive, and that would include having to resolve the upstream URLs ourselves, hence the need for lua-resty-dns, which, luckily, supports SRV records.
But the refactor/cli changes the way the nginx configuration is built and changes config variables, thus touching many parts of the codebase. Even basing our work on top of it would not be quite safe, since the refactor is not fully completed yet.

OK, I'll do some palliative method until we can discuss again. There is an issue tracking the refactor/cli change?

It relates to many. For example:
#217
#656
#946
#974

@jimmypk I was reading the Consul documentation, and it seems like it supports both A and SRV records for service discovery (as opposed to your previous comment which stated that it only supports SRV records):

For standard services queries, both A and SRV records are supported. SRV records provide the port that a service is registered on, enabling clients to avoid relying on well-known ports. SRV records are only served if the client specifically requests them.

https://www.consul.io/docs/agent/dns.html

I think that using the A records from consul and settings the ports mannually could be palliative, but considering my scenario, where all upstreams are docker containers, registered on consul with random ports (avoiding ports conflicts on docker), this still doesn't resolves the issue.
One thing that I'd used with vanilla nginx, is to generate nginx.conf from a template, rendering the upstreams IP and ports from information provided by consul, using consul-template and sending the HUP signal to reload nginx. Could this be the palliative action till 0.9.0 be released?

I'm a little late to the discussion but was dropping in to point out that consul-template (as @geovanisouza92 noted) would work quite well for specifying nginx upstreams

Any news about the release of Kong 0.9 and SRV change? 0.9.0 RC1 doesn't seems explicit about it.
SRV request would be great to avoid specifying static port in upstream url. BTW we are also switching from Monolithic app to Microservices architecture, and trio Kong / Consul / Nomad seems great but really need SRV records to handle dynamic ports config

@Kemicalish It looks the answer to your question was given in the relevant pull request. Unfortunately, the SRV resolver won't make it into 0.9.

Considering this question answered so far.

Container internal port and external port is not the same, how to do it better

@huyifanstar I'd suggest starting a new issue and explain the difficulty you're having.

@throrin19   我遇到kong运行以后出现
Kong Error
An unexpected error occurred.
2016-11-30 02:37:03 kongnginx_kong_1  migrating core for database kong
2016-11-30 02:37:03 kongnginx_kong_1  core migrated up to: 2015-01-12-175310_skeleton
2016-11-30 02:37:03 kongnginx_kong_1  core migrated up to: 2015-11-23-817313_nodes
2016-11-30 02:37:03 kongnginx_kong_1  core migrated up to: 2015-01-12-175310_init_schema
2016-11-30 02:37:03 kongnginx_kong_1  hmac-auth migrated up to: 2015-09-16-132400_init_hmacauth
2016-11-30 02:37:03 kongnginx_kong_1  migrating hmac-auth for database kong
2016-11-30 02:37:03 kongnginx_kong_1  core migrated up to: 2016-02-29-142793_ttls
2016-11-30 02:37:03 kongnginx_kong_1  migrating rate-limiting for database kong
2016-11-30 02:37:03 kongnginx_kong_1  rate-limiting migrated up to: 2015-08-03-132400_init_ratelimiting
2016-11-30 02:37:03 kongnginx_kong_1  rate-limiting migrated up to: 2016-07-25-471385_ratelimiting_policies
2016-11-30 02:37:03 kongnginx_kong_1  migrating acl for database kong
2016-11-30 02:37:03 kongnginx_kong_1  acl migrated up to: 2015-08-25-841841_init_acl
2016-11-30 02:37:03 kongnginx_kong_1  migrating ip-restriction for database kong
2016-11-30 02:37:03 kongnginx_kong_1  ip-restriction migrated up to: 2016-05-24-remove-cache
2016-11-30 02:37:03 kongnginx_kong_1  jwt migrated up to: 2015-06-09-jwt-auth
2016-11-30 02:37:03 kongnginx_kong_1  migrating jwt for database kong
2016-11-30 02:37:03 kongnginx_kong_1  migrating galileo for database kong
2016-11-30 02:37:03 kongnginx_kong_1  galileo migrated up to: 2016-04-15_galileo-import-mashape-analytics
2016-11-30 02:37:03 kongnginx_kong_1  jwt migrated up to: 2016-03-07-jwt-alg
2016-11-30 02:37:03 kongnginx_kong_1  migrating key-auth for database kong
2016-11-30 02:37:03 kongnginx_kong_1  migrating oauth2 for database kong
2016-11-30 02:37:03 kongnginx_kong_1  key-auth migrated up to: 2015-07-31-172400_init_keyauth
2016-11-30 02:37:03 kongnginx_kong_1  oauth2 migrated up to: 2016-07-15-oauth2_code_credential_id
2016-11-30 02:37:03 kongnginx_kong_1  oauth2 migrated up to: 2015-08-03-132400_init_oauth2
2016-11-30 02:37:03 kongnginx_kong_1  migrating response-ratelimiting for database kong
2016-11-30 02:37:03 kongnginx_kong_1  response-ratelimiting migrated up to: 2016-08-04-321512_response-rate-limiting_policies
2016-11-30 02:37:03 kongnginx_kong_1  response-ratelimiting migrated up to: 2015-08-03-132400_init_response_ratelimiting
2016-11-30 02:37:03 kongnginx_kong_1  migrating basic-auth for database kong
2016-11-30 02:37:03 kongnginx_kong_1  basic-auth migrated up to: 2015-08-03-132400_init_basicauth
2016-11-30 02:37:03 kongnginx_kong_1  2 migrations ran
2016-11-30 02:37:03 kongnginx_kong_1  Kong started

@jimmypk  consul-server and kong-server:
kong Error
An unexpected error occurred.

with all the linked issues closed, is it safe to assume that Kong now supports querying SRV records as well?
this is important for multiple nodejs instances running on a single host

It does in the next branch and upcoming 0.10 release.

0.10.0 whether to include the keepalive function, it can inspect the health status of services ?

Hi， @thefosk
I am new user to Kong, I am planning to use it and Consul to make up a service governance framework.
I have a same requirement as jimmypk asked:
"Can I use 2-3 DNS server? Will Kong load balancing between them? Can Kong detect failed dns server and won't query to that dns server?"
As you responded to him, Kong can not do this. So, can you introduce some details about how Kong is designed to communicate with a candidate DNS resolver? Does it have to query DNS resolver for every request? Why Kong can not support candidate list?

@magicliang from 0.10 onwards Kong does its own dns resolution. You can configure multiple dns servers, which will be queried randomly (load will be equally distributed). There are however no healthchecks for the dns servers to mark them down or bad.
Kong will not query on every request, it will cache results and only requery when the ttl expires.

Thanks for the answers.
So I my understanding is: Now Kong can integrate with multiple Consuls?
Can you elaborate this? Do you have a example configuration format? Is something like this?
dns_resolver: server
dns_resolvers_available:
server:
address: "<IP_ADDRESS>:8600"
And I can understand there is no health check. But when a dns server is down, it will not respond to a SRV request, will Kong retry dns resolving in next dns server?

see https://github.com/Mashape/kong/blob/master/kong.conf.default#L296

That's great. Thank you.
And can you explain more about the SRV request ttl, how does it work?

if you change the dns_resolver, you must run the kong migrations!!!

@huangnanyang no. you do not have to run migrations for changing the dns resolver. Migrations are only to update the structures in the DB when entities get new properties for example.
Setting another dns server in the config file will only require a reload.
@magicliang missed your question before, sorry about that. But for future reference: Yes, Kong will honor the TTL it received. Once it expires Kong will request the name again from the nameserver and use that new info going forward.