5.7.4 RC2 Autoloader is not autoloading

In 5.7.4 RC2 there's an issue with the class autoloader.
In a package controller file the following code used to work (in 5.7.3, I did not test earlier 5.7.4 releases):
class Controller extends Package {
function on_start(){
\Core::bind('language_service', '\Concrete\Package\MyPackage\services\LanguageService', true);
}
}
In 5.7.4 RC2 this throws a ReflectionException in Illuminate/Container/Container.php on line 501:
"Class \Concrete\Package\MyPackage\services\LanguageService does not exist"
Above error message does not show if I load the class before:
include dirname(FILE).'/services/language_service.php';
I have tried other file names (LanguageService.php instead of language_service.php).
It seems to me that autoloader is not doing it's job, sorry. I hope there will be a solution.
Best Regards
Adrian

This is expected behaviour. There was a change to the autoloader in 5.7.4 which now more strictly loads these files. It was not the intent that this was supposed to work prior to 5.7.4 and was considered a bug that it did.
You should be able to add the following property to your controller to fix it.
protected $pkgAutoloaderRegistries = array(
        'services' => 'Concrete\Package\MyPackage\services'
    );

Ideally though you are putting any custom classes into the src directory so that your new namespace would be \Concrete\Package\MyPackage\Src\Services\LanguageService which would be autoloaded. Hope that helps.

Ah, I see that autoloader is now consitently converting namespaces to folders.
Namespace: \Concrete\Package\MyPackage\Service\LanguageService
Loaded file: /packages/my_package/services/language_service.php
Makes sense, like that!
Thank's very much for the explanation.
Best Regards
Adrian


Enhancement: More user perspective hint when the cluster is not running

Enhancement
In following scenarios, with:

no minikube installed, or
minikube newly installed and not started ever after, or
minikube stopped

kusion preview and kusion apply command produces error like:
 ❌  stat /Users/amy/.kube/config: no such file or directory, or
❌  invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable.
That's kind of confusing for users and in users' perspective, could be better to provide a supplementary hint to guide users, like, to check if their cluster is running or to start their local minikube, etc

this is reasonable and acceptable, similar like https://github.com/KusionStack/kusion/issues/188
assign @markliby

@liu-hm19 You can fix Konfig CI Kubernetes runtime error and issue together

fixed in https://github.com/KusionStack/kusion/pull/409


Support for checking that Projection is(not) null

Fixes this error
SCRIPT ERROR: Parse Error: Invalid operands "Projection" and "null" for "==" operator.

Works same as https://github.com/godotengine/godot/pull/52788

Thanks!


gradle plugin > <IP_ADDRESS> does not work with gradle 7.4

Running gatlingRun with the latest releases > <IP_ADDRESS> results in:
A problem was found with the configuration of task ':load-testing:gatlingLogback' (type 'LogbackConfigTask').
- In plugin 'io.gatling.gradle' type 'io.gatling.gradle.LogbackConfigTask' property 'logger' is missing an input or output annotation.

I suppose that this is due to change to LogbackConfigTask.groovy introduced with this commit.
It looks like this is related to a similar problem: #4068
I have only tested this with gradle 7.4 but suppose that all versions 7.x are affected.

@guilgaly Could you please take a look?
@mirkobeine Thanks for reporting

@slandelle I can reproduce the issue with the Java demo project using a Gradle version between 7.0 and 7.4 specifically. It seems to work fine with Gradle 7.5+ (or with the latest 6.x version).

Gradle ascendant compatibility is a joke.

Thanks for responding so quickly. Great tool, btw!

@mirkobeine Gatling Gradle plugin <IP_ADDRESS> is out and fixes the compatibility issue with these Gradle versions.
Thanks again for reporting, and thanks for your kind words.


Typo in ScrollView documentation #883

Original issue #883
Changed
"the keyboard will not dismiss automatically when the tap was handled by a children"
to
"the keyboard will not dismiss automatically when the tap was handled by children of the scroll view"
as suggested by @wagnermaciel
This is my first time ever making a pull request to an open source project and i'm not entierly sure about the changes in website/i18n/en.json  but they were automatically generated and i saw that that particular file was supposed to be included according to the .gitignore so i left them there and brought them along.

@rickhanlonii If it should, I can surely add it. I changed it there at first however it did not reflect on the website so i left it.😅

Yeah updating both will put it live on the site (for 0.59) and in the docs for the next release 👍

Thanks @Conviley!


[Bug]: When creating an index, it will be displayed as unavailable with no unavailable markers

ODC version
odc422
OB version
ob324
What happened?

What did you expect to happen?
Unavailable index has an unavailable identifier
How can we reproduce it (as minimally and precisely as possible)?
Viewing Index Status When Creating an Index
Anything else we need to know?
No response
Cloud
No response

fixed in dev-4.2.2

Problem not fixed

Fixed In Commit a98ee01affe935ca6ee50ee2eeb508c2d7c0f72c
------
晓康
Mon Oct 30 11:25:32 2023 +0800

pass


PEP8-compliant blank lines in generated code

This is probably very, very easy.

It's also very, very not needed for GA or anything before GA.

I am not sure what needs to be done to get things started.


feat(tapable): upgrade Single|Multi|DynamicEntryPlugin to tapable v1

What kind of change does this PR introduce?
Refactoring

Did you add tests for your changes?
None needed

If relevant, link to documentation update:
N/A

Summary
Upgrade (Single|Multi|Dynamic)EntryPlugin to use Tapable v1 API.

Does this PR introduce a breaking change?
No

Other information
I think Beautify is going to be mad.

Repushed so that CLA issues are fixed.

Thanks


iss102/rename-repo

All changes to support repo name change from hyperborea-tools to hyperborea3

closes #102


Proxy takes first opened port (may not be the web one)

As found out by @matiasgarciaisaia in https://github.com/manastech/dockerdev/pull/1#issuecomment-1464116452:

I've checked & confirmed that the issue is that dockerdev picks the website's 1234 port (used for hot-reloading) instead of 4567 (the web server itself). So dockerdev works (checked the ARM image too), but maybe the issue would be how to support multi-port containers - an independent issue itself.

It appears that the proxy is using the first opened (or exposed?) port from the container to redirect the web traffic to.

It looks like the port is decided on this line:
https://github.com/manastech/dockerdev/blob/master/nginx.tmpl#L54
It looks for the VIRTUAL_PORT then the first port of the first address for the container, and eventually falls back to port 80.
Setting VIRTUAL_PORT might fix this? I think I saw that envvar in a few compose configs, and wondered what the heck it was.

Confirmed: adding VIRTUAL_PORT to compose, the nginx proxy picks port 4567 to redirect the traffic to. Without, it picks port 1234.
services:
  web:
    environment:
      VIRTUAL_PORT: "4567"

Poke @matiasgarciaisaia

I documented the variable in 77c2499bb56cd7f95c8133aaf57b405aa8c4e965

Great, @ysbaddaden!


[Event Request] Codeunit 90 Purch.-Post

The following events are required for this object:
    [IntegrationEvent(false, false)]
    local procedure OnPostPurchLineOnAfterInsertReturnShipmentLine(var PurchHeader: Record "Purchase Header"; PurchLine: Record "Purchase Line"; ReturnShptHeader: Record "Return Shipment Header"; TempPurchLineGlobal: Record "Purchase Line"; RoundingLineInserted: Boolean; xPurchaseLine: Record "Purchase Line"; var PurchCrMemoHeader: Record "Purch. Cr. Memo Hdr.");
    begin
    end;

    [IntegrationEvent(false, false)]
    local procedure OnPostItemJnlLineOnAfterCopyDocumentFields(var ItemJournalLine: Record "Item Journal Line"; PurchaseLine: Record "Purchase Line"; WarehouseReceiptHeader: Record "Warehouse Receipt Header"; WarehouseShipmentHeader: Record "Warehouse Shipment Header"; PurchRcptHeader: Record "Purch. Rcpt. Header"; GenJnlLineExtDocNo: Code[35]; QtyToBeInvoiced: Decimal)
    begin
    end;

    [IntegrationEvent(false, false)]
    procedure OnMakeInventoryAdjustmentOnBeforeInvtSetup(var InvtSetup: Record "Inventory Setup"; var InvtAdjmtHandler: Codeunit "Inventory Adjustment Handler"; var IsHandled: Boolean);
    begin
    end;

            IsHandled := false;
            OnPostPurchLineOnBeforeInsertReturnShipmentLine(PurchHeader, PurchLine, IsHandled, ReturnShptHeader, TempPurchLineGlobal, RoundingLineInserted, xPurchLine);
            if not IsHandled then
                if (ReturnShptHeader."No." <> '') and ("Return Shipment No." = '') and
                   not RoundingLineInserted
                then
                    InsertReturnShipmentLine(ReturnShptHeader, PurchLine, CostBaseAmount);

            OnPostPurchLineOnAfterInsertReturnShipmentLine(PurchHeader, PurchLine, ReturnShptHeader, TempPurchLineGlobal, RoundingLineInserted, xPurchLine, PurchCrMemoHeader); //EVENT REQUEST

        OnPostItemJnlLineOnAfterCopyDocumentFields(ItemJnlLine, PurchLine, TempWhseRcptHeader, TempWhseShptHeader, PurchRcptHeader, GenJnlLineExtDocNo, QtyToBeInvoiced); //EVENT CHANGE REQUEST

    local procedure MakeInventoryAdjustment()
    var
        InvtSetup: Record "Inventory Setup";
        InvtAdjmtHandler: Codeunit "Inventory Adjustment Handler";
        IsHandled: Boolean;
    begin
        //EVENT REQUEST
        IsHandled := false;
        OnMakeInventoryAdjustmentOnBeforeInvtSetup(InvtSetup, InvtAdjmtHandler, IsHandled);
        if IsHandled then
            exit;
        //EVENT REQUEST

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 13321.


API Exception should have a ResponseStatusCode field and it should be populated by the request adapter

Currently the error mapping logic, from what I can tell, only supports throwing exceptions. In the core code, if an error mapping is found, then it is called. But irrelevant of what it does then an exception is still going to be thrown. This makes it impossible to handle errors that are expected. As an example almost every REST API returns 404 for resources that cannot be found. In the C# generator this can be easily handled by return null for the reference type that is generally used. This eliminates the need for throwing an exception and allows for client code to just check for null. Currently client code would need to capture the exception and then determine that it is a 404. This is both expensive and boilerplate code.
Suggestion: Make it possible to handle responses (error or otherwise) and return values based upon the status code instead of forcing an exception to be thrown in all cases.

