Proposal : Draw behind, z index ?

I'm trying to draw a path behind. But it looks like the RenderPath can add only on top of the layers stack.
Is it possible to append a new method  RenderPathBehind ? Or even better add z-index parameter to the layers and when new path is added it is inserted at the right 'z'-position.

The interfaces for the specific target file formats are in "direct" mode, meaning that issuing a draw command immediately draws the path. The only exception is the general Canvas class, which keeps a record of layers to draw. We could add functionality there so that you can either set the Z-index for the next drawing commands, or set it explicitly for the current command. Thanks for the suggestion!

@tdewolff Thanks for the fast replay. But I don't get it : the canvas is file format independant no ? And the canvas just stack all the drawings in layers  ? So before to render the canvas to a particular format, we can reorder the layers, no ?

@tdewolff Thanks for your fast answer. Indeed I was talking about the general Canvas. By the way, I think that PDF has z-index capabilities.

I succeeded to draw white rectangle behind like this :
func onWhite(c *canvas.Canvas) *canvas.Canvas {
	cn := canvas.New(c.W, c.H)
	ctx := canvas.NewContext(cn)
	ctx.SetFillColor(canvas.White)
	ctx.DrawPath(0, 0, canvas.Rectangle(math.Ceil(c.W), math.Ceil(c.H)))
	c.Render(cn)

	return cn
}

But this is not very nice.

I've incorporated this issue in the new roadmap from where it will be tracked: #74


!close removes the cooldown role from the claimant

This is meant to resolve issue #1256. The code as previously written would remove the help cooldown role from the person who invoked the !close command, even if was a staff member who was not the claimant. This version worked as expected for all the cases I thought of when tested manually.

Coverage decreased (-0.03%) to 56.467% when pulling 731fea162705583e1ee6edeb5da270b628a018d5 on Stelercus/close_command into 0a49cb61085c2ceb8974decc69b200905bcf14e7 on master.

#1294 may need to be approved first

@MarkKoz Thanks for your feedback. I believe I've made all the requested changes and will report back when I've had a chance to test them.


Out of order definitions

This PR allows you to define items in a natural order, instead of requiring item references to be defined first.

Looking good! Would it be possible to move the module order stuff into elaboration? Maybe it could go into a private submodule, maybe elaboration::item_order or something? This would then be called in elab_module. That means we we have less mixing of elaboration related stuff in with the top-level surface module, which is more just related to defining the AST, and means that the driver does not have to interact with it either.

Still having a go at trying to understand how the algorithm works – sorry for my slowness!

Still having a go at trying to understand how the algorithm works – sorry for my slowness!

Hmm perhaps I should add a comment documenting the approach

Basically it's:

For each item recurse into all the terms it contains and note the dependencies (that aren't local names).
Then do a depth first traversal of an item's dependencies and their dependencies pushing the indexes of items as we hit leaves in order to produce a list of item indexes describing the order in which they should be elaborated.

At the same time keep a stack of names in the traversal so that we can detect when we've re-entered a name that we're in the process of visiting and report a cycle.

Pushed an update to move the code into a sub-module. That was a good suggestion, thank you.


fixed calling error while preparing data in ssd

fixed calling error while calling im2rec.py in prepare_dataset.py
add threads support in prepare_dataset.py
Description
Since the im2rec.py is changed, the calling method in prepare_dataset.py in ssd is invalid. Thus, modified the code to allow converting data correctly. Also, added threads support to improve converting speed.
Checklist
Essentials

[ ] Passed code style checking (make lint)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
[ ] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

@zhreshold


randSinger

Description
100 singers
Proposed solution
No response
Alternatives considered
No response
Do you want to create a pull request?
No

@NetanelBasal Assign this to me please? Thanks! I love music

@theryansmee Sorry for the delay with this just got back from some impromptu travel will PR today/tomorrow!

@Technologeek - Take your time, no rush. We are all just doing our best with the time we have available 😊


2.0.0-beta-4 currentUser only works with .connect()

  if (typeof window === 'object') {
    const hz = new Horizon();
    if (hz.hasAuthToken()) {
      hz.connect();
      hz.currentUser().fetch().subscribe((user) => console.log(JSON.stringify(user)));
    }
  }

Above works, without hz.connect() it does't, but it should right? From docs:

The query result is a user object as described in Users and groups, or an empty object if the user is unauthenticated.

const hz = new Horizon();
hz.currentUser().fetch().subscribe( (user) => console.log(JSON.stringify(user)) );``

Thanks for reporting this. It should indeed work without hz.connect(), and I thought we had fixed it in https://github.com/rethinkdb/horizon/issues/567 . But apparently the issue came back.
Pinging @deontologician

Ok! I figured this out. Turns out we got burned by rxjs changing its behavior for .take(0). Before it would subscribe and complete immediately, now it's special cased so that it never subscribes to the underlying observable. Arguably better for performance, but we were relying on the side-effect in our code.
I'll have a PR up shortly, I also found another undiagnosed issue that I fixed at the same time.


Upgrade to django==1.7.6

Why is this only an addition?

I'm guessing this is the result of peepin django==1.7.6, and because peepin is case-sensitive, it left the Django==1.7.3 at https://github.com/mozilla/sugardough/pull/47/files#diff-a6cf6a7a25a0d8197ce0f264e605583dR13

Sounds reasonable. @glogiotatidis please try again with peepin Django==1.7.6.

yap, i did try with django==1.7.6 (lower case d), so jgmize is right. Updated

r+ assuming travis is happy

thanks!


Printer not fount or not not responding

Hello everyone,
I'm a bit helpless rn: I've set up a CUPS server on a raspberry pi connected to my printer. Ive installed HPLIP on the pi, as well as SAMBA. The CUPS web gui works and I can print a test page from there too. Now the issue: My MacBook finds my Printer, but tells me its not responsive and therefore I cant print. And my Windows Laptop doesnt even see the printer at all...
If anyone has some advice for me I'd appreciate it a lot.
Thank you in advance :)

Ok for some reason my pi was outdated, even tho I updated it when I set up Cups. Now after the update and a restart of Samba all of my devices can use my printer... Very strange but hey it works now.
And if anyone ever reads this: Does anyone know how I can make he scan function of my printer work wit that same pi? For all my devices I mean.
Thank you in advance :)


'Flipper/FlipperCertificateExchangeMedium.h' file not found

Can't build when upgrade react native 0.63.2 to 0.63.3
guide: https://github.com/react-native-community/rn-diff-purge
React Native version:
System:
OS: macOS 10.15.7
CPU: (8) x64 Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
Memory: 388.30 MB / 16.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 12.18.2 - /usr/local/bin/node
Yarn: Not Found
npm: 6.14.5 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.9.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.0, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
Android SDK:
API Levels: 28, 29, 30
Build Tools: 28.0.3, 29.0.2, 30.0.0
System Images: android-28 | Google Play Intel x86 Atom, android-29 | Google Play Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 4.0 AI-193.69<IP_ADDRESS>26763
Xcode: 12.0.1/12A7300 - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_242-release - /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: 0.63.3 => 0.63.3
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found

Podfile
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
platform :ios, '10.0'
target 'listar' do
config = use_native_modules!
use_react_native!(:path => config["reactNativePath"])
use_flipper!
post_install do |installer|
flipper_post_install(installer)
end
rn_maps_path = '../node_modules/react-native-maps'
pod 'react-native-google-maps', :path => rn_maps_path
pod 'GoogleMaps'
pod 'Google-Maps-iOS-Utils'
end

maybe this issue could help you, https://github.com/facebook/flipper/issues/976. Few months ago i had the same issue, but the reason was because of my podfile structure, maybe react-native 0.63 does not support this structure.

Thanks for suggestion, but your link not found

Thanks for suggestion, but your link not found

Thanks for suggestion, but your link not found

Yeah, I have fixed try to check it out

Thanks for suggestion, but your link not found

There's something else that you can do, open your xCode go to Product >> Clear Build Folder, and then try to build your app inside the XCode

Have you figure this out?

Have you figure this out?

https://github.com/facebook/flipper/tree/v0.75.1/xplat/Flipper, check if there is a 'FlipperCertificateExchangeMedium.h' file on your Flipper version tag. if not , try another version Flipper. If it does have, do the following clean:

cd ios/  &&  pod cache clean --all
rm -rf ~/.cocoapods/repos/
then 'pod update' in ios/  while your network is very well.


Getting Compile error for UserControlNinjaBuddy\xaml\txt.cs

NinjaScript File	Error	Code	Line	Column
UserControlNinjaBuddy\xaml\txt.cs	Missing partial modifier on declaration of type 'ATSQuadroStrategyBase.GUI.UserControlNinjaBuddy'; another partial declaration of this type exists	CS0260	32	18
I tried to modify the declaration and resolve the namespace, path etc. still gets the same error.
Let me know if you had faced similar issue and how did you resolved it.

No reports of error before this likely to be some kind of local environmental issues internal to NT8 and the open source files etc
The only way to deal with it is from the first step and then log any errors at each step taken.

With a clean healthy install of  NT8 with no existing errors  - default install and location etc
2)Follow the exact install procedure on the read me  here: https://github.com/MicroTrendsLtd/NinjaTrader8
then compile
Any issues with those steps will provide the details and info needed to replicate/resolve

I have the same error when I install fresh. It is saying there is missing file and the file it is saying is already in the dir.

That error is usually due to installing both projects instead of only 1 -
If you follow the exact steps here with a clean install of  NT8
https://github.com/MicroTrendsLtd/NinjaTrader8
E.G:
Installation: https://github.com/MicroTrendsLtd/NinjaTrader8/discussions/61
NT8 Code Editor Setup: https://github.com/MicroTrendsLtd/NinjaTrader8/discussions/65
Note: This project targets developers so this would not be suitable for non developers.


fix(motion_velocity_smoother): fix overwriteStopPoint using backward point

Description

We do not need to look at the velocity 0 point in the backward in velocity_smoother.
If there is a velocity 0 in backward trajectory, it will generate a stop trajectory.
(actually obstacle_avoidance_planenr has a bug that embeds 0 velocity in idx=0. This problem will be solved by another PR)
~In this PR, we search for velocity 0 only after the previous point of ego's neighborhood.~
In this PR, we used clipped trajectory from ego as input of overwriteStopPoint.
Related links

