Support for Quality Test for narrow-downed scope

Is your feature request related to a problem? Please describe.
When I try to run quality test, it's not always that I would like to run it for the entire data table. I usually focus on latest data, for example, create_time is after yesterday. For such cases, I cannot leverage the built-in table/column tests, but have to write custom SQL scripts every time.
Describe the solution you'd like
It will be great if we can customize the scope for quality test, so that we can narrow it down and only focus on latest data.
Maybe we can leverage the profile setting. And restrict that quality test is only done on the profiled scope.
Describe alternatives you've considered
Without this feature, I have to write custom SQL scripts.
Additional context
N/A

@flymemoryRPA, this needs a better documentation on our side, but the table profile setting is applied to DQ as well. https://docs.open-metadata.org/v1.3.x/connectors/ingestion/workflows/profiler#4-updating-profiler-setting-at-the-table-level.
In your scenario you can add a daily partition only to run the DQ against your fresh batch of data.


Don't change colorscheme

The colors used by omnisharp are disgusting.

Look at this:

It is almost unreadable.

I might be wrong here, but I"m fairly certain omnisharp-vim doesn't have any theme modifications in it. I can at least say for certain that it hasn't impacted my theme.

So why did my vim look change after installing omnisharp? When I removed omnisharp from bundles it went back to normal again

@theonlygusti Could you put a smallest vimrc to reproduce this problem?


Correct time command

The time command in the timezone branch has a few issues that need to be addressed before it can be merged to master:

Help text is missing
The command is only responding with Zulu time, no matter the input (See image)

Finally, I thought this command was supposed to actually convert times? Not just be a world clock. I guess that's up to what the server wants.

@marvelman3284  This now fails with this command: ,time 3:00PM EST CET
Exception:
Traceback (most recent call last):
  File "/home/adam/.local/share/virtualenvs/Malcolm-next-EDaiGMpS/lib/python3.9/site-packages/discord/ext/commands/core.py", line 85, in wrapped
    ret = await coro(*args, **kwargs)
  File "/home/adam/Desktop/dev/Malcolm-next/src/cogs/utils.py", line 224, in time
    local = datetime(int(y), int(m_), int(d), int(h), int(m))
ValueError: invalid literal for int() with base 10: '00PM'

As for right know I don't have AM/PM implemented. That's why you are getting the error.


Remove net webmockhttpresponse

module Net::WebMockHTTPResponse

This module used nowhere. Do we still need it?
thanks :)

Please keep for now since I'm still planning on supporting both net::http and httpclient for the near future. That particular bit of code relates to monkey patching webmock for a specific test (broken connection during streaming.)

i see


Unable to load JSOM files using SPComponentLoader in SPFX Application Customizer

Category

[ ] Question

I am trying to load the JSOM files in SharePoint Framework extension using SPComponentLoader but I am getting the below error :
Any idea?
Error: Unknown error when loading module "https://mytenant.sharepoint.com/sites/dev/_layouts/15/init.js"

Note: The external reference and require approach works.

@waldekmastykarz Any suggestions?

Have you tried this:
https://github.com/SharePoint/sp-dev-docs/blob/master/docs/spfx/web-parts/guidance/connect-to-sharepoint-using-jsom.md
On Tue, Oct 17, 2017 at 12:19 PM, Joseph Velliah<EMAIL_ADDRESS>wrote:

@waldekmastykarz https://github.com/waldekmastykarz Any suggestions?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/SharePoint/sp-dev-docs/issues/925#issuecomment-337274525,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACTRnCin2plmzWhCWBjTEUm44cOqUoTkks5stNOFgaJpZM4P3VWA
.

I am experiencing the same issue. For a site level Application Customizer, following the Imperative approach from the guidance, only works when viewing pages and not when viewing lists.  The external Declarative approach resolves it but it is not ideal.

@sprider Have you tried using the same approach in a web part? Just trying to determine if this has to do with the component type (Application Customizer) or the specific version of the SharePoint Framework.

@waldekmastykarz It is working in WebParts but not with Application Customizer. As @thomblweed mentioned, I am using Declarative approach to resolve this.

@sprider the problem with the declarative approach is, that it breaks on classic pages where JSOM is already present. Being able to load it imperatively is required whenever you want your web part to work on both classic and modern pages.

Sure @waldekmastykarz. Thank you.

Hi  @waldekmastykarz , I have tried with both: extension and web part in one page and it works correctly using SPComponentLoader, but it does not work in modern pages like Site Contents or list view (but works on custom modern site page), and I'm getting exception:
Uncaught (in promise) Error: Unknown error when loading module "/_layouts/15/init.js"
at e._requireLoadForDifferentVersion (listview-host-assembly_en-us_215dd0d4594aa258debfba42f5d70c95.js:281)
at e._handleRequireJsError (listview-host-assembly_en-us_215dd0d4594aa258debfba42f5d70c95.js:281)
at b.errback (listview-host-assembly_en-us_215dd0d4594aa258debfba42f5d70c95.js:281)
at require-951f856e.js:1
at require-951f856e.js:1
at each (require-951f856e.js:1)
at b.emit (require-951f856e.js:1)
at require-951f856e.js:1
at each (require-951f856e.js:1)
at c (require-951f856e.js:1)

I have actually resolved with very strange fix - adding catch, looks like files are loaded by OOTB modern pages:
     `SPComponentLoader.loadScript('/_layouts/15/init.js', {
        globalExportsName: '$_global_init'
      }).catch((error) => {

      }).then((): Promise<{}> => {
        return SPComponentLoader.loadScript('/_layouts/15/MicrosoftAjax.js', {
          globalExportsName: 'Sys'
        });
      }).catch((error) => {

      }).then((): Promise<{}> => {
        return SPComponentLoader.loadScript('/_layouts/15/SP.Runtime.js', {
          globalExportsName: 'SP'
        });
      }).catch((error) => {

      }).then((): Promise<{}> => {
        return SPComponentLoader.loadScript('/_layouts/15/SP.js', {
          globalExportsName: 'SP'
        });
      }).catch((error) => {

      })`

I'm getting exactly the same error than @Saulius-Laurinaitis but for some reason your fix (adding catch) is not working for me. Any other suggestions? Thanks!

Just to reiterate @DaniCorretja, I have tried adding catch also with no luck.

Tthis is what I actually have and I'm only running my code after this promise resolve.
var scriptPromise = new Promise((resolve, reject) => {
Stars.Const.spScriptPromise = SPComponentLoader.loadScript('/_layouts/15/init.js', {
globalExportsName: '$_global_init'
}).catch((error) => {
}).then((): Promise<{}> => {
return SPComponentLoader.loadScript('/_layouts/15/MicrosoftAjax.js', {
globalExportsName: 'Sys'
});
}).catch((error) => {
}).then((): Promise<{}> => {
return SPComponentLoader.loadScript('/_layouts/15/SP.Runtime.js', {
globalExportsName: 'SP'
});
}).catch((error) => {
}).then((): Promise<{}> => {
return SPComponentLoader.loadScript('/_layouts/15/SP.js', {
globalExportsName: 'SP'
});
}).catch((error) => {
}).then(() => {
resolve();
});
});

@waldekmastykarz
Hi, any updates? I'm facing to similar issue.

Deployed extension solution
Run serve nobrowser

Got https://www.screencast.com/t/8JqO4kgZK errors in console 404 to get microsoft/sp-loader.js
Please advise

For resolving the above issue on both classic and modern page , which includes ribbon not editable
is ..
I have created two functions , one loads taxonomy and other loads other scripts like sp.js and sp.runtime js
public loadSPTaxonomy() {
return new Promise((resolve, reject) => {
SPComponentLoader.loadScript("/_layouts/15/sp.taxonomy.js", {
globalExportsName: "SP.Taxonomy"
}).catch(error => {});
});
}
public loadSPDependencies() {
return new Promise((resolve, reject) => {
SPComponentLoader.loadScript("/_layouts/15/init.js", {
globalExportsName: "$_global_init"
})
.catch(error => {})
.then((): Promise<{}> => {
return SPComponentLoader.loadScript("/_layouts/15/MicrosoftAjax.js", {
globalExportsName: "Sys"
});
})
.catch(error => {})
.then((): Promise<{}> => {
return SPComponentLoader.loadScript("/_layouts/15/SP.Runtime.js", {
globalExportsName: "SP"
});
})
.catch(error => {})
.then((): Promise<{}> => {
return SPComponentLoader.loadScript("/_layouts/15/SP.js", {
globalExportsName: "SP"
});
})
.catch(error => {})
.then((): Promise<{}> => {
return SPComponentLoader.loadScript("/_layouts/15/sp.taxonomy.js", {
globalExportsName: "SP.Taxonomy"
});
})
.catch(error => {})
.then(() => {
resolve();
});
});
}
Now when calling the function
///Modern Page
if (document.getElementById("MSOLayout_InDesignMode") == null) {
this.loadSPDependencies().then(() => {
this.loadCurrentUserInfo();
});
} else {
//Classic Page
if (document.getElementById("MSOLayout_InDesignMode")["value"] !== "1") {
this.loadSPDependencies().then(() => {
///do other stuff
});
} else {
this.loadSPTaxonomy().then(() => {
//do whatever u wnat
});
}
}
}
Thus depending on type of page and mode of page , the above code works.
But still  i noticed one issue in classic page , the files sp.js and sp.runtime js are loaded twice.
This will hamper performance.
Any thing on this issue ?

Great find @saulius-laurinatis