This is a design decision we're unlikely to change at this point, I'll try to detail the reasons why here.
First according to the http spec the 4xx and 5xx status code classes are defined as error classes. I know there's been a long debate on whether 404 is an actual error or expected behavior but it makes more sense to have a consistent behavior across the error class. You wouldn't expect any other 5xx or 4xx not to throw? So why should this one be special?
Then if we follow the logic of returning null instead of an exception, how can a consumer tell the difference between successful with no body (204, etc..) and not found?
Lastly, the error body can contain additional information useful to the consumer that needs to be deserialized and returned somehow. Returning null wouldn't allow that.
The better approach to make easy to maintain code is to define a schema specific to 404 so the consumer can catch that type specifically.
I hope that shines a light on this design decision.

@baywet, Thank you for responding. I understand your decisions and I'm not actually asking that you change how Kiota handles this by default. What I'm asking for is an extensibility point, or more correctly the existing point, to allow for us to customize this behavior when we don't agree with it.
As for allowing a consumer to know the difference between a 204 and a 404 I would respond by asking - why would they care? If they ask for a resource and don't get anything back then I would personally consider it a mute point what the status code actually was. But, again, I'm not asking Kiota to change how it works, I'm just asking for an extensibility point to allow the author of the API to make customization changes to the generated code because the API dev knows it best.
Finally, in regards to whether I would expect any other 4xx to not throw, yes I actually do. 401 is special and I think Kiota tries to handle that directly. If I'm calling an API that is OAuth-based, for example, then I would expect the client code to handle negotiating the original token. If the server supports refresh tokens and my token expires then I would expect the client to silently reauthenticate without me having to do anything. I, the API user, already set up my credentials at app startup. The client is responsible for the behavior after that.

Thanks for the additional context.
Is this something you're looking to override on a per path basis? or something you'd like to override for a whole client regardless of the path? (trying to understand whether your scenario is cross cutting or request specific)
Difference between 204 and 404: the subtility matters as one is expected behavior, the other is not and mandates special handling.
401 is a bit of a special case, 429 that exceeded retry delay/attempts would be a better example in that regards.
token renewal: Kiota expects the authentication library to provide non-expired tokens and renew expired ones itself to avoid unnecessary roundtrips to the service. Which is something that Azure Identity does by default. You can still get 401s after that (continuous access evaluation policy being triggered, security event like password reset, etc...). Right now the support for that is partial mostly because Azure Identity doesn't support all scenarios, we're working with them to close the loop here.

@baywet I would see the error handling mostly at a per path level but I could see a client using the same rules for all paths. But if you support it at a path level then it is easy to "apply" it to a whole client I think. So as a minimum I'd say per path. I would almost see it as a post-request transform that could be run to adjust the results and so it could be something that is more general purpose then just error handling. But I'm thinking out loud.

Would you mind giving a try at implementing a middleware handler that'd rewrite the response (switch it from 404 to 204, wipe the body) based on paths requirements and see whether that meets your scenario?

@baywet yes a middleware handler would work here I believe. But that assumes that a call to Get<T> that gets a 204 doesn't try to deserialize an empty body anyway.

Correct. I thought the goal was to return null when running into an error?
Related: would having the status code as a field on the API Exception (the base class published in abstractions) be helpful at all? (assuming throwing an exception is ok)

Including the status code in the API exception would make it easier to handle this case. The only downside is the performance hit taken to throw the exception, then catch it to determine that nothing is wrong. But that is probably not a big deal in most cases.

Thanks for getting to the bottom of this discussion. I've heard back from the PM and architect and we're in agreements here.
This change would allow consumers to write that kind of code.
try {
   var user = await client.Users["jane@contoso.com"].GetAsync()
} catch(ApiException ex) when ex.ResponseStatusCode == 404 {
    // do something for 404s
}

Which is much easier than having to inspect the message string.
Scheduling for implementation.

update: implemented, waiting for review and release here https://github.com/microsoft/kiota-http-dotnet/pull/82

@baywet What happened to being able to provide a custom response handler per request? We had that capability in past SDKs.  I think the scenario raised is perfectly valid.

No, we still maintain that the request adapter interface is meant to support the generated code, not for humans to use.
In case of cross cutting behavior, middleware handlers are the way to go.
In case of ad hoc behavior, the response handler parameter was moved to a request option  to reduce the amount of code being generated.


brew compatibility with git 2.37

brew config output
HOMEBREW_VERSION: 3.5.4
ORIGIN: https://github.com/Homebrew/brew
HEAD: 88a5fac96752f17280e64f60926f58dff45990e0
Last commit: 21 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 43d4a715d56a63af23ecdf491db94032125683e0
Core tap last commit: 4 hours ago
Core tap branch: master
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.5gdXZIrfnK/org.xquartz:0
HOMEBREW_EDITOR: vim
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 2.6.8 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 13.1.6 build 1316
Git: 2.37.0 => /opt/homebrew/bin/git
Curl: 7.79.1 => /usr/bin/curl
macOS: 12.4-arm64
CLT: <IP_ADDRESS>.1.1651278267
Xcode: 13.4.1
Rosetta 2: false

brew doctor output
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Some installed formulae are deprecated or disabled.
You should find replacements for the following formulae:
<EMAIL_ADDRESS>
Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause formulae that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  gnupg

Verification

[X] I ran brew update and am still able to reproduce my issue.
[X] I have resolved all warnings from brew doctor and that did not fix my problem.

What were you trying to do (and why)?
Seems like after brew upgrade the file: /opt/homebrew/var/homebrew/locks/update remains and until I delete it manually I get:
What happened (include all command output)?
Error: Another active Homebrew update process is already in progress.
Please wait for it to finish or terminate it to continue.
What did you expect to happen?
well, brew upgrade should remove the file after it's done?
Step-by-step reproduction instructions (by running brew commands)
brew upgrade

p.s. 1. I had to select that I resolved "brew doctor issues" while it's not true. But these warns are entirely irrelevant.
p.s. 2. Why do you drop support for something working? For instance, Qemu 6.2 build is completely gone, while the new version is broken.

I'm not entirely sure if it's about the git version, but that's the only thing I recently changed.

I can't reproduce this.
❯ brew config | rg Git
Git: 2.37.0 => /usr/local/opt/git/bin/git
❯ brew upgrade
==> Upgrading 1 outdated package:
pipgrip 0.8.2 -> 0.8.3
==> Downloading https://ghcr.io/v2/homebrew/core/pipgrip/manifests/0.8.3
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/pipgrip/blobs/sha256:2f57a65a3a4cca989bc7683fa6a20246c5132fb962ad3d0f480cfb26cb58dfd4
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:2f57a65a3a4cca989bc7683fa6a20246c5132fb962ad3d0f480cfb26cb58dfd4?
######################################################################## 100.0%
==> Upgrading pipgrip
  0.8.2 -> 0.8.3

==> Pouring pipgrip--0.8.3.monterey.bottle.tar.gz
🍺  /usr/local/Cellar/pipgrip/0.8.3: 993 files, 12.1MB
==> Running `brew cleanup pipgrip`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Removing: /usr/local/Cellar/pipgrip/0.8.2... (952 files, 11.4MB)
Removing: /Users/carlocab/Library/Caches/Homebrew/pipgrip--0.8.2... (3.1MB)

p.s. 1. I had to select that I resolved "brew doctor issues" while it's not true. But these warns are entirely irrelevant.

Please resolve these

We have at least one bug here because ""Homebrew update process is already in progress" is cryptic error, one that is often a false-positive (leftover lockfile). Brew does not say which is the file lock even if you run with -vvv.
IMHO, it is unreasonable to expect users to know the location of the lock file, especially as this one is different depending on the architecture.

The root cause of @dmilith's issue is that he enabled fsmonitor=true in his global git config. This causes git fsmonitor--daemon to monitor all of his repos by default, including Homebrew's. The monitor process is what's holding the lock file. You can verify this by running:
ps -p $(lsof -t +d $(brew --prefix)/var/homebrew/locks)

Which will show something like this if git fsmonitor--daemon is holding the lock file:
  501 77962     1   0  8:06AM ??         0:00.05 /opt/homebrew/Cellar/git/2.37.1/libexec/git-core/git fsmonitor--daemon run --detach --ipc-threads=8

I worked around this by setting fsmonitor=false for Homebrew's repo:
git config --file $HOMEBREW_REPOSITORY/.git/config --replace-all core.fsmonitor false

Ideally Homebrew would set this git config on initial repo creation.

Is there a way to stop the daemon so it releases the lock?

Is there a way to stop the daemon so it releases the lock?

This should do it:
kill $(lsof -t +d $(brew --prefix)/var/homebrew/locks)

Is there a way to stop only the daemon instead of killing everything that might hold a lock (e.g. a currently running brew update or brew upgrade process)?
Note that this is something that should be runnable while doing brew upgrade, so being indiscriminate with kill is probably going to lead to a bad time.

Is there a way to stop only the daemon instead of killing everything that might hold a lock (e.g. a currently running brew update or brew upgrade process)?

pushd $HOMEBREW_REPOSITORY; git fsmonitor--daemon stop; popd

Is there a way to stop only the daemon instead of killing everything that might hold a lock (e.g. a currently running brew update or brew upgrade process)?

pushd $HOMEBREW_REPOSITORY; git fsmonitor--daemon stop; popd

Thanks, @mjgardner. Can you test out this patch?
diff --git a/Library/Homebrew/cmd/update.sh b/Library/Homebrew/cmd/update.sh
index 0269d73ed..1aed9905c 100644
--- a/Library/Homebrew/cmd/update.sh
+++ b/Library/Homebrew/cmd/update.sh
@@ -556,6 +556,12 @@ EOS
     [[ -d "${DIR}/.git" ]] || continue
     cd "${DIR}" || continue

+    # Git's fsmonitor daemon will not release our lock unless we stop it.
+    if git fsmonitor--daemon status &>/dev/null
+    then
+      git fsmonitor--daemon stop 2>/dev/null
+    fi
+
     if ! git config --local --get remote.origin.url &>/dev/null
     then
       opoo "No remote 'origin' in ${DIR}, skipping update!"

Apply it in "$(brew --repository)".

A recent update must have removed my git config workaround from above:
$ git --no-pager config --file $HOMEBREW_REPOSITORY/.git/config \
  --get-all core.fsmonitor # should report false to override global config below
$ git --no-pager config --global --get-all core.fsmonitor
true

I'll test @carlocab's patch tomorrow.

I realized that my workaround didn't account for taps. Here's a replacement that also stops any extant fsmonitor daemons:
for tap in '' $(brew tap)
do
  pushd $(brew --repo $tap) &&
  git fsmonitor--daemon stop
  git config --local --replace-all core.fsmonitor false
  popd
done


Matmair/issue6882

