Upgrade NullAway 0.9.8 -> 0.10.25

This PR contains the following updates:

Package
Type
Update
Change

NullAway

minor
0.9.8 -> 0.10.25

NullAway
compile
minor
0.9.8 -> 0.10.25

Release Notes

uber/NullAway (NullAway)
v0.10.25
Compare Source

JSpecify: Handle @nullable assignments to @nonnull arrays (#929)
Handle JDK 21 case operands in type refinement (#928)
Track access paths of the form Foo.this.bar (#937)
Add test for boolean contract with extra message argument (#945)
Collectors.toMap handling for streams (#938)
Handle methods that fail unconditionally in ContractHandler (#946)
Build / CI tooling upgrades:

Update various dependencies (#939)

v0.10.24
Compare Source

Add library model for Files.isDirectory (#913)
JSpecify test case for generic methods (#918)
Check dereference of qualifier expression in method reference (#920)
JSpecify: skip checking when type is primitive (#924)
Fix another JSpecify raw type issue (#925)
Fix handling of references to methods of array types and type variables (#926)
Build / CI / Documentation upgrades/fixes:

Fix lombok config example more correctly on README (#911)
Update to Gradle 8.6 (#914)
Update to Error Prone 2.25.0 (#916)
Add codecov token (#921)

v0.10.23
Compare Source

Update for missing a couple possibly unsafe xml parser (#902)
Add foojay-resolver-convention plugin (#905)
JSpecify: Reason about nullability of reads from arrays (#875)
Fix handling of static imports from subclasses (#904)
Adding support for nullable type upper bounds considering Library models (#903)
Support for extra Futures classes (#909)
Build / CI tooling upgrades:

Bump various CI workflow versions (#906)

v0.10.22
Compare Source
IMPORTANT: The support for JDK 8 is deprecated in this release and will be removed in
an upcoming release.

Fix bug with implicit equals() methods in interfaces (#898)
Fix crash with raw types in overrides in JSpecify mode (#899)
Docs fix: Update instructions for Android and our sample app (#900)

v0.10.21
Compare Source
IMPORTANT: This release fixes a crash when running against <2.24.0 release of
Error Prone (see #894) introduced in NullAway v0.10.20 and another crash related to
Checker Framework (see #895) introduced in NullAway v0.10.19.

Fix backwards-incompatible calls to ASTHelpers.hasDirectAnnotationWithSimpleName (#894)
Downgrade to Checker Framework 3.40.0 (#895)

v0.10.20
Compare Source

Fix JSpecify support on JDK 21 (#869)
Build / CI tooling upgrades for NullAway itself:

Update to WALA 1.6.3 (#887)
Update to Error Prone 2.24.1 (#888)

v0.10.19
Compare Source

Update to Checker Framework 3.41.0 (#873)
Extend library models to mark fields as nullable (#878)

Main use case is NullAwayAnnotator

Fix jarinfer cli output determinism (#884)
Add support for AssertJ as() and describedAs() in AssertionHandler (#885)
Support for JSpecify's 0.3.0 annotation [experimental]

JSpecify: In generics code, get rid of checks for ClassType (#863)

Update some dependencies (#883)

v0.10.18
Compare Source

Fix assertion check for structure of enhanced-for loop over a Map keySet (#868)

v0.10.17
Compare Source

Fix bug with computing direct type use annotations on parameters (#864)
Model Apache Flink's RichFunction.open as an @Initializer method (#862)
Support for JSpecify's 0.3.0 annotation [experimental]

JSpecify: adding com.google.common to annotated packages in build.gradle (#857)
JSpecify: handling the return of a diamond operator anonymous object method caller (#858)
Create com.uber.nullaway.generics package (#855)
Clarifications and small fixes for checking JSpecify @Nullable annotation (#859)
Apply minor cleanups suggested by IntelliJ in generics code (#860)

v0.10.16
Compare Source
NOTE: Maven Central signing key rotated for this release following a revocation.

Minor cleanup in AccessPathElement (#851)
Support for JSpecify's 0.3.0 annotation [experimental]

JSpecify: handle return types of method references in Java Generics (#847)
JSpecify: handle Nullability for lambda expression parameters for Generic Types (#852)
JSpecify: Modify Array Type Use Annotation Syntax (#850)
JSpecify: handle Nullability for return types of lambda expressions for Generic Types (#854)

Build / CI tooling for NullAway itself:

Update to Gradle 8.4 and Error Prone 2.23.0 (#849)

v0.10.15
Compare Source

[IMPORTANT] Update minimum Error Prone version and Guava version (#843)
NullAway now requires Error Prone 2.10.0 or later
Add Spring mock/testing annotations to excluded field annotation list (#757)
Update to Checker Framework 3.39.0 (#839) [Support for JDK 21 constructs]
Support for JSpecify's 0.3.0 annotation [experimental]

Properly check generic method overriding in explicitly-typed anonymous classes (#808)
JSpecify: handle incorrect method parameter nullability for method reference (#845)
JSpecify: initial handling of generic enclosing types for inner classes (#837)

Build / CI tooling for NullAway itself:

Update Gradle and a couple of plugin versions (#832)
Run recent JDK tests on JDK 21 (#834)
Fix which JDKs are installed on CI (#835)
Update to Error Prone 2.22.0 (#833)
Ignore code coverage for method executed non-deterministically in tests (#838 and #844)
Build NullAway with JSpecify mode enabled (#841)

v0.10.14
Compare Source
IMPORTANT: This version introduces EXPERIMENTAL JDK21 support.

Bump Checker Framework dependency to 3.38.0 (#819)

Note: Not just an internal implementation change. Needed to support JDK 21!

Treat parameter of generated Record.equals() methods as @Nullable (#825)
Build / CI tooling for NullAway itself:

Fixes Codecov Report Expired error (#821)
Updated Readme.md with Codecov link (#823)
Remove ASM-related hack in build config (#824)
Run tests on JDK 21 (#826)

v0.10.13
Compare Source

Allow library models to define custom stream classes (#807)
Avoid suggesting castToNonNull fixes in certain cases (#799)
Ensure castToNonNull insertion/removal suggested fixes do not remove comments (#815)
Support for JSpecify's 0.3.0 annotation [experimental]

Generics checks for method overriding (#755)
Make GenericsChecks methods static (#805)
Add visitors for handling different types in generic type invariance check (#806)

Build / CI tooling for NullAway itself:

Bump versions for some dependencies (#800)
Update to WALA 1.6.2 (#798)
Update to Error Prone 2.21.1 (#797)
Enable contract checking when building NullAway (#802)
Bump Error Prone Gradle Plugin version (#804)
Modify JMH Benchmark Workflow For Shellcheck (#813)
Bump gradle maven publish plugin from 0.21.0 to 0.25.3 (#810)
Use Spotless to enforce consistent formatting for Gradle build scripts (#809)
Remove unnecessary compile dependence for jar-infer-cli (#816)
Added Codecov to CI Pipeline (#820)

v0.10.12
Compare Source
Note: This is the first release built with Java 11. In particular, running
JarInfer now requires a JDK 11 JVM. NullAway is still capable of analyzing JDK 8
source/target projects, and should be compatible with the Error Prone JDK 9 javac
just as the release before, but a JDK 11 javac is recommended.

Update to WALA 1.6.1 and remove ability to build on JDK 8 (#777)
Fix compatibility issue when building on JDK 17 but running on JDK 8 (#779)
Fix JDK compatibility issue in LombokHandler (#795)
Improve auto-fixing of unnecessary castToNonNull calls (#796)
Support for JSpecify's 0.3.0 annotation [experimental]

JSpecify: avoid crashes when encountering raw types (#792)
Fix off-by-one error in JSpecify checking of parameter passing (#793)

Build / CI tooling for NullAway itself:

Fix Publish Snapshot CI job (#774)
Add step to create release on GitHub (#775)
Build the Android sample app on JDK 17 (#776)
Update to Error Prone 2.20.0 (#772)
Add tasks to run JDK 8 tests on JDK 11+ (#778)
Switch to Spotless for formatting Java code (#780)
Added GCP JMH Benchmark Workflow (#770)
Set concurrency for JMH benchmarking workflow (#784)
Disable daemon when running benchmarks (#786)
Update to Gradle 8.2.1 (#781)

v0.10.11
Compare Source

NULL_LITERAL expressions may always be null (#749)
Fix error in Lombok generated code for @Nullable @Builder.Default (#765)
Support for specific libraries/APIs:

Added support for Apache Validate (#769)
Introduce FluentFutureHandler as a workaround for Guava FluentFuture (#771)

Internal code refactorings:

[Refactor] Pass resolved Symbols into Handler methods (#729)
Prepare for Nullable ASTHelpers.getSymbol (#733)
Refactor: streamline mayBeNullExpr flow (#753)
Refactor LibraryModelsHandler.onOverrideMayBeNullExpr (#754)
Refactor simple onOverrideMayBeNullExpr handlers (#747)

Support for JSpecify's 0.3.0 annotation [experimental]

JSpecify generics checks for conditional expressions (#739)
Generics checks for parameter passing (#746)
Clearer printing of types in errors related to generics (#758)

NullAwayInfer/Annotator data serialization support [experimental]

Update path serialization for class files (#752)

Build / CI tooling for NullAway itself:

Update to Gradle 8.0.2 (#743)
Fix CI on Windows (#759)
Upgrade to Error Prone 2.19.1 (#763)
Upgrade maven publish plugin to 0.21.0 (#773)

v0.10.10
Compare Source

Add command line option to skip specific library models. (#741)
Support for specific libraries/APIs:

Model Map.getOrDefault (#724)
Model Class.cast (#731)
Model Class.isInstance (#732)

Internal code refactorings:

Refactor code to use Map.getOrDefault where possible (#727)
Break loops when result can no longer change (#728)

Support for JSpecify's 0.3.0 annotation [experimental]

JSpecify: initial checks for generic type compatibility at assignments (#715)
Add JSpecify checking for return statements (#734)

NullAwayInfer/Annotator data serialization support [experimental]

Refactoring in symbol serialization (#736)
Refactoring tabSeparatedToString logic to prepare for serialization version 3 (#738)
Update method serialization to exclude type use annotations and type arguments (#735)

Docs fix: -XepExcludedPaths was added in 2.1.3, not 2.13 (#744)

v0.10.9
Compare Source

Add support for external init annotations in constructors (#725)
Ignore incompatibly annotated var args from Kotlin code. (#721)
Support for specific libraries/APIs:

Add Throwable.getCause and getLocalizedMessage() library models (#717)
Support more test assertions in OptionalEmptinessHandler (#718)
Support isInstanceOf(...) as implying non-null in assertion libraries (#726)

[Refactor] Avoid redundant Map lookups (#722)
Build / CI tooling for NullAway itself:

Update to Error Prone 2.18.0 (#707)

v0.10.8
Compare Source

Don't do checks for type casts and parameterized trees in unannotated code (#712)
Add an initial nullaway:nullaway-annotations artifact. (#709)

Contains only an implementation of @Initializer for now.

NullAwayInfer/Annotator data serialization support [experimental]

Update region selection for initialization errors. (#713)
Update path serialization for reported errors and fixes. (#714)

Build / CI tooling for NullAway itself:

Turn up various Error Prone checks (#710)

v0.10.7
Compare Source
(Bug fix release)

Resolve regression for type annotations directly on inner types. (#706)

v0.10.6
Compare Source

Handle BITWISE_COMPLEMENT operator (#696)
Add support for AssertJ (#698)
Fix logic for @Nullable annotation on type parameter (#702)
Preserve nullness checks in final fields when propagating nullness into inner contexts (#703)
NullAwayInfer/Annotator data serialization support [experimental]

Add source offset and path to reported errors in error serialization. (#704)

Build / CI tooling for NullAway itself:

[Jspecify] Update test dep to final JSpecify 0.3.0 release (#700)
= Intermediate PRs: 0.3.0-alpha-3 (#692), 0.3-alpha2 (#691)
Update to Gradle 7.6 (#690)

v0.10.5
Compare Source

Report more unboxing errors in a single compilation (#686)
Remove AccessPath.getAccessPathForNodeNoMapGet (#687)
NullAwayInfer/Annotator data serialization support [experimental]

Fix Serialization: Split field initialization region into smaller regions (#658)
Add serialization format version to fix serialization output (#688)
Fix serialization field region computation bug fix (#689)

EXPERIMENTAL support for JSpecify's 0.3.0 annotations

[Jspecify] Update tests to JSpecify 0.3.0-alpha-1 (#673)
[Jspecify] Add checks for proper JSpecify generic type instantiations (#680)
(Note: Annotation support for generics is not complete/useful just yet)

v0.10.4
Compare Source
(Bug fix release)

Fix LibraryModels recording of dataflow nullness for Map APs (#685)
Proper checking of unboxing in binary trees (#684)
Build / CI tooling for NullAway itself:

Bump dependency versions in GitHub Actions config (#683)

v0.10.3
Compare Source

Report an error when casting @Nullable expression to primitive type (#663)
Fix an NPE in the optional emptiness handler (#678)
Add support for boolean constraints (about nullness) in Contract annotations (#669)
Support for specific libraries/APIs:

PreconditionsHandler reflects Guava Preconditions exception types (#668)
Handle Guava Verify functions (#682)

Dependency Updates:

checkerframework 3.26.0 (#671)

Build / CI tooling for NullAway itself:

Build and test against Error Prone 2.15.0 (#665)
Bump Error Prone and EP plugin to 2.16 (#675)

v0.10.2
Compare Source

Make AbstractConfig collection fields explicity Immutable (#601)
NullAwayInfer/Annotator data serialization support [experimental]

Fix crash in fixserialization when ClassSymbol.sourcefile is null (#656)

v0.10.1
Compare Source

[IMPORTANT] Update minimum Error Prone version and Guava version (#843)
NullAway now requires Error Prone 2.10.0 or later
Add Spring mock/testing annotations to excluded field annotation list (#757)
Update to Checker Framework 3.39.0 (#839) [Support for JDK 21 constructs]
Support for JSpecify's 0.3.0 annotation [experimental]

Properly check generic method overriding in explicitly-typed anonymous classes (#808)
JSpecify: handle incorrect method parameter nullability for method reference (#845)
JSpecify: initial handling of generic enclosing types for inner classes (#837)

Build / CI tooling for NullAway itself:

Update Gradle and a couple of plugin versions (#832)
Run recent JDK tests on JDK 21 (#834)
Fix which JDKs are installed on CI (#835)
Update to Error Prone 2.22.0 (#833)
Ignore code coverage for method executed non-deterministically in tests (#838 and #844)
Build NullAway with JSpecify mode enabled (#841)

v0.10.0
Compare Source

Switch parameter overriding handler to use Nullness[] (#648) [performance opt!]
EXPERIMENTAL support for JSpecify's 0.3.0 @NullMarked and @NullUnmarked semantics

[JSpecify] Support @NullMarked on methods. (#644)
[JSpecify] Support @NullUnmarked. (#651)
Allow AcknowledgeRestrictiveAnnotations to work on fields (#652)

Dependency Updates:

Update to WALA 1.5.8 (#650)

Build / CI tooling for NullAway itself:

Update to Gradle 7.5.1 (#647)
Add Gradle versions plugin and update some "safe" dependencies (#649)

v0.9.10
Compare Source

Improved support for library models on annotated code:

Make library models override annotations by default. (#636)
Generalize handler APIs for argument nullability on (un-)annotated code (#639)

[Follow-up] Optimizations for parameter nullness handler / overriding (#646)

Generalize handler APIs for return nullability on (un-)annotated code (#641)

Support for specific libraries/APIs:

Add library model for Guava's Closer.register (#632)
Support for Map.computeIfAbsent(...) (#640)

NullAwayInfer/Annotator data serialization support [experimental]

Augment error serializarion info (#643)

Dependency Updates:

Update to Checker Framework 3.24.0 (#631)

Fix javadoc and CONTRIBUTING.md typos (#642)

v0.9.9
Compare Source

Fix handling of empty contract arguments (#616)
Fix inconsistent treament of generated code in RestrictiveAnnotationHandler (#618)
Allow Library Models to override annotations. (#624)
Allow tracking field accesses outside the this instance and static fields (#625)
Add Guava 31+ support by treating @ParametricNullness as @nullable (#629)
Refactoring:

Clean up: Remove method parameter protection analysis (#622)
Clean up: Remove nullable annotation configuration in fix serialization. (#621)

Build / CI tooling for NullAway itself:

Add a microbenchmark for type inference / dataflow (#617)

[ ] If you want to rebase/retry this PR, check this box

Suggested commit message:
Upgrade NullAway 0.9.8 -> 0.9.9

See:
- https://github.com/uber/NullAway/blob/master/CHANGELOG.md
- https://github.com/uber/NullAway/compare/v0.9.8...v0.9.9

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


Are there any plan for using angular7?

Hi ElderJames,
At first, we planing to build a SSR CMS. But when we started, there is no stable solution.
And now, after cleanup the source and release version 1, we'll back to this plan.
Btw, we're confusing between Blazor or Angular 7. Any suggestion for this ?
Thanks.

Blazor is good! Of course, I'm glad you're thinking about using it.
But so far, it doesn't have a good component library and any SSR solution.
If you have the idea of developing a good component library for Blazor,I want to get involved.

Hi @ElderJames thanks a lot for your support. Actually, we have started the plan for Blazor 1 year ago.
FYI: https://github.com/Swastika-IO/Swastika-IO-Admin-Blazor
However, at the time being, Blazor still having some issues and conflict with MVC, so we temporary paused the plan until it gets better. For now, it is still under "Experimental" label. But with your support, I think we can start it again soon.

If you do add Angular, please don't make it mandatory; I'm not much of a fan of it.

Hi team, we are planning to use VueJS / Blazor in the near future :)
Cheers!

Hi team, we are planning to use VueJS / Blazor in the near future :)
Angular versions keep upgrade and not sure if it is stable to start with or not. Will also considering.
Cheers!

Hi there.
Did you do some screening of the VueJS/Blazor and their ratio?
ReactJS is more popular than VueJS. And Blazor is not production ready.
What are you relying on when you plan to use something?

Hi @NickMaev , FYI
At the moment, we are developing a totally new Portal v2 with Angular 12.
I, personally think that Svelte also really potential, so I'm doing a bit R&D here: https://github.com/mixcore/mix.portal.svelte
And because all of the front-end UI frameworks going to changes and run really fast, so our team decided to develop a universal front-end library to be the core of all frameworks here https://github.com/mixcore/mix.lib.ts (this is built with Typescript). With this library. We don't need to care much about Angular / React / VueJS / Svelte / Blazor... as it will only matter at the front-end skeleton. All of the business logic of Portal will be handle at mix.lib.ts so it will easier for contributors to use any FE stacks that they would love to use.
All of these new things will focus on Mixcore v2 that we plan to release by the end of this year.

What are you relying on when you plan to use something?
Honestly, FE frameworks now are too much and growing really fast. All of them have both pros & cons. So it really hard to decide.

However, Angular will be our first in mind at the moment because I think if we going to deal with super super enterprise platform, we should use Angular or React. But React is not in our interest (for some personal reason haha).
VueJS is cool and nice! But still not for enterprise platforms.
Svelte is on my list since this year. However, it still really really young! Like Angular 2 at the time we decided to switch from Angular 2 to Angular JS. And wait until now to use Angular 12 instead because it is more stable and a lot of big company are using it now.
Svelte Kit just still in Beta, and there is many issues so it still R&D for my hobby at the moment.
Blazor has been removed from our team list. As the performance still not impressed us yet. And not ready for Production (I think).
Btw, my previous comment is from Feb 2020 lol. So a lot has been changed.
Also, I would love to hear your advice as well.
Cheers!

FYI, we are developing the new portal in Angular 14. We will release it asap this year and keep everyone updated.


Latest Versions are not available in Marketplace

Hello 👋
I was waiting long time to get latest update and realised that maybe something is wrong since It has been so long.
When I check the latest version in web it is 35.0.
When I check in Android Studio Stable it is 25.1
When I check in Android Studio Canary it is 27.0 (I expect this to be lower, it is also weird)
Latest versions are not capable to install by Android Studio anymore. When I try to install by manually I get error, is it something that know and intended ?

True, because Android Studio is still in the 202.* build. It's already 2021 and they are still lagging behind.

True, because Android Studio is still in the 202.* build. It's already 2021 and they are still lagging behind.

@mallowigi they have changed their versioning please check it
https://android-developers.googleblog.com/2020/12/announcing-android-studio-arctic-fox.html
they will not tag anymore with 202.*

@mallowigi they have changed their versioning please check it
https://android-developers.googleblog.com/2020/12/announcing-android-studio-arctic-fox.html
they will not tag anymore with 202.*

It's not how they tag it, it's what version is the one that underlays it.

It's not how they tag it, it's what version is the one that underlays it.

Ohh I see your point thank you for explanation!

Ohh I see your point thank you for explanation!


SearchBox dom breaking change in 2.2.0 and later

Do you want to request a feature or report a bug?
Bug.
Bug: What is the current behavior?
In 2.2.0 and later, the SearchBox widget ignores translation strings, shows large icons, and breaks previous rendering as shown below without a major version change, which means packages are automatically upgraded by NPM according to semantic versioning.
This backwards-incompatible breaking change is undocumented.

Bug: What is the expected behavior?
In 2.1.0 the SearchBox widget rendered as below, respecting the translation strings as documented. Some of the CSS here (borders, font size) is our theme, but the base is the SearchBox widget's.

Bug: What browsers are impacted? Which versions?
All.
What project are you opening an issue for?

react-instantsearch

What is the version you are using? Always use the latest one before opening a bug issue.
We are forced to pin our version to <2.2.0 (meaning: 2.1.0) until we find some way to restore the old rendering behavior. An automatic upgrade according to semantic versioning of the default ^2.1.0 version string put us on 2.2.5. We were able to narrow it down to the 2.2.0 release as introducing this new breaking behavior, most likely PR #1795.
Here is a snippet of our code that generated the previous rendering on 2.1.0 and the broken rendering on 2.2.0 and later:
// components/InstantSearch.js
            <div className="InstantSearch">
                <InstantSearch
                  appId={app_id}
                  apiKey={key}
                  indexName={index}
                  searchState={this.state.searchState}
                  onSearchStateChange={this._onSearchStateChange}
                  searchParameters={{hitsPerPage: 50}}>
                  <SearchBox
                      autoFocus={true}
                      translations={{
                          submit: "Search",
                          reset: "Reset",
                          placeholder: "Search for users ...",
                      }} />
                  <Stats />
                  <Hits hitComponent={UserSummary} />
                </InstantSearch>
            </div>

/* components/InstantSearch.css */
.ais-SearchBox__input {
    border: 2px solid grey;
    border-radius: 5px;
    font-size: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 16px;
    padding-right: 16px;
    width: 350px;
}

/* Hide the blue focus outline */
.ais-SearchBox__input:focus {
    outline: 0;
}

.ais-SearchBox__reset {
    background-color: white;
    border-radius: 5px;
    border: 2px solid lightgrey;
    color: grey;
    font-size: 24px;
    height: 48px;
    margin: 12px;
    padding-bottom: 8px;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 8px;
}

.ais-SearchBox__reset:focus, .ais-SearchBox__reset:active {
    outline: 0;
    background-color: #fdd;
}

and any migration guide to v3 too 💃

Thanks for the detailed explanation we will try that, it was definitely not done on purpose.
(And I will write a v3 migration guide too)

Hi @shakefu, we're sorry for that unwanted breaking change.
With this PR #1954 you will be able to get back the translation of Submit/Reset.
After that you'll need to do some modifications of your stylesheet:

hide the submit button
hide the reset svg icon
change the margin of ais-SearchBox__reset to 9px for example

Will this work for you?

@mthuret Yeap. I'll keep an eye on that PR for when it's merged and close this ticket when I get our code updated.

Migration guide to V3: https://github.com/algolia/instantsearch.js/blob/v2/CHANGELOG.md#migration-guide

@shakefu The current SearchBox state is that we are now using icons by default for search and reset buttons. So there's no more "translations",  if you want to have a reset text button in latest version you can do this: https://jsfiddle.net/6p0ta8op/1/
We might want to revisit the SearchBox component if we have another good complete proposal allowing both text and icons in an easy way where styling is also easily.

@vvo Thanks! We got ours working, will update to the 3.x line in a sprint or two.


Updates to feature/package_rewrite_composer

Updates to feature/package_rewrite_composer:

Regenerates Drupal docroot autoload.php if needed
Allow packages.dest configuration to be optional
Changes example and test configuration's package docroot dest to "html" so package directory should include "html" (docroot), vendor, composer.json, composer.lock

@mike-potter Please review these changes against #297.

Thanks for the help on this!  I hadn't realized "docroot" was optional and your changes all make good sense.


Enable testing on python 3.4, 3.5, 3.6, and PyPy3

Issue #28

I assume this'll fail, but I like to get server-side testing started sooner than later.  We'll see what comes of this.

👍

(Well, I guess the reason I didn't do this before is I don't want to leave the build saying it's failing indefinitely :P, so hopefully you do intend to knock out #28)

So...  didn't really mean for this to get pulled yet...  sort of a shortcoming of PR's it seems to me.  There's no 'yes I really want this merged' state vs. 'I want to talk about this and see what the tests do'.

Ah -- fair enough. Well, can always roll it back if need be.


UI issue with Find My on Android app v. 1.13.0

Find My > Devices
Hit the down chevron to expand devices without location, swipe up/scroll down (works without issue) then scroll back up/swipe down (this causes the entire menu to be closed at the speed you scroll, so if there are a lot of devices (like all devices in your Apple family), you aren't able to get back to the top of the menu.

https://github.com/BlueBubblesApp/bluebubbles-app/assets/34150725/251dec0f-a74c-49ab-8c74-7eee490092f4

Hopefully this video gets the point across even with the blur...menu is closed when swiping down. Expected behavior would be that just the content would scroll until you reach the top of the content, at which point, then the menu would also begin to close. As is, a down swipe doesn't account for the content being displayed and just tries to close the menu.


Setup a local identity provider for tests

User Story

As a user
I want the code to be tested
So that it works as expected

Acceptance Criteria

setup an identity provider (for example keycloak) running on the tester machine (or github) for testing purposes
the identity provider can be used for automated tests
setup testing environment for unit tests etc.

The current-project already contains the necessary dependencies to run unittests.
I created a PR that sets up a simple CI-pipeline that builds and runs the unittests when a pull-request is created to ensure the tests are run at least once before changes are committed to the main-branch.


dev server Cannot GET '/' after changing assetsRoot

I tried to change build config and make the project build to different directory(out of project's root directory). Soon after that, I found out that npm run dev no longer works and returns cannot get '/'.
I managed to solve this by setting assetsSubDirectory, assetsPublicPath, assetsRoot specifically for dev environment(and make webpack.dev.conf) to read from it, overwriting the base setting. It's kind of confusing that even in dev environment build system reads stuff from config.build.
Would it be better if these dev settings come with the teamplate?  I can input a quick PR.

I met the same issue(file issue #103), and I modify the default configuraion to solve it.

@plantvsbirds I'd be open to taking a look at a PR with what you have in mind.

Haven't heard any reports of this problem for a while, so closing for now - happy to reopen pending new reports or especially a proposed PR that would resolve it. 😄

Experienced same problem. Wanted to use output for an Apache Cordova app running on android. Had to change the assetsPublicPath from '/' to '' to get it running on android device. But when I did this, it would no longer work on dev server. The solution was to fix it like explained in issue #103 . Should the config support two different assetsPublicPaths out of the box?

@chrisvfritz: I've also run into this problem, and as with @runarhk, I was able to fix it as explained by @rayzang8 in #103. The explanation there might not be a PR, but it's pretty close :)
In either case, this still seems to be a problem, and at least one of these tickets should be re-opened until it's resolved.

Actually I have a related issue.
I am completely fine developing in the root directory when in dev environment.
Problem arise when the production folder is in a sub (ex: www.site.com/event/party).
The biggest issue I have right now is the fonts.
The css are parsed with postcss (which is fine), but the utils.js that has the generateLoaders function kind of prevents me to easily add other plugins to postcss.
My goal was to use something like postcss-fontpath to fix the path issue.
In the current situation I can not have a relative path for my fonts. It's always relative to the root folder whatever I do.
Basically it would be great to have the possibility to have all assets relative to the current folder, or being able to specify the absolute path to set in prod environment. One or the other would solve my problem I think.
Anyone else with this kind of problem?


Added Czech translation

Thanks for the translation! I've merged this in and it will be included in the next release.


Index out of range whilst updating an existing content type

Hello,
In my provisioner i tried to update an existing content type. Depending on some options it will add some extra fields (Multilingual support for my solution).
I am using the latest version of pnpcore with the latest schema.
I know there were some issue's concerning the reordering or sorting of contenttypes during provisioning. But i thought these were solved?
Kind regards
Simon

Duplicate of 'Content Type "Update Sites and Lists" setting will not work when re-provision content type using PnP'


OCIO: better catching of exceptions.

When OIIO that was built against OCIO 1.x, but encounters an OCIO 2.x
config file, OCIO could throw an exception that was not caught by
OIIO.  The problem was the call to OCIO::GetCurrentConfig(), it should
have been inside the try/catch block.

@ hodoulp  Can you verify that this patch fixes the crash you were seeing?

@hodoulp Can you verify that this patch fixes the crash you were seeing?

I think what I'd like to do, Patrick, is merge this simple fix (don't crash because an uncaught exception) because that can and should be backported cleanly.
Then I'll tackle some of these other changes you suggest, which I think I should evaluate more carefully if they will change behavior in ways that shouldn't be backported to certain releases.


fix danted not start if host disable ipv6

#140 fix danted not start if host disable ipv6
also made some changes to danted conf

感谢PR，squash merge 了


Cargo-culting

Can you say more about this change?

Sure! it errors out if you reference an unset variable.  Just good bash hygiene.

Treat unset variables and parameters other than the special parameters "@"  and  "*" as an error when performing parameter expansion. If expansion is attempted on an unset variable or parameter,  the shell prints an error message, and, if not interactive, exits with a non-zero status.

Merged as 4dd8170, thanks!


Questionable inclusions

yourbrainonporn.com (YBOP) is a website about pornography addiction and breaking it. It should not be in the list.
urbandictionary is a questionable inclusion. Yeah, it's got NSFW content, but so does Reddit.

Hi, thanks. Could you open a pull requests with the change?

@elbkr if I noticed this a few days ago, I would've included it in my big PR, but as I'm going to do monthly PRs, I'll include it in the next one.


NPOI can not copy/paste formula in Word,how to save a formula in Word?

Is Word supporting formula? I don't know that.

Is Word supporting formula? I don't know that.


false positive for if-else

This gives error
return promise.resolve(1)
    .then((value) => {
        if (true) {
            return 1;
        } else {
            return 2;
        }
    });

Each then() should return a value or throw  promise/always-return

Even though it's definitely returning either 1 or 2

Poking around, I've found that the consistent-return implementation on eslint does it this way:
function checkLastSegment(node) {
    ...
    if (!funcInfo.hasReturnValue ||
        funcInfo.codePath.currentSegments.every(isUnreachable) ||
    ...
}
onCodePathEnd: function() {
    funcInfo = funcInfo.upper;
},
// Reports a given return statement if it's inconsistent.
ReturnStatement: function(node) {
    ...
    if (!funcInfo.hasReturn) {
    ...
},

It seems to rely on more than just MemberExpression (which this lib does)

Thanks for the dive

I think this is the same issue as #8

Hey @xjamundx , is there any plans to actually implement this?

@jcristovao for sure if you can work on it. I'd love the help!

I am not sure I have the skills :( I'll rephrase the question, what is your opinion on @laggingreflex suggestion?

@jcristovao I think it sounds like a great idea! I haven't worked with code-path analysis yet, but I can probably get to it in the next few months. Would love it if you could work on this sooner.
I don't personally use that pattern, so it's not urgent for me, but I'd love your help in building this. I can link you to the docs if you need.


Unable to install tfsec using Chocolatey

Describe the bug
When trying to install tfsec using Chocolatey: choco install tfsec -y
It calls this url: https://github.com/aquasecurity/tfsec/releases/download/v0.60.1/tfsec-windows-amd64.exe
Which returns a 403 and doesn't seem to exist.
ERROR: The remote file either doesn't exist, is unauthorized, or is forbidden for url 'https://github.com/aquasecurity/tfsec/releases/download/v0.60.1/tfsec-windows-amd64.exe'. Exc
eption calling "GetResponse" with "0" argument(s): "The remote server returned an error: (403) Forbidden."
This package is likely not broken for licensed users - see https://docs.chocolatey.org/en-us/features/private-cdn.
The install of tfsec was NOT successful.
Error while running 'H:\developer\chocolatey\lib\tfsec\tools\chocolateyinstall.ps1'.
See log for details.
Chocolatey installed 0/1 packages. 1 packages failed.
See the log for details (H:\developer\chocolatey\logs\chocolatey.log).
Failures

tfsec (exited 404) - Error while running 'H:\developer\chocolatey\lib\tfsec\tools\chocolateyinstall.ps1'.
See log for details.

Hi @RyanTreanor3  - its just downloading from the releases page - https://github.com/aquasecurity/tfsec/releases/tag/v0.60.1
Is this the first time you're downloading it? Are you behind a corporate proxy or similar?


Upgrade CCDB to v2.9.0

See changelog at https://github.com/cfpb/ccdb5-ui/releases/tag/v2.9.0
Edit: Hold on, going to bundle another item into this release.

Closing in favor of https://github.com/cfpb/consumerfinance.gov/pull/8007


URLs to KGX TSV tar.gz files in two builds are 404

See for example the link to the KGX TSV tar.gz file for the 20220304 build on this page, with this 404 link: kg-phenio.tar.gz
Seems to be 404 for the 20220414 build too.
Other previous builds seem okay though, for example the 20220428 build here

(these are obviously pretty old builds, but they are at the top of the page, which is why I noticed)


upgrade gdal to 3.9.1

Closes #752
We moved to my fork of gdal in #513 to take advantage of the new geoparquet driver but fix a bug that was introduced in handling null dates. I verified that the null date issue was resolved in 3.9.0. Now that we have a little more tooling around testing our base docker image, I figured we should get off my fork

Seems that there are some breaking changes in the python api
https://github.com/NYCPlanning/data-engineering/actions/runs/9976507340/job/27568859329
Sad that this wasn't caught by library tests. Maybe this PR waits until we are off of library and in ingest (where gdal-related functionality is better tested). At a minimum, on hold for now because I don't want to get into the weeds of the gdal python package in library

Maybe a relatively easy fix - we're not doing this the most accepted way currently
https://gdal.readthedocs.io/en/latest/development/rfc/rfc97_feature_and_fielddefn_sealing.html


_replace_to_many_links increments counter_cached attribute by 1 on create

I have a task model that can have many posts. It's a polymorphic association with a counter cache on the posts_count column of the tasks table. posts_count defaults to 0.
class Task < ActiveRecord::Base
  has_many :posts, as: :commentable
end

class Post < ActiveRecord::Base
  belongs_to :commentable, polymorphic: true, counter_cache: :posts_count
end

The problem: When _replace_to_many_links is called, it increments the posts_count attribute on TaskResource#model by 1, but it should remain at 0.
.../gems/jsonapi-resources-0.5.9/lib/jsonapi/resource.rb
@ line 185 JSONAPI::Resource#_replace_to_many_links:

    181: def _replace_to_many_links(relationship_type, relationship_key_values)
    182:   relationship = self.class._relationships[relationship_type]
    183:
    184:   binding.pry
 => 185:   send("#{relationship.foreign_key}=", relationship_key_values)
    186:   @save_needed = true
    187:
    188:   :completed
    189: end

relationship is an instance of JSONAPI::Relationship::ToMany.
relationship.foreign_key evaluates to post_ids.
relationship_key_values evaluates to an empty array.
What line 185 is doing is setting post_ids to an empty array, and for some reason that is incrementing model.posts_count by 1.
While the actual value in the database remains at 0, the json document returned from TasksController#create has the posts-count attribute equal to 1.
Fetching the task resource again after create returns a json document with posts-count equal to 0.
Unfortunately I cannot reproduce this in a controller test - it returns the correct posts-count value.

Are you sure this is an issue with jsonapi-resources? I ask because it seems the Resource is just making a fairly common call to the underlying model. Does this happen if you take the resource out of the mix?
Note this is the first I have seen of the counter_cache feature, so I could obviously be missing something major.

I didn't dig any deeper than _replace_to_many_links, but from what I saw it seemed that the call to send modified the local copy of the model and in doing so it set posts_count from 0 to 1.
For now my current solution is to override the create action - I create the task myself and then use JSONAPI::ResourceSerializer and TaskResource to return the json document. It returns the correct value of "posts-count":0.
My controller includes JSONAPI::ActsAsResourceController.


refactor(loadbalancer): merge function buildWeightedVirtualNodes into buildVirtualNodes

What type of PR is this?
refactor

What this PR does / why we need it (English/Chinese):
English: Merge BuildWeightedVirtualNodes function into buildVirtualNodes function, become one big function. Delete duplicate code,  make it easier to be understand.
中文：将buildWeightedVirtualNodes 函数合入buildVirtualNodes函数中，成为一个函数。因为两者的重复代码太多，不利于后续维护。

Which issue(s) this PR fixes:
Reduce the line number , make it easier to maintain and enhance.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[BUG] Async Flow as function gives a generator instead async generator

Describe the bug
I am loading a flow that calls gpt model as an async function, because i try to run it on a server. When i call the function it gives me back a generator, which is not ideal in a server environment, it will block.
How To Reproduce the bug

Load a flow that streams with AsyncFlow.load()
Execute the function and await its result
The result's answer field is a generator object

Expected behavior
The result's answer object is a async generator.
Running Information:

Promptflow Package Version using pf -v: 1.10.0
Operating System: Windows 11
Python Version using python --version: 3.11

Additional context
I am trying to deploy one webapp for limited number of flows, to reduce costs in Azure

Hi @Gzozo Can you share a simple repro of your scenario? I have tried simple async function and it works:
@tool
async def async_gen(conn: AzureOpenAIConnection, message):
    cli = AsyncAzureOpenAI(api_key=conn.api_key, azure_endpoint=conn.api_base, api_version=conn.api_version)
    messages = [{"role": "user", "content": message}]
    resp: AsyncIterable[ChatCompletionChunk] = await cli.chat.completions.create(messages=messages, model="gpt-35-turbo", stream=True)
    async for item in resp:
        if not item.choices:
            continue
        content = item.choices[0].delta.content
        if content:
            yield content

Hi @thy09 I tried the following: I created a simple chat promptflow in VSCode, with the OpenAI template, than I want to load it in my server:
gpt_flow = AsyncFlow.load(f"{ROOT_PATH}promptflows/gpt")

message = 'Hello there'
chat_history = []

result = await gpt_flow(chat_history=chat_history, message=message)

And here is the result is not async generator. I'm still researching these promptflows, but essentially in your response, you create a tool, instead of using a built in OpenAI/LLM node?

Hi @Gzozo , currently the builtin LLM node is implemented by sync functions, this is why we don't have async generator returned. We need some extra dev work to convert it to an async generator. Let's keep this issue open, will update if we have some solution.

Added a quick fix workaround for this scenario.

@Gzozo The fix has been merged, you can wait for the next release(in 2 weeks) or install the main branch for workaround.

@thy09 When running pf flow test, it nows gives a message to use fastapi.
But pf flow test does not support --engine flag.

@gurvinder-dhillon It sounds like another issue, could you please create a new issue with more details? Thanks.


General updates

This PR aims to make the template easier to use for those new to Jekyll and the Just the Docs theme. The changes in this PR are merely my suggestions (based on my own lack of understanding of what terms like "deploy" really mean).

Updates the home page at index.md to give an overview of what the template can do.
Updates README.md to focus on how to do it (preview).
Minor polishing of .gitignore, _config.yml, and Gemfile.

When the template has been finalised, I'd like to add a reference to it on the theme home page.

@mattxwang I don't see how to request a review for this PR in the usual way…

When the template has been finalised, I'd like to add a reference to it on the theme home page.

PR welcome for that as well!


Google Wallet support

Feature description
It'd be great to have a 'add to google wallet' button for your certificates. There's googles documentation here, although you have to provide 'eligibility documentation'.
Problem and motivation
This would be great for having all your passes in one spot, and also benefit from googles optimisation for (for example) smart watches. Kind of low priority I'll admit, but it'd be a cool feature to see.
Is this something you're interested in working on
I'd be interested in working on it.... , although I have not worked on an Android app before, and maybe even the bigger problem, I don't have access to the documentation.

@leonhma
You can find a related discussions in:

https://github.com/corona-warn-app/cwa-app-android/issues/3486 and
https://github.com/Digitaler-Impfnachweis/covpass-android/issues/52

https://support.google.com/wallet/answer/12059257 lists the countries where this is already supported.

Is it the countries where a provider has made these features available in the google wallet app, or where googles api is accessible? Because I don't see much reason for Google to restrict COVID passes to certain countries.

@leonhma
My understanding from https://github.com/corona-warn-app/cwa-app-android/issues/3486#issuecomment-864567221 is that the feature was declined by the Open Source Team last year when Google Wallet was called Google Pay. I assume also that the Open Source Team was replying on behalf of the responsible health authority in Germany: the Robert Koch Institute (RKI), and that if support for COVID-19 certificates in Google Wallet were to be extended into Germany, then it would need to be applied for by RKI. There is however some room for interpretation when reading the Eligibility requirements.
There hasn't been any update from the authorities in the issues I linked to (see https://github.com/corona-warn-app/cwa-wishlist/issues/840#issuecomment-1191740486) during the last 12 months, so again I would assume that there is no change in their position of declining to support it.

Okay so if they applied then they will hear back once COVID passes come to Germany? I guess this is going to have to be put on hold until then...


Training is stuck

(isaaclab) ubuntu@ubuntu-4090:~/workspaces/legged-loco$ python scripts/train.py --task=go2_base --history_len=9 --max_iterations=2000 --save_interval=200 --headless
[INFO][AppLauncher]: Loading experience file: /home/ubuntu/workspaces/IsaacLab/source/apps/isaaclab.python.headless.kit
[Warning] [omni.isaac.kit.simulation_app] Modules: ['omni.kit_app'] were loaded before SimulationApp was started and might not be loaded correctly.
[Warning] [omni.isaac.kit.simulation_app] Please check to make sure no extra omniverse or pxr modules are imported before the call to SimulationApp(...)
Loading user config located at: '/home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omni/data/Kit/Isaac-Sim/4.2/user.config.json'
[Info] [carb] Logging to file: /home/ubuntu/anaconda3/envs/isaaclab/lib/python3.10/site-packages/omni/logs/Kit/Isaac-Sim/4.2/kit_20241215_164126.log
2024-12-15 08:41:26 [0ms] [Warning] [omni.kit.app.plugin] No crash reporter present, dumps uploading isn't available.

|---------------------------------------------------------------------------------------------|
| Driver Version: 550.100       | Graphics API: Vulkan
|=============================================================================================|
| GPU | Name                             | Active | LDA | GPU Memory | Vendor-ID | LUID       |
|     |                                  |        |     |            | Device-ID | UUID       |
|     |                                  |        |     |            | Bus-ID    |            |
|---------------------------------------------------------------------------------------------|
| 0   | NVIDIA GeForce RTX 4090          | Yes: 0 |     | 24564   MB | 10de      | 0          |
|     |                                  |        |     |            | 2684      | 16760a40.. |
|     |                                  |        |     |            | 1         |            |
|=============================================================================================|
| OS: 20.04.6 LTS (Focal Fossa) ubuntu, Version: 20.04.6, Kernel: 5.15.0-126-generic
| XServer Vendor: The X.Org Foundation, XServer Version: 12013000 (<IP_ADDRESS>)
| Processor: Intel(R) Core(TM) i9-14900KF | Cores: 24 | Logical: 32
|---------------------------------------------------------------------------------------------|
| Total Memory (MB): 64106 | Free Memory: 48538
| Total Page/Swap (MB): 2047 | Free Page/Swap: 2047
|---------------------------------------------------------------------------------------------|
[INFO]: Parsing configuration from: <class 'omni.isaac.leggedloco.config.go2.go2_low_base_cfg.Go2BaseRoughEnvCfg'>
[INFO]: Parsing configuration from: <class 'omni.isaac.leggedloco.config.go2.go2_low_base_cfg.Go2RoughPPORunnerCfg'>
[INFO] Logging experiment in directory: /home/ubuntu/workspaces/legged-loco/logs/rsl_rl/go2_base
2024-12-15 08:41:29 [2,756ms] [Warning] [omni.isaac.lab.envs.manager_based_env] Seed not set for the environment. The environment creation may not be deterministic.
[INFO]: Base environment:
    Environment device    : cuda:0
    Environment seed      : None
    Physics step-size     : 0.005
    Rendering step-size   : 0.02
    Environment step-size : 0.02

Hi Ziqi,
We tested the code with Isaac Lab 1.1.0. To ensure compatibility, please use the Isaac Lab version we provided here, which includes some modifications and bug fixes. Feel free to ask if you have any further questions.

thanks your amazing work! when i train with "--headless",program can run normally, but when i try without "--headless",the interface will not load the model causing get stuck!!!! Both in VLN_CE_isaac, when i try to run h1,the same problem occurs，but go1 will not.I used the isaac lab version which you provided!!!

Enabling visualization during training is not recommended, as it can significantly slow down the training speed and cause delays when loading scenes, such as in the H1 case. Visualization is better suited for testing with fewer environments. If you still wish to visualize the scene, consider reducing the number of training environments.
For the VLN-CE-Isaac issue, please ensure that --num_envs is set to 1.
Feel free to ask if you have further questions.


Fix Issue-171 by adding a validation to check for querystring paramet…

Fix #171
Fix Issue-171 by adding a validation to check for querystring parameters before adding the trailing slash

@espierre Could you please add tests for this?

@marisks Added tests to cover issue-171 changes.

@marisks here is a somewhat related PR from me with tests #168 which received no attention; I described some cases with incorrect behavior like this one in TODOs in tests in that PR
For this PR, there are more cases to be fixed - @espierre might be interesting for you, several TODOs starting from here https://github.com/Geta/404handler/pull/168/files#diff-c3448f2e875671b96f1597ec3936a893R139

@lanorkin The main issue with #168 is that it has a lot of TODOs. I understood that it is under development. As no improvements came to fix TODOs, I didn't look at it anymore.
Now it also has conflicts with the main branch too.

@marisks well idea was to write more tests to document current (well, current at that moment year ago) behavior; TODOs meant to highlight incorrect (but existing) behavior, which should have been fixed with future bugs & PRs like this one.
pure PR with tests, like it is said in title; I refer to it here, because it contains more cases that can be fixed in regard to trailing slash issue

@lanorkin I can't approve PR that has failing tests. That PR can be kept open for the devs to look at cases that can be fixed.

@marisks all the tests were passing at the moment; that's the idea of documenting behavior - you have passing tests for all the cases, even if that cases does not look OK from business perspective; TODOs added to highlight that though test is passing now, it is something which should be changed in future to reflect real business needs.
let's switch to discussion in #168 if you need any details; @espierre sorry for discussing it here

I saw that this PR was merged int your code base.  Do yo know how long it would take to have it available in the Episerver nuget feed?

Sorry guys for delays (vacations). I'll make it happen so you can get official release.
Stay safe!


Question: Why can 'Timer.start' fail?

Both nodejs and luv are base on libuv. In luv the function Timer.start can fail, in nodejs the function setTimeout cannot fail. Both functions are based on the same libuv function.
Can the corresponding libuv function fail? From its interface it is clear that in returns an int which theoretically can be negative and therefore signal an error. However, is this really possible since memory for the timer must be given as an argument?

It looks like uv_timer_start can fail due to invalid state of the libuv handle itself, if Luv.Handle.is_closing timer. From https://github.com/libuv/libuv/blob/285a5ea819035ff777b8b7c6a367f3f5b55d8809/src/timer.c#L67-L95:
int uv_timer_start(uv_timer_t* handle,
                   uv_timer_cb cb,
                   uint64_t timeout,
                   uint64_t repeat) {
  uint64_t clamped_timeout;

  if (uv__is_closing(handle) || cb == NULL)
    return UV_EINVAL;

  if (uv__is_active(handle))
    uv_timer_stop(handle);

  clamped_timeout = handle->loop->time + timeout;
  if (clamped_timeout < timeout)
    clamped_timeout = (uint64_t) -1;

  handle->timer_cb = cb;
  handle->timeout = clamped_timeout;
  handle->repeat = repeat;
  /* start_id is the second index to be compared in timer_less_than() */
  handle->start_id = handle->loop->timer_counter++;

  heap_insert(timer_heap(handle->loop),
              (struct heap_node*) &handle->heap_node,
              timer_less_than);
  uv__handle_start(handle);

  return 0;
}

The cb == NULL condition will never be triggered by usage through Luv:
https://github.com/aantron/luv/blob/d1c1a4e732cee9731e890b9972701fc11ceba03f/src/timer.ml#L13-L28
So, in practice, it can only fail due to a bug in usage by the user, rather than any genuine runtime error. Luv faithfully exposes the libuv API and is meant for integration into other libraries. If you are using Luv directly and are confident that your program won't misuse the handle, or if your larger library is written in such a way as to make that impossible (e.g. it's always a fresh handle, or from a managed pool, like probably in Node), I think you can assume that uv_timer_start does not fail. This is, however, not future proof, but I think it's unlikely to change for the same reasons you think it shouldn't fail :)
By the way, I inherently answer all questions such as this one, including when I (very often) have them myself, by glancing in the libuv source code, and I encourage you to do that yourself, as well, as it saves a roundtrip. In this case, just cloning the libuv repo and doing git grep -n uv_timer_start revealed only one hit outside of test cases, docs, comments etc.:
src/timer.c:67:int uv_timer_start(uv_timer_t* handle,

which immediately gave me this answer.

The linked commit adds an answer to this particular question to the docs:
https://aantron.github.io/luv/luv/Luv/Timer/index.html#val-start

As of Luv 0.5.7 and libuv 1.41.0 (March 2021), this function can fail only if the timer handle is currently closing, i.e.
 Luv.Handle.is_closing timer = true

(Even if you do end up looking in libuv source for other questions, but find something that should be in the Luv docs, please do post an issue/make a PR, and we will add it).

Thanks for the excellent clarification.
Regards
Helmut


NOISSUE-Add service filter

What does this do?
Add service filter to callhome sdk
Which issue(s) does this PR fix/relate to?
Resolves ultravioletrs/issues#271
List any changes that modify/break current functionality
None
Have you included tests for your changes?
No
Did you document any new/modified functionality?
No
Notes

@SammyOina this one also, please

@1998-felix  Some of the commits in this PR have already been merged: Add city filter and Fix missing country in OpenAPI. Also, Add version filter is a commit in another PR #21

To be merged after #21


1.3: Support direct use of RELAX NG for DITA

Proposal 13112
Add the necessary parser configuration and RELAX NG support code to enable validation with attribute defaults. @georgebina has implemented open-source extensions to the Jing code base that implements the RELAX NG DTD Compatibility spec.

Discussion moved do #2019, closing as duplicate


Add multiple choice option

Hello,
Can you please add multiple choice option with tickmarks in form design? It makes answering questions that have multiple inputs much simpler.
Thanks!

Hello Chemicalius,
thank you for the feature request. We are currently working on this. We will let you know once this feature is available.


Using Relative paths

relates to fog/fog#3430

Coverage decreased (-0.47%) to 60.24% when pulling bc028e69fb5e5517343b0a0b21fb52afdf602eb9 on fix-loading-time into 24757a0a8260f750ffce62f25b40767ca9021faf on master.

Coverage decreased (-0.47%) to 60.24% when pulling 9a965a4a38860090163b25589bfdaab80159600f on fix-loading-time into 24757a0a8260f750ffce62f25b40767ca9021faf on master.

Coverage decreased (-0.47%) to 60.24% when pulling 4c25f9256c97d9525da843cb87b901f5413abd52 on fix-loading-time into 24757a0a8260f750ffce62f25b40767ca9021faf on master.

Coverage decreased (-0.47%) to 60.24% when pulling 4c25f9256c97d9525da843cb87b901f5413abd52 on fix-loading-time into 24757a0a8260f750ffce62f25b40767ca9021faf on master.

Coverage decreased (-0.47%) to 60.24% when pulling 4c25f9256c97d9525da843cb87b901f5413abd52 on fix-loading-time into 24757a0a8260f750ffce62f25b40767ca9021faf on master.


[WIP] vocabulary section with the word exit to capture translations

We are hardcoding the word "exit" because we don't have a phrase for it here. I am suggesting we add a vocabulary section to the constants in the language files - what do people think?
"vocabulary": {
              "exit": "la sortie"
            }

Tasklist

[ ] Add changelog entry
[ ] Review

@mcwhittemore @lyzidiamond @1ec5 thoughts on this approach? Should I add this section to all languages with the english fallback?

per the discussion on https://github.com/mapbox/bumblebee/issues/243, I have made these updates.
cc @mcwhittemore @1ec5 @lyzidiamond


Excluding plugins causes build error in the UI files

Have you read the FAQ and checked for duplicate open issues?
Yes.
What version of Shaka Player are you using?
3.2.0
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from master?
Yes
Are you using the demo app or your own custom app?
Demo App
If custom app, can you reproduce the issue using our demo app?
N/A
What browser and OS are you using?
N/A
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
N/A
What did you do?
python build/build.py +@complete -@ads
What did you expect to happen?
Build succeeded without errors.
What actually happened?
The compiler get errors from the UI library as follows:
/Users/username/Desktop/shaka-player/ui/controls.js:13:0: ERROR - [JSC_MISSING_MODULE_OR_PROVIDE] Required namespace "shaka.ads.AdManager" never defined.
13| goog.require('shaka.ads.AdManager');
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/Users/username/Desktop/shaka-player/ui/controls.js:16:0: ERROR - [JSC_MISSING_MODULE_OR_PROVIDE] Required namespace "shaka.ui.AdCounter" never defined.
16| goog.require('shaka.ui.AdCounter');
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

It is not currently possible to exclude ads from the UI, though you can exclude ads from a UI-less Shaka Player.  The UI is not yet as flexible as the rest of the library.


The github link for that paper seems to be incorrect.

This is the last paper in the Image Generation category.
Three-Dimensional Medical Image Synthesis with Denoising Diffusion Probabilistic Models
Zolnamar Dorjsembe, Sodtavilan Odonchimed, Furen Xiao
[22nd Apr., 2022] [MIDL, 2022]
[Paper] [Github]
The GitHub link for the above paper is here, and it is not yet publicly available.

Hi @ArtistDeveloper,
Thank you very much for your attention. It is fixed now. Thanks!


UpdateFirst function

Problem
Hi, when I try to update a product, I want check product owner before update. update or updateMany can't do that.
updateMany is query ok but it can't update relation field like categories table
Suggested solution
a function updateFirst which can query like updateMany but just update one row

Someone can consider about this?
I must query 2 times to archive this :\ updateMany don't allowed relation query

This issue now exists and is tagged as a feature request, so it will be considered when we have time to do additional, new things.


AutoInit does not detect provider version changes

Related to https://github.com/gruntwork-io/terragrunt/issues/605
AutoInit does not appear to detect when the provider version changes in a module.
Minimal example:
# /modules/app/main.tf
provider "aws" {
  region  = "us-west-2"
  version = "~> 1.43.0"
}

data "aws_ami" "ubuntu" {
  most_recent = true

  filter {
    name   = "name"
    values = ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"]
  }

  filter {
    name   = "virtualization-type"
    values = ["hvm"]
  }

  owners = ["099720109477"] # Canonical
}

resource "aws_instance" "web" {
  ami           = "${data.aws_ami.ubuntu.id}"
  instance_type = "t2.micro"

  tags {
    Name = "yori-test"
  }
}

# /live/app/terraform.tfvars
terragrunt = {
  terraform {
    source = "../../modules/app"
  }
}

Repro steps

Run terragrunt plan. This will run terraform init and download the provider version indicated.
Update the provider version (use 1.42.0)
Run terragrunt plan.

Expected Behavior:
terraform init runs because the module source changed.
Actual Behavior
terraform init doesn't run, so you get an error indicating provider version mismatch.

Might be a dupe of https://github.com/gruntwork-io/terragrunt/issues/388


fix: support to compat the old layered memtable options

Rationale
We introduce the explicit flag to control should we enable layered memtable, but it has some compatibility problem when upgrading from old version.
This pr add an option to support compating the old layered memtable on/off control method.
Detailed Changes
Add an option to support compating the old layered memtable on/off control method.
Test Plan
Manually.

2024-09-14 15:41:23.595 ERRO [src/components/panic_ext/src/lib.rs:57] thread 'main' panicked 'Failed to create catalog manager: BuildSysCatalog { sou
rce: OpenTable { source: OpenTableWithCause { msg: None, source: ReadMetaUpdate { table_id: TableId(1099511627777), source: Error(Other { source: fai
led to new table_data, space_id:1, table_name:sys_catalog

Caused by:
    Found invalid table opts, msg:layered memtable is enabled but mutable_switch_threshold is 0.
    Backtrace:

When error above is thrown, try add following config:
[analytic]
try_compat_old_layered_memtable_opts = true


Cannot input Chinese after update

I can't switch to Chinese input method after update, current version is 0.3.2142.0.

I also have the same problem.., do you solve this?

I also have the same problem.., do you solve this? thanks

Not yet, I think this is a problem with Microsoft terminals and requires a software upgrade to solve.

What versions of Windows are you all on?
Thanks.

same issue #2213

I'll close this as a duplicate. Thank you.


Dynamic service rescheduling/failover on grid change

This PR introduces dynamic rescheduling when nodes join/leave grid. This PR also refactors a lot of communication between server and agents.
Fixes #110

@nevalla @miskun ping

LGTM! Good work!


Attendance

Final one of the day I think! (as you can tell I've been look at attendance data today!)
change start time and duration to start and end in the contxt
        "extensions":{
            "http://xapi.jisc.ac.uk/starttime": "**START_DATE_TIME**",
            "http://xapi.jisc.ac.uk/endtime" : "**END_DATE_TIME**"

this is to make it consistent with using a time to mark when the student actually finished the activity (so this is the intended start and end time).

I thought that is what we agreed on a call.
Use datetimes for planned start and end.
Compute duration if required.
Need to ensure the documentation is clear to differentiate planned event start/end and actual being/finish times for individual students

I couldn't quite remember, but template still had duration.

0.6 had planned-start-time and a planned-end-time, but in the object? Changed this as suggested in ealier commit.

Not sure if this is the right place for this comment; however.
In the example (attendance.md) object, we have
"definition":{
"type":"http://activitystrea.ms/schema/1.0/event",
"name":{
"en":"Lecture"
},
I don't think that we're supposed to use event like that.  If we know the event is a lecture, shouldn't it be: "http://xapi.jisc.ac.uk/lecture"?

agree about  http://activitystrea.ms/schema/1.0/event . It should only ever be used if we don't know the type of event. Will change this


Direct/Alternate icon field on entries?

Right now I have gamersgate, where I know that https://www.gamersgate.com/favicon.ico exists but the program won't pick it up for some reason. It'd be great if I could add a custom field called FaviconSource to the entry and have it just attempt to download the file there.
Another custom field named something like FaviconSite could be used for when you have a situation where you want the site url to be 'accounts.blah.com' but you want it to take the favicon from 'blah.net' or wherever, just substitute the url and otherwise do the normal thing

It should redirect without any help, but probably this is one of the edge cases and may be some bugs there.
Which exactly URL are you entering?
http://gamersgate.com; http://www.gamersgate.com; https://gamersgate.com; https://www.gamersgate.com; or something else?
Let me know the URL and I'll look into.

Well, I did a quick lookup. The response error is this:
The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF
There is a workaround on Windows for it (not sure about mono).
Locate the file:
C:\Program Files (x86)\KeePass Password Safe 2\KeePass.exe.config
You need to add this inside the <configuration> tag
<system.net>
	<settings>
		<httpWebRequest useUnsafeHeaderParsing="true" />
	</settings>
</system.net>

It should look like this:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<startup>
		<supportedRuntime version="v4.0" />
		<supportedRuntime version="v2.0.50727" />
	</startup>
	<runtime>
		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
			<dependentAssembly>
				<assemblyIdentity name="KeePass"
					publicKeyToken="fed2ed7716aecf5c"
					culture="neutral" />
				<bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>"
					newVersion="<IP_ADDRESS>15" />
			</dependentAssembly>
		</assemblyBinding>
		<enforceFIPSPolicy enabled="false" />
		<loadFromRemoteSources enabled="true" />
	</runtime>
	<appSettings>
		<add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
	</appSettings>
	<system.net>
		<settings>
			<httpWebRequest useUnsafeHeaderParsing="true" />
		</settings>
	</system.net>
</configuration>

This workaround may lead to security issues. If you trust the server, this may not be a problem.
For more information you should read this:
HttpWebRequestElement.UseUnsafeHeaderParsing
I'm not sure how many broken HTTP servers are out there.
If it is possible to change this setting at run time, I can add a custom setting inside KeePass to allow/deny this behavior.
Of course the default value would be UseUnsafeHeaderParsing = false.
However, I'm not sure if it's worth sacrificing security for a simple favicon.
[]'s

I don't know code, so I'm not sure if there's something significant and obvious in that "unsafe header parsing." The link seems to suggest it can throw back some kind of unsafe or damaging or malicious code if you create that WebException error.
However....that's talking about a web browser that needs to be flexible enough to handle however a web page is configured, or misconfigured. This may be naive, but if the only possible response you will accept is a tiny favicon image, wouldn't it be fairly easy to "firewall" (so to speak) any kind of webexception reply that might cause a security issue? It seems like it should be possible, but it might mean sacrificing the accuracy of the logged failure, which doesn't seem like a big deal to me...there are other ways to diagnose favicon problems; I think this great plugin should concentrate on grabbing them and making things like notifications and logs secondary.
btw, I'm not sure if that website changed in the past two months, but Firefox 54 opens that favicon with no trouble or warnings at all, while this plugin still returns an error...

@photonometric You are right, the documentation lacks details about it, so we will never know exactly what that is all about. Maybe they're overreacting ...
About the "firewall" idea, I agree, probably shouldn't be that hard, but we must be careful.
Since I released the plugin I already have plans to do a major rewrite to improve the parsing/downloading code.
After that  I think it is possible to easily handle this kind of case without compromising security.
Since the other plugin also can't download and we want to keep our passwords secure, I think it's best to leave the way it is for now.
(Better safe than sorry, right?)
Yes, the site works fine in any browser, now and back then. The browsers seems to be less strict with the specifications.


.btn-aspect missing responsive options for only small view ports

There are responsive classes like .btn-aspect-lg to activate the square funcion while on a large viewport, but no class to activate it on smaller view ports only. There needs to be  .btn-aspect-none, .btn-aspect-lg-none, etc.

This was added in version 2.0.0. See the Buttons Documentation.


Add edge balancer to swarm tutorial

The swarm tutorial launches curl in a container to connect to the service end-point. It would be nice if you took this one step further and added the edge balancer, so that users could connect from the host:
docker run -p 8080:80 -d -e ETCD_ADDRESS -e SERVICE=httpd weaveworks/flux-edgebal

You could also update the image from httpd to weaveworks/hello-world and connect via the browser as per the normal tutorial. This would have the advantage of showing that all nodes are load-balanced. There is a slight complication with which VM is exposed though.
Personally, I wasn't overly concerned with the monitoring or UI stuff, I just needed a quick & easy solution to load-balancing a group of images on swarm. The tutorial was great after my coffee kicked and I managed to follow it correctly, but it felt like it was missing the final steps. Alternatively, I guess you could just point users to the normal tutorial at the end.

Hi @amouat, thanks for the suggestion. I've added material on using flux-edgebal into the swarm guide; it's waiting for a new release so I can swap the screenshots for those of the new version.
(I just use the swarm leader as the "public IP")

Cool.
Another pedantic point - the "Guides" link on the flux homepage (https://www.weave.works/products/weave-flux/) leads to a generic Weave Guides page which doesn't mention flux. I think it would be better to just have a single "Documentation and Guides" link as the documentation page has prominent links to your tutorials.
Adrian.

Thanks -- we need to put Flux guides on the main site, alongside the other guides we have for Net and Scope.

The updates swarm guide was pushed out with the 0.2 release.
The problem with the "guides" link has been reported to the relevant people.


Identity changes needed for dropping 3.6 support.

To track:
https://github.com/Azure/azure-sdk-for-python/pull/25115#pullrequestreview-1036345202
Thanks @scbedd

If the identity tests were green after moving py39 to windows. I think you can close this.


Repo-proxy: Apply content rewriting for content browse api

This pr will replace all original repo info to its proxy to repo for content browse api, including both path info and store key info.

Will merge this for further testing. If there is some bug from my local testing, will give new pr.


all: support gRPC dial timeout

It should be possible to express a timeout on connection dial by writing
ctx = context.WithTimeout(ctx, 10*time.Second)
c, err := pkg.NewClient(ctx, ...)

The problem is that the same context passed to NewClient is used in constructing a TokenSource, which will repeatedly try to renew creds forever. We'd like to ignore deadlines and cancelation on that TokenSource context.

@zombiezen Could we use a detachable context for this? Is one available?

You don't really want this. gRPC client conns shouldn't block on healthy, they should block on first RPC.  That subsequent RPC should have a deadline set, which is the thing you would care about.

Thanks @zombiezen! It makes sense when you consider the possibility of lazy connections.
In my code I often rely on the above, requested feature to make instances fail early on startup if connections cannot be created at all.
I'm fixing my code now wherever I can find this mistake. This could possibly replaced with a simple SELECTG 1 query I guess?
And maybe this too could be added one day to the documentation. 🙂
I have to say though, that it's a bit weird to be able to pass a context into the function, because it doesn't do what you expect it to do. And that's probably a bit inoptimal API-wise. 😕

Agreed. We will improve our docs on how to use context.


Language icons wasting screen space by overflowing

My laptop screen is 1366x768, which means space is at a premium when kata training.  Even more so since Codewars is wasting some of it.
The language icons on some well-translated kata are causing the "menu bar" to overflow to a second line on the right.  But it appears there is extra unused space to the left of the language icons, between "1 issue reported" and the "js" icon.  If the wasted space were used, the menu line would not need to overflow:

Overall there is a lot going on at the top of the page. As more and more languages and other features are added to Codewars, this will only get worse.

Its a responsive column based layout so moving that over when space is needed is harder than it looks. I'm planning on replacing the language icon buttons with a single dropdown (similar to kumite/translations).

Icons are the best of the GUI, it will be better in my opinion to make the moon a second row below so when you'll have a language with a huge name it could not break the layout.


[RFC]: add support for serializing a number to a string while avoiding exponential notation

Description
This RFC proposes serializing a number to string while avoiding exponential notation.
The default behavior for JavaScript runtimes when serializing either very large (>=10^21) or very small (<10^-6) numbers to a string is to convert them to exponential notation. E.g.,
In [1]: (1 * base.pow(10,308)).toString()
Out[1]: '1e+308'

In [2]: (1 * base.pow(10,-323)).toString()
Out[2]: '1e-323'

However, in certain circumstances, you may want to avoid serializing to exponential notation and may prefer printing all digits (e.g., see discussion).
For example, the following may be desirable behavior
var str = serialize( 1e50 );
// returns '100000000000000000000000000000000000000000000000000'

This RFC proposes to add support for such behavior.
Package: @stdlib/number/to-string (?)
alias: number2string
Related Issues
No.
Questions
Built-in Number.prototype.toString( [radix] ) supports an optional radix argument. The proposed API would also support this argument, but also support an options object.
/**
* Serializes a number to a string.
*
* @param {(PositiveInteger|Options)} [options] - radix or options
* @param {PositiveInteger} [options.radix] - radix
* @param {boolean} [options.exponential=true] - boolean indicating whether to serialize very large and very small values to exponential notation
* @throws {TypeError} must provide either a positive integer or an options object
* @throws {TypeError} must provide valid options
* @throws {RangeError} radix must be a positive integer on the interval [2, 36]
* @returns {string} serialized number
*/
function number2string( options ) {
    // implementation...
}

Questions:

Is overloading the existing built-in API desirable?
Should serializing a number to a string in non-exponential format be a different package? If so, what would be that package's name?

Other
Prior art:

SO

Checklist

[X] I have read and understood the Code of Conduct.
[X] Searched for existing issues and pull requests.
[X] The issue name begins with RFC:.

I'm interested in working on this RFC and would be happy to be assigned the task.

@Planeshifter Do you have opinions regarding the package name and whether overloading the built-in method is okay?

@WahyuFauzi Before we okay someone working on this, we need to resolve the open questions discussed in the OP.

Thanks for raising this, @kgryte. I agree it's important to address the open questions before moving forward.


Graph-Node on Main Net never completes the sync process

Do you want to request a feature or report a bug?

It might be a bug (not sure)

What is the current behavior?

The graph-node starts the sync process but never finishes it. It is always 1 block behind.
Logs:

Dec 02 18:24:26.136 INFO Graph Node version: 0.19.2 (2020-10-20)
Dec 02 18:24:26.152 INFO Starting up
Dec 02 18:24:26.152 INFO Trying IPFS node at: http://localhost:5001/
Dec 02 18:24:26.159 INFO Creating transport, capabilities: archive, trace, url: http://mainnet.infura.io/v3/[PROJECT_ID], network: mainnet
Dec 02 18:24:26.164 INFO Successfully connected to IPFS node at: http://localhost:5001/
Dec 02 18:24:26.213 INFO Connecting to Postgres, conn_pool_size: 10, url: postgresql://postgres:HIDDEN_PASSWORD@localhost/graph-node
Dec 02 18:24:26.338 INFO Connected to Postgres, url: postgresql://postgres:HIDDEN_PASSWORD@localhost/graph-node, pool_name: main, component: Store
Dec 02 18:24:26.338 DEBG Cleaning up large notifications after about 300s, channel: chain_head_updates, component: ChainHeadUpdateListener > NotificationListener
Dec 02 18:24:26.362 DEBG Cleaning up large notifications after about 300s, channel: store_events, component: NotificationListener
Dec 02 18:24:26.386 INFO Connecting to Ethereum..., capabilities: archive, trace, network: mainnet
Dec 02 18:24:26.410 INFO Connected to Ethereum, capabilities: archive, trace, network_version: 1, network: mainnet
Dec 02 18:24:26.419 INFO Waiting for other graph-node instances to finish migrating, component: Store
Dec 02 18:24:26.432 INFO Running migrations, component: Store
Dec 02 18:24:26.441 INFO Migrations finished, component: Store
Dec 02 18:24:26.441 INFO Completed pending Postgres schema migrations, component: Store
Dec 02 18:24:26.442 DEBG Using postgres host order [Main], component: Store
Dec 02 18:24:26.449 INFO Creating LoadManager in disabled mode, component: LoadManager
Dec 02 18:24:26.450 INFO Starting block ingestors
Dec 02 18:24:26.451 INFO Starting block ingestor for network, network_name: mainnet
Dec 02 18:24:26.477 INFO Starting JSON-RPC admin server at: http://localhost:8020, component: JsonRpcServer
Dec 02 18:24:26.489 INFO Starting GraphQL HTTP server at: http://localhost:8000, component: GraphQLServer
Dec 02 18:24:26.490 INFO Resolve subgraph files using IPFS, subgraph_id: QmPo4KMXbqK8SEvpd5FTr6DeQrQoK9qr4iPj87ne9ZuGXx, component: SubgraphAssignmentProvider
Dec 02 18:24:26.490 INFO Resolve manifest, link: /ipfs/QmPo4KMXbqK8SEvpd5FTr6DeQrQoK9qr4iPj87ne9ZuGXx, subgraph_id: QmPo4KMXbqK8SEvpd5FTr6DeQrQoK9qr4iPj87ne9ZuGXx, component: SubgraphAssignmentProvider
Dec 02 18:24:26.491 INFO Starting index node server at: http://localhost:8030, component: IndexNodeServer
Dec 02 18:24:26.492 INFO Starting metrics server at: http://localhost:8040, component: MetricsServer
Dec 02 18:24:26.493 INFO Starting GraphQL WebSocket server at: ws://localhost:8001, component: SubscriptionServer
Dec 02 18:24:26.513 INFO Syncing 2 blocks from Ethereum., code: BlockIngestionStatus, blocks_needed: 2, blocks_behind: 2, latest_block_head: 11374718, current_block_head: 11374716, network_name: mainnet, component: BlockIngestor
Dec 02 18:24:30.710 INFO Syncing 1 blocks from Ethereum., code: BlockIngestionStatus, blocks_needed: 1, blocks_behind: 1, latest_block_head: 11374719, current_block_head: 11374718, network_name: mainnet, component: BlockIngestor
Dec 02 18:24:50.550 INFO Syncing 1 blocks from Ethereum., code: BlockIngestionStatus, blocks_needed: 1, blocks_behind: 1, latest_block_head: 11374720, current_block_head: 11374719, network_name: mainnet, component: BlockIngestor
Dec 02 18:25:26.490 DEBG Trying again after object.stat timed out (attempt #1), subgraph_id: QmPo4KMXbqK8SEvpd5FTr6DeQrQoK9qr4iPj87ne9ZuGXx, component: SubgraphAssignmentProvider
Dec 02 18:26:21.670 INFO Syncing 1 blocks from Ethereum., code: BlockIngestionStatus, blocks_needed: 1, blocks_behind: 1, latest_block_head: 11374721, current_block_head: 11374720, network_name: mainnet, component: BlockIngestor
Dec 02 18:26:26.494 DEBG Trying again after object.stat timed out (attempt #2), subgraph_id: QmPo4KMXbqK8SEvpd5FTr6DeQrQoK9qr4iPj87ne9ZuGXx, component: SubgraphAssignmentProvider
Dec 02 18:26:32.003 INFO Syncing 1 blocks from Ethereum., code: BlockIngestionStatus, blocks_needed: 1, blocks_behind: 1, latest_block_head: 11374722, current_block_head: 11374721, network_name: mainnet, component: BlockIngestor
Dec 02 18:26:34.601 INFO Syncing 1 blocks from Ethereum., code: BlockIngestionStatus, blocks_needed: 1, blocks_behind: 1, latest_block_head: 11374723, current_block_head: 11374722, network_name: mainnet, component: BlockIngestor
Dec 02 18:26:43.667 INFO Syncing 1 blocks from Ethereum., code: BlockIngestionStatus, blocks_needed: 1, blocks_behind: 1, latest_block_head: 11374724, current_block_head: 11374723, network_name: mainnet, component: BlockIngestor

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.

Starting a graph-node container with the following configurations:

- name: node_id
  value: "default"
- name: node_role
  value: "combined-node" # query+index
- name: "ethereum"
  value: "mainnet:http://mainnet.infura.io/v3/[PROJECT_ID]"
- name: "ETHEREUM_POLLING_INTERVAL"
  value: "200"
- name: "ipfs"
  value: "http://localhost:5001"
- name: RUST_LOG
  value: "info"
- name: GRAPH_LOG
  value: "debug"
- name: postgres_host
  value: "localhost"
- name: postgres_user
  value: "postgres"
- name: postgres_db
  value: "graph-node"
- name: postgres_pass
  valueFrom:
    secretKeyRef:
      name: db-credentials
      key: password
- name: postgres_url
  value: postgres://postgres:$(postgres_pass)@localhost:5432/graph

Even if I use a smaller ETHEREUM_POLLING_INTERVAL it does not sync with mainnet.

What is the expected behavior?

If the sync does not complete, the graph-node is not ready to respond to requests. So the ideal would be to have it synced and ready to start accepting requests.

Hi we're not aware of any bug that would cause this, could it be that somehow your network connection is slow? In what environment are you running this?

I see the same issue when spinning up a new graph node, it looks like it ingests only new blocks. And when I try to deploy a subgraph I get subgraph validation error: [the specified block must exist on the Ethereum network].  Any suggestions?


Updated packages and dependencies

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 98.80%. Comparing base (4cd6501) to head (7a10408).
Report is 12 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #14   +/-   ##
=======================================
  Coverage   98.80%   98.80%
=======================================
  Files          10       10
  Lines         420      420
  Branches       71       70    -1
=======================================
  Hits          415      415
  Misses          5        5

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


docs: allow only one click for copy code button

Proposed changes
Just a quick fix to my copy code button. I added a line to disallow multiple messages, aka the user can only click the button once.
Types of changes

[x] 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 change).

Checklist:

[x] I have read the CONTRIBUTING document.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Hey, I just reformatted the code (had some autoformatting on and working late last night; sorry about that) and was able to disable the button upon click.
I see what you're saying, but the problem before was that if you copied twice, you'd get a second "Copied!" message (or more) with each click. In terms of allowing multiple clicks, I also think because these are just CDN links, people will grab the code as-is. If the problem is the user wanting only one link, a better solution would be to create a different snippet for the JS.

I'm also going to open an issue about potentially adding more of these buttons throughout the site, so we can talk more about different implementations.

I think it would be better to just show the message "code copied" and hide it again after a specific amount of time (setTimeout) or better with a css transition / animation and removing the "show" class. Clicking again will just do the same (hide and show).
Disabling the button is not ideal imho, especially UX or DX wise here.
I think this makes more sense. What do you think?

Honestly, I thought of that but it didn't work for me. That's why I opted to turn off the button initially. If anyone wants to give it a shot, feel free to hijack my code, but I don't have time to work on it today. Here's my codepen for it:
https://codepen.io/christinavoudouris/pen/xxgzjwP

@christinavoudouris played around with your codepen and I think this could be a decent option, re-using the same message container and hide it 2 seconds (or something of that sort), after the copy button is clicked.
https://codepen.io/warrenrodrigues/pen/VwbrNjJ
CSS can be placed inline as required.

@christinavoudouris played around with your codepen and I think this could be a decent option, re-using the same message container and hide it 2 seconds (or something of that sort), after the copy button is clicked.
codepen.io/warrenrodrigues/pen/VwbrNjJ
CSS can be placed inline as required.

Let me know if you need support to make the changes. I think the proposed change from this codepen is an ideal solution for most users =)

@christinavoudouris played around with your codepen and I think this could be a decent option, re-using the same message container and hide it 2 seconds (or something of that sort), after the copy button is clicked.
https://codepen.io/warrenrodrigues/pen/VwbrNjJ
CSS can be placed inline as required.

Looks good to me bruh

Created PR #158 for the message container issue. Also changed the method of copying the text, so that a textarea is not created at the bottom of the page.

Thank you @warrenrodrigues for the PR. I think we can close this PR here in favor of yours.
@christinavoudouris has done great work here and I think her review for your PR with your changes could be very useful.

Yes, definitely.


unrecognized FlexErf node in  downloaded tflite model

Hi, I'd like to download the default distilbert model with the link in download.gradle. It seems the model contains a FlexErf node, which causes failure when I try to run the model with the benchmark tool on a x86 CPU. I try to google this node but get little information.
So what's this node about? Is ther any way to get a model which could run on platforms other than android phonse?

@devandong do you find the answer about what is this node?

From a tensorflow issue: https://github.com/tensorflow/tensorflow/issues/57721#issuecomment-1249326235
I propose to close this issue


Monorepo: Add warning messages for packages that don't have a changelog

It would be nice to add a warning message for monorepo packages that don't have a changelog 😋

It seems like this tool does look for changelog updates even if there is no changelog file in a subpackage of a monorepo.

https://github.com/zowe/zowe-explorer-vscode/pull/2776#issuecomment-2009758291


rapid-photo-downloader does not run

Describe the bug
the rapid-photo-downloader python tool does not start, and emits the following error:
❯ rapid-photo-downloader
Traceback (most recent call last):
  File "/nix/store/gpyb7lgvkiks5sh1bg0g9cqnz700vv7f-rapid-photo-downloader-0.9.18/bin/.rapid-photo-downloader-wrapped", line 6, in <module>
    from raphodo.rapid import main
  File "/nix/store/gpyb7lgvkiks5sh1bg0g9cqnz700vv7f-rapid-photo-downloader-0.9.18/lib/python3.10/site-packages/raphodo/rapid.py", line 62, in <module>
    gi.require_version('Notify', '0.7')
  File "/nix/store/1psjx5nf2gglgd59cjrnqkqpxyy5qy9p-python3.10-pygobject-3.42.2/lib/python3.10/site-packages/gi/__init__.py", line 126, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Notify not available

Steps To Reproduce
Steps to reproduce the behavior:

run current nixos-unstable with package installed
invoke rapid-photo-downloader

Additional context
There are comments in the package suggesting this is a known, solved issue:
  # NOTE: Without gobject-introspection in buildInputs, launching fails with
  #       "Namespace [Notify / GExiv2 / GUdev] not available"

The package hasn't changed recently, and worked a while ago, so this regression has come about via changes elsewhere. I have seen this before, and it 'fixed itself' on a later rebuild. I didn't look into what changed at the time, but that too was after the most recent update of this file in nixpkgs. That suggests to me that the "fix" via gobject introspection is either incomplete or unstable, based on additional dependencies, … ?
The package also disables tests:
  # Package has no generally usable unit tests.
  # The included doctests expect specific, hardcoded hardware to be present.
  doCheck = false;

which means that this can't be picked up when it happens due to some other change.  It might be useful to add a minimal test to see whether it can run and produce usage output or similar.
Aside, the package is also out of date; I tried a trivial update-version-and-hash to see if that would help anything, but it then failed for an additional dependency on show-in-file-manager that's been added in the meantime, and is not in nixpkgs. There are also probably others, several are mentioned in the changelog. I don't know anything about python so stopped there for now to not get the two issues conflated, but nevertheless an update might move or remove this problem too. There are lots of fixes listed in the changelog since the current nixpkgs version which is from Jan 2020, including one that mentions gobject introspection.
Notify maintainers
@jfrankenau  @ryantm

Metadata

system: "x86_64-linux"
host os: Linux 5.15.86, NixOS, 23.05 (Stoat), 23.05pre441271.c07552f6f7d
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.12.0
channels(root): "nixos"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Should be closed by #207166.

Oh, this is a duplicate of #208249. Closing now.


Migration to JUnit5

When will the migration to version 5 be?

I'm not sure what this question implies. There hasn't been a discussion of JUnit 5 anywhere, so I don't know what migration you are referring to. If you have a proposal, please discuss it in detail.


Handle requiresLength

The client sets Content-Length whenever possible:
https://github.com/awslabs/smithy-rs/blob/03a2692fd2ebd4b196f47bfa0aee4729682184c9/codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/generators/protocol/ProtocolGenerator.kt#L145-L159
Which is when size_hint() is exact.
https://github.com/awslabs/smithy-rs/blob/03a2692fd2ebd4b196f47bfa0aee4729682184c9/rust-runtime/aws-smithy-http/src/body.rs#L153-L155
So if in a streaming operation, the ByteStream that is payload-bound does not know its size in advance, Content-Length will not be set, and the request will be sent.
However, the Smithy spec for requiresLength says that if a member is annotated with this trait

the streaming blob MUST be finite and has a known size

I think the current behavior resembles more a SHOULD. I'd expect that if the member has requiresLength and the ByteStream does not know its size in advance, then the client must fail and not send the request.

Confirmed. It looks like the Smithy RequiresLengthTrait was forgotten during initial implementation, and there are no protocol tests for it.


feat(core)!: do not distribute individual component css files

Purpose
For CSS build individual components will not be distributed, instead Sass is recommended to be used,
or dead code should be eliminated from "castor.css" file.
Approach
Remove generation of individual component CSS files for distribution.
Testing
On local build.
Risks
This is a breaking change - indicating with a note.

CSS dead code elimination can be performed by PurgeCSS.
We could document that along with castor.css usage at a later stage.

CSS dead code elimination can be performed by PurgeCSS.
We could document that along with castor.css usage at a later stage.


'f' "cycle float" doesn't work in stack view.

Version and Platform (required):
Binary Ninja Version: 3.1 -dev
'f' "cycle float" doesn't work in stack view.

Available in builds ≥3595.