Would it make sense to include a {TenantDomainName} token for this to work with the config.json file?
"externals": {
  "sp-init":{"path":"{TenantDomainName}/_layouts/15/init.js","globalName":"$_global_init"},
  "microsoft-ajax":{"path":"{TenantDomainName}/_layouts/15/MicrosoftAjax.js","globalName":"Sys","globalDependencies":["sp-init"]},
  "sp-runtime":{"path":"{TenantDomainName}/_layouts/15/SP.Runtime.js","globalName":"SP","globalDependencies":["microsoft-ajax"]},
  "sharepoint":{"path":"{TenantDomainName}/_layouts/15/SP.js","globalName":"SP","globalDependencies":["sp-runtime"]}
}


Cats Interop for ZManaged

ZManaged is a different take on Cats Resource, which provides additional capabilities, including:

A final encoding (no intermediate representation necessary)
Safely interruptible acquisition, which composes
Parallel composition

In order to enhance interop with the Cats Effect ecosystem, we need to add helper functions inside the cats interop module, which are capable of performing conversion:

toResource on ZManaged.type, which converts a ZManaged into a Resource. Note that this conversion is "lossy", because there is no way to represent interruptible acquisition with Resource
toManaged on Resource.type, which converts a Resource into a ZManaged. This can be done safely and without loss of any properties of the original Resource.

To add these methods onto existing types, we can use extension methods, e.g.:
implicit class ResourceSyntax[F[_], A](resource: Resource[F, A]) {
  def toManaged: ZManaged[Any, Throwable, A] = ???
}

implicit class ZManagedSyntax[R, A](managed: ZManaged[R, Throwable, A]) {
  def toResource: Resource[ZManaged[R, Throwable, ?], A] = ???

These can be placed in the cats interop package, so a single import can bring them into scope. Note that to convert as specified, we may require Cats Effect type class instances, which have been omitted from the above examples (which also probably do not compile :smile:!).
When this ticket is done, it will be possible to convert from ZManaged (or Managed) to Resource, and from Resource to ZManaged, albeit only one of those directions will be "lossless", in the sense of retaining all properties of the original.

I have begun adding instances here: https://github.com/scalaz/scalaz-zio/pull/827
About the conversion methods:
I think we would need natural transformations between F and ZIO to go between these two types.
I don't think we can do better here than https://github.com/typelevel/cats-effect/blob/master/core/shared/src/main/scala/cats/effect/Resource.scala#L151-L163


Merge upstream commits

This really accomplishes nothing (this fork is for non-Makefile compilation) but best to keep updated


Prior to mp packet forwarder 3.0.20-r1 autoquit_threshold is required

From #ops: @terrillmoore If you add an "autoquit_threshold" to the "gateway_conf" section of the packer forwarder config then it will auto-quit after that many missed PULL_ACKs. It works well with systemd or the like, which can then start the packet forwarder again. 20 seems to work alright on LTE connections here, that periodically die and break things

Adding autoquit_threshold will cause the packet forwarder to quit.  However without systemd and/or monit, it will not restart by itself.

And, for what it's worth, we have not demonstrated that autoquit_threshold actually detects the situation. I agree that the best solution is to update the older gateways to use 3.0.20-r1.


change dir in post_commands()

Hey again!
I have some trouble to change the current directory at the end of the rezolved:
def post_commands():
    source("cd {this.root}")

This command fails, any idea why?  bash: cd /the/root/path No such file or directory
Obviously the path exists.
Thanks a lot.

'source' expects a file path, what you want is 'command'.

I have some trouble to change the current directory at the end of the
rezolved:
def post_commands():
source("cd {this.root}")
This command fails, any idea why? bash: cd /the/root/path No such file or
directory
Obviously the path exists.
Thanks a lot.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/nerdvegas/rez/issues/860?email_source=notifications&email_token=AAMOUSQBBCSRA65DZAAIOD3RFQCTXA5CNFSM4K73BX22YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IRZRRDQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMOUSREOOD6QRUOKBMGHFDRFQCTXANCNFSM4K73BX2Q
.

k you right but {this.root} ( or {root} ) doesn't work with command("cd {this.root}")
Is it a limitation ?
Thanks for your time.

Yes expansion doesn't happen in command because that might affect more
complex character escape situations. However you can explicitly escape your
string using 'expandvars', or simply construct the string using value of
'this.root'. See the String Expansion section of Package Commands in the
wiki for more details.
Thx
A
On Tue, 3 Mar. 2020, 07:58 col-one<EMAIL_ADDRESS>wrote:

k you right but {this.root} ( or {root} ) doesn't work with command("cd
{this.root}")
Is it a limitation ?
Thanks for your time.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/nerdvegas/rez/issues/860?email_source=notifications&email_token=AAMOUSVJLEK7YASTARXNV6LRFQMW7A5CNFSM4K73BX22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENQ6LDQ#issuecomment-593618318,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMOUSSEF3H7F74O3KJCMTDRFQMW7ANCNFSM4K73BX2Q
.

the expandvars solution is perfect. Thanks a lot !


Use specific tsconfig for tests

What would you like to be added:
Use a dedicated ts.spec.config and output dir for test.
Why is this needed:
You don't want to publish the compiled tests in the final library.

@JBBianchi the spec folder is excluded (not included) in package.json#files section, so it is not going to be published.
running npm pack the spec folder is excluded
Are you ok with it or do you still think that we should have a separate tsconfig file for test?

My bad, I didn't pay enough attention. It works indeed and, thb, I have no clue which is the best option of the two.
A "problem" that comes to my mind when using package-json#files is that it may require maintenance, meaning that, at a point in time, maybe the folder structure changes and you have to remember to update the files array. This might happen if, instead of building/packaging dist/src, you decide to provided different versions of the package for different modules systems, for instance dist/umd and dist/esm.
I don't want to push any decision, just raise some questions :)

that is a good point, thank you :)


formatter+main: Added format debug flag + additional formatting fixes

Added -fd option to output format state debug information
Plus another round of fixes for various formatting issues
I have a few more fixes that depend on #1199 and #1179 which I will PR after they are merged.

Hello!
One or more of the commit messages in this PR do not match the Jakt code submission policy, please check the lint_commits CI job for more details on which commits were flagged and why.
Please do not close this PR and open another, instead modify your commit message(s) with git commit --amend and force push those changes to update this PR.


GPUImageView resize make GPUImageStillCamera give black screen or flicking screen

Hi BradLarson and thanks for your helpful framework!
I got a trouble when deal with auto layout and GPUImageView.
When I first start with fullscreen and then using auto layout to reduce height of GPUImageView, the output is still working but when I resize it to first position, it give me black screen or flicking screen.
Could you please help me find reason and resolve this issues?
Thank you very much.
This is screenshot after I minimize GPUImageView and then resize it to fullscreen:

hi Huy, mình cũng đang bị bug này, bạn đã fix được chưa, giúp mình giải pháp với

Hello:
Have you dealt with the problem? I had the same problem;


Noinline on non-member functions

The wording of this page seems to imply that __declspec(noinline) only has an effect on member functions. If this is not intentional (and __declspec(noinline) does appear to apply to more than just member functions) it'd be helpful to reword!
Thanks

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

ID: 05525d61-d729-6516-0e7f-6259efc3a645
Version Independent ID: 25e5c287-1b74-e960-b7f7-95332072682b
Content: noinline
Content Source: docs/cpp/noinline.md
Product: visual-cpp
Technology: cpp-language
GitHub Login: @corob-msft
Microsoft Alias: corob

We are in the process of moving away from GitHub issues for C++ documentation (we still accept pull requests). For details, please see Announcing a new way to give feedback on Microsoft Learn This issue will be closed after it is copied to an internal tracking system.


chore(CadRevealComposerRunner): fix typo in error message

Fixing minor typos in an error message from CadRevealComposerRunner.cs.

Not worth the change.


chore: expose query residulization

expose internal method

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

Project coverage is 81.04%. Comparing base (2d94911) to head (37743f1).

Files
Patch %
Lines

rust/lance/src/index/vector/ivf.rs
80.00%
0 Missing and 2 partials :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2108      +/-   ##
==========================================
- Coverage   81.06%   81.04%   -0.02%
==========================================
  Files         160      160
  Lines       47322    47325       +3
  Branches    47322    47325       +3
==========================================
- Hits        38361    38354       -7
- Misses       6761     6762       +1
- Partials     2200     2209       +9

Flag
Coverage Δ

unittests
81.04% <80.00%> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


socketexception: connection reset by peer (os error: connection reset by peer, errno = 104), address = xxxxx

Package
dio
Version
5.4.0
Operating-System
Android
Output of flutter doctor -v
[✓] Flutter (Channel stable, 3.16.9, on macOS 14.3.1 23D60 darwin-x64, locale zh-Hans-CN)
    • Flutter version 3.16.9 on channel stable at /Users/ying/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 41456452f2 (4 周前), 2024-01-25 10:06:23 -0800
    • Engine revision f40e976bed
    • Dart version 3.2.6
    • DevTools version 2.28.5

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/ying/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/ying/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C500b
    • CocoaPods version 1.14.3

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

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.3.4)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 78.1.1
    • Dart plugin version 233.13763.5

[!] Proxy Configuration
    • HTTP_PROXY is set
    ! NO_PROXY is not set

[✓] Connected device (3 available)
    • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64    • Android 13 (API 33) (emulator)
    • macOS (desktop)              • macos         • darwin-x64     • macOS 14.3.1 23D60 darwin-x64
    • Chrome (web)                 • chrome        • web-javascript • Google Chrome 121.0.6167.184
    ! Error: Kimmy's iPhone is not available because it is unpaired. Pair with the device in the Xcode Devices Window,
      and respond to any pairing prompts on the device. (code -29)
    ! Error: Browsing on the local area network for Kimmy's Apple Watch. Ensure the device is unlocked and discoverable
      via Bluetooth. (code -27)

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Dart Version
No response
Steps to Reproduce
It runs normally after running hot reload
Expected Result
It runs normally after running hot reload
Actual Result
An error is reported after hot reload, but hot restart is normal.