Tests performed

Confirmed that it does not stop even if velocity 0 is embedded in backward path point using PSim.
todo: check the result of scenario tests
Notes for reviewers

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.
[ ] The PR has been properly tested.
[ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@kosuke55 please let me know when the "TODO" is done.

@TakaHoribe
As we discussed earlier, differences in scenario tests results are probably due to random fails and I didn't check them closely, but I confirmed that the bug was fixed with Psim several times. Please approve if It's OK.


Inconsistent usage of ConsentStatusMapper

for the signing it is used "signed" for operation and "sign" for status while for declining it is used the ConsentStatusMapper

@https://github.com/PharmaLedger-IMI/clinical-site-ssapp/commit/643d08c50e56a3030d603a843150e770afbc07c2


Scenario example or clarification needed

Under Example for users to override automatic deletion:
Scenario: By default, SharePoint items are automatically retained and then deleted after five years, but documents in specific libraries must be retained for ten years.

You create and configure a retention policy that automatically retains and then deletes content after five years, and apply the policy to all SharePoint and Microsoft 365 Groups instances.
You create and configure a retention label that automatically retains content for ten years. You publish this label to SharePoint site admins, so that they can apply it as a default label to be inherited by all items in specific document libraries.

Please provide specific info or reference for how to limit publishing of a retention label to site admins only per You publish this label to SharePoint site admins, so that they can apply it as a default label to be inherited by all items in specific document libraries. Or alternatively, if this is not possible, consider rewriting this statement to You publish this label to the SharePoint site so that site members can apply it as a default label to be inherited by all items in specific document libraries. Per my understanding a retention label is published to the site and cannot be isolated for use by site admins only. A site member or anyone with Edit permissions to the document library would therefore be able to also assign as default to the library, folder, or document set.

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

ID: 6c49609d-3a62-b9be-24bf-f8fa6948d390
Version Independent ID: df547c86-fbc7-4f87-e893-49d07b045373
Content: Learn about retention policies & labels to retain or delete - Microsoft Purview (compliance)
Content Source: microsoft-365/compliance/retention.md
Service: o365-seccomp
GitHub Login: @cabailey
Microsoft Alias: cabailey

@shwag You're quite right - you can't publish retention labels to specific users, it's location-based. I'll reword so it's clearer the SPO admin reference is the example of who might apply the exception label in this way.


Use sea-orm to manipulate Rails ActiveStorage tables

I'm trying to use Sea-Orm to map rails active_storage tables (used to store data remotely on S3 buckets). ActiveStorage uses 2 tables:

active_storage_blobs with the following structure:

CREATE TABLE active_storage_blobs (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    key character varying NOT NULL,
    filename character varying NOT NULL,
    content_type character varying,
    metadata text,
    service_name character varying NOT NULL,
    byte_size bigint NOT NULL,
    checksum character varying NOT NULL,
    created_at timestamp without time zone NOT NULL
);

active_storage_attachments with the following structure:

CREATE TABLE active_storage_attachments (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    name character varying NOT NULL,
    record_type character varying NOT NULL,
    record_id uuid NOT NULL,
    blob_id uuid NOT NULL,
    created_at timestamp without time zone NOT NULL
);

When you use it in your model Foo with has_one_attached :photo it will create the following:
has_one :"#{name}_attachment", -> { where(name: name) }, class_name: "ActiveStorage::Attachment", as: :record, inverse_of: :record, dependent: :destroy, strict_loading: strict_loading
has_one :"#{name}_blob", through: :"#{name}_attachment", class_name: "ActiveStorage::Blob", source: :blob, strict_loading: strict_loading

The blob will be stored in active_storage_blobs with the key and service pointing to your S3 instance, then the link between your model and the blob is stored in active_storage_attachments with record_type = foo (lowercase value of your model class name), and record_id the id of your model instance.
I tried this:
impl RelationTrait for Relation {
    fn def(&self) -> RelationDef {
        match self {
            Self::FooObject => Entity::belongs_to(super::foo_objects::Entity)
                .from(Column::RecordId) // <--- HERE I NEED TO HAVE SOMETHING
                .to(super::foo_objects::Column::Id)
                .into(),
        }
    }
}

but the from(Column::RecordId) isn't enough, as I need something like AND record_type="foo". Maybe that could be expressed as:
impl RelationTrait for Relation {
    fn def(&self) -> RelationDef {
        match self {
            Self::FooObject => Entity::belongs_to(super::foo_objects::Entity)
                .from((Column::RecordId, Column::RecordType)) // <--- HERE
                .to((super::foo_objects::Column::Id, "foo_object"))
                .into(),
        }
    }
}

I didn't find any way to do that. Am I missing something?

I think you want this new feature in 0.9.0 https://docs.rs/sea-orm/latest/src/sea_orm/entity/relation.rs.html#191-197
Oppps... the example is mal-formatted


[Addons] Make the addons have their own way of testing/linting etc... (atomically)

atomically = not relying on a project, by themselves
Lerna seems to be able to team with yarn workspaces

meta issue: #1433

I propose that the yo plone:addon generates all addons with testing and self-bootstrapping infrastructure.

We need documentation on @plone/scripts add-on:
See:
https://github.com/kitconcept/volto-blocks-grid/blob/main/.github/workflows/acceptance.yml#L45

can you please guide how should i go about adding documentation about this one ?


Cargo build error

Do you want to request a feature or report a bug?
A bug
What is the current behavior?
build error
error[E0284]: type annotations needed: cannot satisfy `<std::time::Duration as std::ops::Add<_>>::Output == std::time::Duration`
  --> node/src/manager/commands/query.rs:93:27
   |
93 |             } => *elapsed + children.iter().map(|(_, trace)| query_time(trace)).sum(),
   |                           ^ cannot satisfy `<std::time::Duration as std::ops::Add<_>>::Output == std::time::Duration`

error[E0283]: type annotations needed
  --> node/src/manager/commands/query.rs:93:81
   |
93 |             } => *elapsed + children.iter().map(|(_, trace)| query_time(trace)).sum(),
   |                                                                                ^^^ cannot infer type of the type parameter `S` declared on the associated function `sum`
   |
   = note: multiple `impl`s satisfying `std::time::Duration: std::ops::Add<_>` found in the following crates: `core`, `time`:
           - impl std::ops::Add for std::time::Duration;
           - impl std::ops::Add<time::duration::Duration> for std::time::Duration;
help: consider specifying the generic argument
   |
93 |             } => *elapsed + children.iter().map(|(_, trace)| query_time(trace)).sum::<S>(),
   |                                                                                +++++

cargo 1.63.0 (fd9c4297c 2022-07-01)
graph node:6180c89890898e4306953cef2b26ebdf301a59fa
rustc 1.63.0 (4b91a6ea7 2022-08-08)

Hey, can someone help me, it troubling me four days!

I have reseted graph-node to cd102867f9fa6170daf59a42ec69bf4666e9c8a3 ,it works

Hi! Glad you got it working, we generally recommend using one of the released versions. Closing now, please re-open if you are still having issues!


Question about Pharo integration

Sorry, but is there a way of using it in Pharo without Moose ? i.e. to the extent that there's a text pane where PlantUML syntax can be entered and a second pane that in a REPL manner shows the corresponding UML diagram ?
thanks

Hello and sorry for the late reply. Today I created a fork https://github.com/fuhrmanator/PlantUMLPharoGizmo/tree/pharo9 that should not have any need for Moose. It's working for Pharo 9. You need to load it via
Metacello new
  repository: 'github://fuhrmanator/PlantUMLPharoGizmo:pharo9/src';
  baseline: 'PUGizmo';
  load.

Then you can open with PUGizmo open in a playground. I hope this works for you.

Also, if you just want core PlantUML support, check out https://github.com/kasperosterbye/PlantUMLBridge if you didn't already know about it.


[Embeddingapi] TC dev for finding text in the web page

Impacted tests(approved): new 8, update 0, delete 0
Unit test platform: Crosswalk Project for Android 20.50.533.0
Unit test result summary: pass 8, fail 0, block 0
BUG=https://crosswalk-project.org/jira/browse/CTS-1568

@zhuyongyong please resolve this issue:
INVALID JSON FORMAT: embeddingapi/embedding-api-android-tests/suite.json contain invalid json format

LGTM


Switch paths on client

The story:
As a learner of multiple paths, I want to switch the current path I'm on

What we should do:
We should hook up the path selector so that it works and switches.
Use the Path Container to switch the path.

To be successful we need to:
Check these off as they are completed:

[ ] User can change path
[ ] Path is stored in localStorage via the Path container

I can do this


2 tests fail if /usr/local/share does not exist

Describe the bug

There are tests that use /usr/local/share as a path that exists on all Unix systems.  Gentoo does not have that path created by default.  This causes the tests to fail.
To Reproduce

Remove (or rename) /usr/local/share and run the tests.

    def test_path_exists_case_insensitive():

        # choose a path which exists on all Unix systems
        path = "/usr/local/share"

        assert denormalize_path(path) == path
>       assert denormalize_path(path.title()) == path
E       AssertionError: assert '/usr/local/Share' == '/usr/local/share'
E         - /usr/local/share
E         ?            ^
E         + /usr/local/Share
E         ?            ^

path       = '/usr/local/share'

tests/offline/utils/test_path.py:23: AssertionError
___________________________________________________________________________________________ test_cased_path_candidates ____________________________________________________________________________________________

    def test_cased_path_candidates():

        # test that we can find a unique correctly cased path
        # starting from a candidate with scrambled casing

        path = "/usr/local/share".upper()
        candidates = equivalent_path_candidates(path)

        assert len(candidates) == 1
>       assert "/usr/local/share" in candidates
E       AssertionError: assert '/usr/local/share' in ['/usr/local/SHARE']

candidates = ['/usr/local/SHARE']
path       = '/USR/LOCAL/SHARE'

tests/offline/utils/test_path.py:47: AssertionError

Expected behaviour

Tests should pass.
System:

Maestral version: 1.5.2
Python version: 3.9.9
OS: [e.g. Ubuntu] Gentoo
Desktop environment: [e.g. Gnome 3.32] Gnome 40.0
PyQt version (for Linux GUI): 5.15.4