This PR adds changes to the schema command to make the schemas generated on different systems more comparable. For this, a few settings are enforced by default:

The server URL is fixed
Plugins are turned off
Currencies are set to AUD,CNY,EUR,USD for generation only

To enable this 2 auxiliary changes are made:

get_global_setting can now be supplied with an environment variable that overwrite the database values
the schema task has now a no_default switch to disable the defaults

Closes #6882

@matmair very clean implementation, I like it!


Line Total formula

Not a problem but thought I could at leased give you the only code I could fix.
Using this will calculate the discount correctly. See the screenshot below.
[DisplayName("Line Total"), Expression("(t0.[UnitPrice] * (1 - t0.[Discount]) * t0.[Quantity])")]

Great work on the program!
Sincerely,
MunsterUSMC

I'm not sure if Discount is a percentage from price, or amount to reduce from price or amount to reduce from total. Thanks, wonder if there is some doc about this.


[oui-flag]: background-image url

Description
Steps to reproduce

Visit: https://unpkg.com/<EMAIL_ADDRESS>Search export default
See errors

Expected behavior:
A valid URL should be specified.
Actual behavior:
A wrong URL is defined probably due to an Issue when compiling the styles.
Frequency:
Always.
Additional information
Our current shared webpack configuration is not able to build a package that rely on this version (v4.0.4).

Has been fixed with in this release: https://github.com/ovh/ovh-ui-kit/blob/master/packages/libs/ui-kit/CHANGELOG.md#405-2020-03-26


Modal - clickToCloseOutside does not work anymore

Since, we use a fallback to display the backdrop, the modal cannot be closed by cliking on backdrop area.

Resolve by #273


Refactoring with keyword table

Suggested behavior
Yet to be discussed
Actual behavior
The value of the inline table is replaced with <table> in the refactored text
Steps to replicate

Consider an unimplemented step

* The word <table> has "3" vowels \ sdfdsf
|sdfsdf|
|sdfsdf|

Try refactoring to The word <table> has "3" vowels \ sdf in IDE.
This replaces step with

The word <table> has "3" vowels \ sdf <table>

Version
Gauge version: 0.9.8.nightly-2018-01-30
Commit Hash: 2ed02d8

Plugins
-------
js (2.1.1.nightly-2018-01-16)

Closing this as an old issue. However, any PR's to fix this will be merged.


[open] new internal-fund-with-fee-rate flag

Added a new flag for bos open to bypass interaction which asks "Use internal funds?"
Files changed:
bos
peers/open_channels.js

https://github.com/alexbosworth/balanceofsatoshis/issues/242

Pushed changes.

Closing, merged.


reuse existing secret names and make secret UIDs more useful

If a secret exists for a user/service, reuse that name to ensure users/services don't have multiple secrets at once. This is needed since #138 introduced random strings in secret names to make them unique, hence we can no longer easily construct a secret name based on the user/service alone.
With reusable unique secret names, we are free to make the uid field more accurate -- instead of kubelet-0, we'll use kubernetes-worker-0.  This makes it easy for an admin to spot which secret belongs to which unit, and becomes especially useful when, for example, k8s-worker is deployed multiple times with different application names.
While we're here, allow : in usernames when creating new users. We have services like system:node:foo that show up in our user list, but had previously not allowed : when running the user-create action. This could be confusing, and there's no reason to disallow that character, so stop doing that.
Fixes https://bugs.launchpad.net/charm-kubernetes-master/+bug/1906732

Test fresh deployment
Secrets created with the new naming format:
$ kubectl get secrets -n kube-system --kubeconfig config|grep juju
auth-admin-y1jdwai.hu                            juju.is/token-auth                    4      19m
auth-kube-controller-manager-svvw5aa1ip          juju.is/token-auth                    4      19m
auth-kube-proxy-10xms53482                       juju.is/token-auth                    4      19m
auth-kubernetes-worker-0-p8v1a6l1bt              juju.is/token-auth                    4      19m
auth-kubernetes-worker-1-ieq1f8a0q5              juju.is/token-auth                    4      16m
auth-kubernetes-worker-2-ivr82v4i0h              juju.is/token-auth                    4      12m
auth-system-kube-scheduler-d6km85o6f3            juju.is/token-auth                    4      19m
auth-system-monitoring-fjbv0s1vfw                juju.is/token-auth                    4      19m

Test admin password change, which will trigger authentication.setup handlers. Pre-change (note unique secret name):
$ kubectl get secret -n kube-system auth-admin-y1jdwai.hu --kubeconfig config -o yaml
...
  password: YWRtaW46OkpaN29yODlDS1RRNWYyMzB0V1AwaGVBcUo4VGFCell5
...
  name: auth-admin-y1jdwai.hu

Post-change (same unique admin secret name has been updated with new password):
$ juju config kubernetes-master client_password=passw0rd
$ kubectl get secret -n kube-system auth-admin-y1jdwai.hu --kubeconfig config -o yaml
...
  password: YWRtaW46OnBhc3N3MHJk
...
  name: auth-admin-y1jdwai.hu

All secrets remain as we expect:
$ kubectl get secrets -n kube-system --kubeconfig config|grep juju
auth-admin-y1jdwai.hu                            juju.is/token-auth                    4      80m
auth-kube-controller-manager-svvw5aa1ip          juju.is/token-auth                    4      80m
auth-kube-proxy-10xms53482                       juju.is/token-auth                    4      80m
auth-kubernetes-worker-0-p8v1a6l1bt              juju.is/token-auth                    4      79m
auth-kubernetes-worker-1-ieq1f8a0q5              juju.is/token-auth                    4      76m
auth-kubernetes-worker-2-ivr82v4i0h              juju.is/token-auth                    4      73m
auth-system-kube-scheduler-d6km85o6f3            juju.is/token-auth                    4      80m
auth-system-monitoring-fjbv0s1vfw                juju.is/token-auth                    4      79m

Test upgrade from 1.20
Secrets created without the new naming format:
$ kubectl get secrets -n kube-system --kubeconfig config|grep juju
admin-token-auth                                 juju.is/token-auth                    4      5m39s
kube-controller-manager-token-auth               juju.is/token-auth                    4      5m38s
kube-proxy-token-auth                            juju.is/token-auth                    4      5m38s
kubelet-0-token-auth                             juju.is/token-auth                    4      5m36s
kubelet-1-token-auth                             juju.is/token-auth                    4      3m58s
kubelet-2-token-auth                             juju.is/token-auth                    4      2m21s
system-kube-scheduler-token-auth                 juju.is/token-auth                    4      5m37s
system-monitoring-token-auth                     juju.is/token-auth                    4      5m37s

Upgrade k8s-master with this fix:
$ juju upgrade-charm kubernetes-master --path ~/charms/builds/kubernetes-master

Test admin password change, which will trigger authentication.setup handlers. Pre-change (note non-unique secret name):
$ kubectl get secret -n kube-system admin-token-auth --kubeconfig config -o yaml
...
  password: YWRtaW46Omd2WGkzb0l1UDd6MzA4bVdLZ1V4eTQxNEkzaVJBTWFy
...
  name: admin-token-auth

Post-change (same non-unique admin secret name has been updated with new password):
$ juju config kubernetes-master client_password=passw0rd
$ kubectl get secret -n kube-system admin-token-auth --kubeconfig config -o yaml
...
  password: YWRtaW46OnBhc3N3MHJk
...
  name: admin-token-auth

Add a unit to see that the new secret follows the new format, and existing secrets remain as we expect:
$ juju add-unit kubernetes-worker
$ kubectl get secrets -n kube-system --kubeconfig config|grep juju
admin-token-auth                                 juju.is/token-auth                    4      31m
auth-kubernetes-worker-3-bm6un.lucg              juju.is/token-auth                    4      6m14s
kube-controller-manager-token-auth               juju.is/token-auth                    4      31m
kube-proxy-token-auth                            juju.is/token-auth                    4      31m
kubelet-0-token-auth                             juju.is/token-auth                    4      31m
kubelet-1-token-auth                             juju.is/token-auth                    4      29m
kubelet-2-token-auth                             juju.is/token-auth                    4      27m
system-kube-scheduler-token-auth                 juju.is/token-auth                    4      31m
system-monitoring-token-auth                     juju.is/token-auth                    4      31m

LGTM. I had a few comments but no show stoppers, just things to think about I guess.


Attn: all (original issue is curl download fail)

Kudos to crocos for this repo, including the instructions.
I just patted myself on the back for fixing a problem and submitting a pull request. Then I found out I was the 3rd person to fix that problem. @crecos has not merged the existing pull requests. So I suggest you find a forked version of this repo, as this repo seems abandoned. I'm creating this github issue, because when I experienced the problem, I checked this repo's issues but not pull requests. So I hope this saves someone.
Here was the original issue:
$ phpenv pecl solr-2.1.0
phpenv v0.0.4-dev

phpenv v0.0.4-dev

[info] build solr-2.1.0 on php-5.5.9
[info] create build directory: /tmp/pecl-build/
[warn] already exist old dir. remove it.
[info] fetch package: http://pecl.php.net/get/solr-2.1.0
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0  119k    0   831    0     0   1524      0  0:01:20 --:--:--  0:01:20  2473tar: /tmp/pecl-build: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

You can see the curl command fail. The error message is rather confusing.

same here


Successfully run agents but the model and dataset are loaded incorrectly

Every time I run agent by python ./python/craftassist/craftassist_agent.py, it prompts me to download the models and datasets. Even after I downloaded them, when I type instructions it says models are not available.
The prompt is as below.
Local models directory is out of sync. Would you like to download the updated files from AWS? This overwrites python/craftassist/models/

The error is as below.
2020-11-07 22:04:13,970 [nsp_dialogue_manager.py:75 - __init__() INFO]: using model_dir=./python/craftassist/models/semantic_parser/ttad_bert_updated/
Traceback (most recent call last):
  File "./python/craftassist/craftassist_agent.py", line 344, in <module>
    sa = CraftAssistAgent(opts)
  File "./python/craftassist/craftassist_agent.py", line 72, in __init__
    super(CraftAssistAgent, self).__init__(opts)
  File "/craftassist/python/craftassist/../base_agent/loco_mc_agent.py", line 26, in __init__
    super(LocoMCAgent, self).__init__(opts, name=self.name)
  File "/craftassist/python/craftassist/../base_agent/core.py", line 12, in __init__
    self.init_controller()
  File "./python/craftassist/craftassist_agent.py", line 119, in init_controller
    self.dialogue_manager = NSPDialogueManager(self, dialogue_object_classes, self.opts)
  File "/craftassist/python/craftassist/../base_agent/nsp_dialogue_manager.py", line 84, in __init__
    action_tree_path=opts.nsp_grammar_path,
  File "/craftassist/python/craftassist/../base_agent/ttad/ttad_model/ttad_model_wrapper.py", line 26, in __init__
    use_cuda=cuda,
  File "/craftassist/python/craftassist/../base_agent/ttad/ttad_model/emnlp_model/prediction_model.py", line 446, in load_model
    with open("%s.args.pk" % (model_name,), "rb") as f:
FileNotFoundError: [Errno 2] No such file or directory: './python/craftassist/models/semantic_parser/ttad/ttad.args.pk'

So later I tried to download outside the container by using cmd provided in readme. The issue remains.
curl http://craftassist.s3-us-west-2.amazonaws.com/pubr/models_folder.tar.gz -o models_folder.tar.gz
tar -xzvf models_folder.tar.gz -C python/craftassist/models/ --strip-components 1
curl http://craftassist.s3-us-west-2.amazonaws.com/pubr/ground_truth_data.txt -o python/craftassist/ground_truth_data.txt

Hi @feipenghe, this was fixed in PR #51. Thanks for flagging!


Importing ABC directly from collections has been deprecated and will be removed in Python 3.10

Use collections.abc for Python 3 and collections for Python 2.
easygui/boxes/choice_box.py
72:    if not isinstance(obj, collections.Sequence):

Now this is happening with Python 3.10

I will create a PR

Looks like this is fixed in https://github.com/tirkarthi/easygui/commit/0f6abd5b37c8295618412f9ea38aa7da5d3d87af#diff-fef111e52e6c8332a082cc8d35153b1057c8f3c92e75d59d8be4a82051417195 . Closing.

Sorry, https://github.com/robertlugg/easygui/commit/652134c814e57b4c523683f77f97803d6d8e3b0c

Yep - sorry, should have seen your previous open issue.
The collections movement got back ported for quite a few Python 3 versions for compatibility, so we got away with the old import location for a while!
Thanks for raising, investigating, and closing this out with information 👍

It looks like this patch has not yet been pushed to the pypi repository. I encountered this issue when running my scripts on a different PC, which resulted in the classic "well it works on my machine" and was hot-fixed by downgrading the python install.

Same here: pip install easygui doesn't install the corrected collections.abc version: it's still the old version.


[XLA:GPU][ROCm] Address code review comments from upstream maintainers.

refer to #30326

Move all utility functions into anonymous namespace.
Refactor signature of LinkAndOptimizeModule. LLVMGetTargetMachine is invoked
outside of it.
Add checks for GpuVersion.

close it for now.

jenkins: retest rocm-xla please.


🥂[demo] add workbench page example.

General

✏ Mark the necessary items without changing the structure of the PR template.

[ ] Pull request template structure not broken

Type

ℹ What types of changes does your code introduce?

👉 Put an x in the boxes that apply

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

ℹ Check all checkboxes - this will indicate that you have done everything in accordance with the rules in CONTRIBUTING.

👉 Put an x in the boxes that apply.

