Explore go-kademlia

There is a new project https://github.com/plprobelab/go-kademlia that aims to build a standardized generic Kademlia implementation. It looks like libp2p2 kad will refactor to use the new library according to https://github.com/libp2p/go-libp2p-kad-dht/issues/856. I am currently not sure but I think we could just switch to using go-kademlia if it offers all of the features that we require. This may simplify some of the routing implementations as the new API is simpler.

Hey @phillebaba, I just saw this issue here linked from https://github.com/libp2p/go-libp2p-kad-dht/issues/856. I'm one of the developers rewriting the DHT implementation for Kubo (IPFS).
I'd be curious to hear more about the features that you require. Right now, we're quite focused on the requirements that IPFS has, so your input could be very valuable here.

@dennis-tra I do not think it is a question of what features are needed on top of IPFS but rather which features Spegel does not require. At times I feel like libp2p KAD DHT has too many features making it difficult to understand the internals. The challenges that Spegel and IPFS has are obviously different as on needs to cater to public internet wide networks while Spegel runs within a private trusted cluster.
Having said that these are the two main issues that I am currently facing.

Requiring a public key to be a part of the peer ID makes bootstrapping and restarts overly complicated. Currently the key is generated in runtime meaning that any restart of Spegel will result in a new peer ID. It also means that the bootstrap peer ID needs to be advertised through the Kubernetes API. It would be nice to not have to do this.

I have received questions from end users about how locality works when it comes to peer priority. There are financial benefits from keeping traffic within the same zones on top of performance benefits. I have postponed giving any answer to this question as I do not understand the internals for libp2p KAD.

Looks like v2 of go-pibp2p-kad-dht will live under a different name.
https://github.com/plprobelab/zikade
This is a note to come back and check progress of the project at a later time. When stable it would be a good idea to migrate.


Firestore iOS not initializing properly

Hello,
I'm running into an issue with getting Firestore to run on iOS. It seems that Firebase.firestore(app: someApp) is failing to initialize properly.
Essentially, I'm running
val app = Firebase.initialize() ?: return
NSLog("${app.ios.name}") // prints __DEFAULT_APP
val firestore = Firebase.firestore(app)
NSLog("${firestore.ios.app.name}") // prints null
val document = firestore.document("path/to")
NSLog("${document.path}") // prints null

For comparison, I ran the equivalent code directly using the Firebase-ios-sdk (with the same Google-Services.plist etc)
FirebaseApp.configure()
NSLog("App %@", FirebaseApp.app()?.name ?? "No name") // prints __DEFAULT_APP
guard let app = FirebaseApp.app() else { return }
let firestore = Firestore.firestore(app: app)
NSLog("Firestore App %@", firestore.app.name)  // prints __DEFAULT_APP
let document = firestore.document("path/to")
NSLog("Document %@", document.path) // prints path_to

Looking at the source code of the library, I dont see any clear reasons what could be causing it.
I've tried a bunch of things myself, including upgrading the SDK to the latest ios builds (when I get this working I can make a PR for that)
The most likely suspect for me at this moment is importing the .framework files into XCode. Seeing as this is not written out clearly in the README.md, I've written my own solution using Carthage:
// shared/build.gradle