Additional context

I suggest using /usr/bin or /usr/share instead.

Oh, good catch! You live and learn :)


Example model for WAIC

[ ] Create an example of calculating WAIC

[ ] write it up for the manual

Can we point people to the various WAIC/LOO related papers instead of including an example in the manual? The manual is already overflowing.

We're now moving away from suggesting WAIC calculations.  We should do a case study for WAIC instead.


Add overflow-checking variants of arithmetic dyn kernels

Is your feature request related to a problem or challenge? Please describe what you are trying to do.

Similar to arithmetic scalar dyn kernels, we are going to add overflow-checking variants of arithmetic (non-scalar) dyn kernels.
Describe the solution you'd like

Describe alternatives you've considered

Additional context

label_issue.py automatically added labels {'arrow'} from #2740


Following this tutorial does not produce a working result

Following this tutorial does not produce a working result, and debugging is close to impossible because of the error message:

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

ID: 68d60dd9-05e9-9c78-7d7b-53b26a92af06
Version Independent ID: 282e50ba-61cf-6574-94ad-4dcf82b71a72
Content: Configure single sign-on - Power Virtual Agents
Content Source: power-virtual-agents/configure-sso.md
Service: power-virtual-agents
GitHub Login: @iaanw
Microsoft Alias: iawilt

Thanks for your comment, @drmanhatin. This issue has been assigned to the doc author for review.


--include-only api not work

🐛 Describe the bug

I refer to the readme and added the following code in build.gradle.kts
tasks.register<KtfmtFormatTask>("ktfmtPrecommit") {
    source = project.fileTree(rootDir)
    include("**/*.kt")
}

I added some whitespace in the file, then run the command below
./gradlew ktfmtPrecommit --include-only=src/main/kotlin/com/javahub/lagoon/LagoonApplication.kt
But not work, the file is not formatted
This is the output from the command line
To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/6.8.3/userguide/gradle_daemon.html#sec:disabling_the_daemon.
Daemon will be stopped at the end of the build

By the way, I use JDK11 and<EMAIL_ADDRESS>📷 Screenshots

📱 Tech info

OS: Win10
Library/App version: 0.5.0

Please rerun with --info and paste the output you see on console.

I switched to using JDK15.
Initialized native services in: C:\Users\charles\.gradle\native
Starting process 'command 'D:\Java\jdk-15.0.2+7\bin\java.exe''. Working directory: C:\Users\charles\AppData\Local\Temp\1617365858718-0 Command: D:\Java\jdk-15.0.2+7\bin\java.exe -cp . JavaProbe
Successfully started process 'command 'D:\Java\jdk-15.0.2+7\bin\java.exe''
To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/6.8.3/userguide/gradle_daemon.html#sec:disabling_the_daemon.
Starting process 'Gradle build daemon'. Working directory: C:\Users\charles\.gradle\daemon\6.8.3 Command: D:\Java\jdk-15.0.2+7\bin\java.exe --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED --add-opens java.prefs/java.util.prefs=ALL-UNNAMED -Dfile.encoding=UTF-8 -Duser.country=CN -Duser.language=zh -Duser.variant -cp C:\Users\charles\.gradle\wrapper\dists\gradle-6.8.3-bin\7ykxq50lst7lb7wx1nijpicxn\gradle-6.8.3\lib\gradle-launcher-6.8.3.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 6.8.3
Successfully started process 'Gradle build daemon'
An attempt to start the daemon took 1.609 secs.
The client will now receive all logging from the daemon (pid: 11420). The daemon log file: C:\Users\charles\.gradle\daemon\6.8.3\daemon-11420.out.log
Daemon will be stopped at the end of the build
Using 8 worker leases.
Watching the file system is disabled
Starting Build
Skipping Kotlin DSL script compilation (Settings/TopLevel/stage1) as it is up-to-date.
Settings evaluated using settings file 'D:\github\lagoon-admin\settings.gradle.kts'.
Projects loaded. Root project using build file 'D:\github\lagoon-admin\build.gradle.kts'.
Included projects: [root project 'lagoon']

> Configure project :
Evaluating root project 'lagoon' using build file 'D:\github\lagoon-admin\build.gradle.kts'.
Caching disabled for Kotlin DSL plugin accessors for classpath '5dc078143489e43a28fa5f8df9efc9c2' because:
  Build cache is disabled
Skipping Kotlin DSL plugin accessors for classpath '5dc078143489e43a28fa5f8df9efc9c2' as it is up-to-date.
Caching disabled for Kotlin DSL script compilation (Project/TopLevel/stage1) because:
  Build cache is disabled
Skipping Kotlin DSL script compilation (Project/TopLevel/stage1) as it is up-to-date.
Applying dependency management to configuration 'bootArchives' in project 'lagoon'
Applying dependency management to configuration 'kotlinCompilerClasspath' in project 'lagoon'
Applying dependency management to configuration 'kotlinCompilerPluginClasspath' in project 'lagoon'
Applying dependency management to configuration 'kotlinNativeCompilerPluginClasspath' in project 'lagoon'
Applying dependency management to configuration 'kotlinKlibCommonizerClasspath' in project 'lagoon'
Applying dependency management to configuration 'archives' in project 'lagoon'
Applying dependency management to configuration 'default' in project 'lagoon'
Applying dependency management to configuration 'compile' in project 'lagoon'
Applying dependency management to configuration 'implementation' in project 'lagoon'
Applying dependency management to configuration 'runtime' in project 'lagoon'
Applying dependency management to configuration 'compileOnly' in project 'lagoon'
Applying dependency management to configuration 'compileClasspath' in project 'lagoon'
Applying dependency management to configuration 'annotationProcessor' in project 'lagoon'
Applying dependency management to configuration 'runtimeOnly' in project 'lagoon'
Applying dependency management to configuration 'runtimeClasspath' in project 'lagoon'
Applying dependency management to configuration 'testCompile' in project 'lagoon'
Applying dependency management to configuration 'testImplementation' in project 'lagoon'
Applying dependency management to configuration 'testRuntime' in project 'lagoon'
Applying dependency management to configuration 'testCompileOnly' in project 'lagoon'
Applying dependency management to configuration 'testCompileClasspath' in project 'lagoon'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'lagoon'
Applying dependency management to configuration 'testRuntimeOnly' in project 'lagoon'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'lagoon'
Applying dependency management to configuration 'apiElements' in project 'lagoon'
Applying dependency management to configuration 'runtimeElements' in project 'lagoon'
Applying dependency management to configuration 'developmentOnly' in project 'lagoon'
Applying dependency management to configuration 'productionRuntimeClasspath' in project 'lagoon'
Applying dependency management to configuration 'api' in project 'lagoon'
Applying dependency management to configuration 'apiDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'implementationDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'compileOnlyDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'runtimeOnlyDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'testApi' in project 'lagoon'
Applying dependency management to configuration 'testApiDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'testImplementationDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'testCompileOnlyDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'testRuntimeOnlyDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'kotlinScriptDef' in project 'lagoon'
kotlin scripting plugin: created the scripting discovery configuration: kotlinScriptDef
Applying dependency management to configuration 'kotlinScriptDefExtensions' in project 'lagoon'
Applying dependency management to configuration 'testKotlinScriptDef' in project 'lagoon'
kotlin scripting plugin: created the scripting discovery configuration: testKotlinScriptDef
Applying dependency management to configuration 'testKotlinScriptDefExtensions' in project 'lagoon'
Applying dependency management to configuration 'sourceArtifacts' in project 'lagoon'
Applying dependency management to configuration 'kotlinKaptWorkerDependencies' in project 'lagoon'
Applying dependency management to configuration 'kapt' in project 'lagoon'
Applying dependency management to configuration 'kaptTest' in project 'lagoon'
Caching disabled for Kotlin DSL accessors for root project 'lagoon' because:
  Build cache is disabled
Skipping Kotlin DSL accessors for root project 'lagoon' as it is up-to-date.
Caching disabled for Kotlin DSL script compilation (Project/TopLevel/stage2) because:
  Build cache is disabled
Skipping Kotlin DSL script compilation (Project/TopLevel/stage2) as it is up-to-date.
Applying dependency management to configuration '_classStructurekaptKotlin' in project 'lagoon'
Applying dependency management to configuration '_classStructurekaptTestKotlin' in project 'lagoon'
Applying dependency management to configuration 'apiElements-published' in project 'lagoon'
Applying dependency management to configuration 'runtimeElements-published' in project 'lagoon'
All projects evaluated.
Selected primary task 'ktfmtPrecommit' from project :
Tasks to be executed: [task ':ktfmtPrecommit']
Tasks that were excluded: []
:ktfmtPrecommit (Thread[Execution worker for ':' Thread 4,5,main]) started.

> Task :ktfmtPrecommit UP-TO-DATE
Caching disabled for task ':ktfmtPrecommit' because:
  Build cache is disabled
Skipping task ':ktfmtPrecommit' as it is up-to-date.
:ktfmtPrecommit (Thread[Execution worker for ':' Thread 4,5,main]) completed. Took 0.512 secs.

BUILD SUCCESSFUL in 8s
1 actionable task: 1 up-to-date
Configuration Cache (D:\github\lagoon-admin\.gradle\configuration-cache) removing files not accessed on or after Fri Mar 26 20:17:47 CST 2021.
Configuration Cache (D:\github\lagoon-admin\.gradle\configuration-cache) cleaned up in 0.001 secs.
VCS Checkout Cache (D:\github\lagoon-admin\.gradle\vcs-1) removing files not accessed on or after Fri Mar 26 20:17:43 CST 2021.
VCS Checkout Cache (D:\github\lagoon-admin\.gradle\vcs-1) cleaned up in 0.0 secs.
<-------------> 0% WAITING
> IDLE

So the problem is that the task is being skipped as UP-TO-DATE.
In order to support you further let's try to re-run again with:
--info --rerun-tasks --scan

And please send over the build scan.