[ ] My code follows the style guidelines of this project
[ ] Is the code format correct
[ ] Is the git submission information standard?
[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

@Ya2gLu 提交记录好复杂，能不能新建一个feat分支重新PR一下

看了下，界面很清新。说下几个观点：

提交记录很乱。参考下PR-指南
代码格式化，看下Prettier设置。
样式需要稍微处理下


Containers: Compute to Rabbit Communication

From https://github.com/NearNodeFlash/NearNodeFlash.github.io/tree/containers-communication-update/docs/rfcs/0002#compute-to-rabbit-communication:

Compute-to-Rabbit Communication
For Compute to Rabbit communication, the proposal is to use an open port between the nodes, so the applications could communicate using IP protocol. The port number would be assigned by the Rabbit software and included in the workflow resource's environmental variables after the Setup state (similar to workflow name & namespace). Flux should provide the port number to the compute application via an environmental variable or command line argument. The containerized application would always see the same port number using the hostPort/containerPort mapping functionality included in Kubernetes. To clarify, the Rabbit software is picking and managing the ports picked for hostPort.
This requires a range of ports to be open in the firewall configuration and specified in the rabbit system configuration. The fewer the number of ports available increases the chances of a port reservation conflict that would fail a workflow.

The ports for all the rabbit containers should be the same for a workflow. Then, the compute nodes just need to know how to contact their local rabbit. One potential solution is to have site admin's add a dns entry on each compute node for rabbit.local that resolves to the connected rabbit. Then rabbit-local:PORT would be a simple way for a compute node application to communicate with the container running on the rabbit.

Manual ports can be opened by supplementing the worker PodSpec in a container profile with ports and by using a hard-coded value here and on the compute node.
  containers:
  - name: example-mpi-webserver
    ports:
    - containerPort: 2000
      hostPort: 2000

Since these ports are opened on the host (i.e. NNF node), only 1 port can be open at a time, which means that only 1 container workflow can be active per container profile with the manual approach.
Once the container is running on the NNF node, the compute nodes can hit the port via <NNF_NODE_IP>:<PORT>.
The IP of the NNF node can be obtained by running kubectl get nodes -o wide. For the full solution, it is recommended that each compute node contains a local rabbit host in /etc/hosts to make these easy for applications running on the compute node.


Rewriter reuse example?

I'm trying to understand how and if users are intended to express a set of element handlers to be reused on multiple inputs, across multiple threads. In particular, I'm interested in applying a given transformation to a bunch of html byte streams, but the lifetimes and borrows in the public interface make it difficult to see how to achieve that. Is there example code out there, or a part of the documentation that's relevant to this usage pattern?
Thanks!

Hmm, this seems to work fine as-is - I ran examples/mixed_content_rewriter on this webpage twice with the same rewriter and it produced two copies of the output. Is there something in particular giving you trouble?

The issue is when a user might want to define the rewriting rules on one thread and use them on another (or several others) — because even the rule definitions are !Send, it's unclear how to use this crate in a multithreaded context, or even a 'static context in which the rules need to be owned somewhere other than where the end user defines them.
An example. The workaround I ended up settling on was to have the user provide a Fn() -> Settings<'static, 'static> which is run on each thread. It's an awkward interface, but I imagine the end result of this issue is that lol-html is not the appropriate library to use for an async multithreaded html rewriter

It's true that HtmlRewriter is !Send and !Sync, yes. I'm looking into whether it's possible to remove the Rc<Refcell> around the output sink.

Oh hmm, I missed that Settings is also not Send or Sync, that seems especially unfortunate. I think it would be a breaking change to fix that unfortunately ... the issue is that ElementContentHandlers takes a user-provided function and we don't require that to be Send+Sync.

@jbr hmm, I'm confused though - how would it be useful to share the rewriter between threads? How would you synchronize writing the input so you know the output makes sense?

There are a few distinct concerns here, and I'm not entirely sure that any of them are specific suggestions or feature requests
for any multithreaded application
A user defines 'static Settings on one thread and hands it to a library, which then is able to send the Settings or clones of the Settings to other threads or an Arc of the settings to other threads, which can then use those same settings in their own rewriters. The simplest version of this would create a new rewriter for each http request and drop it at the end of rewriting. Depending on how cheap creating rewriters is, it might make sense to use some sort of rewriter pool, either in LTS or shared. This seems relevant to sync rust as well as async.
async use specifically
Ideally the rewriters would also be Send but I imagine that introduces unacceptable performance costs to the other users of this crate. The motivation behind Send is but because use with most of the async ecosystem requires being able to move a Future that contains the rewriter between work-sharing executor threads. Most async runtimes (tokio, smol, async-std) also offer local (non-work-sharing) executors, which is how lol-async works at all, but the Send bound is prevalent in async contexts, and spawn_local is unstable on async-std.

Ah, so for rewriters you actually only need them to be Send, not Sync?


chore: prepare release 2023-01-20

Summary
This PR has been created using the yarn release script. Once merged, the clients will try to release their new version if their version has changed.
Version Changes

javascript: 5.0.0-alpha.35 -> prerelease (e.g. 5.0.0-alpha.36)
java: 4.0.0-SNAPSHOT -> minor (e.g. 4.0.0-SNAPSHOT)
php: 4.0.0-alpha.34 -> prerelease (e.g. 4.0.0-alpha.35)

Skipped Commits
It doesn't mean these commits are being excluded from the release. It means they're not taken into account when the release process figured out the next version number, and updated the changelog.

Commits without language scope:

chore: revert "chore: prepare release 2023-01-19 (#1247)" (#1248)
chore: prepare release 2023-01-19 (#1247)

Commits with unknown language scope:

npm failed at some point ? YN0001: │ Error: @algolia/requester-node-http@npm:5.0.0-alpha.35: No candidates found


Using native discord.js message system causes the "Thinking issue"

I am not sure where to report or seek help for this issue, but after some more testing and research, the "Bot is thinking" being stuck on unlimited loop is being caused if you use discord.js message system instead of this library's. You may ask why I use it? I use it because its easier to generate/construct an embed. Using the mentioned code below causes the issue.
Now it may not be your issue, but I am not just reporting the issue but as well seeking help to somehow go around this or something so i can stick to the same method I used for dozens of commands:
   let guild = await client.guilds.fetch(GuildID);
   let channel = await guild.channels.cache.get(ctx.channelID)
   channel.send("message")

This isn't an issue with the library. Sending a message with discord.js will not complete the interaction and will leave the deferred message hanging. You have to send a message with slash-create. You can see a workaround with discord.js's MessageEmbed in the FAQ.


ERROR - Error when processing data from MISP Invalid value for Sighting 'sighting_of_ref': reference to custom object type: x-misp-attribute

Verify how attributes with sightings are handled

Linked to https://github.com/MISP/misp-stix/issues/49

Solved in https://github.com/MISP/misp-stix/issues/49 via https://github.com/MISP/misp-stix/commit/1c84a7a140ec166c174ce814a7b95b278ae8525d


Failed to Fetch

Well... that's basically the issue. The API token is set, but I couldn't post a note, got this error instead
Failed to fetch

I have the same issue. Publishing was working, but in the past few days all I get is a failed to fetch error.

Hi @otaviocc, thanks for responding! I've tried logging out then back in with the same app token, and also tried revoking that app token and then generating a new one and still get the same error.
Not sure if this would have an impact, but I'm using Micro.blog on my own domain rather than a micro.blog sub-domain.
Happy to help with logs etc - let me know what you need.

OK!!! You can ignore that last point -- it is now working again. What I hadn't done was close and reopen Obsidian -- it looks like that is necessary in order to make a new token work if you're replacing it. So this looks like a closed issue to me -- thanks again for your help!

Version 2.3.2 fixes a problem with long posts, which would result in Failed to Fetch. Let me know if you face this issue again. Thanks.


error: unexpected field found in configuration

Make sure you have done the following

[X] I have updated to the latest version of blink.cmp
[X] I have read the README

Bug Description
One of the latest updates broke my blink.cmp config. This is the error being printed on buffer enter; it still appears even with my config commented out.
Relevant configuration
return {
    "saghen/blink.cmp",
    dependencies = {
        "mikavilpas/blink-ripgrep.nvim",
    },
    lazy = false, -- lazy loading handled internally

    -- use a release tag to download pre-built binaries
    version = "v0.*",

    opts = {
        keymap = {
            ["<Tab>"] = { "select_next", "snippet_forward", "fallback" },
            ["<S-Tab>"] = { "select_prev", "snippet_backward", "fallback" },
            ["<CR>"] = { "accept", "fallback" },
            ["<C-space>"] = { "show", "show_documentation", "hide_documentation", "fallback" },
            ["<Up>"] = {},
            ["<Down>"] = {},
        },

        completion = {
            menu = {
                border = "rounded",
                -- scrollbar = false,
                winhighlight = "Normal:NormalFloat,FloatBorder:NormalFloat",

                draw = {
                    padding = 0,
                    columns = { { "label" }, { "kind_icon" } },
                }
            },

            documentation = {
                auto_show = true,
                auto_show_delay_ms = 200,
                window = {
                    border = "rounded",

                }
            },

            list = {
                selection = "manual",
            },

            ghost_text = {
                enabled = false,
            }
        },

        appearance = {
            -- Sets the fallback highlight groups to nvim-cmp's highlight groups
            -- Useful for when your theme doesn't support blink.cmp
            -- will be removed in a future release
            use_nvim_cmp_as_default = true,
            -- Set to "mono" for "Nerd Font Mono" or "normal" for "Nerd Font"
            -- Adjusts spacing to ensure icons are aligned
            nerd_font_variant = "mono"
        },

        -- default list of enabled providers defined so that you can extend it
        -- elsewhere in your config, without redefining it, via `opts_extend`
        sources = {
            default = { "lsp", "lazydev", "ripgrep" },
            providers = {
                buffer = { enabled = false },
                snippets = { enabled = false },
                lazydev = {
                    name = "LazyDev",
                    enabled = true,
                    module = "lazydev.integrations.blink"
                },
                lsp = {
                    transform_items = function (_, items)
                        return vim.tbl_filter(function(item)
                            local types = require('blink.cmp.types').CompletionItemKind
                            local kind = item.kind
                            return kind ~= types.Text and kind ~= types.Snippet
                        end, items)
                    end
                },
                ripgrep = {
                    module = "blink-ripgrep",
                    enabled = true,
                    name = "Ripgrep",
                    -- the options below are optional, some default values are shown
                    opts = {
                        -- For many options, see `rg --help` for an exact description of
                        -- the values that ripgrep expects.

                        -- the minimum length of the current word to start searching
                        -- (if the word is shorter than this, the search will not start)
                        prefix_min_len = 3,

                        -- The number of lines to show around each match in the preview window.
                        -- For example, 5 means to show 5 lines before, then the match, and
                        -- another 5 lines after the match.
                        context_size = 5,

                        -- The maximum file size that ripgrep should include in its search.
                        -- Useful when your project contains large files that might cause
                        -- performance issues.
                        -- Examples: "1024" (bytes by default), "200K", "1M", "1G"
                        max_filesize = "1M",

                        -- (advanced) Any additional options you want to give to ripgrep.
                        -- See `rg -h` for a list of all available options. Might be
                        -- helpful in adjusting performance in specific situations.
                        -- If you have an idea for a default, please open an issue!
                        --
                        -- Not everything will work (obviously).
                        additional_rg_options = {}
                    },
                },

                -- TODO:
                -- stop prompting autocomplete on symbols (, ;...)
                -- make lazydev work
            },

            -- experimental signature help support
            signature = {
                enabled = true,
                window = {
                    border = "rounded",
                    winhighlight = "Normal:NormalFloat,FloatBorder:NormalFloat",
                }
            }
        },
    }
}

neovim version
NVIM v0.10.0 Build type: Release LuaJIT 2.1.1713773202
blink.cmp version: branch, tag, or commit
v0.8.2

You didn't provide the full error, so I used your blink configuration and got this error:

This is because you put the signature field under sources, when it should be nested under completion and at the same level as sources. This is described in the documentation. This is not a bug, but an error in your configuration and should be closed.

You didn't provide the full error, so I used your blink configuration and got this error:

This is because you nested the signature field under sources when it should be at the same level. This is described in the documentation. Making this change fixed your config for me. This is not a bug but an error in your configuration.

It doesnt seem to have fixed the issue. This is my new config:
        keymap = {
            ["<Tab>"] = { "select_next", "snippet_forward", "fallback" },
            ["<S-Tab>"] = { "select_prev", "snippet_backward", "fallback" },
            ["<CR>"] = { "accept", "fallback" },
            ["<C-space>"] = { "show", "show_documentation", "hide_documentation", "fallback" },
            ["<Up>"] = {},
            ["<Down>"] = {},
        },

        completion = {
            menu = {
                border = "rounded",
                -- scrollbar = false,
                winhighlight = "Normal:NormalFloat,FloatBorder:NormalFloat",

                draw = {
                    padding = 0,
                    columns = { { "label" }, { "kind_icon" } },
                }
            },

            documentation = {
                auto_show = true,
                auto_show_delay_ms = 200,
                window = {
                    border = "rounded",

                }
            },

            list = {
                selection = "manual",
            },

            ghost_text = {
                enabled = false,
            }
        },

        appearance = {
            -- Sets the fallback highlight groups to nvim-cmp's highlight groups
            -- Useful for when your theme doesn't support blink.cmp
            -- will be removed in a future release
            use_nvim_cmp_as_default = true,
            -- Set to "mono" for "Nerd Font Mono" or "normal" for "Nerd Font"
            -- Adjusts spacing to ensure icons are aligned
            nerd_font_variant = "mono"
        },

        -- experimental signature help support
        signature = {
            enabled = true,
            window = {
                border = "rounded",
                winhighlight = "Normal:NormalFloat,FloatBorder:NormalFloat",
            }
        },

        -- default list of enabled providers defined so that you can extend it
        -- elsewhere in your config, without redefining it, via `opts_extend`
        sources = {
            default = { "lsp", "lazydev", "ripgrep" },
            providers = {
                buffer = { enabled = false },
                snippets = { enabled = false },
                lazydev = {
                    name = "LazyDev",
                    enabled = true,
                    module = "lazydev.integrations.blink"
                },
                lsp = {
                    transform_items = function (_, items)
                        return vim.tbl_filter(function(item)
                            local types = require('blink.cmp.types').CompletionItemKind
                            local kind = item.kind
                            return kind ~= types.Text and kind ~= types.Snippet
                        end, items)
                    end
                },
                ripgrep = {
                    module = "blink-ripgrep",
                    enabled = true,
                    name = "Ripgrep",
                    -- the options below are optional, some default values are shown
                    opts = {
                        -- For many options, see `rg --help` for an exact description of
                        -- the values that ripgrep expects.

                        -- the minimum length of the current word to start searching
                        -- (if the word is shorter than this, the search will not start)
                        prefix_min_len = 3,

                        -- The number of lines to show around each match in the preview window.
                        -- For example, 5 means to show 5 lines before, then the match, and
                        -- another 5 lines after the match.
                        context_size = 5,

                        -- The maximum file size that ripgrep should include in its search.
                        -- Useful when your project contains large files that might cause
                        -- performance issues.
                        -- Examples: "1024" (bytes by default), "200K", "1M", "1G"
                        max_filesize = "1M",

                        -- (advanced) Any additional options you want to give to ripgrep.
                        -- See `rg -h` for a list of all available options. Might be
                        -- helpful in adjusting performance in specific situations.
                        -- If you have an idea for a default, please open an issue!
                        --
                        -- Not everything will work (obviously).
                        additional_rg_options = {}
                    },
                },

                -- TODO:
                -- stop prompting autocomplete on symbols (, ;...)
                -- make lazydev work
            },
        },

Thank you so much.


U96V2: Powersequence the Wifi chip on SD interface

See #17

Hi Felix,
Are these commits meant to fix an error you are seeing, or are you trying to eliminate a warning.  This devicetree has been in use for a long time and with many versions of PetaLinux.

Hi,
I'm using these device trees with a custom linux yocto build. Without this power sequencing the wifi won't work (the Wifi chip wont turn on). It works on petalinux, because petalinux includes the devicetree of the first version of the Ultra96 [1]. If you look through that file you will see that the power sequencing happens there, which is why it's not needed in the u96v2 device tree when it's used as an extension of the v1 devicetree.
I think that the devicetree for the Ultra96v2 shouldn't be dependent on the one of the first board. It should work on its own.
[1] https://github.com/Xilinx/device-tree-xlnx/blob/master/device_tree/data/kernel_dtsi/2019.2/BOARD/avnet-ultra96-rev1.dtsi


how to know the parse is error

string str = ""; //give a empty string
auto j3 = json::parse(str); //exceptin occours

auto j4 = json::parse(str, nullptr, false); //no exception
j4["action"];  //exception  occours

How to know the parse is right?

When you switch off exceptions as you did when parsing to j4, the result type will be discarded in case of a parse error (see documentation of parse). You can check this with j4.is_discarded() which should be true.

ok. Problem Solved


Generate EPUB and MOBI ebooks

As discussed in #273.
It’s far from perfect (for example, no covers) but very readable on both iPad and Kindle.

So now the question is how to generate / update the files. I see two possible solutions:

Generate files on CI / build (will make build slower).
Commit ebook files to the repo (they are big).

What do you think?

@sapegin Maybe we can push it to releases instead of pushing them to the repo...

🎉  This is awesome! Thanks for taking a crack at this.

So now the question is how to generate / update the files.

…

Maybe we can push it to releases instead of pushing them to the repo...

☝ this is what I was thinking. We could start doing regular releases where we generate the book in various formats.

Awesome stuff, @sapegin!

Maybe we can push it to releases instead of pushing them to the repo...

☝ this is what I was thinking. We could start doing regular releases where we generate the book in various formats.

Great idea! I think this can even be automated, with Travis x GitHub Releases!

Great idea! I think this can even be automated, with Travis x GitHub Releases!

Sounds good! Probably should be done not in this PR. It also requires API keys.

This is looking pretty good! I opened #316 to track improvements that we want to make, but am good with this as v1.

#2652

Dbgg


about goodness net

Sorry to bother you.
I am confused about the goodness  network since that the out put of the vggbasedgoodnessnet is a single number  but how does the nms operation works then? do I have to close the F.adaptive-avg-pool2d  option to use the fts tensor after fc2?

@willa2016 I have the same problem. For me it is also not clear how I get the cross-modality scene goodness and how I process further with the correspondance network after training the single networks seperatly. Do you find a solution for this?

During inference pass the parameter "pool=False" to the forward method of the "goodnessNet"
net = VGGBasedGoodnessNet(...)
goodness_heatmap = net(x_patch, pool=False)

Once you have the SAR and Optical goodness heatmaps you merge them using a pixel-wise merge operator (such as min pixel, or max pixel) or using the fuse_goodness operation inside the VGGBasedGoodnessNet class object. Finally use extract_good_points operation to apply NMS and get a point list of the determined good points for matching.
All of this is explained in the paper.


Import Notebook button Malfunction

Describe the bug
Import Notebook button on Synapse Data Science home page is not working.
What happened?
When clicking on the Import Notebook button on Synapse Data Science homepage a blank side panel shows up.
What did you expect to happen?
It should provide further options allowing to import the notebook

How would you reproduce the bug?

'Download the notebook(.ipynb) files for this tutorial from the parent folder: Data Science Tutorial Source Code. Make sure to download the files by using the "Raw" file link in GitHub.'

'Switch to the Data Science experience using the experience switcher icon at the left corner of your homepage.'

'On the Data science experience homepage, select Import notebook and upload the notebook files for parts 1- 5 that you downloaded in step 1.'

'Once the notebooks are imported, select Go to workspace in the import dialog box.'

'The imported notebooks are now available in your workspace for use.'

Did this happen via Desktop and/or Smartphone?
Desktop
Operating System
Windows 11
What browsers are you seeing the problem on?
Microsoft Edge
Version
No response
Device
No response
What is your current role?
Student Ambassador
What technical topic is this bug related to?
AI/Data Science/Machine Learning
Relevant log output
No response

@aadyaasrivastava, can you retry this scenario and confirm?

@vivsridh4 I retired and the issue remains the same.


Events - allow nested pages

Allow events to be either flat files (as we currently do) or directories with sub-files (new).
For example:

markdown/events/2023/

hackathon-march-2023.md (flat file as before)
training-march-2023 (now a directory)

index.md (main event markdown file)
foo.md (any number of arbitrary additional pages, not shown on the event page)

Note:
The sub pages also need the same front-matter to get that to show at the top. I think that's probably ok, as it means that it can be fine-tuned.

One thing I can't figure out is how to stop the trailing / being removed from the URL when it's a directory. I tried commenting out the likely .htaccess lines but that didn't work. It loads fine, but it means that any relative URLs in the markdown fail - absolute URLs are fine.

@nf-core-bot fix linting


Test GoFac ticket #12 - Implement TEST in TaskFile

Make sure all requirements are met for #12

Won't Do.


AttributeError: module 'os' has no attribute 'geteuid'

Bug description
Expected behaviour
Expect to produce docker image.
Actual behaviour
Traceback (most recent call last):
  File "c:\appdata\local\continuum\anaconda3\lib\site-packages\traitlets\traitlets.py", line 528, in get
    value = obj._trait_values[self.name]
KeyError: 'user_id'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\appdata\local\continuum\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\appdata\local\continuum\anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\AppData\Local\Continuum\anaconda3\Scripts\repo2docker.exe\__main__.py", line 9, in <module>
  File "c:\appdata\local\continuum\anaconda3\lib\site-packages\repo2docker\__main__.py", line 345, in main
    r2d = make_r2d()
  File "c:\appdata\local\continuum\anaconda3\lib\site-packages\repo2docker\__main__.py", line 300, in make_r2d
    if r2d.user_id == 0 and not r2d.dry_run:
  File "c:\appdata\local\continuum\anaconda3\lib\site-packages\traitlets\traitlets.py", line 556, in __get__
    return self.get(obj, cls)
  File "c:\appdata\local\continuum\anaconda3\lib\site-packages\traitlets\traitlets.py", line 535, in get
    value = self._validate(obj, dynamic_default())
  File "c:\appdata\local\continuum\anaconda3\lib\site-packages\repo2docker\app.py", line 206, in _user_id_default
    return os.geteuid()
AttributeError: module 'os' has no attribute 'geteuid'

How to reproduce

On a Windows 10 PC, open the Anaconda Command Prompt
Run repo2docker https://github.com/matthewolckers/fbr2020

OS: Windows 10
Docker version: 19.03.8,
repo2docker version 0.11.0

geteuid() is only available on unix like systems. This explains why it doesn't work on Windows. I am not sure if we could easily add an alternative that would work on Windows and leave the current behaviour the same on unix-like systems.
Windows support in repo2docker is "low", mostly because it is hard and because none of the devs have access to a windows machine. If you have some time and spare brain cycles to look into this that would be great.

geteuid() is used to set the default UID inside the Docker container:
https://github.com/jupyterhub/repo2docker/blob/09a4cfb7cf68fb59175df0c7c3b11dd1e2f4ecb5/repo2docker/app.py#L201-L206
A reasonable workaround for windows could be to detect the OS and return an error message requiring --user-id to be specified.

As a workaround, WSL2 can be used without problems.
I might try to fix this issue for Windows in general. Are there more known possible solutions besides the one mentioned by @manics ?

AFAIK the only reason to make the UID inside the Docker image match the user's UID is so that if you mount the user's home directory into the container it'll be writeable. Is that possible on Windows and if so, how are UIDs mapped, since that might lead to a good solution?

Doing a cursory search I found something that might be relevant in pip
Reproducing here the beginning of the referenced function
def check_path_owner(path):
    # type: (str) -> bool
    # If we don't have a way to check the effective uid of this process, then
    # we'll just assume that we own the directory.
    if sys.platform == "win32" or not hasattr(os, "geteuid"):
        return True

Perhaps a similar approach would be sufficient?

I got to move from the original issue by forcing to run with a given GUID in the _user_id_default method.
    @default("user_id")
    def _user_id_default(self):
        """
        Default user_id to current running user.
        """
        if sys.platform == "win32" or not hasattr(os, "geteuid"):
            return 1001
        return os.geteuid()

With this change, the execution then stops working in step 31 when trying to execute install-miniforge.bash.
Step 30/50 : USER root
 ---> Using cache
 ---> 394ba1fe367c
Step 31/50 : RUN TIMEFORMAT='time: %3R' bash -c 'time /tmp/install-miniforge.bash' && rm /tmp/install-miniforge.bash /tmp/environment.yml
 ---> Running in cf91e3dafa9a
bash: /tmp/install-miniforge.bash: Permission denied
time: 0.001

My docker knowledge at this moment doesn't go too deep as to know how to start digging deeper into this error/issue. Anyone here has a hint on how to progress here to diagnose the problem in an effective way?

In other words, repo2docker is useless on Windows.  great


identity

Codecov Report

Merging #1230 (554fa88) into develop (5d8e6b9) will decrease coverage by 0.28%.
The diff coverage is 0.00%.

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 5d8e6b9...554fa88. Read the comment docs.

Codecov Report

Merging #1230 (554fa88) into develop (5d8e6b9) will decrease coverage by 0.28%.
The diff coverage is 0.00%.

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 5d8e6b9...554fa88. Read the comment docs.


Add difficulty modes

Before start, add dificulty modes (easy, medium, hard) which change the amount of puzzle pieces. The default one shoud be easy.

hello! I'd like to take this issue for hacktobertest

Sure! I assigned it to you

Thanks! I opened a pull request - let me know if it works for you.


fix: disable more rules in tests

📦 Published PR as canary version: Canary Versions

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>

:rocket: PR was released in<EMAIL_ADDRESS>:rocket:

:rocket: PR was released in<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>:rocket:


fix(site): add type assertions for JSON module imports

This change: (check at least one)

[ ] Adds a new feature
[x] Fixes a bug
[ ] Improves maintainability
[ ] Improves documentation
[ ] Is a release activity

Is this a breaking change? (check one)

[ ] Yes
[x] No

Is the: (complete all)

[x] Title of this pull request clear, concise, and indicative of the issue number it addresses, if any?
[x] Test suite(s) passing?
[x] Code coverage maximal?
[ ] Changeset added?

What does this change address?
Fixes #313
How does this change work?

Add type assertions to JSON module imports in JavaScript files.
Because some tooling does not yet support type assertions for imports, introduce @babel/eslint-parser.

I'm wondering if size-limit failed because it tried to build the latest version of develop as well, where the failure we're trying to fix would still occur. That is, I wonder if after merging this, new pull requests would succeed.


Yalu102 app broke

The app has for some reason within a few hours of jailbreaking and rebooting start to crash my phone, and not just once
So i deleted the app, and things have started to screw up
The app keeps reappearing
Deleting it from settings will after a while freeze/crash it, and reopening it breaks settings
My phone will also crash sometimes

Also im on iPhone SE ios 10.0.1

Did you remove the developer account from your device? Also this is potentially not a code related problem... see #162

Ok thx
Also i have tried to reinstall,
Multiple times
I just get stuck on installing ipa

I dont know why the app after restarting reappears though


1.4.1+ nuc8i7hnk+ 10.14.6: can not boot。

I am using version 1.4.1, there is a problem when booting the system: can't get into the system, restart repeatedly

Please turn on verbose boot with -v kerpsyms=1 debug=0x1000 and post the crash.

you might be having my same issue, once you are in the clover boot screen, press the space bar and select the option booth with injected kexts

Please test with v2.1 and open a new issue with the issue template if the problem still exists.


⚠ Fortnite has degraded performance

In 39c9883, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1115 ms

Resolved: Fortnite performance has improved in e12b587.


Can not find the converted extension.

The message is complete but I can not find the converted extension.
http://prntscr.com/hujjg9
http://prntscr.com/hujkcn
http://prntscr.com/hujkgj

+1

@ngocduy1604

http://prntscr.com/hujkcn

magento and magento2 have to be outside convertm1m2 directory (or use CLI options).

The script runs and show success message but no converted extension... Any news about this??

Nothing converted.


Module 2 Week 1 Day 2 Morning session

Excellent project, perfect implementations, well done

Thanks, @bill7pearl for reviewing this repository.


Added team logo images

[x] Four sizes of png logo images are added
[x] Updated logo image in README

Looks  awesome! Thank you!  👍 💯


Order by custom date field

I know this has been discussed here before (#1368) but I am having trouble ordering posts by custom date field.
Is this a feature that has since been added or is it still not possible?
For the minute we have had to revert to using the grav date for ordering but it is really not user friendly for the client.

Hi! I have the same problem, did you find any solution?


Ubuntu base 18.04 lts

upgrade to Ubuntu Base 18.04 LTS (Bionic Beaver)

It's Linux 4.6.0+. The same kernel as Parabuntu 2016.11.1. It works on my Parallella board(zynq 7020).

Thank you @xuminready
Fantastic work!!!
Will try to review / merge ASAP!!
Cheers,
Ola

Please split out the changes to packages*.txt to a separate commit
You need to justify the ones you commented out (and if obsolete remove them).
Many of these have been put in by user requests and will break things for some people if we remove them. Just because you don't need it doesn't mean we can remove it. Hope you'll understand.
// Ola

Are there any advantages to updating parallella-linux to 4.15? I understand that @xuminready said that it works fine with the existing kernel, but 4.15 is the recommended kernel for Bionic.

@ThorodanBrom wrote.

This is still using a very old kernel, ie. the parallella-linux kernel has to also be updated to at least 4.15, right?

Yes. We use https://github.com/analogdevicesinc/linux.git as upstream so you should merge their latest stable release. Believe it's 2018_R1.
Also need to rebuild the fpga bitstreams
HDMI bitstreams:
Need to switch to the corresponding hdl branch here:
https://github.com/parallella/parallella-fpga
Headless bitstreams:
Rebuild
https://github.com/parallella/oh/tree/stable/parallella/fpga
Correct vivado version can be found here:
https://github.com/analogdevicesinc/hdl/blob/hdl_2018_r1/library/scripts/adi_ip.tcl#L6
// Ola

@ThorodanBrom Please upgrade Linux kernel if you know how to do it.

@xuminready @olajep I will try to upgrade the kernel in some time. Honestly, I am new to the parallella board, so I'll have to find some instructions on how to do the bitstream building etc.

@xuminready
Thank you,
great job!!!
//Ola
On Thu, Jul 26, 2018 at 3:41 AM ThorodanBrom<EMAIL_ADDRESS>wrote:

@xuminready https://github.com/xuminready @olajep
https://github.com/olajep I will try to upgrade the kernel in some
time. Honestly, I am new to the parallella board, so I'll have to find some
instructions on how to do the bitstream building etc.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/parallella/parabuntu/pull/16#issuecomment-408006916,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAwd2BpqvEoYe5laGeDF3LPHRpHm9MoDks5uKXKygaJpZM4VaILD
.


style: remove firefox-only focus outline #76

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #76
Summary:
This removes the Firefox-only focus outline from auro-button.

Type of change:
Please delete options that are not relevant.

[x] Revision of an existing capability

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Orion Design System Team

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Smart TV support

[ ] Make all UI components navigable using a TV remote when running on a TV device. (The buttons on these remotes usually map to regular keyboard buttons, like the Enter key and the arrow keys.)
[ ] Extend the default UI to use an optimized layout on TV devices.

Some ideas:

Instead of showing a play/pause button, make pressing the OK button (Enter key) on the seekbar toggle play/pause (like the YouTube app).
In the default UI, move all of the controls to the bottom.

Implemented in #40.


[ BUG ] Single User can like Posts More than Once

Description:

If a user likes a  post and then refresh the page he can again like that.

👋 Thank you for raising an issue! We appreciate your effort in helping us improve. Our GitFinder team will review it shortly. Stay tuned!


Split-checkers support produce multiple split keys

What have you changed? (mandatory)
For batch split PR, we just make it possible for split-checker to return multiple keys. But actually the implementation of split-checks doesn't change which is still producing only one key. This PR is support to produce multiple split keys.
What are the type of the changes? (mandatory)

Improvement (non-breaking change which is an improvement to an existing feature)

How has this PR been tested? (mandatory)
unit-test
Does this PR affect documentation (docs/docs-cn) update? (mandatory)
New config
Does this PR affect tidb-ansible update? (mandatory)
Refer to a related PR or issue link (optional)

@BusyJay @overvenus PTAL


Draw.io does not save diagram

Describe the bug
I change a draw.io diagram an click save, but when it closes an go back to bookstack, nothing changes
Steps To Reproduce
Steps to reproduce the behavior:

open site
edit diagram
save

How can i get detailed logs to post here?
Expected behavior
That the changed diagram would show up in bookstack.
Your Configuration (please complete the following information):
-Bookstack: v0.24.1
-PHP 7.1.23
-Hosting Method: Docker

Hi @Biepa, Do normal image uploads save okay?
Are you able to re-produce the issue on the demo site?

Seems like it was only temporary. The time i tried it, it did not work in multiple diagramm on different pages. Don't know why.
Working know again.
May be hard to find out why, so i'll close this issue.

In my tests sometimes the hotkeys don't work, when the diagram is opened.
If I edit without shortcuts, it saves fine. But if I try to delete someting with "del" nothing happens and when I save, the diagram is gone.

We can confirm the issue. These are the steps to reproduce the bug:

In Firefox, create a new drawing
Press the del key; nothing will happen
Press save, the drawing will be deleted from the page

This does not happen in Chrome. It doesn't matter whether you are on Windows or Linux, the problem is with Firefox + Bookstack + Draw.io.
We suspect it's a problem with the way Draw.io is integrated into Bookstack. The del key seems to trigger the deletion of the drawing on the page instead of the element selected in draw.io

Hi there,
Any update on this issue? I've been encountering this problem on the draw.io snapcraft application for at least six months, version 14.6.3.
Thanks

In my case it was worse, nothing gets saved after editing for an hour

I noticed that if the session times out, then the diagram gets discarded with no possibilities of saving it.


Adding some content to data ingestion and machine learning stubs

https://anaconda.org/jsignell/02_data_ingestion_with_intake/notebook
https://anaconda.org/jsignell/04_machine_learning/notebook

@jsignell Looks great!
Other than the comments I've made above, the only thing I might suggest is a note (in classic notebook we used to use bootstrap alerts) saying that the plots won't be responsive without a live server. Some of these plots probably could be made to work on the website using holomaps without bloating things too much, but it might not be worth the effort.


Could not find com.google.android.gms:play-services-tapandpay:18.2.0

I am trying to compile the android version, but I keep getting the following error
Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find com.google.android.gms:play-services-tapandpay:18.2.0.
I am trying to understand where this module is suppose to be?
I tried on both MacOS 16.2 and Ubuntu 22.04

I am trying to compile the android version, but I keep getting the following error
Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find com.google.android.gms:play-services-tapandpay:18.2.0.
I am trying to understand where this module is suppose to be?
I tried on both MacOS 16.2 and Ubuntu 22.04

I had the same problem. TapandPay Is a dependent package that requires authorization. https://developers.google.com/pay/issuers/apis/push-provisioning/android/releases#release_notes

I am trying to compile the android version, but I keep getting the following error
Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find com.google.android.gms:play-services-tapandpay:18.2.0.
I am trying to understand where this module is suppose to be?
I tried on both MacOS 16.2 and Ubuntu 22.04

I had the same problem. TapandPay Is a dependent package that requires authorization. https://developers.google.com/pay/issuers/apis/push-provisioning/android/releases#release_notes

Thank you. I will try this and report back

If you are an authorized partner who needs access, use the button below to request access.

So the app can currently not be reproduced or even compiled by anonymous users or by users that are not play-services-tapandpay "authorized partners"?

If you are an authorized partner who needs access, use the button below to request access.

So the app can currently not be reproduced or even compiled by anonymous users or by users that are not play-services-tapandpay "authorized partners"?

If you are not using this component, you can remove it from the code. After I commented it, it was able to start.

If you are an authorized partner who needs access, use the button below to request access.

So the app can currently not be reproduced or even compiled by anonymous users or by users that are not play-services-tapandpay "authorized partners"?

If you are not using this component, you can remove it from the code. After I commented it, it was able to start.

can you point out to the correct component?

If you are an authorized partner who needs access, use the button below to request access.

So the app can currently not be reproduced or even compiled by anonymous users or by users that are not play-services-tapandpay "authorized partners"?

If you are not using this component, you can remove it from the code. After I commented it, it was able to start.

can you point out to the correct component?

Remove files
android/app/src/main/java/com/bitpay/wallet/GooglePushProvisioningModule.java
android/app/src/main/java/com/bitpay/wallet/GooglePushProvisioningPackage.java
src/lib/google-push-provisioning/GooglePushProvisioning.ts
Code comments
in android/app/src/main/java/com/bitpay/wallet/MainApplication.java
// packages.add(new GooglePushProvisioningPackage());
in src/store/card/card.effects.ts
// import GooglePushProvisioningModule from '../../lib/google-push-provisioning/GooglePushProvisioning';
// const {lastFourDigits, name} = data;
// const opc =
//   provisioningData.user.card.provisioningData.opaquePaymentCard;
// await GooglePushProvisioningModule.startPushProvision(
// opc,
// name,
// lastFourDigits,
//);

Well, for my purpose changing the code sadly is not helpful.

The file is supposedly published by someone in (didn't verified it's legit version published by Google): https://github.com/vicinity/vcx-hosted-maven/blob/main/play-services-tapandpay-18.2.0.aar and can be used to build latest version on github 14.12.0 and version 14.11.4 as:

download aar file to folder ./bitpay-app/android/app/:
run sed to use the file by modify of  ./bitpay-app/android/app/build.gradle such as with command:

sed -i "s/implementation 'com.google.android.gms:play-services-tapandpay:18.2.0'/implementation(files('play-services-tapandpay-18.2.0.aar'))/g" /home/appuser/bitpay-app/android/app/build.gradle;

App can be built fully by:
podman build --pull --ulimit nofile=16384:16384 --rm -t bitpay -f Containerfile
APK generated in: /home/appuser/bitpay-app/android/app/build/outputs/apk/release/app-release.apk
FROM node:18.16.1-slim

RUN set -ex; \
    apt-get update; \
    DEBIAN_FRONTEND=noninteractive \
        apt-get install --yes -o APT::Install-Suggests=false --no-install-recommends \
        openjdk-17-jdk \
        git \
        wget \
        ca-certificates; \
    rm -rf /var/lib/apt/lists/*; \
    useradd -ms /bin/bash appuser;

USER appuser

ENV ANDROID_SDK_ROOT="/home/appuser/sdk" \
    ANDROID_HOME="/home/appuser/sdk" \
    NODE_ENV="development"

RUN set -ex; \
    mkdir -p "/home/appuser/sdk/licenses"; \
    printf "\n24333f8a63b6825ea9c5514f83c2829b004d1fee" > \
      "/home/appuser/sdk/licenses/android-sdk-license"; \
    cd /home/appuser/; \
    git clone --depth 1 --branch v.14.11.4 https://github.com/bitpay/bitpay-app/;

WORKDIR /home/appuser/bitpay-app

RUN set -ex; \
    yarn install; \
    cd android/app; \
    wget https://github.com/vicinity/vcx-hosted-maven/raw/main/play-services-tapandpay-18.2.0.aar; \
    echo "8547cfd099a63bf57c6b35acf54c362d50d4eb5f363745c7a83f06429ece9853  play-services-tapandpay-18.2.0.aar" | sha256sum -c; \
    printf "\nAPP_UPLOAD_STORE_FILE=bitpay.pfx\nAPP_UPLOAD_STORE_PASSWORD=bitpay_alias\nAPP_UPLOAD_KEY_ALIAS=bitpay_alias\nAPP_UPLOAD_KEY_PASSWORD=bitpay_alias" >> /home/appuser/bitpay-app/android/gradle.properties; \
keytool -genkey -alias bitpay_alias -keystore /home/appuser/bitpay-app/android/app/bitpay.pfx -storetype PKCS12 -keyalg RSA -keysize 2048 -storepass bitpay_alias -keypass bitpay_alias -validity 10000 -dname "CN=Stephen Pair, OU=Copay, O=Bitpay, L=Atlanta, ST=Georgia, C=US"; \
    sed -i "s/implementation 'com.google.android.gms:play-services-tapandpay:18.2.0'/implementation(files('play-services-tapandpay-18.2.0.aar'))/g" /home/appuser/bitpay-app/android/app/build.gradle; \
    sed -i "s/BRAZE_API_KEY_REPLACE_ME/b0df801c-1b66-4f66-97a7-d919f8c48992/g" /home/appuser/bitpay-app/android/app/src/main/res/values/braze.xml; \
    sed -i "s/BRAZE_SENDER_ID_REPLACE_ME/149194066736/g" /home/appuser/bitpay-app/android/app/src/main/res/values/braze.xml; \
    sed -i "s/GOOGLE_MAPS_API_KEY_REPLACE_ME/AIzaSyCz8x_R-MGA-D_vo1EQEakBSmlgAX7rmH0/g" /home/appuser/bitpay-app/android/app/src/main/AndroidManifest.xml; \
    sed -i "s/ALLOWED-URL-PREFIXES-REPLACE-ME/https:\/\/bitpay.com,https:\/\/test.bitpay.com,https:\/\/staging.bitpay.com,https:\/\/bws.bitpay.com,https:\/\/www.coinbase.com,https:\/\/api.coinbase.com,https:\/\/api.1inch.io\/v4.0\/,https:\/\/api.coingecko.com\/api\/v3\/simple\/token_price\/,https:\/\/checkout.simplexcc.com,https:\/\/sandbox.test-simplexcc.com,https:\/\/api.testwyre.com,https:\/\/api.sendwyre.com,https:\/\/api.zenledger.io\/bitpay\/wallets\/,https:\/\/rest.iad-05.braze.com,https:\/\/sdk.iad-05.braze.com,https:\/\/cdn-settings.segment.com,https:\/\/api.segment.io,https:\/\/cloudflare-eth.com\/,https:\/\/polygon-rpc.com\/,https:\/\/matic-mumbai.chainstacklabs.com/g" /home/appuser/bitpay-app/android/app/src/main/AndroidManifest.xml; \

RUN set -ex; \
    cd /home/appuser/bitpay-app/android/ ; \
    ./gradlew assembleRelease

Notes for RB of version v.14.12.0 to change above script:

Path should be /Users/johnathanwhite/dev/bitpay-app instead of /home/appuser/bitpay-app/
node version 18.14.2 instead of 18.16.1


fix dispatch-export.yml to include --export-release instead of --export

Hi @Microwonk thanks for the PR.


how to show both original column title(A, B, C, D....) and name title column we defined

Hi team
I'm new to jexcel v3.
I want to show  original column(A, B, C, D...) above named title column i defined, how i can do that?
Thank

Hi team
I'm new to jexcel v3.
I want to show original column(A, B, C, D...) above named title column i defined, how i can do that?
Thank

I think you can use NESTED HEADERS, example as below.
https://jsfiddle.net/tsepakkwan/25xv9tu8/
NESTED HEADERS doc.
https://bossanova.uk/jexcel/v3/examples/headers

Many thanks!


testng-failed.xml includes setup and tearDown (before and after annotations) of passed tests

TestNG Version
6.10
Expected behavior
testng-failed.xml should only include before and after annotation and @test of failed test class
Actual behavior
testng-failed.xml includes setup and tearDown (before and after annotations) of passed tests
Is the issue reproductible on runner?

[ ] Shell
[x] Maven
[ ] Gradle
[ ] Ant
[x] Eclipse
[ ] IntelliJ
[ ] NetBeans

Test case sample
public class FailedReporterTest1 {
	@BeforeTest
	public void setup() {
	}
	@Test
	public void newTest1() {
		System.out.println("In the first test.....");
	}
	@AfterTest
	public void tearDown() {
		System.out.println("Done...1");
	}
}

public class FailedReporterTest2 {

	@BeforeTest
	public void setup() {
	}
	@Test
	public void newTest2() {
		System.out.println("In the second test.....");
		Assert.fail();
	}
	@AfterTest
	public void tearDown() {
		System.out.println("Done...2");
	}

}

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="failedReporterTestSuite">
	<test name="failedReporterTest">
		<classes>
			<class name="com.testng.playground.tests.FailedReporterTest1" />
			<class name="com.testng.playground.tests.FailedReporterTest2" />
		</classes>
	</test>
</suite>

Generated testng-failed.xml :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite guice-stage="DEVELOPMENT" name="Failed suite [failedReporterTestSuite]">
  <test name="failedReporterTest(failed)">
    <classes>
      <class name="com.testng.playground.tests.FailedReporterTest1">
        <methods>
          <include name="tearDown"/>
          <include name="setup"/>
        </methods>
      </class> <!-- com.testng.playground.tests.FailedReporterTest1 -->
      <class name="com.testng.playground.tests.FailedReporterTest2">
        <methods>
          <include name="setup"/>
          <include name="newTest2"/>
          <include name="tearDown"/>
        </methods>
      </class> <!-- com.testng.playground.tests.FailedReporterTest2 -->
    </classes>
  </test> <!-- failedReporterTest(failed) -->
</suite> <!-- Failed suite [failedReporterTestSuite] -->

https://github.com/cbeust/testng/blob/master/src/main/java/org/testng/reporters/FailedReporter.java#L153 ---> was not getting all the tests in one of the older testng versions. But now it's getting all the tests. Is that how it's supposed to be?

@praveen133t - I don't think this is an issue.
Your FailedReporterTest1 is declared as below
public class FailedReporterTest1 {
	@BeforeTest
	public void setup() {
	}
	@Test
	public void newTest1() {
		System.out.println("In the first test.....");
	}
	@AfterTest
	public void tearDown() {
		System.out.println("Done...1");
	}
}

And in your suite xml file, you have included this class as part of the same <test> tag.
So the @BeforeTest and @AfterTest are bound to be executed for any failed test classes that are part of the same <test> tag which explains why you are seeing
 <class name="com.testng.playground.tests.FailedReporterTest1">
        <methods>
          <include name="tearDown"/>
          <include name="setup"/>
        </methods>
      </class> <!-- com.testng.playground.tests.FailedReporterTest1 -->

Remember  that @BeforeTest are going to be executed for all the @Test methods that are part of the same <test> tag.
The only time when this would be an issue is when you use @BeforeClass and @AfterClass within FailedReporterTest1 and that gets referred to in your testng-failed.xml

Passed configuration methods appear in testng-failed.xml, when failure was after passed test. See unit test

@dsankouski Configuration methods used by the failure tests are included because we need them if we want to rerun failing tests. #2618 fix it and didn't break tests from #1326. What is the expected behavior?

btw, I found this by accident, because test testExclusionOfPassedConfigsInvolvingGroupsAtTestLevel creates suite with package, and it seems  test run order is undefined in this case. So test is flickering.

@dsankouski

No passed tests should appear in testng-failed.xml

This is not true. If a test has a dependsOnMethods or dependsOnGroups and if that test failed, then the upstream dependencies need to be re-run too for this test to be re-evaluated no ? In that case, the upstream method should appear in the testng-failed.xml irrespective of whether it passed or not.

Ok, let's rephrase it like: No passed tests should appear in testng-failed.xml unless they depends on failed tests.
I think, dependsOn cases needs it's own tests.

@dsankouski
I would just say All pre-requistes for a failed test case should be present in the testng-failed.xml
Here pre-requisite can be :

Method level, class level configurations as applicable
test level and suite level configuration methods (These are absolutely needed)
Upstream @Test methods upon which this failed test method dependsOn


fix: fix get_object_to_file error

Add async copyfileobj_and_verify and async copyfileobj for Bucket. Remove close method of _Base.

Thank you for your valuable suggestions. I have revised the code according to your comments.

Thanks a lot to find this problem and fix it~

Thanks a lot to find this problem and fix it~

Thank you for your valuable suggestions. I have revised the code according to your comments.

@Yaocool Thank you for your valuable suggestions. I have revised the code according to your comments.


Create Basic Database Schema

(Posited by @ZYancey)
Many stories (Starboard, Tracking, Smites) depend on a Database, establishing this should be a high priority as it will unlock future work
It could be nice if it regularly created snapshots of the database on a schedule or through a slash command.

Good idea.
Have we decided yet on where and how our database will be stored? This may affect non-database agnostic things that Prisma will want to know, like how table indexes will be laid out. Some options that I've seen thrown around:

PostgreSQL - IDK what's different with this vs other SQL offerings, could someone enlighten me?
MySQL - runs on a server, whether locally or on another machine. PlanetScale uses this
SQLite - stores data locally on a given file path. Performant, reliable, and zero network, nice for a small project.
MongoDB - this and other NoSQL options usually run on a remote server, but I think MongoDB can be run on a local server without much fuss.

Ze Kaiser uses lowdb, which keeps everything in a JSON file on disk. This is nice for JS ergonomics, but really only viable for tiny projects with synchronous writes, not like a Discord bot with multiple concurrent users. I mention it here as an "option" only in comparison to the other serious database options out there.

My vote goes towards SQLite, Its a discord bot so I think there is merit in avoiding overcomplicating things. And a lot of the other DB options tend to be a bit heavier in my experience. If we can set up a cron job to backup the DB every so often I have no issue with the DB being stored locally on the same filesystem as the bot


Increment version for core releases

Increment package version after release of azure-core

/check-enforcer override


Taking old code reference in release mode

When build the app in release mode it is not showing the latest code in the app, however it is working fine in debug mode.

Can you provide more details?

I am not what details I should posted here for the issue. For now I am attaching the screenshot for your perusal.

It's not really clear to me what problem you're describing here.

Closing this issue because it has been inactive for a while. If you think it should still be opened let us know why.