kotlin {
    // Initialize
    sourceSets {
        val commonMain by getting {
            dependencies {
                implementation(kotlin("stdlib-common", kotlinVersion))
                // Common Deps

                implementation("dev.gitlive:firebase-firestore:$commonFirebaseVersion")
                implementation("io.ktor:ktor-client-serialization:$ktorVersion")

            }
        }
    }

    cocoapodsext {
        summary = "summary"
        homepage = "homepage"
        framework {
            isStatic = false
            val carthageBinaries =
                File("${projectDir.absolutePath}/src/iosMain/c_interop/Carthage/Build/iOS").absolutePath
        linkerOpts("-F$carthageBinaries")
}

# Cartfile
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAuthBinary.json" ~> 6.17.0
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAnalyticsBinary.json" ~> 6.17.0
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseCrashlyticsBinary.json" ~> 6.17.0
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseFirestoreBinary.json" ~> 6.17.0
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseFunctionsBinary.json" ~> 6.17.0
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseInAppMessagingBinary.json" ~> 6.17.0
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseProtobufBinary.json" ~> 6.17.0
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseMessagingBinary.json" ~> 6.17.0

Any advice on what I could be doing wrong? Some help would be greatly appreciated.
Thanks

Hmm that is odd, tbh we are waiting for Kotlin/Native to mature a little more before we try and get iOS working properly - for example I've had to disable the iOS unit tests as we simply can't find a way to get them to run.
Things might get better now 1.4 is released and updating this project to use 1.4 is probably the best place to start to address these issues

Adding linkerOpts("-ObjC") into cocoapodsext/framework section and keep isStatic = false does work for me

Closing as should be working now https://github.com/GitLiveApp/firebase-kotlin-sdk/pull/78 merged in


[19.09] firefox 70 (staging)

Motivation for this change
Port of #71580 & #71624
This should through staging on 19.09 as it carries a rather large rebuild.
This went into the master staging process earlier today and there doesn't seem to be much unexpected breakage. @FRidh seems to be aware of a python regression and is likely able to help out there.
I compiled firefox from this branch and opened this PR using it.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc RMs @lheckemann @disassembler
cc @FRidh as he might know about some python/sqlachemy breakage from the sqlite change

@andir as I mentioned https://github.com/NixOS/nixpkgs/pull/70593#issuecomment-545057600 I hope we don't have to backport any newer version of sqlite.
https://github.com/NixOS/nixpkgs/pull/71695 we have instead a CVE fix for sqlite.

The update isn't for the CVE but more because firefox has that as minimum supported version…
I am very unhappy about the state of maintaining firefox on release versions. I am almost in favor of just using bundled libraries at this stage..

If firefox moves this fast with its dependencies, then I see no way for us to build the latest firefox on stable from source using our Nixpkgs packages, without indeed using bundled/vendored/firefox-specific versions of packages. It's good then that they have ESR versions...

We would either need to vendor dependencies in master, or convert Firefox to venfored

We would either need to vendor dependencies in master, or convert Firefox to vendored after every branch-off, choosing between ugliness and lot of work and ugliness. At that point, I would rather just drop non-ESR versions after branch-off. People will still be able to use latest Firefox from unstable.

Well then I guess we will mark firefox as insecure in 19.09? @FRidh @jtojnar

Sounds good.

I reworked that a bit. The main difference is now that the sqlite update ended up in a new attribute that only firefox is consuming. I went forward with keeping the nss update since that is a minor bump and fixes things like static time execution of some algorithms so I consider that worthy.
Same story for rust-cbindgen. It is a minor update and the rebuilds it introduces are minor compared to those caused by nss.
For the next Firefox releases I plan on providing dedicated attribute or overrides for packages that need updating on the 19.09 branch.
Does this look better to you @FRidh ?

A suggestion to consider: perhaps keep old sqlite for all firefoxPackages except the latest one?

Ah right indeed, forgot about that one.


Problems to build in IOS

I have Xcode 10, Swift 4.0 and Nativescript 4.2. when I try to build project for IOS get follow menssage
error: Value for SWIFT_VERSION cannot be empty. (in target 'SkyFloatingLabelTextField')
note: Using new build systemnote: Planning buildnote: Constructing build description
** ARCHIVE FAILED **

In your POD file.
Btw Swift 3 is being depreciated and this plugin is also no longer maintained.
post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '3.0'
        end
    end
end


是否能增加读取列表功能?

某些游戏只有指定的频道才会有掉落(比如RUST和Krunker等)
把所有指定掉落的用户名放入一个列表里 然后用 -l 或者--list 参数启动?

I can't read this

I can't read this

sorry,.emmm..my english is so bad.xd
can u add read list function? some game drop is limit channel only (like Rust & Krunker)
`
npm start -- -l or --list

user1 or https://www.twitch.tv/user1
user2 or https://www.twitch.tv/user2
user3 or https://www.twitch.tv/user3
...
`

Seems like a good idea for a new feature. I'll see if I have time to add it later. If you need this right now there are some other projects to try, for example this one: https://github.com/D3vl0per/Twitch-watcher
That one doesn't actually claim the drops though. This is why I created my own project. You could theoretically run both of the projects. One to watch the channels and mine to claim the drops

Seems like a good idea for a new feature. I'll see if I have time to add it later. If you need this right now there are some other projects to try, for example this one: https://github.com/D3vl0per/Twitch-watcher
That one doesn't actually claim the drops though. This is why I created my own project. You could theoretically run both of the projects. One to watch the channels and mine to claim the drops

thank you XD


Remove RedisTokenPersistence

:clipboard: Description
Lets leave it in for the March and April releases then after we've done the April release, remove it so it is gone in the May release.
@SnoozeThis wait until April 2 2023

(https://snoozeth.is/XjxEWFli9B4) I will wait until Sun, 02 Apr 2023 00:00:00 UTC and then add a comment.

also remember REDIS_URL, associated documentation, integration tests, etc

Resolved.


Filling information gaps in the MongoDB notebook

What does this PR do?
This PR fixes some information gaps in the creation of a database and collection in the MongoDB notebook

Fixes # (issue)

Fix information gaps in the  creation of database and collection in the MongoDB RAG notebook

Who can review?
@MKhalusova

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Add basic check for naming style violations

Refpolicy findings:
networkmanager.te:    8: (C): Naming convention voliated: contains invalid character (C-006)
networkmanager.te:    9: (C): Naming convention voliated: contains invalid character (C-006)
networkmanager.te:   12: (C): Naming convention voliated: contains invalid character (C-006)
networkmanager.te:   15: (C): Naming convention voliated: contains invalid character (C-006)
networkmanager.te:   18: (C): Naming convention voliated: contains invalid character (C-006)
networkmanager.te:   21: (C): Naming convention voliated: contains invalid character (C-006)
networkmanager.te:   24: (C): Naming convention voliated: contains invalid character (C-006)
networkmanager.te:   27: (C): Naming convention voliated: contains invalid character (C-006)
networkmanager.te:   30: (C): Naming convention voliated: contains invalid character (C-006)
networkmanager.te:   33: (C): Naming convention voliated: contains invalid character (C-006)
slocate.if:          13: (C): Naming convention voliated: interface has no module name prefix (C-006)
openoffice.if:       18: (C): Naming convention voliated: interface has no module name prefix (C-006)
openoffice.if:       48: (C): Naming convention voliated: interface has no module name prefix (C-006)
openoffice.if:       67: (C): Naming convention voliated: interface has no module name prefix (C-006)
openoffice.if:       86: (C): Naming convention voliated: interface has no module name prefix (C-006)
openoffice.if:      106: (C): Naming convention voliated: interface has no module name prefix (C-006)
openoffice.if:      127: (C): Naming convention voliated: interface has no module name prefix (C-006)
qemu.if:            113: (C): Naming convention voliated: template has an invalid postfix (C-006)
webalizer.if:        60: (C): Naming convention voliated: interface has no module name prefix (C-006)
udev.if:            461: (C): Naming convention voliated: interface has no module name prefix (C-006)
udev.if:            486: (C): Naming convention voliated: interface has no module name prefix (C-006)
udev.if:            505: (C): Naming convention voliated: interface has no module name prefix (C-006)
daemontools.if:      91: (C): Naming convention voliated: interface has no module name prefix (C-006)
systemd.if:         147: (C): Naming convention voliated: contains invalid character (C-006)
iscsi.if:            13: (C): Naming convention voliated: interface has no module name prefix (C-006)
kismet.if:           18: (C): Naming convention voliated: template has an invalid postfix (C-006)
lsm.if:              20: (C): Naming convention voliated: interface has no module name prefix (C-006)
mailscanner.if:      14: (C): Naming convention voliated: interface has no module name prefix (C-006)
mailscanner.if:      41: (C): Naming convention voliated: interface has no module name prefix (C-006)
dhcp.if:             13: (C): Naming convention voliated: interface has no module name prefix (C-006)
dhcp.if:             33: (C): Naming convention voliated: interface has no module name prefix (C-006)
dhcp.if:             53: (C): Naming convention voliated: interface has no module name prefix (C-006)
dhcp.if:             78: (C): Naming convention voliated: interface has no module name prefix (C-006)
rlogin.if:           32: (C): Naming convention voliated: template has an invalid postfix (C-006)
qpid.if:             13: (C): Naming convention voliated: interface has no module name prefix (C-006)
qpid.if:             32: (C): Naming convention voliated: interface has no module name prefix (C-006)
qpid.if:             50: (C): Naming convention voliated: interface has no module name prefix (C-006)
qpid.if:             69: (C): Naming convention voliated: interface has no module name prefix (C-006)
qpid.if:             87: (C): Naming convention voliated: interface has no module name prefix (C-006)
qpid.if:            106: (C): Naming convention voliated: interface has no module name prefix (C-006)
qpid.if:            125: (C): Naming convention voliated: interface has no module name prefix (C-006)
qpid.if:            145: (C): Naming convention voliated: interface has no module name prefix (C-006)
qpid.if:            171: (C): Naming convention voliated: interface has no module name prefix (C-006)
ctdb.if:             14: (C): Naming convention voliated: interface has no module name prefix (C-006)
ctdb.if:             34: (C): Naming convention voliated: interface has no module name prefix (C-006)
aisexec.if:          79: (C): Naming convention voliated: interface has no module name prefix (C-006)
isns.if:             20: (C): Naming convention voliated: interface has no module name prefix (C-006)
l2tp.if:             14: (C): Naming convention voliated: interface has no module name prefix (C-006)
l2tp.if:             34: (C): Naming convention voliated: interface has no module name prefix (C-006)
l2tp.if:             53: (C): Naming convention voliated: interface has no module name prefix (C-006)
polipo.if:           18: (C): Naming convention voliated: template has an invalid postfix (C-006)
systemtap.if:        20: (C): Naming convention voliated: interface has no module name prefix (C-006)
git.if:              18: (C): Naming convention voliated: template has an invalid postfix (C-006)
cobbler.if:          13: (C): Naming convention voliated: interface has no module name prefix (C-006)
cobbler.if:          33: (C): Naming convention voliated: interface has no module name prefix (C-006)
example.if:          29: (C): Naming convention voliated: interface has no module name prefix (C-006)
example.if:          47: (C): Naming convention voliated: interface has no module name prefix (C-006)
Found the following issue counts:
C-006: 57

A few initial thoughts:
I think we need to think about configuration and documentation for this.  I can definitely envision use cases where people want to change these conventions (case in point: Android, although we don't actually support parsing Android policy yet, I hope to in the future).  My initial thought is to have a config file option for each convention that people can turn on and off (and where it makes sense, customize).  I don't know if that would get unwieldy or if we want to group related conventions.
In terms of documentation, a section in the README describing the conventions and how to configure them would be helpful I think.  Possibly an abbreviated version in the man page?  If it seems too long for the README, I wouldn't be opposed to a separate file that just gets referenced in the README.
Lastly, I wonder if breaking the interface and declaration checks into two separate checks would make more sense.  The downside is that someone who wants no naming convention enforcement would have to turn off both (side note: groups of checks that can be configured together would be a cool future feature).  On the other hand, I imagine someone might want to look at only one or the other without doing all the configuration work to turn one set of conventions off.


New rule for missing break in switch

Again a common rule in other code quality tools.

Maybe in a similar context we could check for defaultcase.

@TheRealAgentK There is already a rule called "NO_DEFAULT_INSIDE_SWITCH" for that.

@KamasamaK No, that was what I meant. Wasn't aware of the existing rule.


how select multi components in a web project on iPad at once ?

[ ] I agree to follow the Code of Conduct that this project adheres to.
[ ] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Tap and hold.


Build, lint and tests were running twice, remove the "deploy" option

in favor of specific ones for a more detailed configuration on ci

Codecov Report

Merging #155 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #155   +/-   ##
=======================================
  Coverage   73.54%   73.54%
=======================================
  Files         115      115
  Lines        2264     2264
  Branches      395      395
=======================================
  Hits         1665     1665
  Misses        596      596
  Partials        3        3


[VS Code] Live Share extension failed to initialize, try to reload the VSCode window and try again.

<!--
I am having an error while start live share visual studio

Thanks for reporting the issue. To help us investigate it, can you please get Live Share logs from VS Code and attach them to the issue? To get the logs, run 'Live Share: Export Logs' command from VS Code command palette. The command will ask you for the zip file location, and will save the logs into that file. You can then attach the file to the issue.

Well, I'm facing the same issue as well. I tried to reinstall everything, yet, no difference is made.

Logs
Thanks!

Logs contain this error:
Agent terminated with exit code:<PHONE_NUMBER> and signal null: Failed to initialize CoreCLR, HRESULT: 0x80070057
There is existing CLR issue with similar symptoms,
https://github.com/dotnet/core-setup/issues/4141
It happens when the path contains ';'.
Does your path contain a semicolon? Normally the extension path is something like this:
c:\users{user_name}.vscode\extensions\ms-vsliveshare.vsliveshare-{version}.

Closing due to inactivity.


vuex:module command not working.

Found an issue or bug? Tell me all about!
Not able to run npm run vuex:module <name_of_module>
Describe the issue / bug.
#
When trying to create new vuex module command executed gives an error as show below.
How can I reproduce this problem?
#
Just install fresh project and try to run npm / yarn run vuex:module
If visual, provide a screenshot.
#
yarn run v0.17.10
$ node tasks/vuex/module.js Feeds
fs.js:557
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open '/Users/mgodhani/Desktop/Projects/rss-reader/app/src/vuex/modules/Feeds.js'
    at Object.fs.openSync (fs.js:557:18)
    at Object.fs.writeFileSync (fs.js:1222:33)
    at Object.<anonymous> (/Users/mgodhani/Desktop/Projects/rss-reader/tasks/vuex/module.js:12:4)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:420:7)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Tell me about your development environment.

Node version: v7.2.0
NPM version: 4.4.1
vue-cli version: (if necessary)
Operating System: MacOS

If you are looking to suggest an enhancement or feature, then feel free to remove everything above.

@mrgodhani
Sorry for the inconvenience, but these commands have been removed for quite some time now and are no longer supported. Doing a "fresh install" no longer includes these scripts.


Is the game supposed to be locked to 30fps?

Describe the bug
Drops to 30fps as soon as I spawn in the world. I've tried with v-sync off too and it made no difference
To Reproduce
Steps to reproduce the behavior:

Open the game in fullscreen.
Launch any mode
starts at like 75 then quickly drops to 30 fps

Expected behavior
30fps
Screenshots
If applicable, add screenshots to help explain your problem.
Environment and game (please complete the following information):

Game version REDRIVER2 release candidate 2
Operating System: Windows 11
CPU model 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz, 2304 Mhz, 8 Core(s), 16 Logical Processor(s)
GPU model Nvidia GTX 3060

Additional context
165hz display if that matters

Game is locked to the 30 fps. And all the media that told that game runs in 60 fps were not right about it

Game is locked to the 30 fps. And all the media that told that game runs in 60 fps were not right about it

Ahh alright, thanks, sucks ppl dont get their facts right


Question: How to name formAtom

Is your feature request related to a problem? Please describe.
I am not sure if there is a way to have added name to formAtom so that we can easily access in jotai devtools
Describe the solution you'd like
I would like to know if there is any parameters called as name in form atom like fieldAtom  to debug better in the jotai devtool:

In above exmple, how to give debugLabel/name to atom541
Describe alternatives you've considered
I tried name & debugLabel but nothing worked out.
Additional context
NA

Usually there is one form on a page, so the atoms labels started with form/* belong to that form.
Custom name would make sense if you have 2+ forms on a page, and want to avoid search which id belongs to which form.
I believe you can rename the atoms with a custom hook:
import {useAtomValue} from "jotai";

function useDebugLabel(form: FormAtom<unknown>, name: string) {
  const formAtoms = useAtomValue(form);

  if (typeof process !== "undefined" && process.env.NODE_ENV !== "production") {
    form.debugLabel = `form/${name}`;
    Object.entries(formAtoms).map(([atomName, atom]) => {
      if (isAtom(atom)) {
        atom.debugLabel = `${form.debugLabel}/${atomName}`;
      }
    });
  }

  function isAtom(maybeAtom: any): maybeAtom is FieldAtom<any> {
    return (
      maybeAtom !== null &&
      typeof maybeAtom === "object" &&
      (typeof maybeAtom.read === "function" ||
        typeof maybeAtom.write === "function")
    );
  }

}

Usually there is one form on a page, so the atoms labels started with form/* belong to that form. Custom name would make sense if you have 2+ forms on a page, and want to avoid search which id belongs to which form.
I believe you can rename the atoms with a custom hook:
import {useAtomValue} from "jotai";

function useDebugLabel(form: FormAtom<unknown>, name: string) {
  const formAtoms = useAtomValue(form);

  if (typeof process !== "undefined" && process.env.NODE_ENV !== "production") {
    form.debugLabel = `form/${name}`;
    Object.entries(formAtoms).map(([atomName, atom]) => {
      if (isAtom(atom)) {
        atom.debugLabel = `${form.debugLabel}/${atomName}`;
      }
    });
  }

  function isAtom(maybeAtom: any): maybeAtom is FieldAtom<any> {
    return (
      maybeAtom !== null &&
      typeof maybeAtom === "object" &&
      (typeof maybeAtom.read === "function" ||
        typeof maybeAtom.write === "function")
    );
  }

}

Thank you so much will give it a try


Fix CORS issue in APIHUB

Refactor responseHeader middleware to set headers for specific paths

check the list of allowed headers to include some needed headers like epiprotocolversion and others

related with https://github.com/PharmaLedger-IMI/epi-workspace/issues/1107

Solution:
each component that inserts require custom headers will have a way to register them so the CORS component is capable to get a correct answer without additional configurations


Add CCM cipher suits for ECDHE_ECDSA, PSK

Feature
Add ciphers:

TLS_ECDHE_ECDSA_WITH_AES_128_CCM
TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
TLS_PSK_WITH_AES_128_CCM

Description
By OCF  Specification(https://openconnectivity.org/specs/OCF_Security_Specification_v2.1.0.pdf) only few ciphers are supported - mainly for certificates(TLS_ECDHE_ECDSA_WITH_AES_128_CCM, TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8). This commit implements the ciphers.

Codecov Report

Merging #156 into master will increase coverage by 0.31%.
The diff coverage is 81.39%.

@@            Coverage Diff             @@
##           master     #156      +/-   ##
==========================================
+ Coverage   73.37%   73.69%   +0.31%
==========================================
  Files          54       57       +3
  Lines        3294     3417     +123
==========================================
+ Hits         2417     2518     +101
- Misses        608      622      +14
- Partials      269      277       +8

Impacted Files
Coverage Δ

crypto_ccm.go
63.26% <100%> (+0.76%)
:arrow_up:

cipher_suite.go
97.4% <100%> (+0.3%)
:arrow_up:

cipher_suite_tls_psk_with_aes_128_ccm8.go
78.94% <100%> (ø)
:arrow_up:

cipher_suite_tls_ecdhe_ecdsa_with_aes_128_ccm.go
78.94% <78.94%> (ø)

cipher_suite_tls_psk_with_aes_128_ccm.go
78.94% <78.94%> (ø)

cipher_suite_tls_ecdhe_ecdsa_with_aes_128_ccm8.go
78.94% <78.94%> (ø)

client_handlers.go
83.14% <0%> (+0.55%)
:arrow_up:

Continue to review full report at Codecov.

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

nice, this LGTM @jkralik
Not your problem, but we should fine a way to cut down on all the duplication when defining a crypto suite. I could see a bug being found in one, and not fix in the other ones.

@Sean-Der thx for comment. I merged them to the one struct.

Hi. Pls could I merge it or I need to wait ? Thx

Once it has the minimal approvals required you can always go ahead and merge it.

Yes please merge away @jkralik! w/e that button is green feel free to merge :)
Maybe we should more stringent, but would rather see people move quickly/unblocked and then we can go back and fix things later.


gitignore: ignore gz files created by make docs

Signed-off-by: Qiang Huang<EMAIL_ADDRESS>

I already did this in #149.

@cyphar Thanks.


Made the init method trigger also the install

@pocketjoso @franblas
if people wants to first create a project folder <app_name> and inside of it create a venv.
They can actually do then a
tpt init --templates <templates>

and the result will be the same as if they would have done
tpt -c --name <app_name> --templates <templates>

For that I needed to make trigger install in the dump sub task in the case where the program is equel to the init task.

I'm not sure I see value adding a second way of doing the same thing. What's the use case - when you're too lazy to delete/move an already existing folder to use the tpt -c command from scratch? Imo more important to keep api surface area small than providing convenience for that use case.

@Ledoux The workflow should be to create the venv before creating the app, and people should follow those rules. So the 1st use case you are quoted should not happened.


FREE accounts can't use all the available methods for that account type

Describe the bug
Can't use this library to interact with the API using FREE plan.
To Reproduce
Steps to reproduce the behavior:

Copy one of the examples of the README.md.
Run it.
See error.

Expected behavior
Be able to get information using the methods.
Screenshots
If applicable, add screenshots to help explain your problem.
None
Please complete the following information:
Node version: 16.19.0
openweather-api-node version: 2.0.0
Additional context
I think the problem is that FREE accounts can't use the onecall route, which is used in several methods. Example:
    async getCurrent(options = {}) {
        await this.uncacheLocation();
        const parsedOptions = await this.parseOptions(options);
        let response = await this.fetch(this.createURL(parsedOptions, constants_1.ONECALL_PATH, {
            exclude: "alerts,minutely,hourly,daily",
        }));
        let data = response.data;
        return (0, current_parser_1.default)(data);
    }

So, for example, when I access to the route in the web explorer it doesn't work (Change SECRET):
✖ https://api.openweathermap.org/data/2.5/onecall?appid=SECRET&lat=51.509865&lon=-0.118092.
But using the example provided by OpenWeatherMap works:
✔ https://api.openweathermap.org/data/2.5/weather?appid=SECRET&lat=51.509865&lon=-0.118092.
Maybe creating different constant paths and assigning it to the methods may solve this issue.

This problem occurs due to new OneCall 3.0 api. For now the package will not work with newly created keys. I will get on fixing it as soon as I can.
Thanks for reporting the issue.

The latest update should resolve the issue. The update also adds new getForecast method which allows to use https://api.openweathermap.org/data/2.5/forecast endpoint.
If the problem persists after updating the package please reopen the issue.


Round layout dimensions

From an autogenerated layout:
<layout:dimensions layout:width="356.243838540457" layout:height="498.539721217344"/>

Those numbers should be rounded up; there's no need for that many significant digits.

Fixed with PR #31


The conda built binaries may need to be GPL licensed, instead of the license of SHTOOLS

SHTOOLS links to FFTW which is GPL licensed, yet the SHTOOLS source code is licensed BSD 3-Clause. The SHTOOLS author has this to say:
https://github.com/SHTOOLS/SHTOOLS/issues/227
I'm not quite sure what this conda binary should be licensed as. Maybe it needs to be changed.
@conda-forge/help-python-c Does anyone know what is the appropriate thing to do in this case?

cc @conda-forge/core

I'm not a lawyer but I believe the conda package should be GPL in that case.

Ok, I'll update this feedstock to be released under the same GPL version as FFTW but I'll include the licenses for FFTW and SHTOOLs also.
Note that it looks like there are other packages that link to FFTW that will need this change too.
https://github.com/search?l=YAML&q=org%3Aconda-forge+FFTW&type=Code

According to the arguments here: https://github.com/conda-forge/openmm-feedstock/issues/24 the package only has to be licensed under at GPL compatible license. I'm still not sure I understand it completely, but erring on the side of caution would lean to keeping the GPL on this binary distribution of pyshtools.


[Feature request] List of avalible WiFi, BT

Feature Request:
Get a list of WiFi AP's available. (including MAC, NAME, SSID, BSSID, strength etc. what is available)
Get a list of BT devices available. (including MAC, NAME, Id's etc. what is available)
To be used for location, eg. are you Home/Office etc. What room you in and more.

I need to determine if a user is using his home wifi connection so the ssid of the current wifi connection would be very welcome.

I also would like to get the IP Adress of the currently connected WiFi.


DP-697 Prerequisites for synchronizer which can edit list items directly with hybrid editor

New transformer: two-way between ObservableList<T> and ObservableList<Property<T>>. This is needed to give list items to hybrid synchronizer which needs Property<T>.
Changes in MappingContext: getting mappers by some predicate against a mapper. This allows using Property<T> as mapper source, and selecting mapper by property value.

I will not accept changes to the Mapper framework. Change is unnecessary and bloats the code. If you want filter collection, filter it, but this code should be in collections utils not in the mappers framework.
Changes to the transformers seems to be ok for me.

(about MappingContext) Unfortunately getMappers() returning a whole Set is package-private. I can create a helper class like ByTargetIndex in the same package. Will you accept that?

We shouldn't return all mappers with some target. This is by design. We need to allow querying only 'related' mappers, i.e. children, parents, etc. I can't accept such a change.


rust: Add some convenience methods/impls to http types

And update rust outbound http examples to use "simple" types.

Add Request::{get,post} associated functions which cover the most common request types.
impl TryIntoOutgoingRequest for RequestBuilder to skip a boilerplate .build()
Add Response::into_builder to ease returning an updated response.
impl Debug for Response to fix examples

Draft until #1975 merges.


The control exception namespace (and everything under it) is not documented

I found an exception CX::Warn but that doesn't show up in the Types documentation.
This comes from my Stackoverflow question Where should I catch a Perl 6 warning control exception?.

This is actually specced. E.g. see https://github.com/perl6/roast/search?utf8=✓&q=CX%3A%3AWarn&type=

See #517

The pages have been added, now we have to add the backlinks.


compiling with mingw

Thank you for your contribution! Your changes were merged with only a minor correction.


[Develop] Rename constructor Proof_level.{None -> No_check}

Port #16162 to develop

!ci-build-me

!ci-build-me

closing in favor of https://github.com/MinaProtocol/mina/pull/16182


Cmd+Click does nothing

VSCode Version:1.13.0
OS Version:OSX 10.11.6

Steps to Reproduce:

Press CMD+Click, I expect multi cursors to type on multiple lines according to the documentation
Nothing happens

For me is same with Ubuntu 16.04. By default this feature was bound to the alt key, still doing anything pressing ALT+CLICK on multiple lines selection.

I was trying to do this on blank lines. If you have 3 lines and press cmd+ click on the 3 lines it will put a cursor there


[ANCHOR-515] SEP-6: Remove KYC verification

Anchor Platform accepts KYC asynchronously so it does not do any KYC verification before a transaction is created. This PR removes the associated tests.

Preview is available here:http://stellar-anchor-tests-pr131.previews.kube001.services.stellar-ops.com/


Disable check for updates

How do I disable xbar checking for updates?
I've installed via brew, and I update it via brew. I don't want xbar to check for updates, and I really don't want it interrupting me every day to tell me an update is available. Is there a way to turn the whole update-checking-and-automatic-updating subsystem off completely? (I've looked and failed to find any way of doing this.)

There's the "update automatically" button in the plugin preferences submenu (xbar dropdown), should be able to toggle it on and off from there.

I think you're missing the issue.
I don't want to update automatically. I want - as the title says - to disable the check for updates.
I already have a process for installing updates. I use brew. I choose when to run brew and update software. I don't want software to automatically install without me deliberately choosing to do so, and I don't want software nagging me every day if I haven't chosen to do so.


Attempted install leads to "Error: ENOENT: no such file or directory, open"

I've just installed several other packages in an attempt to use Atom as a blogging tool. They installed fine. Zen keeps on hitting this error.
From the console:
Installing package Zen failed Error: Installing<EMAIL_ADDRESS>failed.
    at /usr/lib/atom/node_modules/settings-view/lib/package-manager.js:533:21
    at exit (/usr/lib/atom/node_modules/settings-view/lib/package-manager.js:114:16)
    at triggerExitCallback (/usr/lib/atom/src/buffered-process.js:322:11)
    at /usr/lib/atom/src/buffered-process.js:343:11
    at Socket.<anonymous> (/usr/lib/atom/src/buffered-process.js:204:9)
    at emitOne (events.js:101:20)
    at Socket.emit (events.js:188:7)
    at Pipe._handle.close [as _onclose] (net.js:501:12) (node:13181) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.

 fs.js:663
  return binding.open(pathModule.toNamespacedPath(path),
                 ^

Error: ENOENT: no such file or directory, open '/home/REDACTED/.atom/packages/Zen/package.json'
    at Object.fs.openSync (fs.js:663:18)
    at Proxy.fs.readFileSync (fs.js:568:33)
    at Proxy.fs.readFileSync (/usr/lib/node_modules/atom-package-manager/node_modules/asar-require/lib/require.js:86:27)
    at /usr/lib/node_modules/atom-package-manager/lib/install.js:476:42
    at fn (/usr/lib/node_modules/atom-package-manager/node_modules/async/lib/async.js:582:34)
    at Immediate.<anonymous> (/usr/lib/node_modules/atom-package-manager/node_modules/async/lib/async.js:498:34)
    at runCallback (timers.js:800:20)
    at tryOnImmediate (timers.js:762:5)
    at processImmediate [as _immediateCallback] (timers.js:733:5)

(anonymous) @ /usr/lib/atom/node_modules/settings-view/lib/package-card.js:818

I'm using Arch Linux. I've tried reinstalling both Atom and APM via Pacman package manager. Deleting .atom/storage/application.json. All to no avail. :cry:

Same thing under mac os


fakepath instead of file in react-hook-form file input

I have tried to use file type in the Input component with react-hook-form implementation, simple text inputs work well. But the input component with file type returns fakepath instead of the file itself. So we cannot send files to the server
File input value during submission: 'C:\fakepath\405A4201.JPG'
Zod scheme:
const profileFormSchema = z.object({
  name: z
    .string()
    .min(3, {
      message: "Name must be at least 2 characters.",
    })
    .max(30, {
      message: "Name must not be longer than 30 characters.",
    }),
  avatar: z.any(),
});

Nothing much here
File FormField:
<FormField
  control={form.control}
  name="avatar"
  render={({ field }) => (
    <FormItem>
      <FormLabel>Profile photo</FormLabel>
      <FormControl>
        <Input placeholder="Profile photo" type="file" {...field} accept="image/*" />
      </FormControl>
      <FormDescription>This is your public display name.</FormDescription>
      <FormMessage />
    </FormItem>
  )}
/>

In submit function I get fakepath instead of file itself:
  async function onSubmit(data: UserUpdateFormType) {
    console.log(data);
    //   log value: { name: 'Madat Bayramov', avatar: 'C:\fakepath\405A4201.JPG' }
}

Duplicate react-hook-form/react-hook-form#5394

Will take a look

Thank you, this helped a lot. I think we need to add this to docs or examples as this is special case


Add s3 flags to bucket cmds

I wanted to use these to verify buckets to see why
my compaction was potentially failing, so I added
the s3 bits. Had to refactor a little bit but it
seemed fine.

hmm weird.. Can you rebase? Seems like you might not have fsnotify fix (https://github.com/improbable-eng/thanos/commit/2b5d828f1b7c6d7cad39bf123489f4168cc7afa1).

Updated this to make the s3 command line flags stuff a bit better (I think). The quickstart.sh script worked for me. Looks like the CI failure is unrelated.

Master fixed, I think you need to rebase for proper build run. (sorry)

Actually, I can see e2e were fine. Will merge - risk on me (:


Error Message: "Optimal parameters not found"

This error message appeared when analysing images taken with the 63x objective on the W1_Levi-M on 03/10/2022.
.

Thank you for reporting.
Looks like no fit was found for the bead. Could you attach the file in question as .zip? Then I can try to reproduce the issue.

Heree is the link to the folder:
\imagestore\faim\Maintenance_All_microscopes\Maintenance_W1_Levi\Maintenance_weekly\PSF\20221003

Hello, thank you for the nice plugin! I can confirm I am also finding this issue.

RuntimeError: Optimal parameters not found: Number of calls to function has reached maxfev = 1600.

When I select a few points by hand, I don't receive this error but then it occurs when I try to add more and more points, suggesting it is a few beads that are the issue.
Maybe a useful feature would be for the plugin to skip-over beads it cannot fit and continue with the next one?
Happy to also upload my example images somewhere if that would be helpful. One is an AiryScan processed one so I am surprised to see it cannot fit as the SNR is quite good.

Hi CLaire,
Thanks for the feed-back.
Until this is solved, you can use a smaller PSF box size, like 4000 instead of 6000. It worked for me well.
Cheers,
Laurent.

Hi Laurent
Thank you for the suggestion, unfortunately even when I change the box size I still see this error.
I also tested choosing only the beads which were furthest away from each other in case overlap of the bounding box with other beads was an issue but still receive the same error. Also, I have seen with other datasets that the fitting is quite robust to the prescence of other beads on the periphery.
Thanks
Claire

Hi Claire,
Sorry that you experience these problems. At the same time, it is very helpful for us to have your feedback before we distribute the macro to other potentially interested people.
Would it be possible for you to upload a file where you get this error? We could use it on our side to test new implementations of the fit.
Thanks a lot for your collaboration,
Cheers,
L.

Hi Laurent
No problem at all, happy to help! Sorry for finding problems with it!
I have sent over an example file which is causing a problem, hopefully you can access it. The beads are quite dense but I am selecting the less dense ones. (On that note, I wrote a napari script to automatically segment beads, place points at the bead locations and then filter out the ones a certain distance from each other, I attach for your interest as it might be helpful if you are lazy like me!).
Best wishes
Claire

Hi
Sorry to add another comment to this but I was rerunning some image of beads that previously worked and now they don't seem to. I guess either it's something to do with the updated plugin (I'm afraid I don't know how to rollback ones installed using the napari plugin installer) or I guess something in my machine. Will be interested to see what you get with the data I sent over.
Best wishes
Claire

Hi Claire,
I am really sorry to hear you have now even more issue.
I am so grateful for your contribution to “automatic bead finding”. We will discuss how we can implement this in the plugin. Actually, this is exactly why we decided to move to python and Napari, to open this project and the coding to the community. So, again, thanks for this!
We will discuss all that internally on Monday and will let you know our plans.
In the meantime, I wish you a very nice weekend,
Cheers,
Laurent.
From: clairemitchell308 @.>
Sent: Friday, October 28, 2022 11:23 AM
To: fmi-faim/napari-psf-analysis @.>
Cc: Gelman, Laurent @.>; Author @.>
Subject: Re: [fmi-faim/napari-psf-analysis] Error Message: "Optimal parameters not found" (Issue #18)
Hi
Sorry to add another comment to this but I was rerunning some image of beads that previously worked and now they don't seem to. I guess either it's something to do with the updated plugin (I'm afraid I don't know how to rollback ones installed using the napari plugin installer) or I guess something in my machine. Will be interested to see what you get with the data I sent over.
Best wishes
Claire
—
Reply to this email directly, view it on GitHubhttps://github.com/fmi-faim/napari-psf-analysis/issues/18#issuecomment-1294752843, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACNGI4ER4ZJXOC6IX3NNNY3WFOLNPANCNFSM6AAAAAARNVDFGI.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

Hello everyone,
This issue should be solved with the new version 0.2.3. You can install it by running pip install napari-psf-analysis --upgrade.
Happy analyzing!

Hi @tibuch
I'm afraid to say this fix changed the error a little bit but hasn't eliminated it completely.
Now instead I see:

RuntimeError: Optimal parameters not found: The maximum number of function evaluations is exceeded.

I drag and drop the zip file below, hopefully it works okay for you
63x_AS_90degScannerRotation_Airyscan Processing.zip
Many thanks, Claire

Hi @clairemitchell308,
Thank you for the file.
I just picked one bead at random for which it worked. I assume that there are some beads which don't work. Would it be fine if these are just skipped?

Hi @tibuch
Yes this would be okay for me. As long as it works for your development of the plugin. I guess maybe a comment to say it was skipped would be helpful?
Many thanks

@clairemitchell308 I am now catching the error when no fit is found and report it in the UI. I tested it with your example image and it works for me.
The new version (v0.2.4) should soon be available on pypi. Please let me know if you run into any other issues.
Thanks!


python3 support and cleanup

hi, just made some changes to the project to make it support python 2 and 3 at the same time.

Apparently this is yet another abandoned project.

looks like :)


[Bug]: Server is not reachable, Error<EMAIL_ADDRESS>Permission denied (publickey,password)

Description
I'm installing Coolify on a home PC using the auto-install script curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
, but I'm running into a lot of issues when trying to connect a server (localhost). I've tried double checking the SSH-keys, but nothing seems wrong there (I don't know alot about SSH-connection/keys though).

A few minor oddities that I thought is worth mentioning is:

When I later try to uninstall Coolify, and stop the running containers, I get an error about a service that is not running called "coolify-proxy"
Error response from daemon: No such container: coolify-proxy
When running the install script I have to add "sudo" like so curl -fsSL https://cdn.coollabs.io/coolify/install.sh | **sudo** bash
(It just appeared to me that the IP given there was my global IP, and I don't have ports open right now, so I guess this is not important) When the installation completes with the message below, I get a timeout in my browser when using the given IP. I am, however, able to connect to the coolify instance using the IP of the PC on my network, in this case http://<IP_ADDRESS>:8000/

Congratulations! Your Coolify instance is ready to use.

Please visit http://<ip>:8000 to get started.

My Docker version is "27.2.0, build 3ab4256"
Update
I get exactly the same results on my second home PC running Ubuntu 24.04.1 LTS, as described above.
Minimal Reproduction
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash, then go to ip-of-pc-on-local-network:8000, and try to connect to the server on localhost.
Exception or Error
<EMAIL_ADDRESS>Permission denied (publickey,password).```

Later:
`Error response from daemon: No such container: coolify-proxy`

### Version

v4.0.0-beta.323

### Cloud?

- [ ] Yes
- [X] No

BTW. The SSH-server on the PC seems to be running fine, as I regularly connect to the PC from another home PC.

Do you have a Password set on the SSH key?

Hi @peaklabs-dev, thanks for your response!

And is your home PC Linux based?

Yes, the PC is running CuteFishOS. cat /etc/os-release gives me PRETTY_NAME="Ubuntu 22.04.3 LTS"

And do you allow port 22 in ufw or simmilar?

I don't know a lot about SSH or networking, but I guess it's all setup fine, as I'm able to establish a regular SSH connection from my main home PC, to the one in question. If theres anyway you can suggest for me to check it, I'd be happy to.

Some points:

Technically the OS you are using is not supported. It seems to work though because it is like Ubuntu.
When running the install script I have to add "sudo" like so curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash --> As you are adding sudo you are probably not using root so you need to change the username in the UI. So please change the username in the UI and try again

Technically the OS you are using is not supported. It seems to work though because it is like Ubuntu.

OK, gotcha 👍. I did try it out on my other home PC though, which is running a "stock" Ubuntu 24.04.1 LTS just installed today, with exactly the same issues.

As you are adding sudo you are probably not using root so you need to change the username in the UI. So please change the username in the UI and try again

If I understand you correctly, I ran whoami on the Coolify PC, and got "rj", then added that as the user in the Coolify UI, but I got kind of same issue unfortunately :/.

run this command to check if you have a firewall enabled

sudo ufw status gives me "Status: inactive", how does that look?

Thank you for checking.
The ufw is inactive so disabled (wiche is good for now).
As you are using rj, and not root as the user you should follow the docs here: https://coolify.io/docs/knowledge-base/server/non-root-user. Add your user to the sudoers file. This is not the most secure way, but it will be improved in the future. Let me know if that resolves your issue.

@peaklabs-dev that worked, thanks a lot 🥳!
I'd prefer not using the "rj" user and do it by the book, so I might look into how to do that some day.
I just want to add that I had some issues while bringing up the server (that I guess is related to the user too?). I solved it temporarily by modifying ownership of "/data/coolify" with sudo chmod -R 777 /data/coolify just to get going.

Thanks a lot for your help, please feel free to claim the reward ⭐.

@rujorgensen Great to hear that I could help.
Feel free to upvote the feature request here: https://github.com/coollabsio/coolify/discussions/1759
Yes, at the moment just using root would be your best bet.
As this issue did not include a PR with algroa, the reward/bounty system does not allow claiming. If you want feel free to sponser me on my Github: https://github.com/sponsors/peaklabs-dev and remove the bounty from the issue.

Maybe it will be useful to someone: I received such an error, because on my Armbian system, by default, the "PubkeyAuthentication" parameter was disabled in "/etc/ssh/sshd_config". I think it's worth adding this check to the documentation.
But otherwise, coolify works great on Armbian. Thx!


Action using deprecated CLIEngine

As of ESLint 7.0, CLIEngine is deprecated in favour of ESLint

Is the command not working for you?  ESLint did not implement the necessary features and when i asked the eslint team they told me to use CLIEngine.

For the most part, yes.
It's not generating annotations nor any reports of ignored files.

@bradennapier Deleted my other comment, just figured out I needed "@typescript-eslint/parser"


Release Google.Cloud.Compute.V1 version 1.0.0-beta01

Changes in this release:
Main changes from 1.0.0-alpha02:

Automatic pagination is now implemented for all "list" methods. This is a breaking
change, as the return type has changed. Any code which was
previously looping over responses manually and handling page
tokens can be simplified at this point. See https://cloud.google.com/dotnet/docs/reference/help/page-streaming
for more details.
Failed RPCs will now contain details of the failure, rather than
just a status code. Currently this is just the textual
representation of the original RPC response; in the future this
text may be parsed automatically.

Created release for Google.Cloud.Compute.V1-1.0.0-beta01


KAFKA-14875: Implement wakeup

Continuation of https://github.com/apache/kafka/pull/13490.  I closed the original one due to rebase difficulties.
Summary
Implemented wakeup() mechanism using a WakeupTrigger class to store the pending wakeup item, and when wakeup() is invoked, it checks whether there's an active task or a wakeup task.

If there's an active task: the task will be completed exceptionally and the atomic reference will be freed up.
If there an wakedup task, which means wakeup() was invoked before a blocking call was issued.  Therefore, the current task will be completed exceptionally immediately.

This PR also addressed minor issues such as:

Throwing WakeupException at the right place: As wakeups are thrown by completing an active future exceptionally.  The WakeupException is wrapped inside of the ExecutionException.
mockConstruction is a thread-lock mock; therefore, we need to free up the reference before completing the test. Otherwise, other tests will continue using the thread-lock mock.

@philipnee Looks like PrototypeAsyncConsumerTest.testCommitted() is failing pretty consistently with this error:
org.opentest4j.AssertionFailedError: Unexpected exception thrown: org.apache.kafka.common.errors.TimeoutException: java.util.concurrent.TimeoutException
	at app//org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:152)
	at app//org.junit.jupiter.api.AssertDoesNotThrow.createAssertionFailedError(AssertDoesNotThrow.java:84)
	at app//org.junit.jupiter.api.AssertDoesNotThrow.assertDoesNotThrow(AssertDoesNotThrow.java:75)
	at app//org.junit.jupiter.api.AssertDoesNotThrow.assertDoesNotThrow(AssertDoesNotThrow.java:58)
	at app//org.junit.jupiter.api.Assertions.assertDoesNotThrow(Assertions.java:3196)
	at app//org.apache.kafka.clients.consumer.internals.PrototypeAsyncConsumerTest.testCommitted(PrototypeAsyncConsumerTest.java:163)

There are also some streams tests failing that I've not seen before:
o.a.k.streams.examples.wordcount.WordCountDemoTest.testCountListOfWords()
o.a.k.streams.examples.wordcount.WordCountDemoTest.testGetStreamsConfig()
o.a.k.streams.examples.wordcount.WordCountDemoTest.testOneWord()

I wouldn't think they're related, but let's see if they go away once the main timeout exception issue is resolved.

I've been seeing stream test failures in the recent commits too!
This PR needs to be rebased against this PR: https://github.com/apache/kafka/pull/14123 to resolve some of the failing committed test.. sorry about that @kirktrue

Here are the failing tests:
Build / JDK 11 and Scala 2.13 / testSimultaneousUpwardAndDownwardDelegating – org.apache.kafka.connect.runtime.isolation.SynchronizationTest
13s
Build / JDK 8 and Scala 2.12 / testBumpTransactionalEpoch(String).quorum=kraft – kafka.api.TransactionsTest
1m 18s
Build / JDK 8 and Scala 2.12 / testBalancePartitionLeaders() – org.apache.kafka.controller.QuorumControllerTest
13s
Build / JDK 20 and Scala 2.13 / testAlterSinkConnectorOffsetsZombieSinkTasks – org.apache.kafka.connect.integration.OffsetsApiIntegrationTest
55s
Build / JDK 20 and Scala 2.13 / shouldThrottleOldSegments() – kafka.server.ReplicationQuotasTest
9s
Build / JDK 20 and Scala 2.13 / testNoOpActionResponseWithThrottledChannelWhereThrottlingAlreadyDone() – kafka.network.SocketServerTest
<1s
Build / JDK 20 and Scala 2.13 / testBalancePartitionLeaders() – org.apache.kafka.controller.QuorumControllerTest
12s

@junrao - This should be ready for review.  There's one failing build but it succeed in a separated build, so I believe it is flaky. Here are the list of flaky tests
Build / JDK 11 and Scala 2.13 / testAlterSinkConnectorOffsetsZombieSinkTasks – org.apache.kafka.connect.integration.OffsetsApiIntegrationTest
28s
Build / JDK 11 and Scala 2.13 / testAuthentications(String).quorum=kraft – kafka.api.GroupEndToEndAuthorizationTest
3s
Build / JDK 11 and Scala 2.13 / testNonDefaultConnectionCountLimitAndRateLimit() – kafka.network.ConnectionQuotasTest
10s
Build / JDK 11 and Scala 2.13 / testThreadPoolResize() – kafka.server.DynamicBrokerReconfigurationTest
25s
Build / JDK 11 and Scala 2.13 / [1] Type=ZK, Name=testDualWriteScram, MetadataVersion=3.5-IV2, Security=PLAINTEXT – kafka.zk.ZkMigrationIntegrationTest
32s
Build / JDK 17 and Scala 2.13 / testThreadPoolResize() – kafka.server.DynamicBrokerReconfigurationTest
29s
Build / JDK 17 and Scala 2.13 / testBalancePartitionLeaders() – org.apache.kafka.controller.QuorumControllerTest
13s
Build / JDK 20 and Scala 2.13 / testThreadPoolResize() – kafka.server.DynamicBrokerReconfigurationTest
33s
Build / JDK 20 and Scala 2.13 / [1] Type=ZK, Name=testDualWriteQuotaAndScram, MetadataVersion=3.5-IV2, Security=PLAINTEXT – kafka.zk.ZkMigrationIntegrationTest
38s
Fixed 192

hey @junrao - I'm not sure! It does happen from time to time, thanks for rerunning the test.

Hi @junrao - Just to summarized some of the failing tests:
21 tests have failed
There are 19 new tests failing, 2 existing failing and 148 skipped.

New failing - 19
Build / JDK 17 and Scala 2.13 / testReplication() – org.apache.kafka.connect.mirror.integration.MirrorConnectorsIntegrationBaseTest
2m 2s
Build / JDK 17 and Scala 2.13 / testThreadPoolResize() – kafka.server.DynamicBrokerReconfigurationTest
32s
Build / JDK 17 and Scala 2.13 / testBalancePartitionLeaders() – org.apache.kafka.controller.QuorumControllerTest
13s
Build / JDK 17 and Scala 2.13 / initializationError – org.apache.kafka.tiered.storage.integration.OffloadAndConsumeFromLeaderTest
<1s
Build / JDK 17 and Scala 2.13 / testTaskRequestWithOldStartMsGetsUpdated() – org.apache.kafka.trogdor.coordinator.CoordinatorTest
2m 0s
Build / JDK 20 and Scala 2.13 / testFailureToFenceEpoch(String).quorum=kraft – kafka.api.TransactionsTest
58s
Build / JDK 20 and Scala 2.13 / testProducerConsumerOverrideLowerQuota(String).quorum=kraft – kafka.api.UserClientIdQuotaTest
9s
Build / JDK 20 and Scala 2.13 / testNonDefaultConnectionCountLimitAndRateLimit() – kafka.network.ConnectionQuotasTest
10s
Build / JDK 20 and Scala 2.13 / testThreadPoolResize() – kafka.server.DynamicBrokerReconfigurationTest
43s
Build / JDK 20 and Scala 2.13 / testBalancePartitionLeaders() – org.apache.kafka.controller.QuorumControllerTest
12s
Build / JDK 20 and Scala 2.13 / initializationError – org.apache.kafka.tiered.storage.integration.OffloadAndConsumeFromLeaderTest
<1s
Build / JDK 11 and Scala 2.13 / testThreadPoolResize() – kafka.server.DynamicBrokerReconfigurationTest
37s
Build / JDK 11 and Scala 2.13 / testBalancePartitionLeaders() – org.apache.kafka.controller.QuorumControllerTest
12s
Build / JDK 11 and Scala 2.13 / initializationError – org.apache.kafka.tiered.storage.integration.OffloadAndConsumeFromLeaderTest
<1s
Build / JDK 8 and Scala 2.12 / testReplicateSourceDefault() – org.apache.kafka.connect.mirror.integration.MirrorConnectorsIntegrationExactlyOnceTest
3m 30s
Build / JDK 8 and Scala 2.12 / testRackAwareRangeAssignor() – integration.kafka.server.FetchFromFollowerIntegrationTest
39s
Build / JDK 8 and Scala 2.12 / testThreadPoolResize() – kafka.server.DynamicBrokerReconfigurationTest
35s
Build / JDK 8 and Scala 2.12 / testBalancePartitionLeaders() – org.apache.kafka.controller.QuorumControllerTest
14s
Build / JDK 8 and Scala 2.12 / initializationError – org.apache.kafka.tiered.storage.integration.OffloadAndConsumeFromLeaderTest
<1s
Existing failures - 2
Build / JDK 17 and Scala 2.13 / testDescribeClusterRequestExcludingClusterAuthorizedOperations(String).quorum=kraft – kafka.server.DescribeClusterRequestTest
2s
Build / JDK 17 and Scala 2.13 / testDescribeClusterRequestIncludingClusterAuthorizedOperations(String).quorum=kraft – kafka.server.DescribeClusterRequestTest
2s

Comparing the failing tests against the one before (the difference is really the comment).  The two "existing failing" tests, testDescribeClusterRequestExcludingClusterAuthorizedOperations didn't really appear in the previous run.
There are a few tests that have been consistently failing across the two builds, but they I believe are unrelated. These are:

testThreadPoolResize
testRackAwareRangeAssignor (server side test)


Walk back use of angular-material

I'm looking at the angular-material pages that are enabled (help, account settings), and the result is highly inconsistent with the rest of the site. There may be widgets that would be useful to include from angular-material, but I think we need to walk back from wholesale adoption of it.

It is now completely removed from eureka-webapp.


Pegasus-based OSG submitter

Still in debugging after a major refactoring. Features:

Highly modularized
Auto resubmission when failures happen, with maximum trials configurable.
Fully pegasus based, so when running failed you can just do pegasus-run the same workflow.
Same submission logic, while you will be using --htcondor and a bit more fields to specify in running configuration.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.979%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1548

Relevant Lines:
1683

💛  - Coveralls

Realized that I pushed the wrong branch, which is a draft one weeks ago. See next PR for the right one.


raspberry pi 4 piscope Unable to start

I installed it according to http://abyz.me.uk/rpi/pigpio/piscope.html
Then tried
Pi (pre-built image)
wget abyz.me.uk/rpi/pigpio/piscope.tar
tar xvf piscope.tar
cd PISCOPE
make hf
make install

Linux 64 bit X86/AMD (pre-built image)
wget abyz.me.uk/rpi/pigpio/piscope.tar
tar xvf piscope.tar
cd PISCOPE
make x86_64
make install

can't succeed
my rpi4 system is Ubuntu MATE 20.04
Pi error is
$ piscope
zsh: command not found: piscope

$ sudo piscope
sudo: unable to execute /usr/local/bin/piscope: No such file or directory

x86_64 error is
$ piscope
zsh: exec format error: piscope

$ sudo piscope
@: No such filepiscope: 1: cannot open @8
/usr/local/bin/piscope: 1: ELF: not found
/usr/local/bin/piscope: 2: Syntax error: word unexpected (expecting ")")

What is the result (terminal output) of each of these commands?

wget abyz.me.uk/rpi/pigpio/piscope.tar
tar xvf piscope.tar
cd PISCOPE
make x86_64
make install

wget abyz.me.uk/rpi/pigpio/piscope.tar

--2021-04-09 10:40:48--  http://abyz.me.uk/rpi/pigpio/piscope.tar
Resolving abyz.me.uk (abyz.me.uk)... <IP_ADDRESS>
Connecting to abyz.me.uk (abyz.me.uk)|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 419840 (410K) [application/x-tar]
Saving to: ‘piscope.tar’
piscope.tar                100%[=====================================>] 410.00K   397KB/s    in 1.0s
2021-04-09 10:40:50 (397 KB/s) - ‘piscope.tar’ saved [419840/419840]

tar xvf piscope.tar

PISCOPE/
PISCOPE/README
PISCOPE/piscope.x86_64
PISCOPE/LICENSE
PISCOPE/piscope.glade
PISCOPE/README.md
PISCOPE/piscope.h
PISCOPE/piscope.hf
PISCOPE/Makefile
PISCOPE/piscope.c

cd PISCOPE

not output

make x86_64

cp piscope.x86_64 piscope

make install

sudo install -m 0755 -d            /usr/local/bin
sudo install -m 0755 -d            /usr/share/piscope
sudo install -m 0755 piscope       /usr/local/bin
sudo install -m 0644 piscope.glade /usr/share/piscope

Perhaps /usr/local/bin is not in your path?
Try /usr/local/bin/piscope

$ /usr/local/bin/piscope
zsh: exec format error: /usr/local/bin/piscope
$ sudo /usr/local/bin/piscope
@: No such filepiscope: 1: cannot open @8
/usr/local/bin/piscope: 1: ELF: not found
/usr/local/bin/piscope: 2: Syntax error: word unexpected (expecting ")")
Seems to be the same

I can't help any further.  I use it on a Ubuntu 20.4 system without issue.  I'm surprised Mate seems to make a difference but am not going to install Mate to find out what is going wrong.

It's ok thanks for your help

Hi, I have almost the same issue on a raspberry pi 4 with latest bullseye 64bit.
Installation goes exactly as described above.
When I try piscope & I get…
[1] 13412
pi@raspberrypi:~ $ bash: /usr/local/bin/piscope: No such file or directory

The number increases with each try.
When I try /usr/local/bin/piscope the response is…
bash: /usr/local/bin/piscope: No such file or directory
Any ideas?
Best wishes.

Seems like a nice tool--wish it worked.  Same issue.

I'm having the same problem on my RPi4 on the bookworm OS release.
I ran the steps to install for a PI:
wget abyz.me.uk/rpi/pigpio/piscope.tar tar xvf piscope.tar cd PISCOPE make hf make install


Fix: Zenity confirmation silent failure

Problem that was occurring:

Linux OS
Zenity present and detected properly
Zenity version command executed successfully
Zenity version command output failure to parse as SemVer due to a trailing newline character from captured stdout
Because of failure to parse, Zenity (on my system, version 3.42.1, i.e. < 3.90.0)called with --icon arg, instead of --icon-image
Zenity "--question" command failure due to unknown "--icon" arg passed to it
Return code treated as a successful execution of a dialog with a "no" selection (maybe more robust error checking should be implemented in the future for similar situations)
Ok(false) is received by calling code, instead of an Err

Solution:

Trim whitespace off of the captured stdout from Zenity version check command
SemVer parsing succeeds
Zenity is called with correct arg
Dialog appears on screen as expected

Possible solution to #54 , but not certain (best to wait for issue creator to confirm/deny this fix helped).

Closing PR as duplicate of #50


Sign In With Apple: 500: Database error saving new user

Bug report
Describe the bug
I am following the guide here: https://supabase.com/docs/guides/auth/social-login/auth-apple?platform=swift
The code that my app is running:
            supabaseClient = SupabaseClient(supabaseURL: URL(string: "https://REMOVED.supabase.co")!, supabaseKey: supabaseAnonKey, options: SupabaseClientOptions(auth: .init(flowType: .implicit)))

SignInWithAppleButton { request in
                            request.requestedScopes = [.email, .fullName]
                        } onCompletion: { result in
                            Task {
                                do {
                                    guard let credential = try result.get().credential as? ASAuthorizationAppleIDCredential
                                    else {
                                        return
                                    }
                                    print("creds", credential)
                                    guard let idToken = credential.identityToken
                                        .flatMap({ String(data: $0, encoding: .utf8) })
                                    else {
                                        return
                                    }
                                    print("idToken", idToken)

                                    try await authService.supabaseClient.auth.signInWithIdToken(
                                        credentials: .init(
                                            provider: .apple,
                                            idToken: idToken
                                        )
                                    )
                                } catch {
                                    print("sign in error \(error.localizedDescription)")
                                    dump(error)
                                }
                            }
                        }

While testing this I realised I made a mistake and initially had a user with the same email address I was using. I used the following SQL to update the auth table to keep testing Sign In with Apple:
update auth.users
set email = 'fake@fake'
where id = 'valid-uid';

I confirmed the email address of the user in my auth table has changed, but I still get the internal server 500 error above.
Note that the sign in with apple modal requests facial ID and then transitions to a tick - showing that everything is working?
Note I am using flowtype .implicit - not sure if this is supported for sign in with Apple?
My code gives the following error:
sign in error Internal Server Error
▿ Auth.AuthError.api
  ▿ api: Auth.AuthError.APIError
    - msg: nil
    - code: nil
    ▿ error: Optional("server_error")
      - some: "server_error"
    ▿ errorDescription: Optional("Internal Server Error")
      - some: "Internal Server Error"
    - weakPassword: nil

Expected behavior
Should be able to sign in / create a new user with Apple OR if there is some error it would be helpful if it was more detailed please.
System information
iOS
supabase main c06aa18
Additional context
Let me know if you need any extra info

I forgot to mention, looking at the tests in the repos it seems the tests use: OpenIDConnectCredentials
Do I need to use this as well?

Oh dear... something very strange is going on.
Here is what I have done now - I hope to get some feedback on what is going on with this.

Follow the instructions in here to remove the Sign In with Apple from the Apple account for my app: https://forums.developer.apple.com/forums/thread/121496 (Then go to "sign in and security" > "sign in with apple". A popup appears showing apps and website where apple sign-in is used. Clic on the app of your choice and then on "stop using sign in with apple)
Check supabase auth table still shows fake@fake for my user account. NOTE: I used my apple ID email to make the user account in the first place.
Try to sign in again (this time, not using the private relay, so it would see my real email address, the one I originally made my account with).
it signs me into the EXISTING fake@fake account, using the real email address even though the email address in the auth table is fake@fake > I assumed it should make a NEW account with my REAL email address?

To make things more confusing.

Sign out of my account in the app
try to sign in using my real email address (not in the auth table it is still fake@fake).
I get invalid credentials > this makes sense
try to sign in now with fake@fake as the email address > this works and I get signed into the user account

Is this what should happen?

I just realised what is happening here and it is 100% my own issue.
I have a trigger set up on auth.users to accept some meta data (username, etc), and this is missing but trying to be called when I signInWithIdToken.
I will leave this open just for someone from the supabase team to see this, in particular because of the behaviour around sign in with apple signing me into an existing account even with the email address was changed in the auth table.

Hi @marcusraty,
I'll take a deeper look at this, but I don't think changing the email on auth.users table would be enough for what you were trying to accomplish.
Happy to know that you were able to make it work.
But I'l check if there's anything on our side.
Thanks!

Thanks appreciate that @grdsdev - is there anywhere that goes into detail around the way supabase auth is structured so I don't make a mistake assuming I can do something like this again? Thanks


Improve RAM handling of the batch to eopatch pipeline

The pipeline loads all the features and then saves them with a single task. This can blow up the memory and forces the user to work with underutilized CPU.
The changes here follow some recent logic discussed with @zigaLuksic, where each feature is separately loaded, saved and then removed. Loading multiple tiffs into a single feature is still supported, but here all provided features are loaded into memory before saving.
Below is the after/before RAM usage for a single 10km x 10km EOPatch at 10 m res.

Left is this MR, right is old behavior.

Just to give further content, I ran this updated pipeline 4 times using all cores, it achieved 100% CPU utilization, RAM was stable all the while it was running. All runs successful.


Add end to end testing

Requested feature: Development time is impacted by having to manually test the extension under multiple contexts and running the proofs. While automating the entire process and running the proofs is not possible, certain parts of the current test suite can be improved and added to the regression/CI as well.

I think 1-2 end-to-end tests should cover a lot of code given how connected modules are to each other.

One potential fix is to use something like selenium-electron to simulate user actions entirely.


Remove k8s namespace definition

It's moved to a different repo

made it to be part of https://github.com/signalfx/microservices-demo/pull/4


$HOME not being expanded properly in install script

Hey,
It looks like a bug was introduced in #1381.
This can be replicated using:
INSTALL_DIR=$(printf %s "${NVM_DIR:-"$HOME/.nvm"}" | sed "s:^$HOME:\$HOME:")
echo $INSTALL_DIR
mkdir -p ${INSTALL_DIR}

this will create a directory literally named $HOME/.nvm. It does not expand $HOME.
It looks like this is happening due to the change at https://github.com/DesignByOnyx/nvm/blob/1b2305232f878db80ded5450a5accc881d4e8752/install.sh#L10

Thanks, I'll take a look.
Since that change has not been released yet, this is not urgent. Please only use nvm from a tagged release, not off the master.

Yeah, I understand. We ran into this because the Jenkins NVM wrapper plugin (https://github.com/jenkinsci/nvm-wrapper-plugin) pulls the install script from master. Ill see if I can get a patch into the project for pulling from a tag.

Filed https://github.com/jenkinsci/nvm-wrapper-plugin/pull/3 to fix that they're depending on an unstable branch.


Discuss: Do we expect to have multiple valid maybe_map values?

Do we expect to have valid maybe_map values multiple times in this loop? If not, we can break here, since this code makes sure only one value of maybe_map gets written to proxies_to_names_map.
Originally posted by @niharikasingh in https://github.com/plocket/docassemble-cucumber/pull/203#discussion_r608252705

Regarding breaking the loop: we need the loop to get the data for each node, not just for getting the proxies_to_names_map, so we can't break.
Regarding multiple valid values:
We won't have multiple valid values, but we may have multiple values and not be able to tell which of them is valid. I'm not yet sure. I'm also not sure how to set up a test for that situation. Some of my comments (I think in the map-getting function) discuss that question. I'll try to put some of those notes in here.
Honestly, I think we may end up setting up an array for this and making the rest of life so much more complicated. Well, just adding more possible var_name values for every field. I just wish I had the bandwidth to sit down and figure out a proper test case or two.

No longer guessing proxy vars. Instead, dev has to let us know.


Tiles in areas of "continuos" color are not rendered correctly

I've created a mapnik configuration using Tilemill, and in Tilemill (latest version) everything looks great. When I use the same mapnik configuration with (latest) node-mapnik and (latest) tilelive something happens during rendering which causes homogeneously colored areas to generate miscolered tiles. I've fiddled with the meta tiles settings but that does not seem to affect the problem. This is what it looks like:

Any clues as to why this happens?

What tilelive-backend are you usingand can you share your code? Are you using tilelive-mapnik for example? What is looks like is happening is that "solid color" tiles might be being cached, but returned from the cache incorrectly.

I've extracted the relevant parts and archived the whole thing (including the npm modules I use) here:
http://firefly.ibk.se/~racer/test_case.tgz
The file is pretty big because of the enclosed shapefile.
Perhaps looking at how I'm doing things is enough:
Server:
var fs = require('fs');
var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app);

var mapnik = require('mapnik');

if (mapnik.register_default_input_plugins) mapnik.register_default_input_plugins();
if (mapnik.register_default_fonts) mapnik.register_default_fonts();

var tilelive = require('tilelive');
require('tilelive-mapnik').registerProtocols(tilelive);

app.disable('etag');

fs.readFile('config.xml', function (err, xml) {
  tilelive.load({protocol: 'mapnik:', xml: xml.toString()}, function(err, source) {
    if (err) throw err;
    app.get('/:z/:x/:y.*', function(req, res) {
      source.getTile(req.param('z'), req.param('x'), req.param('y'), function(err, tile, headers) {
        if (!err) {
          res.set(headers)
          res.send(tile);
        } else {
          res.send('Tile rendering error: ' + err + '\n');
        }
      });
    });
  });
});

console.log('Listening on port: ' + 3001);
app.listen(3001);

config.xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Map[]>
<Map srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over" background-color="#6b7e60" >

<Parameters>
  <Parameter name="format">png24</Parameter>
  <Parameter name="minzoom">1</Parameter>
  <Parameter name="maxzoom">19</Parameter>
  <Parameter name="scale">1</Parameter>
  <Parameter name="metatile">2</Parameter>
</Parameters>

<Style name="oceans" filter-mode="first">
  <Rule>
    <PolygonSymbolizer fill="#aaddff" />
  </Rule>
</Style>
<Layer name="oceans"
  srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over">
    <StyleName>oceans</StyleName>
    <Datasource>
       <Parameter name="file"><![CDATA[water_polygons.shp]]></Parameter>
       <Parameter name="type"><![CDATA[shape]]></Parameter>
    </Datasource>
  </Layer>

</Map>

My initial thought was that the shapefil was corrupt in some way, or that the mis-rendered tiles was due to the fact that there was no polygon edges in those tiles (so that there was no hit against the shapefile), but again, everything looks fine in tilemill...

Can you try passing internal_cache:false to see if that fixes things? See this test for an example of how to do it: https://github.com/mapbox/tilelive-mapnik/commit/c1499105af5514f6255bdb479f8e6fa725e4a168#diff-4fa62c48cef2a5f2992ccabd6208a820R120
Also the app.get I think should be global. In other words you should ideally have the fs.readFile and tilelive.load calls happen synchronously when the script starts (using queue(1) via https://github.com/mbostock/queue would be an easy way to do this).

Thanks for the feedback - I'll look into the synchronous loading.
I tested with internal_cache:false which had no effect. Do you believe the asynchronous callbacks may be related to the issue?

Were you able to reproduce this issue?

I've not tried to reproduce. My time is limited so to make it easy to reproduce I recommend you create a standalone test that includes a package.json and a sample HTML pages to test the server.

I may also be running into this with a raster layer in 3.2.0 (it goes away when zooming out 1):

I'll try to put together a standalone repro tomorrow.

This seems to have appeared between 3.1.6 and 3.2.0.

@mojodna thanks for the details. does it go away if you change the type of png encoding. I wonder if https://github.com/mapnik/mapnik/pull/2671 could be related.

Having trouble overriding the PNG format.  <Parameter name="format">png8;m=o</Parameter> ??
However, it still shows up when outputting JPEGs:

(In different places.)

Figured it out: png8:m=o, though both octree and hextree encoders are producing the same problems.

Using png8:e=miniz doesn't help either.

okay. thanks for trying. would love a testcase if you can provide.

:+1: tomorrow :notes:

@mojodna - are you also using tilelive-mapnik in this case?
If so can you try with https://github.com/mapbox/tilelive-mapnik/commit/37a96814534910b4b7df48ce2fad119edd7defe4 and see if you can still replicate? Before this change unless autoLoadFonts was explicitly set to false you'd get fonts being registered every time a source was created. In TileMill this is per tile so a lot of thread contention was happening.
If that does not fix - an you are using tilelive-mapnik - then it might be worth reverting https://github.com/mapbox/tilelive-mapnik/commit/1b2ae3883d9cd40efcaca1236cf0b60a967e0a5b#diff-92989f54c4804505d7ebdacce2a1a9b9 to see if that resolves.
Until there is an easy way for me to replicate I'm going to hold on debugging anymore.

Will do.
I got side-tracked on related pieces so I haven't been able to put a repro package together yet.  Soon.

Yes, tilelive-mapnik.  No more segfaults after https://github.com/mapbox/tilelive-mapnik/commit/37a96814534910b4b7df48ce2fad119edd7defe4 (w/ mapnik-3.3.0), at least on my Mac.

Forcibly disabling tilelive-mapnik's solid cache resolves the issue.

...which points to Image.view.isSolid being the culprit.

Forcibly disabling tilelive-mapnik's solid cache resolves the issue.

Or maybe? https://github.com/mapbox/tilelive-mapnik/commit/a9cec13497f6ebdee96259c278765d6b742f351f#diff-92989f54c4804505d7ebdacce2a1a9b9

I don't think it's around module caching.  I was referring more to https://github.com/mapbox/tilelive-mapnik/blob/master/lib/render.js#L90

@mojodna ah, right sorry. So, okay I think @flippmoke may have changed something around isSolid, but I can't tell right off from the changelog /cc @flippmoke. If I recall correctly the goal was to make consistent the interface between image.isSolid and view.isSolid.

@springmeyer @mojodna We're also experiencing this on the latest version of node-mapnik. I'll try to do some digging too.

This might be a different issue (if so please excuse), but it seems to be happening for Mapbox too:

I think I managed to reproduce it with tests (still waiting on travis atm). Mapnik's isSolid seems to be returning the same "pixel" for tiles that should be different solid colors (e.g. land vs water). It took adjusting of the metatile setting to get it to happen consistently. In my case, the pixel it's returning for both land and water is<PHONE_NUMBER>.

@brandonreavis - thanks for helping narrow this down.

This might be a different issue (if so please excuse)

Right, unrelated. The cause is a few vector tiles that incidentally contained geometry collections - we'll be fixing this week.

I found out the problem for this, it has been corrected in core mapnik in:
https://github.com/mapnik/mapnik/commit/e44cdef805366be6c33c71ffd4ffe032f1b95ff4
A unit test for it was added in node-mapnik:
https://github.com/mapnik/node-mapnik/commit/8acecfde59081cf8b212c151b1fe704d988f8222
The problem revolved around image_views using get_pixel in mapnik core pulling from the x,y of the image, rather then with the offset x,y for the image view. This is now fixed.

Thanks @flippmoke for the fix, and for everyone's help uncovering this. Once travis recovers for the outage, I'll plan to publish binaries of the upcoming 3.3.1 release to ease testing.

Excellent! Thanks @flippmoke @springmeyer

Hurrah!

Great work guys! Sorry I was unable to assist, I am on vacation along the Spanish coast...

@averas if you want to test that this is fixed, you can try the upcoming release like:
"mapnik": "https://github.com/mapnik/node-mapnik/tarball/master"

That will pull in new binaries of v3.3.1-alpha that include @flippmoke's fix he mentions above.


Dirty wrapping gsctl binary

For now, must be used with gsctl built from https://github.com/giantswarm/gsctl/pull/575
Checklist

[ ] Update changelog in CHANGELOG.md.

To use this locally, you must have a kubeconfig for gaia already. Then you can run this with:
./standup test --kubeconfig <path to your kubeconfig > --provider aws --release 12.1.0 --endpoint https://api.g8s.gaia.eu-central-1.aws.gigantic.io --token < a valid auth token >

If all goes well, it will print the length of the kubeconfig it gets (just to use the variable and avoid compilation errors while we work on putting it somewhere)


Clearer CTAs on Homepage

Story
No response
Description
Currently, we have the following CTAs:

at the point of first arrival, new customers/visitors are unlikely to have knowledge of our different offerings, as such "Sign Up" and "Install" are vague and confusing - do I need to sign up in order to install?
We should have clearer distinction between these actions, as such I propose the following:

Where the "FlowForge Cloud" is, I know, going to open a can of worms in itself, but let's restrain this issue to the clearer messaging component.
note: the design changes here also include/assume merging of https://github.com/flowforge/website/pull/200

Where the "FlowForge Cloud" is, I know, going to open a can of worms in itself, but let's restrain this issue to the clearer messaging component.

If you want to avoid a can of worms, then don't use the term we've just done the work to remove from the site :)
If you want a quick iteration, then copy the wording from the Product page's CTA:


Why are global IVM symbol BYTE/ION_STRING named VTM?

Is this intentional or a legacy leftover?

While we're at it, ION_SYS_SYMBOL_ION_SYMBOL_TABLE is an outlier, too.

Is this intentional or a legacy leftover?

It's a legacy leftover. I'm not sure about the origin of the VTM acronym, as it's not used in any of our current documentation that I'm aware of.

While we're at it, ION_SYS_SYMBOL_ION_SYMBOL_TABLE is an outlier, too.

Can you clarify your question about this one?

While we're at it, ION_SYS_SYMBOL_ION_SYMBOL_TABLE is an outlier, too.

Can you clarify your question about this one?

Sorry, everything else is named ION_SYS_(SYMBOL|SID|STRLEN)_ ..., i.e. I would have expected it to be named ION_SYS_SYMBOL_SYMBOL_TABLE, but it has an additional ION in between and is named ION_SYS_SYMBOL_ION_SYMBOL_TABLE.
Or maybe ION_SYS_(.*)_SHARED_SYMBOL_TABLE should rather have ION added because the text starts with $ion.
Anyway, I guess debating naming legacy doesn't lead to anywhere.


WIP: feat(update_backlog): add --preset=promote-not-not-passing

Resolves #109.
TODO: Validate that this is useful.

Anecdotally, this might have caught this sort of possible promotion earlier: D213719


Allow adding non-org repos to be managed by bosco

I believe adding this would make bosco great to manage multiple git repos for all users including those not in a specific org. This will also make it great when sharing a public bosco project. At the moment Bosco is pretty unusable unless the person pulling the repo is part of a team inside an org. The work done by #12 makes this easier to accomplish.
I have not put too much thought into it but would love to hear other opinions. The work would involve adding repos on a different format inside the .bosco/bosco.json file and adding commands to add repos to this list.

Closing in favour of #33


Record workshops being run by each Labs club in the week of October 12th in https://clubs.hackedu.us

I've gotten all but 3 of these completed.

I've gotten all but 1, I messaged them twice had no response. Considering this task completed.