You didn't provide valuable information, unfortunately.


security/acme-client: release 3.2

see plugin changelog for details

@fraenki any release wishes for this one?

@fichtner I wanted to add more features and fixes, but this has to wait... so if you can release it ASAP, that would probably be the best thing to do.


Migrate Shortcut component from OpenShift console

JIRA link: RHCLOUD-30296
closes #93

added Shortcut component
added ShortcutGrid component
created documentation pages & tests

Was not able to get the examples to work as described in the documentation.

looks like theres a linting error.

Sorry, it's just a draft. Forgot to mark it properly

@nicolethoen @jessiehuff @dlabaj
tried to somehow squash the implementations from PF CodeEditor and OpenShift, please let me know if anything should be changed. Thank you! 🙂

@nicolethoen I can also see the a11y error saying violations: duplicate-id-active for ShortcutGrid. I cannot find the issue in the code. Is it also related to data-test-id? In one of the examples we have two same keys present so a duplicity may occur, but not sure if that's the thing. Locally the a11y scripts ends with Failed to crawl /extensions/component-groups/battery: net::ERR_CONNECTION_REFUSED for each of the components - not sure how to run it properly. Thank you 🙂

i believe it’s mad that the example title Shortcut is the same as the Props table ShortCut because it means that there are two links on the page with the same name. Maybe update the shortcut example name and the error will go away?


Version extract spike