$ ./gradlew ktfmtPrecommit --info --rerun-tasks --scan --include-only=src/main/kotlin/com/javahub/lagoon/LagoonApplication.kt -Dorg.gradle.java.home="$JAVA_HOME" --no-daemon
Initialized native services in: C:\Users\charles\.gradle\native
To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/6.8.3/userguide/gradle_daemon.html#sec:disabling_the_daemon.
Starting process 'Gradle build daemon'. Working directory: C:\Users\charles\.gradle\daemon\6.8.3 Command: D:\Java\jdk1.8.0_171\bin\java.exe -Dfile.encoding=UTF-8 -Duser.country=CN -Duser.language=zh -Duser.variant -cp C:\Users\charles\.gradle\wrapper\dists\gradle-6.8.3-bin\7ykxq50lst7lb7wx1nijpicxn\gradle-6.8.3\lib\gradle-launcher-6.8.3.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 6.8.3
Successfully started process 'Gradle build daemon'
An attempt to start the daemon took 2.795 secs.
The client will now receive all logging from the daemon (pid: 16332). The daemon log file: C:\Users\charles\.gradle\daemon\6.8.3\daemon-16332.out.log
Daemon will be stopped at the end of the build
Using 8 worker leases.
Watching the file system is disabled
Starting Build
Skipping Kotlin DSL script compilation (Settings/TopLevel/stage1) as it is up-to-date.
Settings evaluated using settings file 'D:\github\lagoon-admin\settings.gradle.kts'.
Projects loaded. Root project using build file 'D:\github\lagoon-admin\build.gradle.kts'.
Included projects: [root project 'lagoon']

> Configure project :
Evaluating root project 'lagoon' using build file 'D:\github\lagoon-admin\build.gradle.kts'.
Caching disabled for Kotlin DSL plugin accessors for classpath '2d3a6d6dae4d1391111112bc0de052c3' because:
  Build cache is disabled
Skipping Kotlin DSL plugin accessors for classpath '2d3a6d6dae4d1391111112bc0de052c3' as it is up-to-date.
Caching disabled for Kotlin DSL script compilation (Project/TopLevel/stage1) because:
  Build cache is disabled
Skipping Kotlin DSL script compilation (Project/TopLevel/stage1) as it is up-to-date.
Applying dependency management to configuration 'bootArchives' in project 'lagoon'
Applying dependency management to configuration 'kotlinCompilerClasspath' in project 'lagoon'
Applying dependency management to configuration 'kotlinCompilerPluginClasspath' in project 'lagoon'
Applying dependency management to configuration 'kotlinNativeCompilerPluginClasspath' in project 'lagoon'
Applying dependency management to configuration 'kotlinKlibCommonizerClasspath' in project 'lagoon'
Applying dependency management to configuration 'archives' in project 'lagoon'
Applying dependency management to configuration 'default' in project 'lagoon'
Applying dependency management to configuration 'compile' in project 'lagoon'
Applying dependency management to configuration 'implementation' in project 'lagoon'
Applying dependency management to configuration 'runtime' in project 'lagoon'
Applying dependency management to configuration 'compileOnly' in project 'lagoon'
Applying dependency management to configuration 'compileClasspath' in project 'lagoon'
Applying dependency management to configuration 'annotationProcessor' in project 'lagoon'
Applying dependency management to configuration 'runtimeOnly' in project 'lagoon'
Applying dependency management to configuration 'runtimeClasspath' in project 'lagoon'
Applying dependency management to configuration 'testCompile' in project 'lagoon'
Applying dependency management to configuration 'testImplementation' in project 'lagoon'
Applying dependency management to configuration 'testRuntime' in project 'lagoon'
Applying dependency management to configuration 'testCompileOnly' in project 'lagoon'
Applying dependency management to configuration 'testCompileClasspath' in project 'lagoon'
Applying dependency management to configuration 'testAnnotationProcessor' in project 'lagoon'
Applying dependency management to configuration 'testRuntimeOnly' in project 'lagoon'
Applying dependency management to configuration 'testRuntimeClasspath' in project 'lagoon'
Applying dependency management to configuration 'apiElements' in project 'lagoon'
Applying dependency management to configuration 'runtimeElements' in project 'lagoon'
Applying dependency management to configuration 'developmentOnly' in project 'lagoon'
Applying dependency management to configuration 'productionRuntimeClasspath' in project 'lagoon'
Applying dependency management to configuration 'api' in project 'lagoon'
Applying dependency management to configuration 'apiDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'implementationDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'compileOnlyDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'runtimeOnlyDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'testApi' in project 'lagoon'
Applying dependency management to configuration 'testApiDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'testImplementationDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'testCompileOnlyDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'testRuntimeOnlyDependenciesMetadata' in project 'lagoon'
Applying dependency management to configuration 'kotlinScriptDef' in project 'lagoon'
kotlin scripting plugin: created the scripting discovery configuration: kotlinScriptDef
Applying dependency management to configuration 'kotlinScriptDefExtensions' in project 'lagoon'
Applying dependency management to configuration 'testKotlinScriptDef' in project 'lagoon'
kotlin scripting plugin: created the scripting discovery configuration: testKotlinScriptDef
Applying dependency management to configuration 'testKotlinScriptDefExtensions' in project 'lagoon'
Applying dependency management to configuration 'sourceArtifacts' in project 'lagoon'
Applying dependency management to configuration 'kotlinKaptWorkerDependencies' in project 'lagoon'
Applying dependency management to configuration 'kapt' in project 'lagoon'
Applying dependency management to configuration 'kaptTest' in project 'lagoon'
Caching disabled for Kotlin DSL accessors for root project 'lagoon' because:
  Build cache is disabled
Skipping Kotlin DSL accessors for root project 'lagoon' as it is up-to-date.
Caching disabled for Kotlin DSL script compilation (Project/TopLevel/stage2) because:
  Build cache is disabled
Skipping Kotlin DSL script compilation (Project/TopLevel/stage2) as it is up-to-date.
Applying dependency management to configuration '_classStructurekaptKotlin' in project 'lagoon'
Applying dependency management to configuration '_classStructurekaptTestKotlin' in project 'lagoon'
Applying dependency management to configuration 'apiElements-published' in project 'lagoon'
Applying dependency management to configuration 'runtimeElements-published' in project 'lagoon'
All projects evaluated.
 Took 0.596 secs.

BUILD SUCCESSFUL in 10s
1 actionable task: 1 executed

Publishing a build scan to scans.gradle.com requires accepting the Gradle Terms of Service defined at https://gradle.com/terms-of-service. Do you accept these terms? [yes, no] yes

Gradle Terms of Service accepted.

Publishing build scan...
https://gradle.com/s/4sin4huncc2a6

Seems like there is a file separator problem.
Can you try to invoke with:
./gradlew ktfmtPrecommit --info --rerun-tasks --scan --include-only=src\main\kotlin\com\javahub\lagoon\LagoonApplication.kt

And post the output?

src\main\kotlin\com\javahub\lagoon\LagoonApplication.kt not work.
But src\\main\\kotlin\\com\\javahub\\lagoon\\LagoonApplication.kt takes effect.
I work on the Win10, can you do a compatible treatment for the delimiter?

I work on the Win10, can you do a compatible treatment for the delimiter?

The escaping is unrelated to ktfmt-gradle (the plugin doesn't do any path processing).
The solution here really depends on the type of shell you're using (I have little knowledge of the Windows shells). Have you tried using quotes, like --include-only="src\main\kotlin\com\javahub\lagoon\LagoonApplication.kt"?

yes, --include-only="src\main\kotlin\com\javahub\lagoon\LagoonApplication.kt" takes effect.
But in actual work, I work on windows and my colleagues work on mac book, so the git hook script I wrote needs to take effect on windows and linux at the same time.
#!/bin/sh

# do something...

The usual git hook is to call a bash script, just like the form above.
Bash scripts cannot be called directly on windows, but generally when installing git, a git bash will be installed. The essence of git bash is a linux virtual machine, which means that this virtual machine can directly access files on windows. So in the current situation, it is impossible to write a script that can work on two operating systems at the same time
I am also not sure whether ktfmt needs to be compatible with file separators, which is indeed not its responsibility. But I didn’t seem to encounter any problems when using prettier. Did they do a compatible treatment? This problem is worth studying.

So in the current situation, it is impossible to write a script that can work on two operating systems at the same time

I understand your point. I'd be happy to get some support on this side as this sounds to me more like an edge case scenario. Happy to review a PR :)


fix(geosuggest) - call onChange callback first

onChange callback can be used by parent component to get the user entered value and use this later in skipSuggest or renderSuggestItem to manipulate the suggestions.
Calling onChange at the end makes it hard for parent component to use the correct value entered by the user.
fixes #376
Checklist

[x] All tests passing
[x] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary
[x] Commits and PR follow conventions

I’m closing this one due to missing feedback.


Link to github in nav bar

I think clicking on Handbook and then the Github link should be good enough.

Not sure why I opened this, the Wallet link goes directly to GitHub.


Improve addition of affine expressions.

Before: 2.4k rows/sec on keccak
after: 2.8k rows/sec

Extended version: #540

Closed in favour of #540


Enable configuration cache

Build analyzer results:

Try to turn Configuration cache on
You could save about 3,4s by turning Configuration cache  on.

Gradle Daemon Memory Utilization
13,5% (0,4s) of your build’s time was dedicated to garbage collection during this build. To reduce the amount of time spent on garbage collection, please consider increasing the Gradle daemon heap size. You can change the Gradle daemon heap size on the memory settings page.

The default garbage collector was used in this build running with JDK 17. Note that the default GC was changed starting with JDK 9. This could impact your build performance by as much as 10%. Recommendation: Fine tune your JVM.

Fixed in this PR


add consumer and runnable to MatchMonad pattern matching

One open question is if we should add some more meaningful termination operation for monads with consumer/runnable. Currently we have get() which is a little strange in case when we have MatchMonad of Void. I will leave this decision to You.

Current coverage is 91.78%

Merging #954 into master will decrease coverage by -0.01% as of dfe4509

@@            master    #954   diff @@
======================================
  Files           74      74
  Stmts         8853    8883    +30
  Branches      1709    1709
  Methods          0       0
======================================
+ Hit           8127    8153    +26
- Partial        174     175     +1
- Missed         552     555     +3

Review entire Coverage Diff as of dfe4509

Powered by Codecov. Updated on successful CI builds.

Awesome, thx!
I asked myself the question, too. get() is mandatory because MatchMonad extends Value. I think we don't need to add other terminal operations because Consumer and Runnable will only perform side-effects - nothing is returned. It is ok as it is!


中文文档上线了 🎉 🎉 🎉 原汁原味的中文

Question
中文文档上线了 🎉 🎉 🎉
原汁原味的中文 https://pydantic.com.cn/logfire/

🙏
👀

🙏
👀

thanks for feedback, i have fix it .
最新访问网址：  https://pydantic.com.cn/logfire/

@horizon365 We saw you doing this for multiple packages. What's the idea?

If there's something we need to do, please let us know @horizon365 :)


document permissioning for functions

we should include who has permission to do this action (eg admin or anyone), for the dataset functions / write functions especially.

@ashishsingal1 to define the permissioning

For the purposes of documentation, tried to simplify it into a table:
https://docs.vanna.ai/reference/#vanna--permissions
Since we expect most usage to be via the magic wrapper functions vn.ask() and vn.train() -- I don't think we need much more than this for now.


basicSample - Grouping and Summaries In Grid (sort grouped column)

Hi,
in my local solution or in "http://serenedemo.azurewebsites.net/BasicSamples/GroupingAndSummariesInGrid" the example "BasicSamples/GroupingAndSummariesInGrid" (after group the grid by category) is not possible to sort by column category.
But the same example in "http://serenity.is/demo/BasicSamples/GroupingAndSummariesInGrid" this work fine!!!!

you need to put more info than just, 'mine doesn't work but the sample does'. What does your console say? Are there any errors in the log or console? Do you have any additional custom code that could be affecting the sort?

In log or console no errors!!! I've created a solution from scratch without making any changes  with the default template SERENE


Get default Locale

What changes were proposed in this pull request?
Get default Locale in UtilsSuite.scala in order to make it work with different Locales than US.
How was this patch tested?
Running UtilsSuite.scala
Please review http://spark.apache.org/contributing.html before opening a pull request.

Can one of the admins verify this patch?

No, because the project is purposely not locale sensitive at this level.

As far as I saw there are other test cases that set default locale to US. This case is not passing when your jvm default locale value differs from "US".

Ah, the problem is the reverse really, but there is a problem. "...".format(...) is locale-sensitive in Scala, and this is a place where that matters. The Utils method needs to change to use formalLocal with Locale.US. Open a JIRA for it, and close this and reopen vs master with that fix.

Ok, I got it. I will do that then.
Thanks.


fix: specify correct value accessors for low barrel navigator line series

NOTE: This was broken by https://github.com/ScottLogic/d3fc/commit/a220dc6c018d9210f578da1a2c89e42122ead3ca

thanks @jleft


[Cosmos] Remove options builders and (most) impl parameters

This realizes some recent changes to guidelines regarding options and service method parameters. Specifically:

Options types should now be PODs (plain old data) with public fields and avoid using builders unless absolutely necessary.
Avoid the use of impl Into and impl AsRef parameters

The options changes were easy and deleted a bunch of unnecessary boilerplate, my favorite! Avoiding the use of impls led to the following exceptions (which I mentioned when we were chatting about the guidelines earlier but will detail again here):

impl Into<Query> is used for APIs that accept a query. Cosmos queries are made up of a query text, and a parameter. Other SDKs, such as the Go SDK, encode the parameters in the options, but I don't feel like that's an accurate modelling. Query parameters appear in the body, and having to merge a parameter with an option to create the body doesn't feel right. We want to support calling container_client.query_items("SELECT * FROM c", ...) and container_client.query_items(Query::from("SELECT * FROM c WHERE c.id = @id").with_parameter("@id", id), ...), so we use impl Into<Query> here, and implement From<&'static str> and From<String> on Query.

impl Into<PartitionKey> is used on APIs for item CRUD, which require a partition key be specified. Cosmos allows multiple types as partition keys (strings, numbers, booleans) and allows up to 3 levels of hierarchical keys. We want to be able to call container_client.read_item(item_id, "partition1", ...), and container_client.read_item(item_id, ("parent_partition", 42, "grandchild_partition"), ...). So, we accept impl Into<PartitionKey> and have several implementations (in sdk/data/cosmos/azure_data_cosmos/partition_key.rs) of From for PartitionKey

Finally, impl Into<QueryPartitionStrategy> is used on APIs that query items. Cosmos supports single-partition queries, where the partition key must be specified independent of the query, and cross-partition queries (where no partition key is specified). The Cosmos Rust SDK does not support cross-partition queries at this time but may add that support later. So, we use QueryPartitionStrategy as an enum that currently only has a single variant (QueryPartitionStrategy::SinglePartition(PartitionKey)) and have impl<T: Into<PartitionKey>> From<T> for QueryPartitionStrategy which allows the API to accept the same arguments as the CRUD APIs, and a future QueryPartitionStrategy::CrossPartition marker to indicate a cross-partition query.

I left all those cases above alone, though we can absolutely continue discussions there.
cc @heaths @JeffreyRichter @RickWinter (as FYI for the exceptions pointed out above, though I'm sure we'll do some more formal API reviewing later)

Drafting while I add method_options to our options

Re-un-drafting. I've added a method_options: azure_core::ClientMethodOptions field to every method options type. Since that type carries an optional ``Context, I've also changed all our methods to use that Contextas the base context we add ourResourceLink` value to.


Gw dev

Lets Review!

@omonrise , can you also have a look, my C++ skills are not great ;)

@GreenWizard2015 , so my understanding is that you modularized everything and created structs to contain the information in a more transparent and better defined way. I can see that we now have 2 modules:

WaterPumpController
RemoteControl

I which you contain the logic of pouring the tea and setting up the Wifi connection and webserver respectively.  @omonrise is going to give this a thorough look tomorrow as he is better with C++ then I am. I will test this PR on the device itself, to see whether we have any integration issues. @GreenWizard2015 I found an interesting page regarding unit-tests here: https://docs.platformio.org/en/latest/advanced/unit-testing/index.html Maybe something you would like to review.

I insisted on conducting the tests myself, but now I'm not sure if it's worth it. Ideally, I'd like to test the entire work cycle, but I'm not certain if the effort will be justified. I'll read through the documentation and then decide.

Test on physical Device:
Processing uno_r4_wifi (platform: renesas-ra; board: uno_r4_wifi; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/renesas-ra/uno_r4_wifi.html
PLATFORM: Renesas RA (1.3.0) > Arduino Uno R4 WiFi
HARDWARE: RA4M1 48MHz, 32KB RAM, 256KB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, jlink)
PACKAGES:
 - framework-arduinorenesas-uno @ 1.0.5
 - tool-bossac @ 1.10901.0 (1.9.1)
 - tool-jlink @ 1.78811.0 (7.88.11)
 - tool-openocd @ 3.1200.0 (12.0)
 - toolchain-gccarmnoneeabi @ 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 23 compatible libraries
Scanning dependencies...
Dependency Graph
|-- ArduinoJson @ 6.21.4
|-- aWOT @ 3.5.0
|-- RemoteControl
|-- WaterPumpController
Building in release mode
Checking size .pio/build/uno_r4_wifi/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]  13.8% (used 4528 bytes from 32768 bytes)
Flash: [==        ]  25.0% (used 65472 bytes from 262144 bytes)
Configuring upload protocol...
AVAILABLE: cmsis-dap, jlink, sam-ba
CURRENT: upload_protocol = sam-ba
Looking for upload port...
Auto-detected: /dev/ttyACM0
Forcing reset using 1200bps open/close on port /dev/ttyACM0
Uploading .pio/build/uno_r4_wifi/firmware.bin
Erase flash

Done in 0.002 seconds
Write 65472 bytes to flash (16 pages)

[                              ] 0% (0/16 pages)
[=                             ] 6% (1/16 pages)
[===                           ] 12% (2/16 pages)
[=====                         ] 18% (3/16 pages)
[=======                       ] 25% (4/16 pages)
[=========                     ] 31% (5/16 pages)
[===========                   ] 37% (6/16 pages)
[=============                 ] 43% (7/16 pages)
[===============               ] 50% (8/16 pages)
[================              ] 56% (9/16 pages)
[==================            ] 62% (10/16 pages)
[====================          ] 68% (11/16 pages)
[======================        ] 75% (12/16 pages)
[========================      ] 81% (13/16 pages)
[==========================    ] 87% (14/16 pages)
[============================  ] 93% (15/16 pages)
[==============================] 100% (16/16 pages)
Done in 4.086 seconds
--- Terminal on /dev/ttyACM0 | 9600 8-N-1
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at https://bit.ly/pio-monitor-filters
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
Latest available version: 0.3.0
Please upgrade your firmware.

I cant find the device in my network, it seems that the device is not connecting to WiFi any more.. I am missing a lot of logging too...
From what I can tell, we have something go wrong in the RemoteControl.cpp  in which we are printing Serial.prints from lines 57-62. But after the if statement, nothing seems to happen..

Found the issue! Its line 61 with
while(true) delay(500);

Commenting that out, resolved the issue. The loop is probably infinite somehow.
Executing task: platformio run --target upload --target monitor --environment uno_r4_wifi

Processing uno_r4_wifi (platform: renesas-ra; board: uno_r4_wifi; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/renesas-ra/uno_r4_wifi.html
PLATFORM: Renesas RA (1.3.0) > Arduino Uno R4 WiFi
HARDWARE: RA4M1 48MHz, 32KB RAM, 256KB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, jlink)
PACKAGES:
 - framework-arduinorenesas-uno @ 1.0.5
 - tool-bossac @ 1.10901.0 (1.9.1)
 - tool-jlink @ 1.78811.0 (7.88.11)
 - tool-openocd @ 3.1200.0 (12.0)
 - toolchain-gccarmnoneeabi @ 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 23 compatible libraries
Scanning dependencies...
Dependency Graph
|-- ArduinoJson @ 6.21.4
|-- aWOT @ 3.5.0
|-- RemoteControl
|-- WaterPumpController
Building in release mode
Checking size .pio/build/uno_r4_wifi/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]  13.8% (used 4528 bytes from 32768 bytes)
Flash: [==        ]  25.0% (used 65456 bytes from 262144 bytes)
Configuring upload protocol...
AVAILABLE: cmsis-dap, jlink, sam-ba
CURRENT: upload_protocol = sam-ba
Looking for upload port...
Auto-detected: /dev/ttyACM0
Forcing reset using 1200bps open/close on port /dev/ttyACM0
Uploading .pio/build/uno_r4_wifi/firmware.bin
Erase flash

Done in 0.001 seconds
Write 65456 bytes to flash (16 pages)

[                              ] 0% (0/16 pages)
[=                             ] 6% (1/16 pages)
[===                           ] 12% (2/16 pages)
[=====                         ] 18% (3/16 pages)
[=======                       ] 25% (4/16 pages)
[=========                     ] 31% (5/16 pages)
[===========                   ] 37% (6/16 pages)
[=============                 ] 43% (7/16 pages)
[===============               ] 50% (8/16 pages)
[================              ] 56% (9/16 pages)
[==================            ] 62% (10/16 pages)
[====================          ] 68% (11/16 pages)
[======================        ] 75% (12/16 pages)
[========================      ] 81% (13/16 pages)
[==========================    ] 87% (14/16 pages)
[============================  ] 93% (15/16 pages)
[==============================] 100% (16/16 pages)
Done in 3.928 seconds
--- Terminal on /dev/ttyACM0 | 9600 8-N-1
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at https://bit.ly/pio-monitor-filters
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
Latest available version: 0.3.0
Please upgrade your firmware.
Connecting to FamGeelen2.4Ghz
Atempt to connect: 1
.
Connection status: 3

Connected. IP: <IP_ADDRESS>
SSID: FamGeelen2.4Ghz
BSSID: DC:39:6F:B8:B8:E3
signal strength (RSSI): -58
Encryption Type: 2
----------------------------------------------

API works in practise too!

My review:

The code works!!
I fixed a minor bug that I will be pushing after this message (infinite While loop)
The flush method has been removed by @GreenWizard2015 as he considers this superfluous (not disagreeing)
The threshold method has also been removed by @GreenWizard2015 , this is something that I don't understand why don't want to be able to control this via API.
We should discuss what API methods are relevant for the 2 endpoints that we have. The endpoints are /pour_tea and possible (if we want to reconstitute the endpoint) the /set_threshold or /threshold endpoint

For some reference: https://www.freecodecamp.org/news/http-request-methods-explained/

I fixed a minor bug that I will be pushing after this message (infinite While loop)
Indeed, in the original code, there was only a firmware version check, WITHOUT halting operations. Personally, I find both versions of the code odd. If the firmware version does not match the library version, there's no guarantee of correct functioning, and it would be prudent to stop operation. On the other hand, this check seems pointless to me, since, for now, we definitely know whether the system is working or not. I would either completely remove this check or make it more stringent to ensure proper operation

The threshold method has also been removed by @GreenWizard2015 , this is something that I don't understand why don't want to be able to control this via API.
For me, this device is like a satellite flying billions of kilometers away from Earth :) Its software needs to be as simple as possible.
Simplicity means eliminating all the unnecessary elements and minimizing points of failure. That's precisely why I removed the threshold setting. Need a different threshold? Then, please, personally reflash the device and check its functionality. Or better yet, implement additional logic in the external UI. The device itself should have the simplest possible code, one that operates 99.9999% of the time.
The possibility of configuring the threshold will only add unnecessary complexity to the code and potential risks. For example, what if, for some reason, the threshold is set too high and never activates? What if the pump is turned on and the threshold is changed immediately after? The user might think that the changes have taken effect, but they haven't! And let's not rely on the 'but Arduino is single-threaded and the user should understand that'. No, they shouldn't. We shouldn't depend on something that is implicit.

We should discuss what API methods are relevant for the 2 endpoints that we have. The endpoints are /pour_tea and possible (if we want to reconstitute the endpoint) the /set_threshold or /threshold endpoint
I suggest the following changes:

Keep /pour_tea as a POST request, but pass parameters as a query field, not as part of the URL.
Add GET /status which would return, for example, the threshold hardcoded in the device.
I'm considering an option with /pour_tea + /stop. /pour_tea should function as it does now, BUT with the ability to stop the process. This will complicate the code, but add convenience. For instance, you send "pour for 5 seconds", then see that the cup is overflowing and stop the process.

Makes sense to me. Let me reply in kind:

A UI will probably not be possible due to limited amount of memory
I'm thinking reverting to POST is good idea too
I am down with the status endpoint
The intermittent stopping might not be possible. In the current implementation, the callback is the result of the of finishing the process of pouring. We would need something like an additional endpoint that produces a flag, that can be disabled  via this endpoint, that will be continuously checked when the pouring_tea is actually pouring. Apart from whether/how C++ supports code-execution with variables that change in-flight, I hope that the processor is able to handle the concurrency. Arduinos can be very primitive.

A UI will probably not be possible due to limited amount of memory

I was planning to make the UI external. I have similar experience. I've created UI using ReactJS, where the user specifies the local IP of the device and interacts with it. The UI itself can be hosted in any way, for example, on Versel.
That's why I'm trying to make the API simple and flexible, moving all non-critical logic to the UI.

The intermittent stopping might not be possible. In the current implementation, the callback is the result of the of finishing the process of pouring. We would need something like an additional endpoint that produces a flag, that can be disabled  via this endpoint, that will be continuously checked when the pouring_tea is actually pouring. Apart from whether/how C++ supports code-execution with variables that change in-flight, I hope that the processor is able to handle the concurrency. Arduinos can be very primitive.

Yes, this will require complicating the code, a state machine, and will add edge cases. However, I believe the functionality being added is worth these efforts. I'll take care of it after the PR is accepted (unfortunately, I don't know how to properly start working before the PR is accepted).

Branch is merged. Please make a feature/ui branch for your UI endeavors. :)


[FEATURE REQ] Script for install

What & why
An additional option for the more trusted setup could be a few "scripts" that prepopulate much of the commands for install and security settings.  Users still controll install of the ubuntu server but have easy of install and setup for many of the dependancies.  Although great education to setup each application many will opt for a more automated scripted install
How
Bash script to automate much of the ubuntu hardening
Additional context
Also a separate set of script to automate the application installs

Hi, thanks for your suggestion, but, MiniBolt pretends to follow the same line as Raspibolt:
`We strive to give foolproof instructions. But the goal is also to do everything ourselves. Shortcuts that involve trusting someone else are not allowed
https://raspibolt.org/#target-audience = https://twofaktor.github.io/minibolt/#target-audience
If we do what you suggest, then MiniBolt will convert to Miniblitz, and that is not the intention.
Thanks anyway!


An existing connection was forcibly closed by the remote host

I am trying to run this command docker pull mcr.microsoft.com/dotnet/framework/runtime:4.7.2-windowsservercore-ltsc2019, but using the console, I always get an error. read tcp <IP_ADDRESS>:59824-><IP_ADDRESS>:443: wsarecv: An existing connection was forcibly closed by the remote host.. There are 4 layers to the image, and when I am running the command, it starts downloading all four, completes the last two, but the first two (1.408GB and 514MB) the console starts downloading a few times but always ends up failing.
I have tried building through VS2019 as well with a DOCKERFILE pointing to this image, that also fails.
Full results:
65014b3c3121: Downloading [==================================================>]  1.522GB/1.522GB
02a4c14ecf32: Downloading [==================================================>]  529.5MB/529.5MB
1477e74c02fd: Download complete
f5debc34d550: Download complete
read tcp <IP_ADDRESS>:59910-><IP_ADDRESS>:443: wsarecv: An existing connection was forcibly closed by the remote host.

Does anyone have any suggestions for me?

moved to https://github.com/microsoft/containerregistry/issues/6 since this is an issue with pulling the image from MCR.


Add email to firmware manager fail case

PR Details
Adds an email notification to the support team in the event of a firmware manager upgrade failure.
Description
This PR adds a check to make sure that the RSU is online before beginning the upgrade process. If at any point in the upgrade process the firmware manager fails an email notification will be sent to the support team with the RSU IP and the error. Additionally, if the post-upgrade script fails to execute on a Commsignia RSU an email will be sent as well with the RSU IP and error.
How Has This Been Tested?
This has been tested locally with a gmail account for both the firmware upgrade failure case and the Commsignia post-upgrade script failure case.
Types of changes

[ ] Defect fix (non-breaking change that fixes an issue)
[ X ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that cause existing functionality to change)

Checklist:

[ X ] My changes require new environment variables:

[ X ] I have updated the docker-compose, K8s YAML, and all dependent deployment configuration files.

[ X ] My changes require updates to the documentation:

[ X ] I have updated the documentation accordingly.

[ ] My changes require updates and/or additions to the unit tests:

[ ] I have modified/added tests to cover my changes.

[ X ] All existing tests pass.

I am seeing some test failures when running the unit tests with a virtual environment using Python 3.12.2.
I also left a comment regarding the clarity of a returned variable.

As for the testing failures I was unable to replicate these when running python 3.12.2 locally or when running python 3.12.2 in a virtual environment. I've attached a screenshot of the plugin versions I'm using when running these tests:

This looks great. Although we are updating a lot of environment variables here. This basically will break our CDOT deployment the moment this gets merged if we don't update our helm scripts first. This repository also has example K8s yaml files. Please update the firmware manager one to include these.

Updated the example firmware manager file to include the new environment variables and opened a devops PR to include the new environment variables in our deployments


[CUR-465] fix: added aria-live="polite" to "units highlighted" text

Description
Music year: 1996

Added aria-live="polite" to "units highlighted" text

Issue(s)
Fixes CUR-465
How to test
When a user selects a unit, the number of highlighted units is displayed in text, and when a user filters through the years the results update, but this information isn’t conveyed automatically to screen reader users.

Go to /teachers/curriculum
Select a subject and school phase
Filter by the thread (highlight a thread)

The number of units highlighted is announced to screen reader

Select a year group

The number of units highlighted should be re-announced

Checklist

[ ] Added or updated tests where appropriate
[x] Manually tested across browsers / devices
[x] Considered impact on accessibility
[ ] Design sign-off
[ ] Approved by product owner
[ ] Does this PR update a package with a breaking change

@orangemug - Code looks good/safe, but I couldn't get it to read aloud the number of units highlighted (It just excluded what was in the span). I'll let James check as he has more experience here. Feel free to merge if he approves.

The current solution works well on desktop - the number of units highlighted is announced when switching between threads, years and domains/disciplines/child subjects.
However on mobile it seems that no announcement is made when switching threads. I think this because the live region (in the sticky header) is not visible at the point at which the threads are switched. Might it make sense to add an additional live region to the thread selector inside the modal?

When switching between child subjects/domains/disciplines on mobile the updated number of units highlighted is announced, so I think we'll need the live region in both places. Year isn't a factor because on mobile the year buttons are shortcut links not filters.

:tada: This PR is included in version 1.419.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Dimensions reversed for facets

When calling p + g.geom_point() + g.facet_wrap(x='Var', ncol=6), I get 6 rows, not 6 columns.
I believe this can be traced to ggplot.py line 165 (plt.subplot(self.n_wide, self.n_high, 1)). The signature for subplot is subplot(nrows, ncols, plot_number) so I think the line should read plt.subplot(self.n_high, self.n_wide, 1). There may be some more lines that need to be fixed.

fixed in 0.9.3


docs: Update the security e-mail address.

This repository is now managed by the Axim Collaborative and security issues
with it should be reported to<EMAIL_ADDRESS>instead of<EMAIL_ADDRESS>This work is being done as a part of https://github.com/openedx/wg-security/issues/16

Codecov is not sending an update and everything else has passed.  Given that the change is a doc change I'm gonna use my admin powers to merge this.


replace for to foreach detected by rectorphp/rector

remove count for loop with for when possible to use foreach with command:
rector process --set code-quality --rule "Rector\CodeQuality\Rector\For_\ForToForeachRector" system

Checklist:

[x] Securely signed commits

needs many manual checks.


chore: remove isTerminal dependency and use std::io::isTerminal

resolves #170

add a rust-toolchain for MSRV.
remove imports of isTerminal and replace with std::io::isTerminal.
remove isTermnal in the Cargo.toml files.

I think for the rust workflow clippy and rustfmt components could be added.
Thanks for explaining why docker is also failing.
If explicitly specifying the rust version fixes this, where can I make the necessary changes?

I think for the rust workflow clippy and rustfmt components could be added.
Thanks for explaining why docker is also failing. If explicitly specifying the rust version fixes this, where can I make the necessary changes?

You need to update .github/workflows/rust.yml and containerfiles/Dockerfile.

superseded by #271


reflection

I have create a tcp connection with remote client,and I designed the proto message,the client then pass a stream of bytes to me,I receive the bytes,and how to figure out what message it is.
I know that I can pass the message name in front of the bytes,but I want to do it in a elegant way,I have read google protobuf fucking manual, It says there is something called reflection can do this,I check out the C++ implement,I know that I can define a container message, and extend the message with my real wanted message, and then create container message builder, use this builder to setExtension for my real wanted message,and pass it to server, in server side, I also can create container message builder, and use function like hasExtension() to judge what real message type the bytes is, and use getExtension() to get the wanted message from the bytes. I want to know how I do this in protobuf.js.
thanks a lot if someone can help me!

Maybe use something like this: https://github.com/dcodeIO/ProtoBuf.js/wiki/Changes-in-ProtoBuf.js-3.7


fix: avoid TypeError $ is not defined on slow connections

Getting this error on slow connections:
Alfred.min.js?m=1724311768:5 Uncaught (in promise) TypeError: $ is not a function
    at Alfred.initItem (Alfred.min.js?m=1724311768:5:179)

Because jQueryCore.js is loaded in head and Alfred.min.js in body.
defer attribute avoids that.
The logic in Alfred.js at https://github.com/baumrock/RockFrontend/blob/59e7856a151aba7287cdcdedf9534a19de2badf1/Alfred.js#L144 only accounts for 10 seconds
That could be improved also. But defer is the simplest fix.

Thx! :)