This pull request is the conclusion of the Version extraction spike to refactor our application to be more decoupled and extensible. Please review and comment on this and we will discuss next week whether this is the approach we'd like to take going forwards.
In summary, this pull request introduces a Version model that externalises the responsibility of "versioning" from ContentItems as well as LinkSets. Note how these models no longer contain any reference to a version. We intentionally made the relationship one-sided (i.e. there's no bi-directionality to the association) to keep versioning logic out of these models.
At present, we've left the version columns on these models to give this code a grace period before we subsequently remove these columns in a follow-up pull request.
Reminder: do not merge until this has been discussed by the team. Thanks.
Note: We found a potential problem whilst working on this story. Currently, when you push content into the system, the content store receives the payload that was made in the request to our API. This payload has things like access_limited removed where appropriate, but it leaves version in as it is.
When we discussed this, we said that this should probably change and the payload that gets sent to the content store should be created from the derived representation models rather than simply forwarding the request payload through. We haven't addressed that issue in this pull request (given this is just a spike), but we should look at this - probably when we deal with the asynchronous content store story.

I think this approach is really great and simplifies things nicely, :+1:
My only comment would be to wonder whether we're making things harder for ourselves when we come to implementing the optimistic locking. Now that version is no longer part of the model, it is rejected as part of the payload. Not sure if this is a concern.

I worked with @tuzz on this so I'm largely on board.  My only qualms during the process were the overhead of extracting version into a complete activerecord model with database table, given that it carries all of one integer and probably will never be more complicated.
That's really commentary on that specific use case, however, rather than the approach in general and I wouldn't block the merge.
I would like some thought put into the effects on debugging when lots of joins are required to get a full picture of the current state of the system.

The code stuff looks good, but:
As I raised in the RFC, I'm not entirely on board with the database table separation here - once we set that precedent we're likely to see a proliferation of database tables for managing the history of a single document, and this leads to difficult debugging and potentially bad performance.
This might be an issue with implementation, as @elliotcm says - is there any reason we need the persistence layer to mirror our object layout?

is there any reason we need the persistence layer to mirror our object layout?

My reason for doing this was to reinforce the separation of concerns between content items and versioning. I think that versioning is a concept in its own right and so it felt more natural to mirror this in the persistence layer. That being said, if people feel strongly about it - I'm happy to change this.
I would point out that we also have versions for link sets and could have versions for more things in the future. If we went back to having the version number on the content item table, we'd also need to store the version number on the link sets table and potentially more things in the future.
Maybe it's too early to be thinking about the future – after all; we aspire to be agile. I don't think that means we shouldn't be thinking about how the system might change, though. I'm concerned that we could get ourselves into a corner if we let versions bleed throughout our persistence layer too much.
I was thinking about cases such as:

What happens if we want to store a "major" and "minor" version number?

What happens if we need multiple versions for an item? (e.g. LockVersion / UserFacingVersion)

What happens if we decide to extract versioning into a separate service?

I appreciate that these are contrived examples, but in all of these cases, I think that it would be easier to apply the change if the versioning persistence was consolidated in one place. It follows that this would be the case for less contrived, real examples.
TL;DR
I'd prefer to persist versions separate - but happy to change if people think otherwise.

@elliotcm: I would like some thought put into the effects on debugging when lots of joins are required to get a full picture of the current state of a given piece of content.

I think this is a fair point and I'm not really sure how it would affect debugging. I guess that I'd argue it would be easier to debug an issue if your context is leaner - i.e. you don't have all of these other irrelevant concepts floating around.
Maybe this is a bit of a wooly argument – so feel free to shoot it down. :sheep: :gun:
Real world example:
Let's say that I have a problem with my debit card. In order to debug this problem, I'd probably gather information about my bank account, a telephone number for customer services, my pin number, etc. I wouldn't gather information about holidays I've been on or things from my Twitter stream. These are probably irrelevant and distract from the issue at hand.
What do people think?

@danielroseman: My only comment would be to wonder whether we're making things harder for ourselves when we come to implementing the optimistic locking. Now that version is no longer part of the model, it is rejected as part of the payload. Not sure if this is a concern.

I'm not sure I understand "it is rejected as part of the payload" - please could you elaborate a bit further.
My understanding of how optimistic locking should work within the context of this app is:

Request comes in to create a draft piece of content

The version number in the request body is checked against the version in the database

If someone else has incremented this version, the decline the request

Is this correct?

@tuzz Slightly more real world example, content store rejects pushed documents because of version mismatches (put in place due to async out of order issues), and now I need to go look up a specific document and see what version it's at in the live state.  Probably quite a common check.
If version and state were in different tables I've got 2 joins to do every time.
It's all about what information we have to work with from our logs and bug reports, and how many steps are required to get from that to a full view of the document.

I'm not necessarily saying this implementation will cause concrete issues in these areas, but that's the sort of thing I meant when I said putting some thought in, to make sure our common tasks are easy to do.

@elliotcm you're right – it would be two joins to do this. That does add a bit of an overhead.

I paired with @tuzz on the original version validation story and I think this approach simplifies some of the problems we experienced when adding validations.
As a concept, it cleans up a lot of the mixed in concerns, something we've fought with in Edition models in Whitehall and Content Models.
I was wary of persistence per model in this case, possibly because there's not much to Version.
There's a trade off with keeping the central content item model clean and table proliferation, complexity and performance.
Having discussed this a few times though I'd prefer to see separate persistence, it's notionally cleaner, it's not irreversible if it proves too complex or slow.

@tuzz @elliotcm perhaps materialized views could help dealing with the data directly. Would it be possible to have a read-only object sitting on top of a view? Perhaps something like this
Presumably something like this could also produce the derived representation?
I admit complexity is on the increase in this suggestion...

@tuzz re optimistic locking, that sounds fine, I just wanted to be sure that we hadn't written ourselves into a corner.

rebased


when swipe to left and delete item, item after swipe get back and remove with flash animation

how can make it with out show it again ?

@SeyedAliFarjaD could you please be bit more specific about your issue. I am not really sure what you mean

oh well, first thank for your awesome library.
sorry i'm a rookie!
i solve that problem. when i swipe an item, it will take back; because i dont change ...

i find another problem now. when i filter list and then insert an item to list, item insert into filter list and when remove filter item will remove too. how can solve this problem.
Thanks Alot ...

For filter please make a separate issue. It's not related to this issue.

ok sry

same here, flash animation when swipe, what is the solution ?


docs: Update CONTRIBUTING.md

Add all types which are acceptable for our commits according to #281

@johannes-vogel good to go?


broken image with size less than 100

If I set width or height less than 100 it will returned like this:

What is wrong?

hello anyone else can help me?

Can you provide some source code for this?

you can see in my repo https://github.com/hrmshandy/finder

I've reviewed this repo and I honestly see no reason why this should be happening, especially at a size less than 100 pixels. Does this happen for any images you try, or just one?

for any images

I'm seeing the same thing - although in my experience it's not size (/dimensions) related. I've been trying to generate really low quality versions of my images (to be replaced with nice high quality ones on page load), but once I go 'too extreme' with my settings, I start seeing the above mentioned HTML output.
Here is an example of what settings I'm using (copied from my code):
'w'     => 312,
'h'     => 468,
'fit'   => 'crop-center',
'q'     => 3,
'pixel' => 10,
'fm'    => 'jpg'
Once I 'dial it back a bit' (increasing the quality parameter, removing the pixelate stuff), images are output as .jpgs again.

I have the same problem with different sizes depending on the original image... but it is only in the browser. In some cases Glide just doesn't output any html. It looks like hrmshandy's screenshot above. Sometimes adding "&fm=png" helps, but not always. The rendered image files are ok, they look good in preview.
If I can not rely on proper output/rendering, Glide is unfortunately unusable for me... :-(
Is there a solution? I use Laravel 5.3 and Glide 1.0.

How are you both outputting your images? Are you using responses, or are you using the outputImage() method?

This is using ->outputImage()

Are you doing anything after you call that function? Try adding exit; on the line after to stop the script execution, and see if that helps. It's possible that other headers are being sent, or even content, that is breaking your image.
Alternatively, consider using responses. They are designed to work within your frameworks standard request/response cycle, and generally leads to less issues.
Good luck! :)

Any update here?


:sparkles: Add Helm templates for KMM

Install KMM by default: https://kmm.sigs.k8s.io/documentation/install/

Codecov Report
Patch and project coverage have no change.

Comparison is base (67038e3) 7.25% compared to head (9eaded5) 7.25%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@          Coverage Diff           @@
##           master   #1408   +/-   ##
======================================
  Coverage    7.25%   7.25%
======================================
  Files          47      47
  Lines        2962    2962
======================================
  Hits          215     215
  Misses       2737    2737
  Partials       10      10

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


Popup list dissapeares if I change the selection manualy

I test it here,
https://www.jqueryscript.net/demo/Drop-Down-Combo-Tree/
I select something from the 3rd combo box. I change the textbox content with keyboard, click enter. The list is now disapeared

Hi,
If you mean single select combo box, it is expected behaviour to close dropdown after making selection.  Cuz, it is single selection mode, and you are done once select it.
If you want to change selection, then you can click down arrow to open it again...
Enjoy it...

No it is not expected behavior.
I think it should provide a hint or have a clear selection button somewhere etc

İlk defa GitHub da bu kadar ahmakça bir yoprum görüp, bu ahmağa laf mı anlatıcam diye sildim...
Sonra yazanın adına bir baktım, Aytek Üstündağ... Siz nerden türediniz...


Cannot resolve file-resources in nested worker of ext host worker

related https://github.com/microsoft/vscode/issues/131902

run an extension in the web worker extension host
spawn a worker
fetch a resource like a WASM file
:bug: fails because the file schema hasn't been massaged

Here is the relevant case we hit which transforms file to vscode-file in the extension host web worker.

Pushed 5c1cce4 which fixes most cases. I didn't tackle polyfiled nested workers because those only exist in safari, which is web only and therefore not a problem. The code is ugly and duplicates stuff but due to the nature of static nature of these script you cannot re-use code... Ideas welcome

@bpasero fyi my fix duplicates asBrowserUri and both places now need to be kept in sync


Finbuckle With Identity Isolation Problem

I have an app which uses .net identity for membership system and Finbuckle for achieving multi-tenancy. I try to make .net identity TUser object as non multi-tenant and other things (TRole, TUserClaim etc. ) as multi-tenant. By the doc of Finbuckle, to achieve this purpose, i have to pass TUser class as a generic class and other things as default. So, my identity context class is as following,

public class IdentityContext : MultiTenantIdentityDbContext<AppUser>
    {
        public IdentityContext(ITenantInfo tenantInfo) : base(tenantInfo)
        {
        }

        public IdentityContext(ITenantInfo tenantInfo, DbContextOptions<IdentityContext> options) : base(tenantInfo, options)
        {
        }
        ....

So, everything is good so far. After these configurations i try to seed database with following code:
                //Set default tenant
                var accessor = scope.ServiceProvider.GetService<IMultiTenantContextAccessor>()!;
                var multiTenantContext = new MultiTenantContext<Tenant>();
                multiTenantContext.TenantInfo = defaultTenant;
                accessor.MultiTenantContext = multiTenantContext;

                var roleManager = scope.ServiceProvider.GetService<RoleManager<IdentityRole>>()!;

                if (!roleManager.Roles.Any())
                {
                    var role = new IdentityRole("SuperUser");
                    await roleManager.CreateAsync(role);

But in this point, RoleManager class of .net identity throws an error like following,
23502: null value in column "TenantId" of relation "AspNetRoles" violates not-null constraint

When i inspect to RoleManager props, i can see that the default tenant is set correctly under the Context class at runtime, but why .net identity throws this error?

I'm sorry for the late reply. Do you have a sample project I can take a look at to see the issue closer? I have to admit I don't normally have a setup like this where user is not multi tenant and the others are.
One thing to try is setting TenantNotSetMode to Overwrite as described here. You would do that in the constructor of your context, the property should be inherited from MultiTenantIdentityDbContext<AppUser> for you to set.


Use different wording when describing goto

The point is to make it more discoverable by making the description different enough from the command name.
See also #326.
@tsipinakis, what do you think?

:+1: I pretty much did a ctrl+f for 'search' through the docs before opening that issue.

Coverage decreased (-0.2%) to 39.698% when pulling f2579be6c7064f815522efd60a3e5357f488ac85 on feature/improve-goto-doc into 6aa4a9ac011fb159a627dd418e24cb90b976ad6a on master.

Coverage decreased (-0.2%) to 39.698% when pulling f2579be6c7064f815522efd60a3e5357f488ac85 on feature/improve-goto-doc into 6aa4a9ac011fb159a627dd418e24cb90b976ad6a on master.


Release cobigen-tempeng-velocity-v7.0.0

This issue has been automatically created. It serves as a container for all release related commits

Automatically processed.
The decisions taken by the developer and the context of the decisions throughout the script:

User confirmed that tests are running on CI and the build is not failing.


Typingdna -  The " Careers " button  is not functional.

ENVIRONMENT: production
URL: https://scrapers.peviitor.ro
Browser: Chrome
Device: Laptop
OS: Windows 10
STEPS TO REPRODUCE:

Open the URL in the browser.
Search for "Typingdna  " Company.
Check the " Careers " button.

EXPECTED RESULTS:

The " Careers " button exists and is functional

ACTUAL RESULTS:

The " Careers " button  is not functional.

https://github.com/peviitor-ro/JobsScrapers/assets/71781611/fac15a1c-2e33-493f-b009-db0bd820fa22

They do not have a careers page anymore, close the bug


Is MEAN.js still maintained?

It's not maintained anymore.
We should probably update the README for that - I will do that later with an issue open to address this too and welcome anyone from the community whose interested to keep it up nonetheless.

seems so dead to me.

Unfortunately, currently non of the existing collaborators or myself as maintainer are handling the project in any active manner. With that said, I'll gladly merge any PRs.
If anyone is interested in reviving the project and the work to be done I'm all positive on adding you to the collaborators and handing over the project lead as well. It makes sense that I'll also advertise that more publicly so I'll open an issue and edit the README too.

MEAN.js was an awesome platform, is still a great resource to reference and learn from.  Thanks to all contributors for your hard efforts!
For those looking for an equivalent platform now, what would you guys recommend?  I loved the idea of having a pre-rolled platform ready to go.  So handy for spinning up quick semi-complex prototypes without having to redo all the boilerplate work.

I've created a community we're working on right now called Weareopensource (web).
The concept that I would have liked to succeed is a repo by technos, node nest angular swift ... and some example repo for FullStack
for example :
NodeAngular
NestAngular
The difficulty is to code the same features in each techno. Today we are only two. We have a Node part based on RIESS and MEAN in rework. An updated Angular part. A part NEST in works.
Currently I finish the NODE part of my side and want to do the SWIFT part.
My idea would then be to remove examples, and just do a good WIKI on how to compose his FULLSTACK project quickly.
We lack people and structure and move slowly.
But in need of a personal project (NODE ANGULAR SWIFT) I continue to advance on it.
@techla

For those looking for an equivalent platform now, what would you guys recommend? I loved the idea of having a pre-rolled platform ready to go. So handy for spinning up quick semi-complex prototypes without having to redo all the boilerplate work.

@danwani MEAN.io seems the natural way to go...

Awesome thanks!

hello, just to give some news, always based on MEAN.js Mindset, and Riess.js with @lirantal starter
always same concept , Backs/Fronts, aligns on feats, in multiple languages, in order to allow anyone to compose fullstack on demand (React, Angular, VusJS, Node, Nest, Swift, Go).

Node Beta
Vue Alpha
Swift Beta
Angular on Break
Nest on Break


feat: view files

Markdown rendering...? 🤔

That would be #8, this is more broadly to track File loading


Ouroboros-network should be more careful about exception handling

I have just spent many hours debugging and then fixing a problem in the explorer.
The debugging was made difficult because my code was using panic for things that should never happen. Unfortunately panic uses the exception mechanism of the GHC runtime and network seems to be catching all exceptions. Furthermore, exceptions that are caught to not get reported because because I am passing a nullTracer into ncSubscriptionWorker_V1.
After removing all uses of panic (replacing them with Left of an Either which could then printed I found that trying to call exitFailure (which also uses the exception system) would not actually abort the program because the exception was being caught (and silently) retried.
IMO exceptions should be avoided for anything other than:

the impossible happened and I want to abort the program
the bracket pattern where the exception is caught, resources released and the exception rethrown

If we really must use exceptions it should be used sparingly and precisely. If an exception is to be caught and not rethrown it should be done with great care and it should be a very small and specific subset of exceptions. In particular, it should very definitely not be SomeException.
SomeException includes AsyncException which consists of things like  StackOverflow, HeapOverflow, ThreadKilled and UserInterrupt. Other than ThreadKilled these should almost never be caught, especially not silently.
The use of SomeException here is simply wrong and needs to be fixed sooner rather than later.
My ideal solution to this would be to replace all uses of exceptions with the use of Either with a proper error type on the Left. Failing that, another solution is to replace all uses of SomeException with a narrower exception type that does not include AsyncException. I would suggest that catching anything other than IOException and/or a custom exception type should probably not be necessary.

I think this is also why hitting ctrl-c in docker container doesn't terminate.

@disassembler Yes, that is exactly why that is not working! Control-C is UserInterrupt.

This is quite a broad ticket. From the discussion on slack it looks like Erik has uncovered at least one part of this repository which, without controversy, does not do the right thing (it squelches async exceptions). Indeed that's probably

also why hitting ctrl-c in docker container doesn't terminate.

Indeed

The use of SomeException here is simply wrong and needs to be fixed sooner rather than later.

This ought to and will be fixed. And that should be the end of this ticket.

This is quite a broad ticket.

Hopefully that breadth will get people thinking a bit more carefully about if, when and how to use exceptions.
Replacing the current use of SomeException with a much narrower set of exceptions (which specifically allows functions like exitFailure and Control-C to kill the program) would be an acceptable solution.

@coot Won't #1127 fix this?

@erikd I'd argue that the SomeException here is not a problem, since this is in a connection thread and if there was any exception (either durring connect or while running an aplication, or an async exception) the thread will terminate.
#1127 will not fix this, but it will allow to kill the subscription worker (e.g. outbound connections) and server (inbound connections) from within a context of a mini-protocol.
@erikd you're asking for a clean shutdown of the subscription worker (and server, as a similar story will come back from devops at some point) which we currently don't have.
@erikd please don't use nullTracers, this will end-up in a state where we cannot debug application, especially deployed by a 3rd party. @CodiePP team has been working on limitting the output of logging and providing usful tracing switches.

@coot Why is it you think you are doing the right thing when you catch StackOverflow or HeapOverflow exceptions and just swallowing them instead of cleaning up and re-throwing them?

@coot Why is it you think you are doing the right thing when you catch StackOverflow or HeapOverflow exceptions and just swallow them instead of cleaning up and re-throwing them?

These are async exceptions, no? Nobody is saying it's good to squelch async exceptions.

As for nullTracer they were added to the explorer by the network team when the explorer was updated to use the new network code. I would be fine with adding real tracers there, as long as logging is sensible and I can specify that only logError messages come out of the networking code, and everything from logDebug up to come out of the explorer code. @CodiePP is this possible?

@coot

I'd argue that the SomeException here is not a problem

@avieth :

Nobody is saying it's good to squelch async exceptions.

^ Oh maybe he is saying that?
Come to think of it, in the context of a connection thread, maybe it is ok to squelch asyncs? If something throwTos the connection thread, or if the thread has a stack/heap overflow, anything it all, that thread dies, and the governing server thread does not necessarily die. If the exception really were fatal to the governing server thread then it would be thrown there, wouldn't it?

It is absolutely not ok, the catch and swallow whatever exception error and exitFailure/exitSuccess throw. By all means catch the exception, clean up and then rethrow, but just swallowing them and retrying is just wrong.

By all means catch the exception, clean up and then rethrow, but just swallowing them and retrying is just wrong.

This is not at all clear. Also, to be precise, we're not "swallowing them and retrying", we're letting the connection thread die without killing the server. Nothing is retired.

This is not at all clear.

On the one hand, you'd like your panics to stop the executable. On the other hand, our users would like our servers to be available, even if some other request caused an error.  ¯_(ツ)_/¯

How is my client progam supposed to notify the network that "the impossible happened, please print this message and then abort the whole program" ?

How is my client progam supposed to notify the network that "the impossible happened, please print this message and then abort the whole program" ?

Maybe it's not supposed to? Why should it about the entire program? Is it not enough to kill the current request handler?

In the explorer, why would it continue running if it cannot connect to the database?

In the explorer, why would it continue running if it cannot connect to the database?

Because the database may come back up later on.

I think there needs to be a boundary between resiliency and catching everything. On the server side, building resilient systems that can auto-recover from failures is great (as long as it really can always auto-recover or quits if it really can't auto-recover). This also is typically easier to do as you know the states of your system and the transitions between them so you can identify exactly what failure modes are critical and which can be resiliently recovered.
On the client side though, third party developers (and internal ones developing client applications) should be able to tell their code to exitFailure and not expect the network library to not exit with a failure because it catches the exception. It's very important to have a subset of errors that you know you can safely recover from, catch those and do something (like restart a thread). But for the errors that truly crash the system and the system doesn't know how to recover should always exit hard so on-call engineers are alerted (or possibly the OS might have a restart failure policy that brings the service back up).
Under no circumstances should you ever catch an error and not rethrow it if you don't know exactly what transitions can get the system into that broken state.

Under no circumstances should you ever catch an error and not rethrow it if you don't know exactly what transitions can get the system into that broken state.

Sounds right but honestly I don't think it works so well in practice. If I use some 3rd party library, I don't know which exceptions it might throw, but I do know that I don't want my server to crash just because one request triggered a failure in that library.

third party developers (and internal ones developing client applications) should be able to tell their code to exitFailure and not expect the network library to not exit with a failure because it catches the exception

What we could do is build-in a mechanism by which a connection handler can indicate that the whole server should go down. Then the developer can use that when they know this is what they want. What's more, when running in production, we can instruct the server to ignore this indication.

Right, so can roll our own specialised version of functionality that already exists in the base library. Really?

If I use some 3rd party library, I don't know which exceptions it might throw,

Exceptions should never cross API boundaries. Yes the Haskell base library gets that wrong, but it is like that for historical reasons. We should not be making the same mistake.

Right, so we can roll our own specialised version of functionality that already exists in the base library. Really?

Could you be more specific? I don't understand what you're trying to imply.

Exceptions should never cross API boundaries.

Sure I agree. But that's not the state of real world.

It should not catch SomeException but a restricted subset. Eg, for an something like readFile catching anything more than IOException is un-necessary.

I think maybe we're straying too far from the point here. Let's keep it focused on what's actually going on: a server loop runs IOs per-connection and catches all sync exceptions, logging them but not re-throwing them. It does this so that one connection failing does not kill every other connection thereby denying service to other users. Do you honestly believe that's a bad thing?

Could you be more specific? I don't understand what you're trying to imply.

The base library provides exitFailure which in the explorer does not work because network catches and squelches the exception.

Sure I agree. But that's not the state of real world.

My preferred solution is to catch exceptions at the boundaries between my code and the real world and turn them into Lefts. Then across my packages exceptions never cross API boundaries. This works really well!

a server loop runs IOs per-connection and catches all sync exceptions, logging them but not re-throwing them

Actually, it does not log them if the client code passes in a nullTracer so we end up with exceptions being silently caught and discarded. We should aim for APIs which cannot be used incorrectly.

The base library provides exitFailure which in the explorer does not work because network catches and squelches the exception.

If a 3rd party library uses exitFailure, do we really want the server to go down?

Actually, it does not log them if the client code passes in a nullTracer so we end up with exceptions being silently caught and discarded. We should aim for APIs which cannot be used incorrectly.

Do you consider giving a nullTracer to be incorrect use?

My preferred solution is to catch exceptions at the boundaries between my code and the real world and turn them into Lefts. Then across my packages exceptions never cross API boundaries. This works really well!

I fail to see how this is any sort of solution to what we're discussing. You're talking about your code, which of course you can design in a nice way; but I'm wondering about 3rd party code, which can and often does throw exceptions all over. The goal here is to ensure that a failure in one connection does not kill all other connections. How do you propose to do that? If you use any 3rd party code, you had better catch all exceptions.

Maybe what's at odds here is how we're thinking about what the program is and ought to do. The program that runs per-connection has, in my view, a different semantics for errors from the server program that spawns them. A failing client handler program does not imply a failing server.
In general, a failing child thread really ought to propagate the failure/exception up to its parent. But our case of a server is different. We want it to be available.  And if that's the case, it'll go down anyway, regardless of whether we squelch client handler exceptions.

If a 3rd party library uses exitFailure, do we really want the server to go down?

Absolutely, and we should either fix it or stop using that library. Same for libraries that use error for cases other than "the impossible happened and there is no way back to a sane state".

Do you consider giving a nullTracer to be incorrect use?

I consider silent catching and swallowing exceptions to be at the very high end of of incorrect. If my code passes nullTracer into the network code all exceptions get silently caught and swallowed.

You're talking about your code, which of course you can design in a nice way;

Actually, I'm talking about IOHK's code. I think we should attempt to design IOHK"s code in a nice way.

but I'm wondering about 3rd party code, which can and often does throw exceptions all over.

Yes, and I am suggesting that the solution is to catch exceptions at the interface between our code and third party libraries.
This is not some academic preference. This was the way we designed our systems at my last employer and it worked incredibly well.
If I can't get you to stop catching SomeException can I pass in a list of exceptions that I do not want caught?

Absolutely, and we should either fix it or stop using that library.

Not the answer I was expecting. Think of it this way: a server is parametric in the program it runs per-connection.  If yes, it should be explicit, visible in the type, and should not be overloaded as exceptions are. Letting an exitFailure or similar sync exceptions kill the server is begging for an accident.

I consider silent catching and swallowing exceptions to be at the very high end of of incorrect. If my code passes nullTracer into the network code all exceptions get silently caught and swallowed.

This is orthogonal to silent catching and swallowing of exceptions. A tracer is for tracing, for catching/throwing/etc. You have the option to pass nullTracer if you don't care about tracing exceptions. That's your call, but it's certainly not incorrect. Sometimes we really don't care about tracing.

Yes, and I am suggesting that the solution is to catch exceptions at the interface between our code and third party libraries.

But then we're catching SomeException, which you are strictly opposed to.

If I can't get you to stop catching SomeException can I pass in a list of exceptions that I do not want caught?

I couldn't see that working. The server must not go down because of some rogue sync exception. That's it that's all. It's a feature of the server. One failing client does not cause all other clients to fail.

Ouroboros-network is a library not and an executable.
The explorer program (lets call it layer 0) calls into network (layer 1) which calls back into code in the explorer (layer 2). Since network has chosen to catch SomeException (which is actually all exceptions) that means that is it impossible for explorer code in layer 2 to throw an exception to explorer code in layer 0. In other words the network library is imposing its idea of how the program should work on the program.

But then we're catching SomeException, which you are strictly opposed to.

The network library is using exceptions for control flow (which has been considered an anti pattern for at least 20 years) and not just that, it is using the broadest, catch-all exception for control flow. If instead it was using its own internally defined exception for control flow it would be none of my business.

The server must not go down because of some rogue sync exception

Where do you propose that coming exception is coming from? network uses a very small set of upstream libraries. These libraries are well understood and I would be surprised if any of them threw any exception other than IOException. In fact its such a small set of libraries that auditing them for exception usage would be a couple of hours work at most.

that means that is it impossible for explorer code in layer 2 to throw an exception to explorer code in layer 0

It's not. You can still throwTo.

The network library is using exceptions for control flow (which has been considered an anti pattern for at least 20 years) and not just that, it is using the broadest, catch-all exception for control flow. If instead it was using its own internally defined exception for control flow it would be none of my business.

The case we're discussing now is not an example of exceptions for control flow. Catching exceptions in order to stop the program from crashing is not control flow. It could be that other parts of ouroboros-network do that, I don't know, but it's not relevant to this discussion.

Where do you propose that exception is coming from? network uses a very small set of upstream libraries. These libraries are well understood and I would be surprised if any of them threw any exception other than IOException. In fact its such a small set of libraries that auditing them for exception usage would be a couple of hours work at most.

Do you volunteer?
Honestly, even if we had an audit, it doesn't change the fact that for a server, not crashing when a client thread crashes is a pretty important feature. Exceptions are still visible by way of a Tracer parameter. Yes, this is a library we're talking about, but the library provides an accept loop server that quite simply should not crash if one of its threads crashes.

You can still throwTo.

What if its the same thread?

Do you volunteer?

Volunteer for auditing the libraries used by network for which exceptions they throw? Sure, I would do that if there was some chance of that information being acted on.

Yes, this is a library we're talking about, but the library provides an accept loop server that quite simply should not crash if one of its threads crashes.

Firstly catching SomeEcxeption to meet that goal is like using a sledgehammer to crack a wallnut.
Secondly @disassembler , whose team will actually be running the most critical versions of this code disagrees:

But for the errors that truly crash the system and the system doesn't know how to recover should always exit hard so on-call engineers are alerted (or possibly the OS might have a restart failure policy that brings the service back up).

What if its the same thread?

Yes you can throwTo your own thread.

But for the errors that truly crash the system and the system doesn't know how to recover should always exit hard so on-call engineers are alerted (or possibly the OS might have a restart failure policy that brings the service back up).

Such as? NB: we're talking about errors that arise within client connection handlers. Are these ever truly fatal errors? Honestly I don't believe they ever are, nor ever should be. On the other hand, I could imagine a fatal error within the ChainDB, something which really cannot be recovered from. In that case, it can kill the whole program, for the ChainDB is bracketed independently from a server! There's no problem here: the exception will ultimately kill the server and therefore all of its client threads.

Firstly catching SomeEcxeption to meet that goal is like using a sledgehammer to crack a wallnut.

No, it's the sensible thing to do. AFAICT there's frustration here because of a long and annoying debugging session that perhaps could have been made shorter if the server would crash when client threads crash. But as I keep repeating, that's not a good idea. But the trade-off really isn't as bad as it would seem from what I'm reading in this thread. If your program is to run in a server's client thread, its exceptions are not re-thrown. That's fine, for you can still observe those exceptions--you define the client program, after all. I think it's quite reasonable to expect different error semantics for your program, given that you are passing it to another program that is responsible for invoking it.

@erikd we have two use cases here:

a standalone node
a client application using ouroboros-network

In the first case we have to be careful: in the past there were attacks which triggered a specialised exceptions which brought a whole server down. For cardano this can be fatal on a large scale: non recoverable halt of the whole system. Relaying on a review of all the dependencies, would also mean we need to repeat a careful analysis every time we update dependencies - that's a fragile process, and I prefer to design something solid instead.
The second case is different, and I see your points. Recently we merged error policies, and you will be able to catch and re-throw exceptions that you don't want to be caught, e.g. AsyncExceptions and alike. We also have a clean way of shutting down subscription worker (and server) which does not involve exceptions (by means of an STM transaction).  We haven't exposed it, but I think it will be useful for you. Whenever the mainTx retries the subscription worker continues: we can expose a TMVar () which allowed you to stop the worker (server has a similar api).

I just reviewed the discussion here and I think my point can be summarized by comparing to a shell. The server provided by ouroboros-network is like bash, and connection handlers for clients which it runs are like programs spawned by bash. Would it be nice if running ls could crash the entire shell? What if running ls reveals via syscall a bug inside the kernel, should it crash the shell? No, the kernel should panic instead. Exactly analogous to what we have here: if a client thread notices an internal error in some subsystem like the chain DB, it's not the thread's responsibility to tear things down, it's the responsibility of that essential subsystem to panic.

@erikd since error policies are merged you actually can shutdown your client by exitFailure, you just need to configure ErrorPolicies so that ExitCode exception becomes fatal. Add
ErrorPolicy (\(_ :: ExitCode -> Just Throw)

to your error policies.  Tthe ErrorPolicies (note the prular) is a monoid so you can merge the Ouroboros.Network.NodeToClient.networkErrorPolicies with the policies of your application. If you do that exitFailure in one of your protocols will exit the app.
By design, and we'll speak with devops on this, you don't have a way to kill the node the client is connected to. If your client app has a problem accessing db, or some other fatal error happens to it, the node (which is a separate process) can happily run and sync / update its chain and the client can be restarted and it can connect to it.
If a node dies, the client will notice that the connections went down.  The subscription manager will kick in and it will connect to the node as soon as the node is up again.
I am closing this issue, as I feel this has been resolved with the error policies. You will still see SomeException in the code, but the threads will exit promptly and the behaviour is governed by error policy. We use sensible traces so these exceptions will be visible in the logs.


Use built-in formatter with CLEF format

Along with the original "Events":[... JSON format, Seq accepts a nicer "compact" JSON format detailed in: https://github.com/serilog/serilog-formatting-compact#format-details
This change switches over to that format, and as a side-effect can now make use of the built-in logrus JSONFormatter type.

Awesome, just tested locally, works great. Thanks @nblumhardt

Thanks Alex!


warning Workspaces can only be enabled in private projects.

Using this package in a yarn workspace repository causes the following warning
warning Workspaces can only be enabled in private projects.
This is due to the fact that this project has a workspace config but it not tagged as private
https://github.com/davidmyersdev/vite-plugin-node-polyfills/blob/bfb529025d722a49cf98c395550fd46454d0de39/package.json#L94-L96
Is there any reason why this workspace setting is required?

Is there any reason why this workspace setting is required?

Nope! Just a leftover relic from when I was using Yarn Berry.


WriteUtf8  does not take 5 arguments

Hi, I have no idea if I made some mistake. But I cannot rebuild nan with electron 3.0.10 (with node 10.2.0).
With command below to rebuild:
node-gyp rebuild --target=3.0.10 --arch=x64 --dist-url=https://atom.io/download/electron

The raw error I got is
C:\Users\...\node_modules\nan\nan.h(1081): error C2660: 'v8::String
::WriteUtf8': function does not take 5 arguments (compiling source file ..\src\combined.cpp) [C:\...\xxx.vcxproj]

I find that the latest nan will call WriteUtf8 with 5 arguments if node version is larger than 10
https://github.com/nodejs/nan/blob/55923c824e4c148b127faec9b57d5b914f6a9ab9/nan.h#L1081
However, WriteUtf8 only accepts 4 arguments in node 10
https://v8docs.nodesource.com/node-10.6/d2/db3/classv8_1_1_string.html#a99aec0d3b418feca1f2a2ba79416c60b
Any ideas? Thanks.

The 4 param version has been deprecated in v8 in favor of the 5 param version and this has been backported to node 10 (see https://github.com/nodejs/node/pull/22531). Therefore the linked v8 docs don't match to the actual variant of v8 used by node.
See https://github.com/nodejs/node/blob/4128793a150dbcc63e03738ddd30f1768608aa11/deps/v8/include/v8.h#L2656
I assume that the same did not happen in electron and as a result some ifdefs are wrong in this setup.

Actually it seems that the backport of the v8 change was done with Node 10.10.0. Therefore if someone uses Nan 2.12.0 with Node 10.0.0 till 10.9.0 build will fail.

Caused by #825 - seems it's a decision between build errors and deprecation warnings.

@amb26 I guess you mean compiling electron with NodeJs 10.10.0. Or some native node extension?

@Flarna following your suggestion from https://github.com/mapbox/node-sqlite3/pull/1093#pullrequestreview-185457481 I got this situation:

<EMAIL_ADDRESS>in node-sqlite3 on NODE_VERSION="6" ELECTRON_VERSION="3.0.6" compiles:
https://travis-ci.org/mapbox/node-sqlite3/jobs/468473910

<EMAIL_ADDRESS>in node-sqlite3 on NODE_VERSION="6" ELECTRON_VERSION="3.0.6" fails:
https://travis-ci.org/mapbox/node-sqlite3/jobs/468884290

I'll put up a PR with a fix shortly.

Using sqlite3 as a canary with https://github.com/node4good/node-sqlite3/commit/62fa3c703bfa8e4421c0e33a24cbc9c5d736354c
https://travis-ci.com/node4good/node-sqlite3/jobs/165649311

For anyone like myself who's just trying to get their app to build whilst waiting for #833 to land.
If you're using yarn you can add nan to the resolutions field in your package.json, like so:


Add public API endpoints

Where do we expose public API for privacy experiences?
Suggestion from Neville: We can use privacy center as proxy to talk to fides api.
Acceptance criteria-
Add minimum public endpoints to fetch privacy experiences and save consent preferences

GET {{host}}/privacy-experience
PATCH {{host}}/privacy-preferences

Addressed in https://github.com/ethyca/fides/issues/3229
PATCH {{host}}/privacy-preferences was already public and GET {{host}}/privacy-experience was made public.  We are not using the privacy center as proxy to talk to the fides API at this time.

moving to done


Jira integration doesn't escape ] in topic header

See https://chat.fhir.org/#narrow/stream/179297-committers.2Fnotification/topic/tracker-item/near/266079874.

Joe Smith created [FHIR-34638: Extra ]](https://jira.hl7.org/browse/FHIR-34638):
Priority: Highest
Assignee: no one

The title is supposed to be "Extra ]" ("extra" close bracket). It looks like the close bracket is messing up the link parsing. I assume the bracket needs to be escaped.

Thanks for the report!  I agree this is a bug. I'm not sure what the cleanest way to do this escaping is off the top of my head.

@ElliotSilver can you advise a bit more on the issue, not quite sure whats going on. is it just the extra "[" thats the issue or are you missing one?

Also @ElliotSilver is there any chance you can get a test webhook event for this for us to test the fix with?

@adambirds The Jira ticket title was "Extra ]". The Jira integration takes the title, turns it into a link to the ticket, and makes it into the first line of the message, so a ticket with a title of Jira title becomes

SomeUser created [JIRA-1234: Jira title](http://jira.example.org/browse/JIRA-1234):

which renders as:

SomeUser created JIRA-1234: Jira title:

However, if the Jira title includes a close bracket, e.g., "Remove extra ]", then the integration turns the first line of the message into

SomeUser created [JIRA-1234: Remove extra ]](http://jira.example.org/browse/JIRA-1234):

which doesn't render correctly:

"SomeUser created [JIRA-1234: Remove extra ]](http://jira.example.org/browse/JIRA-1234): ..."

I suspect we need to escape the close bracket in order to get proper display:

SomeUser created [JIRA-1234: Remove extra \]](http://jira.example.org/browse/JIRA-1234):
SomeUser created JIRA-1234: Remove extra ]:

I don't know if there are other characters that might break the link rendering.
As for getting a test webhook, I'm just an end user. If it's something I can collect, let me know how and I can try. Perhaps @jmandel has access to that side of things.

I understand a bit better now. Shouldn't need a test webhook. Thanks @ElliotSilver

@zulipbot claim


msisensor msi -c [int] does not work

Hi,
My name is Manuel LEBEURRIER and I am testing MSIsensor on cancer datasets at Gustave ROUSSY.
Your work is really nice and totally coherent with clinical needs.
But your parameter -c isn't  working when non default value is given.
The problem came from a little mistake  in homo.cpp lines 192 and 194 param.covCutoff must be replace by paramd.covCutoff.
If someone is responsible for the development of this tool, I have some suggestions :
A normalisation step should be a good idea. In some cases the sequencing depths can be different between Normal and Tumoral.
I have found in MSI a SSR having a corresponding read count table like this :
N: 0 0 0 0 5 80 5 0
T: 0 0 0 0 0 90 0 0
It can't be a MSI because SSR length distributions have the same mod but the variability is higher in normal than in tumoral. Or we are looking for cases where length variability is higher in tumoral than normal (in case of same mod).
Best regards,
LEBEURRIER manuel

-n normal.bam -t tumor.bam    whether  both bam are removed duplicate is important? Thanks very much.

Hi,
You should keep duplicate whereas your count table must be wrong.
Example :
Without remove duplicate :
homopolymer repetitions       1 2 3 4 5 6  7   8   9   10
normal read count                    0 0 0 1 1 3 10 50 10 3
tumoral read count                   0 0 0 3 10 50 10 3 1 1
This site is predicted MSI.
With remove duplicate :
homopolymer repetitions       1 2 3 4 5 6 7 8 9 10
normal read count                    0 0 0 1 1 1 1 1 1 1
tumoral read count                   0 0 0 1 1 1 1 1 1 1
This site is not predicted MSI.
In the real world all reads are not just duplicates, but as you can see above the result can be quite different.
Don't hesitate if you have questions.
Manuel LEBEURRIER

De : nordhuang<EMAIL_ADDRESS>Envoyé : mardi 18 juillet 2017 04:15
À : ding-lab/msisensor
Cc : LEBEURRIER Manuel; Author
Objet : Re: [ding-lab/msisensor] msisensor msi -c [int] does not work (#2)
-n normal.bam -t tumor.bam whether both bam are removed duplicate is important? Thanks very much.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/ding-lab/msisensor/issues/2#issuecomment-315938401, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AWIpZJZNDof1-ezX-4BXh8V1vekv4Lneks5sPBU3gaJpZM4LPDYj.


Adding GitHub workflow test job

I've added a Test job to the .NET workflow as i wanted to see the tests run.
However it looks like it crashes the 😲
Determining projects to restore...
  Restored /home/runner/work/arm-estimator/arm-estimator/arm-estimator/arm-estimator.csproj (in 2.7[8](https://github.com/Gordonby/arm-estimator/actions/runs/3551022538/jobs/5964906827#step:4:9) sec).
  Restored /home/runner/work/arm-estimator/arm-estimator/arm-estimator-tests/arm-estimator-tests.csproj (in 3.03 sec).
/home/runner/work/arm-estimator/arm-estimator/arm-estimator/EstimateOptionsBinder.cs(56,[13](https://github.com/Gordonby/arm-estimator/actions/runs/3551022538/jobs/5964906827#step:4:14)): warning CS8604: Possible null reference argument for parameter 'inlineParameters' in 'EstimateOptions.EstimateOptions(DeploymentMode mode, int threshold, FileInfo? parametersFile, CurrencyCode currency, bool shouldGenerateOutput, bool shouldBeSilent, bool stdout, bool disableDetailedMetrics, string? jsonOutputFilename, bool shouldGenerateHtmlOutput, IEnumerable<string> inlineParameters)'. [/home/runner/work/arm-estimator/arm-estimator/arm-estimator/arm-estimator.csproj]
  arm-estimator -> /home/runner/work/arm-estimator/arm-estimator/arm-estimator/bin/Debug/net6.0/linux-x64/arm-estimator.dll
  arm-estimator-tests -> /home/runner/work/arm-estimator/arm-estimator/arm-estimator-tests/bin/Debug/net6.0/arm-estimator-tests.dll
Test run for /home/runner/work/arm-estimator/arm-estimator/arm-estimator-tests/bin/Debug/net6.0/arm-estimator-tests.dll (.NETCoreApp,Version=v6.0)
Microsoft (R) Test Execution Command Line Tool Version [17](https://github.com/Gordonby/arm-estimator/actions/runs/3551022538/jobs/5964906827#step:4:18).4.0 (x64)
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
The active test run was aborted. Reason: Test host process crashed

Test Run Aborted with error System.Exception: One or more errors occurred.
 ---> System.Exception: Unable to read beyond the end of the stream.
   at System.IO.BinaryReader.Read7BitEncodedInt()
   at System.IO.BinaryReader.ReadString()
   at Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.LengthPrefixCommunicationChannel.NotifyDataAvailable()
   at Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.TcpClientExtensions.MessageLoopAsync(TcpClient client, ICommunicationChannel channel, Action`1 errorHandler, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---.
Error: Process completed with exit code 1.

Hmm, my first thought be, that it may be connected to https://github.com/microsoft/vstest/issues/3658 as those tests run ACE as a separate process, which, in case of an error, crashes the runner. I may have not seen this before because I run those tests mostly on a local instance of VS.
I'm thinking if wrapping the following line:
var exitCode = await Program.Main(new[] {
"templates/bicep/nested.bicep",
"f81e70a7-e819-49b2-a980-8e9c433743dd",
"arm-estimator-rg",
"--generateJsonOutput",
"--jsonOutputFilename",
outputFilename
});

with try/catch would help here.

Unless you're using --threshold option somewhere, which uses Environment.Exit(1) under the hood, what could also crash the runner? :)

Not sure if that's connected, but I run all the tests locally and realized, that some ARM Templates are not properly flagged as "Copy Always" when run:

mysqldb.json
azuresqlmi.json

At least one the tests caused ACE process to crash exiting with non-zero code. So that may be the problem here - that's on me, I need also to fix the dictionary storing IDs of resources cause when all the tests are run within the same AppDomain, there're some concurrency issues.

I'm finding that locally the tests weren't running consistently and often flagged as skipped in the test manager console.
I need to refamiliarise myself with vs testing setups I think 😆

I pushed some fixes for tests to the main branch. You can try merge them into your branch and see if that's solves the issue.

Unfortunately not.
Could just be an mstest config thing.
I'll look next week :)
https://github.com/Gordonby/arm-estimator/actions/runs/3553386200/jobs/5968884186#step:4:1

@Gordonby The crash was caused by ACE exiting with Environment.Exit(1) when What If operation returned null due to e.g. invalid Azure CLI credentials / missing role assignment. It's been fixed and merged into main branch.


RIO parser for CSV Web

Problem description
CSV on the Web (https://csvw.org/standards.html) specifies how to turn "plain" CSV into RDF using a JSON metadata file, which makes it easy for publishers to turn their existing CSV files (e.g open data from statistical offices) into linked data.
Preferred solution
It would be nice to have a RDFParser capable of transforming the CSVW into triples
Are you interested in contributing a solution yourself?
Yes
Alternatives you've considered
No response
Anything else?
No response

Initial code is done.
Up next: adding the W3C test suite, probably the SHACL test code (which runs a similar test suite) can be reused.


Allow adding tags to snapshots while the repo is mounted

Output of restic version
restic 0.13.1 compiled with go1.18.1 on linux/amd64

What should restic do differently? Which functionality do you think we should add?
Allow adding tags to snapshots while the repo has active locks like mounts.
(Though, removing tags might cause issues! And I wouldn't allow it while a prune is running.)

What are you trying to do? What problem would this solve?
I've got the repo mounted, which creates a lock.
I then created a new snapshot but forgot to add a tag.
Now I can't add the tag due to the repo being locked by the mount.
I don't think adding tags should be prevented by such a lock. (But it's good restic is rather safe than sorry.)

Did restic help you today? Did it make you happy in any way?
Yee, it rescued the config of an app whose updater messed up. null ≠ "null" was the cause x)

The problem is that adding a tag means to take an existing snapshot, save it as a new snapshot and then delete the old one. However, the general rule is that only files may be added while a repository is locked, but not removed. Adding exceptions to that rule has the potential of creating a mess. So this will probably have to wait until #1141.


llms: Sagemake suppport

I saw that we support bedrock, but I thought because we don't have support for sagemaker, they apparently are similar, wouldn't it be worth implementing it as an AWS AI, using both bedrock and sagemaker?

Yes, open to that, presuming the implementations can sufficiently overlap.


Auth crash -[FIRAuth fetchSignInMethodsForEmail:completion:]

Xcode version: 11.3
Firebase SDK version: 6.13.0
Firebase Component: Auth
Component version: 6.4.0 (per Podfile.lock)

[REQUIRED] Step 3: Describe the problem
Crash on iOS when calling fetchSignMethodsForEmail
Seen on

13.1.3 (17A878) iPhone XR
12.4.0 (16G77) iPhone 8 Plus

Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x1a9f01c30 __exceptionPreprocess
1  libobjc.A.dylib                0x1a9c1c0c8 objc_exception_throw
2  CoreFoundation                 0x1a9f5a5f4 -[__NSCFString characterAtIndex:].cold.1
3  CoreFoundation                 0x1a9f64414 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:].cold.5
4  CoreFoundation                 0x1a9de85f0 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]
5  CoreFoundation                 0x1a9dd9e9c +[NSDictionary dictionaryWithObjects:forKeys:count:]
6  KScoreApp                      0x104fae4e8 -[FIRCreateAuthURIRequest unencodedHTTPRequestBodyWithError:] + 75 (FIRCreateAuthURIRequest.m:75)
7  KScoreApp                      0x104fa4ac4 -[FIRAuthBackendRPCImplementation postWithRequest:response:callback:] + 833 (FIRAuthBackend.m:833)
8  KScoreApp                      0x104fa3600 -[FIRAuthBackendRPCImplementation createAuthURI:callback:] + 600 (FIRAuthBackend.m:600)
9  KScoreApp                      0x104fa2778 +[FIRAuthBackend createAuthURI:callback:] + 441 (FIRAuthBackend.m:441)
10 KScoreApp                      0x104f99068 __49-[FIRAuth fetchSignInMethodsForEmail:completion:]_block_invoke + 530 (FIRAuth.m:530)
11 libdispatch.dylib              0x1a9ba7bb0 _dispatch_call_block_and_release
12 libdispatch.dylib              0x1a9ba900c _dispatch_client_callout
13 libdispatch.dylib              0x1a9baf484 _dispatch_lane_serial_drain
14 libdispatch.dylib              0x1a9bafeb0 _dispatch_lane_invoke
15 libdispatch.dylib              0x1a9bb8f20 _dispatch_workloop_worker_thread
16 libsystem_pthread.dylib        0x1a9c0eaa0 _pthread_wqthread
17 libsystem_pthread.dylib        0x1a9c14c78 start_wqthread

Steps to reproduce:
What happened? How can we make the problem occur?
Hard to say, it appears to be medium-rare. But during my social auth sign-in flow, if it is the first time this account has been seen I first check if the email returned by the social auth sign-in is in use already before auto-registering.
It appears this can crash
Relevant Code:
It's using react-native-firebase (I'm a maintainer there) so the code won't appear relevant, but I don't believe a native crash should be possible under any circumstances, so hopefully not necessary? I am happy to assist in troubleshooting or providing any necessary follow-up information, please don't hesitate to ask.
Thanks!

Not sure if this is relevant, but the auth methods I have enabled are phone, email, facebook, google, and apple. If I understand correctly apple is in beta so perhaps the code is newer and the issue lurks in there.

Hi @mikehardy, thanks for reporting the issue. Could you provide detailed steps in order to reproduce it on my end? You may also provide a minimal repro that I can run locally to see if it's reproducible.

I understand the desire for both a minimal repro and exact reproduction
However:

the presence of a stack trace with line numbers should help trace it
your API docs indicate this crash should be impossible, if there is some problem then I should get an error indicating the email address is mal-formed https://firebase.google.com/docs/reference/ios/firebaseauth/api/reference/Classes/FIRAuth#-fetchsigninmethodsforemail:completion: and since this has one argument which should be validated, it should be one of those types of errors (like null pointer exceptions) that should be easily visible via code inspection

The error isn't at a frequency yet where I can provide exact reproduction however in my app flow, this is potentially the first Firebase Auth SDK call made.
It would work out like this:

in an app with social auth (apple, google, facebook) enabled;
attempt to login to one of those social providers using their SDKs
use the email provided by the social provider SDK in FIRAUth.fetchSignInMethodsForEmail
crash, sometimes, with this trace

Note that Apple Sign-in does not provide the email address all the time, and sometimes they provide an anonymous one. Perhaps the code is not correctly handling the case where I attempt to send in an empty or null email address. I can't tell myself because the auth module is not open sourced here

You're not a canteen blames! I worked in offline! You have 100% opportunity! On the same remote car watch LOGI plus chrome! You got help! As the best if you don't have to do it! I'll get different ways! On his example showed where IOS holes that this is a third party malware
2 янв. 2020 г., в 18:40, Mike Hardy<EMAIL_ADDRESS>написал(а):
understand the desire for both a minimal repro and exact reproduction
However:
the presence of a stack trace with line numbers should help trace it
your API docs indicate this crash should be impossible, if there is some problem then I should get an error indicating the email address is mal-formed https://firebase.google.com/docs/reference/ios/firebaseauth/api/reference/Classes/FIRAuth#-fetchsigninmethodsforemail:completion: and since this has one argument which should be validated, it should be one of those types of errors (like null pointer exceptions) that should be easily visible via code inspection
The error isn't at a frequency yet where I can provide exact reproduction however in my app flow, this is potentially the first Firebase Auth SDK call made.
It would work out like this:
in an app with social auth (apple, google, facebook) enabled;
attempt to login to one of those social providers using their SDKs
use the email provided by the social provider SDK in FIRAUth.fetchSignInMethodsForEmail
crash, sometimes, with this trace
Note that Apple Sign-in does not provide the email address all the time, and sometimes they provide an anonymous one. Perhaps the code is not correctly handling the case where I attempt to send in an empty or null email address. I can't tell myself because the auth module is not open sourced here

Reported Warfalamei for spam.

@renkelvin from what I understand Sign in with Apple sometimes causes _identifier to be nil on this line.
@mikehardy if you're able to reproduce the crash, can you put a breakpoint on that line and print out the values of _identifier and _continueURI?

Oo - didn't realize auth was open source, I should have looked myself. It does stand to reason that one of those two items is nil though.
Unfortunately I've not been able to reproduce it myself so I'm not sure I'll ever have a result but I will put that breakpoint on. It's much more likely that I could integrate a patch against the Pod source that logged the values via crashlytics such that they were available in any future crash trace
As mentioned above I'm consuming this API from react-native which has the unfortunate implication my Obj-C skills are weak, but I'm good at handling source if you could suggest the appropriate crashlytics API calls to log the same - I think it would just be one or two lines to patch in there?

You can use this method and set a bool to true if the email exists and false if it's nil.

I haven't done a production build with any augmented logging in it yet, but this is a strong indication that my code is feeding something unexpected to the SDK layer - this is Java but I thought it was interesting:
Fatal Exception: java.lang.IllegalArgumentException: Given String is empty or null
       at com.google.android.gms.common.internal.Preconditions.b(Preconditions.java:11)
       at com.google.firebase.auth.FirebaseAuth.fetchSignInMethodsForEmail(FirebaseAuth.java)
       at io.invertase.firebase.auth.RNFirebaseAuth.fetchSignInMethodsForEmail(RNFirebaseAuth.java:15)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:149)
       at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:21)
       at com.facebook.react.bridge.queue.NativeRunnable.run(NativeRunnable.java)
       at android.os.Handler.handleCallback(Handler.java:873)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java)
       at android.os.Looper.loop(Looper.java:214)
       at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:37)
       at java.lang.Thread.run(Thread.java:764)

Here is that chunk of code, for what it's worth (though with a single-argument method this isn't the most complicated thing to reason through): https://github.com/invertase/react-native-firebase/blob/v5.x.x/android/src/main/java/io/invertase/firebase/auth/RNFirebaseAuth.java#L1595
The easiest thing to do for me is to check for empty or null prior to calling in to these methods (java and ios) but similar to the ios one, it would be nice if the documented exception was returned in a promise rejection vs a crash (https://firebase.google.com/docs/reference/android/com/google/firebase/auth/FirebaseAuth.html#public-tasksigninmethodqueryresult-fetchsigninmethodsforemail-string-email) - I mean that nicely by the way, I'm aware this is a gigantic pile of code+complexity and I'm happy with the way it works in general
Cheers!