The logic in Alfred.js at ... only accounts for 10 seconds That could be improved also. But defer is the simplest fix.

Yeah, this has been a quick and dirty solution and I'd be happy to merge a better implementation, but the quick and dirty one has been working for me without any problems so far, so I didn't put it on my list ;)


web - Request money - 'Invalid source' message in the console when requesting money

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

issue found when executing #27868
Action Performed:

Go to staging.new.expensify.com.
Go to + > Send message > Manual.
Enter any amount.

Expected Result:
There is no 'invalid source' message in the console.
Actual Result:
There is 'invalid source' message in the console.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.72-9
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/4855b166-34b3-4200-a644-d18fbdcd8774
Expensify/Expensify Issue URL:
Issue reported by: applause internal team
Slack conversation:
View all open jobs on GitHub

Gonna close this, I tested and it doesn't affect the actual app functionality.


Russian plural form inconsistency: 'other' vs 'many'

In your exported data for plurals, including the http://mlocati.github.io/cldr-to-gettext-plural-rules/ page, Russian (ru locale) lists three plural forms: one, few, other. However, if one looks at the original CLDR specs at http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html, Russian plural forms for integers are: one, few, many. Is that a bug or some workaround you implemented in your converter?

The many case (or was it the few case, I don't remember right now) never occurs for integer numbers in Russian. CLDR data is for any number, gettext only for  non negative integers.
Does this solve your question?

Michele, thanks for your reply, but this doesn't really answer the question. From what I see in CLDR specs, one, few, many is what the standard suggests for three forms commonly used for integers, both positive and negative, and all these are used (I speak Russian myself). The other form is the one that is only used for non-integer (fractional) numbers. So I still don't quite understand why many is replaced with other in your data. Your explanation suggests that you do that replacement deliberately based on some assumptions rather than it is some technical bug in a converter.
Did you happen to have some bug report or an issue in your own practice that would indicate that  one, few, many should be replaced with  one, few, other in Russian?

Ok, now I understand. I "renamed" "many" to "other" for consistency: every language has rules for one/few/many/...
If a number does not satisfy those rules, we always use the "other" case.
For consistency, I made the Russian change to have that "other" case.
That makes sense?

Thanks, that answers the question, but doesn't make sense: this change makes the results of your export rather inconsistent with the official specification for no good reason. If I were to use your data to convert the results of the gettext formula and convert them back to CLDR rules, I would get wrong results. And this is quite opposite to what you state here: https://github.com/mlocati/cldr-to-gettext-plural-rules#is-this-data-correct
I'd recommend not doing such adjustments and stick with the official specs, or put a prominent disclaimer in the README that the plural form names that your tool produces are not 100% identical to CLDR.

Sorry for the short answers I posted before: I was writing with a mobile phone during my holidays.
I feel your posts quite aggressive, and I don't know why. BTW, I'll try to answer you.
CLDR applies to all numbers (negative, positive, decimal), gettext only works with non-negative integers. So, gettext plurals are just a subset of CLDR plurals: they can't be 100% identical.
About the statement of mine that you criticize: it states that the generated gettext plural rules are correct, and not that they are biunivocally equivalent to the CLDR plural rules (as I stated above that's not possible).
Finally, back to the real subject and not to the criticisms...
I adopted the rule to always have a common gettext fallback rule (called other).
In the specific case for Belarusian, Polish, Russian and Ukrainian, since the CLDR other rule never occurs in gettext, there wouldn't be any other rule.
So, for consistency, I renamed the CLDR many rule to the gettext other rule.
If that doesn't work for you, you can fork this repository and implement your own logic: I released it with the most permissive license available, you can do anything you want with it.


Isolate OpenAPI-generated classes in separate modules

This PR creates separate modules for the OpenAPI-generated code:

polaris-api-management-model
polaris-api-management-service
polaris-api-iceberg-service

This allows better code encapsulation and also allows integrators to reuse the service classes that Polaris builds on, without bringing in the entire Polaris code.
This PR doesn't change any existing functionality and is a no-op for Polaris users.

Note: this change is also required to support 2 runtimes.

We should discuss the two runtimes during the sync.


Override the models the prune command looks for

We're wanting to use this package in a modular environment - most of our models are optional so we want to prune them if included but not if they aren't. I'd also like to define the models within the module rather than specifying them in config.
This PR lets you add an optional callback to override the config value. This will let us dynamically list the models to search for, without changing the default behaviour.

Hi @tobytwigger and thank you for the nice pull request!
I'd change the callback type from Closure to callable to allow non anonymous functions (as for example invokable classes)!
What do you think?

@tobytwigger I just updated your pull request.
Please let me know if it works for you so I can merge this!

Looks excellent thank you, and it's working well for us locally.


Set raw description message format to string when using string state…

When conf.sqlServerBinaryTransferMode is false go language postgre library failed to work. Reason for this was raw description format code was set to binary without considering the conf.sqlServerBinaryTransferMode flag.
This pull request fix that issue.

Thanks for you interest! I'll check tonight, then merge this.

Fixed formatting issues.

Thanks! merged to master

aha, looks great! If you find bugs or some issues, it'd be nice to put them in the issue tracker or make PRs. Thanks!


How do write multiple api version?

Thanks for sharing good tools.
We used docbox for api document server.
But, I don't know how do write content.js for multiple api version.
Could you explain to write multiple api version page?

It's really up to you: ideally, APIs have only one documented version at a time and the old documentation is very hard to find. Otherwise (speaking from experience), people will happen upon the old documentation via Google, try to use it with the new version, and fail.
So, you can have multiple docbox instances per version, or you can offer old versions as rendered Markdown on GitHub, or you can document multiple versioned endpoints in the same documentation - it's up to you.


BigInt support

It'd be great to be able to serialize bigints into the sequence with a BigInt64Array or similar under the hood. I can contribute support for this if you like -- any specifics that are important for getting this right?

Hi!
Thanks for your interest in this project.
We haven't implemented the bigint support, but we accept PR!
So, we don't have any specification restrictions; just don't be slower if the developer doesn't use bitint at all. I'll gladly discuss the specifications before the PR to speed up the merge and the release.

What do you think the best way to do it is? Should it be another parallel array buffer? Or re-use one of the existing ones?

DataView creation could be problematic because it introduces a performance penalty during creation.
The best approach is to leverage the existing views. But I don't know if it is doable or not.


Does this also do background observer.

Does this plugin also retrieve background data?
Does initStepCountObserver call on the background fetch as well

I think it should.
or you can use setObserverForType here https://github.com/terrillo/rn-apple-healthkit/pull/25

https://github.com/terrillo/rn-apple-healthkit/blob/master/docs/setObserver().md


Notify mod channel on server alerts

Currently I receive alerts such as high CPU to my personal email, which isn't very helpful if I'm unavailable or this impact is noticed by players in Discord.

Can't use Digital Ocean's API to do this. Bugger.

Setup some inbox filter that then somehow triggers a Discord webhook or something else funky? Zapier?
Setup a junk email to receive email alerts, ensuring notifications are always on and loud for this email only. (Doesn't solve the issue of email alerts and me being the only one seeing them.)

Alerts don't happen often, CPU has been high in the past while the dev game server is being used or rebuilt and the latest alert has been due to high memory use, suspected due to the growing map size.
We'll have to deal with email alerts for now.

Can't use Digital Ocean's API to do this. Bugger.

Setup some inbox filter that then somehow triggers a Discord webhook or something else funky? Zapier?
Setup a junk email to receive email alerts, ensuring notifications are always on and loud for this email only. (Doesn't solve the issue of email alerts and me being the only one seeing them.)

Alerts don't happen often, CPU has been high in the past while the dev game server is being used or rebuilt and the latest alert has been due to high memory use, suspected due to the growing map size.
We'll have to deal with email alerts for now.


Revert to pre-0.44 XHR default credentials for iOS

Addresses https://github.com/facebook/react-native/issues/14063
(454ab8) in RN 0.44 changed the default XHR credentials behavior on iOS. This change reverts the default behavior on iOS while still retaining the ability to manually provide credentials. On Android the withCredentials were always properly handled, which is why it defaults to 'omit'
Another question: does it really make sense to fork based on the platform here? The only reason we're doing this is to retain the pre-0.44 behavior.

If there is no reason other than backward compatibility then i vote for not forking based on the platform. call it a breaking change for android in 0.45/0.46 and continue i guess.

We want to cherry-pick this back to 0.44 so that people can upgrade. So after we land this and cherry-pick it back, I'll make the breaking change to Android defaults in 0.46

On second thought I think this is the wrong way to fix it. We should probably revert the default of XHR.sendRequest.withCredentials to be true


TypeError: read_until_close() takes 1 positional argument but 3 were given

when using the default example you get this error:

here is the line where the error occurs

looks like the this is the problem (the callbacks are not there anymore)

ok, setting the version of tornado to 5.1.1 seems to work
pip3 install tornado==5.1.1

@DinisCruz This did not solve the issue for me. We need to update code to be compatible with new API of Tornado.


Research the previous group's grading rubric

Made a list of tasks we need to work on according to the last group's grading rubric.

As discussed, need to add a few files in docs.

Discussed with the previous group about their evaluation.


[repo hygeine] Move everything mkdocs related to a dev dependency

Continuing from

#353

In fact the version of mkdocs or any mkdocs plugin should be of zero concern to any consumer of sssom
The plugin is erroneously in the main dependencies:
https://github.com/mapping-commons/sssom/blob/2677726a1702ab6a556f9a9dc1040e58ed37489d/pyproject.toml#L12-L19

@hrshdhgd can you do this in a calm minute?

Great catch Nico. I should have waited to approve the PR... sorry. Fixing it right now.


ld: library not found for -lDoubleConversion for React Native 0.60.4

I continue to get a library not found for -lDoubleConversion.
This is my podfile:
platform :ios, '9.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

abstract_target 'defaults' do
  # Pods for NFIBEngage
  pod 'React', :path => '../node_modules/react-native/'
  pod 'React-Core', :path => '../node_modules/react-native/React'
  pod 'React-DevSupport', :path => '../node_modules/react-native/React'
  pod 'React-fishhook', :path => '../node_modules/react-native/Libraries/fishhook'
  pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
  pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
  pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
  pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
  pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
  pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
  pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
  pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
  pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
  pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket'

  pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
  pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
  pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
  pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
  pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'

  pod 'RNDeviceInfo', :path => '../node_modules/react-native-device-info'

  target 'PROD'
  target 'DEV'
  target 'QA'
  target 'UA'
  target 'IN'
  target 'NFIBEngageTests'
  target 'NFIBEngage-tvOS'
  target 'NFIBEngage-tvOSTests'

  use_native_modules!

end

I have run out of ideas of why Xcode does not see DoubleConversion. It is there. Its in my Linked Frameworks and Libraries in the General tab and its in Link Binary With Libraries inside of Build Phases tab.
I believe the DoubleConversion library is set up correctly in Podfile, but Xcode is looking for DoubleConversion instead of double-conversion.
React Native version:
SDKs:
  iOS SDK:
    Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
  Android SDK:
    API Levels: 23, 25, 26, 27, 28
    Build Tools: 23.0.1, 26.0.2, 27.0.3, 28.0.3
    System Images: android-28 | Google Play Intel x86 Atom
IDEs:
  Android Studio: 3.5 AI-191.8<IP_ADDRESS>91312
  Xcode: 10.1/10B61 - /usr/bin/xcodebuild
npmPackages:
  @react-native-community/cli: 2.9.0 => 2.9.0
  react: 16.8.6 => 16.8.6
  react-native: 0.60.4 => 0.60.4
npmGlobalPackages:
  react-native-cli: 2.0.1
  react-native-git-upgrade: 0.2.7

Steps To Reproduce

open NFIBEngage.xcodeproj
Run Clean
Run Build

You can use this repo to reproduce:
https://github.com/ldco2016/NFIBEngage

#25804

I manage to solve this issue.
Make sure you make the build after opening workspace in XCode.
e.g. open .xcworkspace not the .xcodeproj

I spent the last five days stuck on this, trying out everything suggested on the internet. This is what finally worked for me. (Before proceeding, make sure
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec' is included in your podfiles
1. Delete Podfile.lock
2. cd ios
3. pod deintegrate
4. pod install
5. cd ..
6. rm -rf node_modules && yarn
7. Add use_frameworks! to your Podfile

Run react-native-run-ios or Build with Xcode by opening the xcworkspace file in your ios directory. Hope this helps someone!

Had the same problem, but build succeeded after this:
https://github.com/react-native-community/react-native-maps/issues/2829#issuecomment-488816768

If you're here from google (and a note to myself as I might forget), make sure the IOS version in podsfile AND project AND any test targets that you may have are the same. Otherwise it simply will not complete the release/archive.

I now have this issue after updating to 0.62.0 (it was fine before).
It doesn't seem to happen if I remove use_frameworks! from my Podfile, however I absolutely need it for some dependencies. Any ideas?

I am getting same error tried everything but nothing works
I am using RN 0.64

Me too but with AppAuth.

I am getting same error tried everything but nothing works
I am using RN 0.64

I am also RN 64, did you solve the problem? I have tried everything above

the same problem for 0.65


Agents - compatible?

Check the new spec definition for Agents, if it is sufficient.

After some swaps, Agent information is fine. Most of the info was moved to the top class Agent.


Support other region server

My endpoint is https://jp5.fusionsolar.huawei.com/ server, but this integration pins eu5.
Please support changing server region.

Hi, release v1.0.3 which adds the configuration of login and data hosts. Can you check it?
I should be able to, in the future, get the data host without to need to configure but it's a quick fix.


Wierd connection with sroute command after setting the ndr rule.

Description
This problem is related to #[191] (https://github.com/idea-fasoc/OpenFASOC/issues/191), #[193] (https://github.com/idea-fasoc/OpenFASOC/issues/193), #[3050] (https://github.com/The-OpenROAD-Project/OpenROAD/issues/3050). When using sroute and the ndr rule below to connect the ring oscillator with the power ring. We see some weird routing wires. Extra figure are showing below to describe the issue.
ndr rule:
create_ndr -name NDR_5W_5S
-spacing { *4 }
-width { *4 }
set ndr [$block findNonDefaultRule NDR_5W_5S]
$ndr setHardSpacing 1
In the figure below, you can see there is couple weird routing behaviors. During the connection from a cell to the power ring, there is a sudden change of wire width even though at the same layer. Also at some of the via cut, there is extra wire added which is way more than enough.

Suggested Solution
Maybe the detailed router can be changed to adapt to the sroute and the ndr rule. This problem might be cause by the incorrect setting of parameters in ndr rule functions.
Additional Context
No response

Please provide a test case (preferably on a public PDK)

global_route.txt
In OpenRoad Flow script, I changed global_route.tcl to the same as the file above (can't attach tcl file so I attached the txt) and run the design of "./designs/nangate45/gcd/config.mk" (to run the make file faster, you can set the wire width/spacing smaller)
The weird connection is in the figure below(on net 36):

From the picture it looks like the wire is connecting to that standard cell pin.  The standard cell pins are very dense and using a wide wire would block access to the other pins.  So we automatically apply tapering to the wire when you approach them.
I'm guessing for your sroute purposes you don't want tapering but I'm not certain.

From the picture it looks like the wire is connecting to that standard cell pin. The standard cell pins are very dense and using a wide wire would block access to the other pins. So we automatically apply tapering to the wire when you approach them.
I'm guessing for your sroute purposes you don't want tapering but I'm not certain.

I'm looking at this issue right now, and I'm wondering how I might disable tapering for sroute (and sroute only). Is there a function somewhere in a file in OpenROAD's src directory that controls this behavior? I apologize in advance if this question doesn't make sense.


JSC_TYPE_MISMATCH default parameter treated as undefined within a closure

Sample code:
/**
 * @param {Object=} param
 */
const foo = (param = {}) => {
	/**
	 * @type {Object}
	 */
	const bar = param; // no warning

	const closure = () => {
		/**
		 * @type {Object}
		 */
		const bar = param; // JSC_TYPE_MISMATCH
	};
};

Here, the outer function foo accepts an optional parameter that has a default value. Within the main body of foo compiler correctly deduces than param cannot be undefined and raises no warning on line 8. But within a closure on line 14 it thinks param could be undefined and raises:
WARNING - [JSC_TYPE_MISMATCH] initializing variable
found   : (Object|null|undefined)
required: (Object|null)
		const bar = param;
		            ^^^^^

Compiler version: v20190729, java binary.

Closing as a duplicate of https://github.com/google/closure-compiler/issues/3327.