'javac' is not recognized as an internal or external command, operable program or batch file.

I can't understand that how to run my code ,when I tried to run my code this message seems to me.
('javac' is not recognized as an internal or external command,
operable program or batch file.)

You should direct questions on the java extension to https://github.com/redhat-developer/vscode-java

Thank you sir
On 17 May 2017 11:48 p.m., "Daniel Imms"<EMAIL_ADDRESS>wrote:

You should direct questions on the java extension to
https://github.com/redhat-developer/vscode-java
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/26833#issuecomment-302181593,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Abbj6QxCmT_8Kzmegae8g7eoqYdut8fBks5r6znogaJpZM4NeQD1
.


Wrong autocomplete order/selection

VSCode Version: 1.4.0-insider
OS Version: OSX

Steps to Reproduce:

Create TypeScript file
Enter the following code

const test1 = 5
const test = {
    a: 1
}

Type test.

Problem:
VSCode will autocomplete with test1.
Here is the screenshot of what VScode highlights by default when test is typed in - and pressing . will select it (notice that order is incorrect - test1 should be below test)

For comparison this is VSCode 1.3.1:

Unfortunately it might be related to the project, because if I try to recreate it with empty project then it was fine.

It seems like the issue is related to editor.snippetOrder setting
If it's set to bottom
here is the result:

If editor.snippetOrder = 'normal'
then

editor.snippetOrder does not exist anymore

@jrieken Then why assigning this to me instead of closing the issue?

@joaomoreno because the default sort order is still as described

@jrieken This is what I get on the latest Insider:

It's not happening to me anymore - so maybe it got fixed when editor.snippetOrder got removed :) Thanks

@joaomoreno I'm sorry - but seems like it is still the issue - just don't know how to recreate :(
If I have setting: "editor.snippetSuggestions": "bottom"
then look at wrong order:

If I have default setting: "editor.snippetSuggestions": "inline" then order is fine:

Any chance for 'blind fix' ? :D

@jrieken ?

None of the suggestions shown in the above screen shot are snippet proposals (check the icon). It might be a side effect from the setting selecting a different comparator tho...

Yep - there is an issue with the comparator when two suggest are of different type but none of them is a snippet.

@wallverb I have pushed a more or less blind fix. It would be great if you can try with tomorrows insider update. Thanks

I will - thanks a lot @jrieken


GSAP Effects setup

Initial setup of our custom GSAP effects, including:

TypeScript definitions
ScrollTrigger scrubbing support (see effect-timeline.ts)
SafeSplitText class that extend SplitText to make it safer by:

Prevents text elements from being splitted twice.
Resets splitted text on screen resize
Adds aria-hidden to split text elements.

[AUTOMATED] Latest version has been pushed to preview.
Preview deployed at https://preview-a5a8433.dev.nextjs-boilerplate.jam3.cloud.jam3.net


easy script for self building

Hi,
It's probably not a priority for you, but still an issue for security conscious people is that I want to know that the code in google-play is the same as in the code I've reviewed.
The ideal solution would be reproducible deterministic builds, and a way to easily compare the hashes.
But for now self compiling is also a great option. so this scripts abstract out all the weird complexities android sdk has and all the environment variables.
and it also provides a persistent self generated keystore.

Thanks @elichai ! This would be an awesome addition when we begin our CI efforts!

I can write a Travis script just to test building in Android if it helps :)

This script has many problems:

install both curl/wget (only 1 is needed to download files...)
use ubuntu:18 instead of devel (also better to use debian:sid for this)
install nodejs not through package-manager
install command-line-tools without verification (no need to do this download manually at all, gradle will handle it automatically, or use android-sdk package instead)
manual download of platform-tools (no need if gradle used for this which will handle it automatically)
many not merged RUN commands (many not-needed layers created)
npm install in development mode (not production which should be enough for apk building)
git clone inside the container (better to use COPY instructions from already downloaded source-code, manage git operations outside)

I think it can be closed, as there is issue to cover for it.

Yep, a lot has changed since this script was written.
it was mostly written as docs to what need to be installed to allow people to compile themselves.


Make merge_idx a field of the Repository class, for diagnostics

@benedikt-schesch Could you review this pull request?  Thanks.


Sample Stats at regular interval & polish charts

Pull Request Test Coverage Report for Build d11a13684b6d2a7229571f92fb8e72c11618a767-PR-221

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 66.445%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/athena_web/frontend/live/dashboard/item_stats_live.ex
0
2
0.0%

Totals

Change from base Build 446460ddccc53ef46b61b062d517d4a64b1635c7:
0.0%

Covered Lines:
499

Relevant Lines:
751

💛  - Coveralls


Missing LLVM inline assembly options

LLVM supports three options for the inline assembly syntax:
Inline asms with side effects not visible in the constraint list must be marked as having side effects. This is done through the use of the ‘sideeffect‘ keyword, like so:
call void asm sideeffect "eieio", ""()

In some cases inline asms will contain code that will not work unless the stack is aligned in some way, such as calls or SSE instructions on x86, yet will not contain code that does that alignment within the asm. The compiler should make conservative assumptions about what the asm might contain and should generate its usual stack alignment code in the prologue if the ‘alignstack‘ keyword is present:
call void asm alignstack "eieio", ""()

Inline asms also support using non-standard assembly dialects. The assumed dialect is ATT. When the ‘inteldialect‘ keyword is present, the inline asm is using the Intel dialect. Currently, ATT and Intel are the only supported dialects. An example is:
call void asm inteldialect "eieio", ""()

There is currently no way to make use of these from Crystal.

You can use "volatile" instead of "sideeffect" and "alignstack" for "alignstack". LLVM C bindings don't provide a way to pass the "inteldialect" flag, though, so even though it's parsed by Crystal it's not passed along.
Check this

I think we copied "volatile" from how you specify inline asm in c or c++, can't remember now. I think Rust uses that too.

I'm closing this because you can do this right now as I explained above


portunus: init at 1.0.0, nixos/portunus: init

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

We are waiting for 1.1.0 release of portunus with better bootstrapping support for technical ldap user and the initial admin password.

@SuperSandro2000 I pushed a beta release with seeding support: https://github.com/majewsky/portunus/releases/tag/v1.1.0-beta.1 - See README over there for details.

Using the module in the current state successfully in production.


Quickpick should reflect when it has additional items

When a quickpick has more items than can fit into the initial list, it's not obvious there are hidden items that need to be scrolled into view. The current visual treatment is a very subtle scrollbar flash when the quickpick is first opened, but thereafter there is no visual indication that there are more items.
The current behavior presents issues for the remote indicator menu, which displays actions from all installed remote extensions (connect to host, create new codespace) etc. The remote indicator menu is meant to improve discoverability and ease of access to remote actions, and the current truncation inhibits discoverability of those remote actions.
Proposals:

render a 🔽 arrow button at the bottom of the quickpick when there are items offscreen which will scroll down to the next 'page' of items when clicked
always render the scrollbar

Looking at prior art here:
shows scrollbar always:
Slack

Spotlight

GitHub

Does what we do (nothing):
Teams

Alfred

Docker

Some thoughts
One thing I'm noticing is that some render the height as the middle of an item... which is an indication that there is scroll. Not sure if that is intentional or not, but it would be something that we have control of.
While the 🔽 is a neat idea, I fear that it will be in the way while reading the item it is on top of...
My preference is either render the scroll bar... or maybe do nothing since the "command palette" experience can be seen across many products and most if not all allow scrolling.

Oh, I wanted to point out that the scroll bar does flash today:

and if your mouse is hovering over the list, the scrollbar sticks around.
This feels like enough of an indication that there's scroll.

While the 🔽 is a neat idea, I fear that it will be in the way while reading the item it is on top of

Instead of rendering it atop an item, what if we rendered it below all the items in the quickpick?

Do you not think the flashing scroll bar is enough? The Explorer does this too.

I don't think it's enough, particularly for the remote indicator scenario where you're triggering it by clicking the status bar--there will be a brief flash when it's first opened, and if you then use up/down arrows to navigate through the list, you don't see the scrollbar.

Is this a hunch or based on user feedback?
I talked to @bpasero a bit about how the fading went when we rolled it out everywhere and there were some issues opened:
https://github.com/microsoft/vscode/issues/66000
https://github.com/microsoft/vscode/issues/15106
not scoped to quickpick but rather holistically.
We have settings to control the behavior but only in the editor I guess:

in terms of proposal 1 for scrollbar visibility, I feel like the issues I linked are a better holistic way forward.
As for the ⬇ ... I'm not sold. Either it makes the quick pick taller (just for a little arrow) or it covers up content.... plus I couldn't find a single quick pick example in the wild that takes this approach.

I think it's fair to consider a global treatment for scrollable content as you say, the linked proposals look promising.

Proposed solution: increase the max-height by a little bit so it renders like:

steps to verify:

open the command palette
it should render in the middle of the item (like my last screenshot) to indicate that it does scroll


Please consider switching the build-system to flit_core or removing hatch-vcs to ease setuptools bootstrap

Could you please consider switching the build system from setuptools to flit_core, or at least removing the hatch-vcs requirement? This would help Linux distributions such as Gentoo avoid cyclic dependencies that cause bootstrapping unbundled setuptools a real pain. If you agree, I can submit a pull request doing one or the other.
The problem is that the most recent release of setuptools (66.0.0) started using platformdirs. Hatchling has a number of dependencies using setuptools themselves, that are effectively creating a dependency cycle for us — we need platformdirs to install setuptools, platformdirs need hatchling but hatchling needs setuptools first (because of its dependencies). On top of that, hatch-vcs needs setuptools_scm which invariably needs setuptools.
flit_core is a "no dependencies [except for tomli, on Python < 3.11]"  by design, so it makes bootstrapping packages much easier. Alternatively, I'm also trying to get hatchling's dependencies not to use setuptools (feels like asking a lot of favors just to get things working again…).
Unfortunately, I don't think it's possible to retain setuptools_scm-style logic. Both hatch-vcs and flit_scm packages use setuptools_scm which invariably means a cyclic dependency with setuptools.

we need platformdirs to install setuptools,

This is likely because you're trying to devendor playformdirs from setup tools that's not supported by setuptools. We don't want to change our build system either.

we need platformdirs to install setuptools,

This is likely because you're trying to devendor playformdirs from setup tools that's not supported by setuptools. We don't want to change our build system either.

The presence of pkg_resources.extern and setuptools.extern modules whose purpose is to wrap between loading vendored and system dependencies suggests otherwise. Do you have evidence to support that it's "not supported"?

Note setuptools has no dependencies https://github.com/pypa/setuptools/blob/main/setup.cfg#L29

This is not true. Vendoring dependencies does not make them "no dependencies". Plus, it indirectly depends on wheel breaking the PEP517 bootstrap. There's a bug open about it for years but that's not really relevant to the problem at hand.

To be clear what's happening here:

On top of that, hatch-vcs needs setuptools_scm which invariably needs setuptools.

That is actually the only issue here. setuptools_scm depends on setuptools, but only for legacy backward compatibility reasons, it is now completely uncoupled. When Ronny the maintainer strips the logic into a new reusable package then the Hatchling plug-in will depend on that but nothing can be done until then.


codecparser/unittest: fix sign comparison in h264 parser tests

Fixes compilation failure for sign comparison in h264 parser
unit tests.
Signed-off-by: U. Artie Eoff<EMAIL_ADDRESS>

Hi @uartie
Just want know the details about this commit, I have run the unit test in my machine, it is no problem even I do not apply you patch. Is it because we ignore signed/unsigned compare in our unit test?

Make sure to configure with --enable-h264dec and --enable-gtest...
I get the following compilation failure without this patch (I'm using gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)...
In file included from ../common/unittest.h:30:0,
from h264Parser_unittest.cpp:25:
/home/uaeoff/Work/workspace/media/build/gtest/include/gtest/gtest.h: In instantiation of ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = int; T2 = unsigned int]’:
/home/uaeoff/Work/workspace/media/build/gtest/include/gtest/gtest.h:1525:30:   required from ‘static testing::AssertionResult testing::internal::EqHelper<true>::Compare(const char*, const char*, const T1&, const T2&, typename testing::internal::EnableIf<(! testing::internal::is_pointer<T2>::value)>::type*) [with T1 = int; T2 = unsigned int; typename testing::internal::EnableIf<(! testing::internal::is_pointer<T2>::value)>::type = void]’
h264Parser_unittest.cpp:135:13:   required from here
/home/uaeoff/Work/workspace/media/build/gtest/include/gtest/gtest.h:1448:16: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
if (expected == actual) {
^
cc1plus: all warnings being treated as errors
Makefile:895: recipe for target 'unittest-h264Parser_unittest.o' failed
make[2]: *** [unittest-h264Parser_unittest.o] Error 1

Yes, it enabled. I can see h264 parser passed. One guess for me is we did enable singed/unsigned comparison error in unit test. However, your CC have this in by default.

[----------] 1 test from H264ParserTest
[ RUN      ] H264ParserTest.Parse_Simple
[       OK ] H264ParserTest.Parse_Simple (0 ms)
[----------] 1 test from H264ParserTest (0 ms total)

+1

merged as 71ef6ba3d0a10172cdfb5424f147a842a1456114.
I remember we have sign/unsinged issue in unit test before. Just like this, I cannot reproduce it. However, someone can....


Grades endpoint

Adds endpoints /grades and /grades/all
/grades endpoint can query using fields from professors, sections, and courses. The query also has parameter representation which can be 'semester', 'section', or 'total'.
The query should be formatted as .=&representation=<semester|section|total>
example: /grades?professors.last_name=Alagar&representation=section
/grades/all returns data without query and has parameter representation which can be 'semester', 'section', or 'total'

I believe you updated the server.go erroneously, and included your parser code here too.
The only change there should have been the inclusion of ther line:
routes.GradesRoute(router)

The easiest thing to do would be to create a new branch and add the changes again, this time only including the changes specifically needed for the grades endpoint. (or you could reset this branch, and add the changes, but I don't want you to lose your changes..)
Otherwise, this looks good to me!


Run tests in CI with Python 3.11

Closing since tests don't pass - miniconda distribution is not there yet https://github.com/iterative/mlem/actions/runs/3408003288/jobs/5668178622


Lint warning: missing documentation for zebrad/build.rs main

What happened?
When building with -W missing docs, zebrad/build.rs main() is lacking docs:
Zebra logs
#21 643.9    Compiling zebrad v0.0.1 (/opt/zebrad/zebrad)
#21 644.0 warning: missing documentation for the crate
#21 644.0  --> zebrad/build.rs:1:1
#21 644.0   |
#21 644.0 1 | fn main() {}
#21 644.0   | ^^^^^^^^^^^^
#21 644.0   |
#21 644.0   = note: requested on the command line with `-W missing-docs`
#21 644.0
#21 644.2 warning: `zebrad` (build script) generated 1 warning

Zebra Version
1.0.0

This is not a bug, these warnings are caused by cargo-chef overwriting some source files so only Zebra's dependencies are built:
https://github.com/LukeMathWalker/cargo-chef#how-to-use
If this was a bug in Zebra, the OS builds would fail, because they deny all warnings, including doc warnings.


[Feature Request] Add file upload field value as attachment to notification &| confirmation email templates

@kjac
Hope you're well!
I've been asked if there any way to add an attachment to the sent emails if a file is uploaded?
I've gone through the code and wondered what you thought would be the best way to update the private static void SendEmails method on line 404 of FormEditor/Source/Solution/FormEditor/FormModel.cs to be able to pass in the file upload value/path as an attachment as such:
 MailMessage message = new MailMessage {
                From = from,
                Subject = subject,
                Body = body,
                IsBodyHtml = (body.Contains("<html") || body.Contains("<body")) || body.Contains("<div")
            };

Attachment at = new Attachment(Server.MapPath("~/UPLOADED/PATH/GOES/HERE"));
message.Attachments.Add(at);

Maybe with an overload of the method based on a checkbox in the back office file upload field asking "Attach to email(s)"?
Thoughts?
J

Hey @jonrandahl
My first thought was "what a great idea" :)
I've been mulling it over for a few hours now, and I'm leaning towards another option: A link download the file from the site. It'd require a little more work, but would prevent the usual problems with associated attached files (file size or file type issues).
Provided you'd have something like UploadField.DownloadFileUrl() available, would that be a feasible way to go?

Glad to see I'm giving you food for thought @kjac; loving the new response message ui too! :-D
With the request, two things spring to mind immediately:

You've brilliantly already given us both the option to set a maximum files size and allowed types on a file upload field
There is a failover maximum file size limit set in the back office through the web.config
so while I can see your point on the associated size and types you've mentioned I feel the safety measures are already in place and this would be a massive benefit to all in the long run?

Have I persuaded you? ;-)
J

@jonrandahl You have. I'm concerned about performance, but sending the notification mail as fire-and-forget might do the trick.
I'll have a look at it soon.

@jonrandahl Have a look at #18 :)

Done and ready in Version <IP_ADDRESS> - enjoy.


Show full oracle profile info in markets

Story
As a trader interested in entering a market
I want evidence of the market oracle's reputation
So I can decide if it is trustworthy
Acceptance Criteria

[ ] I can open the long oracle profile modal from the short oracle profile
[ ] I can find links to all proofs provided for this oracle
[ ] I can see which other markets (if any) are configured to use this key as an oracle, along with links and details for those markets
[ ] The long profile reflects all oracle statuses

Tasks

[ ] Implement long oracle profile as a component which can be reused in other apps, like governance
[ ] QA

Sketch
See the Miro board for more context.

Additional details / background info

This ticket is dependent on:

the task "Visual design → Long oracle profile" from the epic: https://github.com/vegaprotocol/ux-and-visual-design/issues/79
https://github.com/vegaprotocol/frontend-monorepo/issues/2086

Oracle profiles will be located in the repo here: https://github.com/vegaprotocol/well-known/tree/main/oracle-providers

Please see the designs below + the corresponding Figma link.
An example of an Oracle in the context of the Console UI / Info Tab

Each status has a colour + icon
We've defined some rules around how links display ie. Ideally the proofs fit on one line but if the links are too long then stack them. In Console, we only show the top two proofs.

The various Oracle statuses

It might be useful for context to see the proposed Oracle Detail Pages and compare what info is exposed in the Console Accordion vs what is exposed when you (in future) are able to click to view details.
These designs are in the Governance Figma: Figma link


summarize the pragmatic programmer

https://blog.codinghorror.com/a-pragmatic-quick-reference/

http://academy.nearsoft.com/project-updates/summaryofthebookthepragmaticprogrammerfromjourneymantomaster

https://github.com/HugoMatilla/The-Pragmatic-Programmer


Debugger constraint warnings related to KeyboardAssistantBar and Presentr?

Not sure if this is something that lies in my code, but when I invoke the keyboard in a UIView that has been Presentr'ed, I see Xcode spill its guts with these warnings.
Any ideas?
(     "<NSAutoresizingMaskLayoutConstraint:0x604000299870 h=--& v=--& UIKeyboardAssistantBar:0x7fe96f766bc0.height == 0   (active)>",     "<NSLayoutConstraint:0x60c000292d40 V:|-(0)-[_UIButtonBarStackView:0x7fe96f7683f0]   (active, names: '|':UIKeyboardAssistantBar:0x7fe96f766bc0 )>",     "<NSLayoutConstraint:0x60c000292ed0 V:[_UIButtonBarStackView:0x7fe96f7683f0]-(0)-|   (active, names: '|':UIKeyboardAssistantBar:0x7fe96f766bc0 )>",     "<NSLayoutConstraint:0x60c00029d790 'UIButtonBar.maximumAlignmentSize' _UIButtonBarButton:0x7fe96f78ca90.height == UILayoutGuide:0x60c0001b8720'UIViewLayoutMarginsGuide'.height   (active)>",     "<NSLayoutConstraint:0x60c000292890 'UIView-bottomMargin-guide-constraint' V:[UILayoutGuide:0x60c0001b8720'UIViewLayoutMarginsGuide']-(9)-|   (active, names: '|':_UIButtonBarStackView:0x7fe96f7683f0 )>",     "<NSLayoutConstraint:0x60c0002927f0 'UIView-topMargin-guide-constraint' V:|-(10)-[UILayoutGuide:0x60c0001b8720'UIViewLayoutMarginsGuide']   (active, names: '|':_UIButtonBarStackView:0x7fe96f7683f0 )>" )

My presenter:
lazy var loginPresenter: Presentr = { [unowned self] in
    let width = ModalSize.custom(size: 400)
    let height = ModalSize.custom(size: 500)
    let p = CGPoint(x: self.view.frame.origin.x + (self.view.frame.width / 2) - 200, y: 70)
    let center = ModalCenterPosition.customOrigin(origin: p)
    let customType = PresentationType.custom(width: width, height: height, center: center)
    let presenter = Presentr(presentationType: customType)
    presenter.blurBackground = false
    presenter.backgroundColor = UIColor.black
    presenter.backgroundOpacity = 0.4
    presenter.transitionType = .crossDissolve
    presenter.dismissTransitionType = .crossDissolve
    presenter.roundCorners = false
    presenter.dismissOnSwipe = false
    presenter.dismissOnTap = false
    presenter.keyboardTranslationType = .moveUp
    let shadow = PresentrShadow(shadowColor: UIColor.black, shadowOpacity: 0.3, shadowOffset: CGSize(width: 5, height: 5), shadowRadius: CGFloat(4.0))
    presenter.dropShadow = shadow
    return presenter
}()


Possible bug in pull() method

pull is not working for me in a particular instance. I have the following class:
Reels = new Mongo.Collection('reels');

Reel = Astro.Class({
  name: 'Reel',
  collection: Reels,
  fields: {
    name: 'string',
    tracks: {
      type: 'array',
      default() {
        return []
      }
    },
    artistId: 'string',
    password: 'string',
    createdAt: 'date'
  }
});

When I try this in the Meteor shell, (or in code) nothing happens:
r = Reels.findOne(userId); //successful
r.pull('tracks', {uid: 'aQTRzcj9gjinNDBMi'});
r.save();

Am I doing something wrong?

Probably the problem is that you are passing only id and you have to pass entire object that you want to pull.

You do? But I just want to pull based on a single field. The docs seem to indicate this is possible:
http://astronomy.jagi.io/pull
I'll just use the non-Astronomy way, which works:
Reels.update(reelId, {$pull: {tracks: {uid: trackId}}});

It will be possible in Astronomy 2.0, right now it has to work the way it is :)

Ok. Thanks for all the hard work!

No problem :)


log when getting shutdown request

Node shutdown has significant impact, and if it's not initiated by the caller, it can be difficult to figure out why without this log.
In my case, it took me several hours to realize that other nodes keep stopping subscribing not because of my code bug - it's because another copy of my code tries to run in background, so ROS master keeps kicking out my node because a new node is joining. I immediately saw the reason with this line in logs.
got shutdown request from /master: [/hermes] Reason: new node registered with same name

merged, thanks. I'll also add a new tag.


Fuel Gauge Device Driver API - Updated

name: RFC / Proposal
about: Submit an RFC / Proposal
title: 'Dedicated Battery Fuel Gauge Device Driver API'
labels: RFC
assignees: 'aaronemassey'

Introduction
Add a kernel device driver API for battery fuel gauge control.
Problem description

A limited battery fuel gauge API exists in the increasingly large sensor_channel
enum defined by the sensor API.  However, fuel_gauges are also written to by
drivers (e.g. SMBus writes); this falls outside the purview of the sensor API.
The sensor API presuppose device drivers to do their own caching. Fuel gauges on
severely memory strained systems should allow application code to decide what's
important to cache (except for internal values that are necessary for the
driver's operation).
Proposed change
Add a battery fuel gauge device driver API that provides reading and fuel gauge
writing to (such as via smart battery SMBus) as a single device driver API.
Eventually deprecating the sensor API battery fuel gauge APIs in favor of the
dedicated battery driver API.

Detailed RFC

Proposed change (Detailed)

See the accompanying initial pull request for an initial MVP.
Followup changes will include a more full fledged SBS Gauge driver enabling
SMBus and other writes via the API extended in future PRs.
Dependencies

In future PRs, clients of the battery fuel gauge channels in the sensor API
will be migrated to leverage the new battery fuel gauge API. Eventually, the
battery fuel gauge APIs implemented in the sensor API will be deprecated and
removed.
Part of a Future/TBD Power Supply Subsystem Zephyr Ecosystem
In the initial pull request there were many comments indicating significant
interest in the creation of an overarching power supply subsystem, likely
drawing inspiration from the Linux Kernel's power supply
subsystem. This would
encompass working with fuel gauges and charger ICs from application code.
The creation of a fully fledged power supply subsystem is outside the scope of
this specific RFC. This RFC is specific to battery fuel gauges. However, these
comments were taken heavily into consideration and principally informed a
redesign of the initial fuel gauge API to better fit as a module under such a
future ecosystem. It's now intended to able to fit within the scope of a future
power subsystem roughly described by the below diagram.

The exact details of ownership, RFCs, and future PRs of the future APIs
described by this diagram are outside the scope of this RFC and should be
largely discussed out in a separate RFC/issue.
Concerns and Unresolved Questions

Minimum Viable Product (MVP)
The initial pull request is intended to be an MVP. Notably, this PR does not
include any way to expose writing to fuel-gauge registers, such as SBS extended
registers. This will be designed and iterated upon in follow-up PRs.
Not an Expert
I am no expert on batteries nor Zephyr, so there may be cases I do not know to consider.
Alternatives

Status Quo
Pros

No additional work on deprecating and migrating existing code

Cons

No unified mature API for battery fuel gauge reading/writing
Clients of the current fuel gauge API are potentially forced to pay for cached
fuel gauge parameters.

Keep Both
Instead of replacing the fuel gauge channels in the sensor API, just add the
new battery fuel gauge device driver API.
Pros

No deprecation work is necessary.

Cons

Maintaining two similar APIs for the similar or same use-case could result in
inconsistencies that could frustrate clients.
Also maintaining two separate sets of drivers is problematic (e.g. they fall
out of sync).

Happy to see this happening. Are there plans to add an implementation of this API for the Smart Battery standard?

Happy to see this happening. Are there plans to add an implementation of this API for the Smart Battery standard?

That's a goal if the Zephyr community is interested!

See https://github.com/zephyrproject-rtos/zephyr/pull/46817 for MVP

https://github.com/zephyrproject-rtos/zephyr/issues/52315


Updates for NP after final code review

I want to merge this change because...

SALEOR-4969
Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Task linked: SALEOR-4969 Comments from final PR

Why this PR has 125 commits?

Why this PR has 125 commits?

I've created this branch from NP feature branch instead of 3.0 and if I understand correctly, previous NP pull request was merged with squash. Should I just create a new pr with all of this commits squashed?

@mateuszgrzyb Can you rebase it on the current branch so it only contains the relevant commits?


Competencies: update ide-intellij

This file was referencing vscode instead of intellij, fixed that and added some more specific items to the list.

declined, wrong repo


Storage space filling up quickly

Hello,
First of all a big thank you to the developers. This project is really great, works perfectly and it's so easy to install! Really good work.
I've been using this for the past few weeks and I recently started to notice the audio stops after a while after playing with no issues (usually in the middle of the first song I play or at the beginning of the second one). It just stops playing and Spotify seems to "crash" or get confused about what's happening. I realized by looking at my dashboard that the disk space was full, which surprised me, as I'm pretty sure I had in excess of 2gb free when I installed the system (only a couple weeks ago - 8gb SD card). I'm wondering what's eating up space so quickly?
One theory is Spotify (which is the only service I'm using really) is caching a lot of stuff and that is taking up the free space, but it doesn't seem realistic to have that amount of data as cache. Then I thought it might be the "download" feature Spotify has, where you can download playlists to your devices to listen to them when offline. I have this switched on for some of my playlists, and I believe it will download the tracks across all devices. I'm not sure if this would also happen on the Spotify service used for this deployment, but it would explain the rapid storage consumption.
Any advice or information would be greatly appreciated. I can always flash again and start from scratch, but I'm hoping to learn what's going on and also avoid reconfiguring everything again. It was running perfectly before this happened.
Thanks!

Why don't you investigate where the space is being used?  du is a very handy tool for that.  Depending on how you're running things, check in /var, /home, and /root to start with.  For a start, try du -hxd1 / and then work your way down.  e.g. du -hxd1 /var

I have just recently encountered the exact same problem, though I have a 32GB card so it took many hours of streaming before I encountered the error, that is, first song stops. Tried to update to latest build and download kept failing, then I noticed there was no storage.
Looking into this further, i believe it is related to this https://github.com/dtcooper/raspotify/issues/144.
A quick fix that got me back to normal, was to "Purge data" in the console.

Why don't you investigate where the space is being used? du is a very handy tool for that. Depending on how you're running things, check in /var, /home, and /root to start with. For a start, try du -hxd1 / and then work your way down. e.g. du -hxd1 /var

Thanks for the suggestion, I ran the commands but don't see anything too suspicious. Do you?
du -hxd1 /
3.0K    /quirks 93M     /usr 2.0K    /mnt 1.0K    /media 1.3M    /etc 3.2M    /bin 19M     /boot 2.0K    /home 79M     /lib 8.2M    /resin-boot 3.0K    /var 1.8M    /sbin 205M    /
du -hxd1 /var
1.0K    /var/local 1.0K    /var/backups 3.0K    /var
du -hxd1 /usr
1.0K    /usr/src 1.0K    /usr/include 2.1M    /usr/libexec 57M     /usr/bin 1.0K    /usr/games 25M     /usr/lib 6.7M    /usr/sbin 2.7M    /usr/share 93M     /usr
du -hxd1 /var/cache
0       /var/cache/private 0       /var/cache/opkg 8.0K    /var/cache/ldconfig 8.0K    /var/cache

I have just recently encountered the exact same problem, though I have a 32GB card so it took many hours of streaming before I encountered the error, that is, first song stops. Tried to update to latest build and download kept failing, then I noticed there was no storage.
Looking into this further, i believe it is related to this dtcooper/raspotify#144.
A quick fix that got me back to normal, was to "Purge data" in the console.

Thanks for this suggestion too, I think we are facing the same issue. I tried purging data but it only freed up a couple hundred MB. I think this is more like a couple GB kind of problem.
Thanks all!

@marevalod There are a few different mounts in balenaSound.  Can you post a df -h from the Host container so we can see exactly which fs is being filled?
Here's what mine looks like:
root@c2762a7:~# df -h
Filesystem                      Size  Used Avail Use% Mounted on
devtmpfs                        1.8G     0  1.8G   0% /dev
tmpfs                           1.9G  4.0K  1.9G   1% /tmp
/dev/mmcblk0p3                  300M  292M     0 100% /mnt/sysroot/active
/dev/disk/by-state/resin-state   19M  244K   17M   2% /mnt/state
overlay                         300M  292M     0 100% /
/dev/mmcblk0p6                   58G  1.6G   54G   3% /mnt/data
tmpfs                           1.9G     0  1.9G   0% /dev/shm
tmpfs                           1.9G   22M  1.9G   2% /run
tmpfs                           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs                           1.9G   20K  1.9G   1% /var/volatile
/dev/mmcblk0p1                   40M  7.4M   33M  19% /mnt/boot
/dev/mmcblk0p2                  300M  283M     0 100% /mnt/sysroot/inactive

Then we can cd to a directory that seems to be taking a lot of space and issue a:
du | sort -n -r | head -n 10
(This is one of my favorite commands and I have it aliased to "hog" on all of my Linux machines.)
I suspect the majority of your usage is going to be in /mnt/data which is where all of the container volumes live.

@marevalod There are a few different mounts in balenaSound. Can you post a df -h from the Host container so we can see exactly which fs is being filled?
Here's what mine looks like:
root@c2762a7:~# df -h
Filesystem                      Size  Used Avail Use% Mounted on
devtmpfs                        1.8G     0  1.8G   0% /dev
tmpfs                           1.9G  4.0K  1.9G   1% /tmp
/dev/mmcblk0p3                  300M  292M     0 100% /mnt/sysroot/active
/dev/disk/by-state/resin-state   19M  244K   17M   2% /mnt/state
overlay                         300M  292M     0 100% /
/dev/mmcblk0p6                   58G  1.6G   54G   3% /mnt/data
tmpfs                           1.9G     0  1.9G   0% /dev/shm
tmpfs                           1.9G   22M  1.9G   2% /run
tmpfs                           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs                           1.9G   20K  1.9G   1% /var/volatile
/dev/mmcblk0p1                   40M  7.4M   33M  19% /mnt/boot
/dev/mmcblk0p2                  300M  283M     0 100% /mnt/sysroot/inactive

Then we can cd to a directory that seems to be taking a lot of space and issue a:
du | sort -n -r | head -n 10
(This is one of my favorite commands and I have it aliased to "hog" on all of my Linux machines.)
I suspect the majority of your usage is going to be in /mnt/data which is where all of the container volumes live.

Thanks @eiddor. See below:

Filesystem                      Size  Used Avail Use% Mounted on
devtmpfs                        480M     0  480M   0% /dev
tmpfs                           487M     0  487M   0% /tmp
/dev/mmcblk0p2                  300M  225M   55M  81% /mnt/sysroot/active
/dev/disk/by-state/resin-state   19M  242K   17M   2% /mnt/state
none                            300M  225M   55M  81% /
/dev/mmcblk0p6                  6.6G  6.6G     0 100% /mnt/data
tmpfs                           487M  1.4M  486M   1% /dev/shm
tmpfs                           487M   38M  450M   8% /run
tmpfs                           487M     0  487M   0% /sys/fs/cgroup
tmpfs                           487M   20K  487M   1% /var/volatile
/dev/mmcblk0p1                   40M  8.3M   32M  21% /mnt/boot
/dev/mmcblk0p3                  300M  2.1M  278M   1% /mnt/sysroot/inactive

Your suspicion was right. /mnt/data has 6.6G/6.6G used. I ran the "hog" command and this is the output:
6842308 .
6842204 ./docker
5398580 ./docker/volumes
5398544 ./docker/volumes/1765536_spotifycache
5398540 ./docker/volumes/1765536_spotifycache/_data
5398528 ./docker/volumes/1765536_spotifycache/_data/files
1435000 ./docker/aufs
1433864 ./docker/aufs/diff
150024  ./docker/aufs/diff/941a6cd4ed774f6fbb599a10e20b6af554477ae768ae7b18cc49c47f57399b76
127364  ./docker/aufs/diff/7f6ba4542010d7b7711edd2f3e439e1a28829ea009c0c0abd0866454842e41a5

Please forgive my ignorance, but what did that command do? I still see the disk full. Should this have fixed the issue?
What would a permanent solution be to avoid this from keep happening over time?
Thank you all!

@marevalod Ok, so as you suspected, it's Spotify's cache that is taking up all of your space.
(The hog alias just take the du output and sorts it to show you the top ten directories in terms of space usage.  It's nothing fancy, just an easier way to figure out what's filling your file systems.)
So, just a guess, but I'm thinking that you're also right about the Spotify download function - Do you have your Spotify credentials configured?  I believe they're only required if you want to use Spotify Connect over the Internet.  If you're using Spotify Connect locally then you don't need them.  I don't use Spotify a whole lot with my balenaSound, so I can't really compare.
If it's not the download function/credentials, then it might just be normal operation and you need a larger microSD.

Not there are a couple of suggestions in the raspotify issue linked above that can also help you.
Looking at /etc/default/raspotify in the Spotify container I see my cache as disabled:
root@c2762a7:/etc/default# cat raspotify | grep CACHE
#CACHE_ARGS="--cache /var/cache/raspotify"

And my cache directory usage is nearly nil:
root@c2762a7:~# du -h /var/cache/raspotify
1.0K    /var/cache/raspotify/files
2.0K    /var/cache/raspotify

I don't want to send you too far down the raspotify rathole, but these are things you should be able to check pretty quickly.

@marevalod Ok, so as you suspected, it's Spotify's cache that is taking up all of your space.
(The hog alias just take the du output and sorts it to show you the top ten directories in terms of space usage. It's nothing fancy, just an easier way to figure out what's filling your file systems.)
So, just a guess, but I'm thinking that you're also right about the Spotify download function - Do you have your Spotify credentials configured? I believe they're only required if you want to use Spotify Connect over the Internet. If you're using Spotify Connect locally then you don't need them. I don't use Spotify a whole lot with my balenaSound, so I can't really compare.
If it's not the download function/credentials, then it might just be normal operation and you need a larger microSD.

That's a good point. I don't have my credentials configured, so probably the download feature wouldn't be in effect, right?
It still sounds crazy to me that several GB of data was cached only over a couple of weeks. This doesn't sound like normal behavior, but I might be wrong.
Anyways, how do I solve this!? I guess there has to be a variable to limit cache size or a way to establish a cache wipe periodically? I don't know... I can't be the only one experiencing this issue!
Thanks again!

@marevalod See my last post for a couple of times - There are also a few different ideas in this thread: https://github.com/dtcooper/raspotify/issues/144
If I get a chance this weekend I'll try to play some Spotify on mine to see if the usage increases.

@marevalod See my last post for a couple of times - There are also a few different ideas in this thread: dtcooper/raspotify#144
If I get a chance this weekend I'll try to play some Spotify on mine to see if the usage increases.

Thanks @eiddor. I can't seem to replicate what you did there. Those directories don't exist on my system apparently. What am I doing wrong?

Thanks @eiddor. I can't seem to replicate what you did there. Those directories don't exist on my system apparently. What am I doing wrong?

Are you in the Spotify container?
FWIW - I played a few songs on mine last night and I can see my cache directory filling up, so this appears to be normal.
The thread I linked above has some tips for space maintenance - There may be some cache limit but it might be larger than your microSD and I'm not sure if it's worth trying to change the setting with a workaround.
To be honest, I think the "fix" in your case is to use a 16G card, but that's up to you.

Thanks @eiddor. I can't seem to replicate what you did there. Those directories don't exist on my system apparently. What am I doing wrong?

Are you in the Spotify container?
FWIW - I played a few songs on mine last night and I can see my cache directory filling up, so this appears to be normal.
The thread I linked above has some tips for space maintenance - There may be some cache limit but it might be larger than your microSD and I'm not sure if it's worth trying to change the setting with a workaround.
To be honest, I think the "fix" in your case is to use a 16G card, but that's up to you.

I wasn't on the Spotify container, thanks for that. Now I can see the output and yes, it's the same as yours.
Thanks for trying this thing out yourself @eiddor, it's good to know it's "normal" and not some problem with my setting. I can switch the micro SD no problem, but I think it'd be nice to see this as a configurable parameter, maybe toggle cache on/off, or determine cache size limit. Also, I didn't find mentions referring to the required micro SD size, and at least in my case, an 8GB micro SD is simply not working after it gets filled up with normal use.

@marevalod You're not wrong - In fact, the docs say that 8GB should be plenty enough:

So I think we have a couple of options - I'm not a dev or even dev-adjacent, so these are just ideas:
Option #1

Upgrade to 16GB and run for a while to see what happens.  There may be a built-in cache limit that will fit on on a 16GB card.
If so, update the docs to recommend 16GB
If not, implement one of the workarounds in the threads above (there seem to be a few of them)

Option #2

Figure out the how to set the librespot option discussed in this thread and add it as an environment variable in balenaSound

The size of the card just delays the problem, but will help.
As I posted earlier, I experienced the exact same issue with a 32gb card. Purged data less than a week ago and it is now slowly filling up again. I only use Spotify connect.
It will depend on your listening habits, as I assume that listening to the same tracks or albums, they will be retrieved from the cache compared to random songs and playlists where the cache will keep building.

So, I did some more digging - If you edit plugins/spotify/start.sh in the balenaSound package and add --disable-audio-cache to the librespot command, this might disable the cache.
eg.
set -- /usr/bin/librespot \
  --name "$SOUND_DEVICE_NAME" \
  --bitrate "$SOUND_SPOTIFY_BITRATE" \
  --cache /var/cache/raspotify \
  --disable-audio-cache \
  --linear-volume \
  "$@"

Someone smarter than me can probably modify that script to allow for an environment variable in balena to turn this on or off.

So, I did some more digging - If you edit plugins/spotify/start.sh in the balenaSound package and add --disable-audio-cache to the librespot command, this might disable the cache.
eg.
set -- /usr/bin/librespot \
  --name "$SOUND_DEVICE_NAME" \
  --bitrate "$SOUND_SPOTIFY_BITRATE" \
  --cache /var/cache/raspotify \
  --disable-audio-cache \
  --linear-volume \
  "$@"

Someone smarter than me can probably modify that script to allow for an environment variable in balena to turn this on or off.

Good find @eiddor. I'll try that as well. Thanks!

@marevalod I just tested it out here and it works as expected.  You may still want to clear out the /var/cache/raspotify/files directory in the spotify container just to get rid of the old files, or kill the spotifycache volume at the Docker level if you're comfortable doing so.

@marevalod I decided to do a bit of messing around/learning and came up with a fix and submitted a PR to add an option to disable the Spotify audio cache.
Assuming it's approved and merged, you'll be able to enable SOUND_SPOTIFY_DISABLE_CACHE as an environment variable (set to anything), which will disable the cache.
There are a few ways to delete the existing cache, but the most thorough way would be to delete the Docker volume itself before pushing the new version.
In a session of the Host OS:

Get the Container ID of the Spotify container with balena ps | grep spotify (it's the first field, f0b85737f9a9 in my case)

root@c2762a7:~# balena ps | grep spoti
**f0b85737f9a9**        e619eb7be755                         "/usr/bin/entry.sh /…"   17 hours ago        Up 17 hours                                      spotify_3043564_1625757

Stop the Spotify container with balena stop <container id>

Remove the Spotify container with balena rm <container id>

Get the Volume name with balena volume ls (it's 1751225_spotifycache in my case).

root@c2762a7:~# balena volume ls
DRIVER              VOLUME NAME
local               **1751225_spotifycache**

Remove the volume with balena volume rm <volume name>

Push new version of balenaSound

I hope that helps!
Roddie

@marevalod I decided to do a bit of messing around/learning and came up with a fix and submitted a PR to add an option to disable the Spotify audio cache.
Assuming it's approved and merged, you'll be able to enable SOUND_SPOTIFY_DISABLE_CACHE as an environment variable (set to anything), which will disable the cache.
There are a few ways to delete the existing cache, but the most thorough way would be to delete the Docker volume itself before pushing the new version.
In a session of the Host OS:

Get the Container ID of the Spotify container with balena ps | grep spotify (it's the first field, f0b85737f9a9 in my case)

root@c2762a7:~# balena ps | grep spoti
f0b85737f9a9        e619eb7be755                         "/usr/bin/entry.sh /…"   17 hours ago        Up 17 hours                                      spotify_3043564_1625757

Stop the Spotify container with balena stop <container id>
Remove the Spotify container with balena rm <container id>
Get the Volume name with balena volume ls (it's 1751225_spotifycache in my case).

root@c2762a7:~# balena volume ls
DRIVER              VOLUME NAME
local               1751225_spotifycache

Remove the volume with balena volume rm <volume name>
Push new version of balenaSound

I hope that helps!
Roddie

Thanks @eiddor. Great job! Let's hope this gets approved so we can use the feature from now on.

Hey @eiddor @marevalod, thanks so much for the investigation + PR, you guys were spot on with it. Most of my SD cards are either 32GB or 64GB so it makes sense I never encountered this problem while developing/testing balenaSound, so huge thanks to both of you.
@marevalod is right, we clearly state an 8GB is enough and I'd like to stick to that for as long as possible.
I'll review the PR now so we can get it merged asap.

Hey @eiddor @marevalod, thanks so much for the investigation + PR, you guys were spot on with it. Most of my SD cards are either 32GB or 64GB so it makes sense I never encountered this problem while developing/testing balenaSound, so huge thanks to both of you.
@marevalod is right, we clearly state an 8GB is enough and I'd like to stick to that for as long as possible.
I'll review the PR now so we can get it merged asap.

Thanks, @tmigone - Welcome back!

Thanks, @tmigone - Welcome back!

Doing some cleanup, this was addressed by #369 a while back. Closing!


Create driving animations

Description
@wcandillon , @kimchouard :
Can you help me create a guide animation like the ones seen in the video:
https://github.com/Shopify/react-native-skia/assets/20476002/663cc2fa-dbfa-4027-85e2-60ca1ffed6f4
https://github.com/Shopify/react-native-skia/assets/20476002/03d38e16-e852-4232-9c3d-6f6791d77dfe

Those should be simple since they are rectilinear paths (no circles or curves).
For the 1st example, I'd simply use a Gesture Handler to drive the position of the arrow:

only move it only using the x value (something like translationX) until it reaches the corner,
then, only use the y value only (translationY)

You can use useDerivedValue to get the filling path behind the arrow to grow.  I'd even use the start and end parameter from Path (see trim) to make it E-Z. ✨
Have fun!

Ah you want to create Japanese/Chinese character... Yeah, well get it right with straight paths first, but with more complex geometric shape you'll get yourself into some pretty deep trigo/géo calculation. :)


HIVE-27999: Upgrade to Java 17 to run sonar analysis

What changes were proposed in this pull request?
Upgrade to java 17 in CI to run sonar analysis.
Why are the changes needed?
To make CI pass.
Does this PR introduce any user-facing change?
No.
Is the change a dependency upgrade?
No.
How was this patch tested?
Pass CI.

@wecharyu It seems that we need also changes in https://github.com/kgyrtkirk/hive-dev-box to fix this issue. Are you planning to raise a PR there as well?

Yes, I'm trying to add jdk 17 by following this path https://github.com/kgyrtkirk/hive-dev-box/commit/4de03758bd750291e0973918668adca7f0aa0a89#diff-407e75354c3f4d4ba0290f1a41a629b943ad51520a7ef16c898282e036333c85.

Looks like the new CI have failed on the sonar check stage. http://ci.hive.apache.org/blue/organizations/jenkins/hive-precommit/detail/PR-4999/4/pipeline/601

It looks like sonar still failed  after upgrading jdk. http://ci.hive.apache.org/blue/organizations/jenkins/hive-precommit/detail/PR-5009/5/pipeline/414
[2024-01-17T13:06:33.547Z] [ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:<IP_ADDRESS>4:sonar (default-cli) on project hive: Error while running Node.js. A supported version of Node.js is required for running the analysis of JS in HTML files. Please make sure a supported version of Node.js is available in the PATH. Alternatively, you can exclude JS in HTML files from your analysis using the 'sonar.exclusions' configuration property. See the docs for configuring the analysis environment: https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/languages/javascript-typescript-css/: Error when running: 'node -v'. Is Node.js available during analysis?: Cannot run program "node": error=2, No such file or directory -> [Help 1]

I think this patch also introduced these 3 new test failures related to timestamp in the current master branch -
http://ci.hive.apache.org/blue/organizations/jenkins/hive-precommit/detail/master/2034/tests
cc @wecharyu @zabetak

Error when running: 'node -v'. Is Node.js available during analysis?: Cannot run program "node": error=2, No such file or directory

@zhangbutao This error also exists in the original case, so I ignored it. Currently it would fail sometimes, we may need a new path to fix it.

I think this patch also introduced these 3 new test failures related to timestamp in the current master branch -

@SourabhBadhya It should be caused by the jdk bug,  the original jdk version is 1.8.0_262-b19, and the new jdk version become 1.8.0_392-b08. It could be reproduced in my machine for the new jdk, so I will test and update to the right jdk version.

wecharyu/hive-dev-box:executor

following up, haven't we got an apache-like docker repo to store our images?

@abstractdog I think that before pushing the hive-dev-box images to our official apache docker repo we have to be sure that the hive-dev-box source code is apache compliant and bring the latter under the apache namespace.

The relevant discussion is here: https://lists.apache.org/thread/3z6f0srnts3n2m36yh5573lhyd5khyp2

@kgyrtkirk I plead guilty but I had good intentions. I was overconfident that the change would only affect Sonar which was anyways broken for days so wanted to quickly unblock all the others hitting that problem.

I think CI green is back. PR-4981 and PR5001 are green again.
http://ci.hive.apache.org/blue/organizations/jenkins/hive-precommit/activity
@wecharyu maybe have fixed the docker image.


add html crashes chrome if the div is too big

We are trying to create a single page pdf , with a large html element, which is longer than the paper's length, and the chrome crashes. we tried changing the div's length and then adding the html a bunch of time so it would not have to process the entire div at once , but the function still processes the entire div even if it's invisible in the screen and in the  final pdf result . Is there a way to tell the function to process only the visible dom elements so it wouldn't have to work so hard all at once?
here is the adding html to the pdf part of the code. we established a height of 2000px as an ok height - so for each div we calculate : DivTotalheight / 2000 = numOfImages . DivHeight = 2000px;
// the split image function
splitImage = function((doc, currImage,numOFImages,sumToNow , pageHeight, pageWidth,DivHeight){
// check that this is not the last image
if(currImage < numOfImages){
// if this is the first crop , change the div's height to a relatively small height so the function could //process it quickly and doesn't crash
if(currImage == 0)
{
MyDiv.height = MyDiv.height / numOfImages + 'px';
}
// pull the content of the div up (picture the content as a long toilet paper and we can only add a single piece at a time so each time we have to pull it up so we can see the next piece)
MyDiv.marginTop = (currImage==0) ? 0 : -(sumToNom + DivHeight * currImage) + 'px';
// add the current piece to the pdf and recursively continue to add the rest of the pieces
doc.addHTML(MyDiv,0,pageHeight*currentImage/numOfImages, {formaty:'PNG',dim:{w:pageWidth,h:pageHeight/numOfImages}},function(){splitImage(doc, ++currImage,numOFImages,sumToNow + scrollHeight, pageHeight, pageWidth,DivHeight)})
}
// this is the last page and we need to save the pdf
else{
doc.save('doc.pdf');
}
}
This code works , the result is a single page pdf with a number of images although it appears as only  one long image. but it still takes forever or crashes, even though when we process a div that it's total height is 2000px it only takes a few seconds.. after hours of debugging we think maybe it has to do with the renderQueue and that it adds all elements even if not visible but we couldn't figure out how to make it process only the visible elements.

Hi there,
There's now a html2pdf example which much better supports generating documents from HTML.
Get the latest master and try:
npm install
npm start

Then visit localhost:8000/examples/html2pdf/showcase.html
Hope this works well for you :)
Many thanks,
James


Missing proxy headers

1. What version of Caddy are you running (caddy -version)?
Caddy 0.10.0
2. What are you trying to do?
Set some header_upstream headers
3. What is your entire Caddyfile?
demo.raggaer.pw {
	tls<EMAIL_ADDRESS>	proxy / http://localhost:8080 {
		transparent
	}
}

4.  Please paste any relevant HTTP request(s) here.
curl https://demo.raggaer.pw
6. What did you expect to see?
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Date: Mon, 24 Apr 2017 22:36:51 GMT
Referrer-Policy: origin
Server: Caddy
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Permitted-Cross-Domain-Policies: none
X-Xss-Protection: 1; mode=block
Transfer-Encoding: chunked
X-Forwarded-For: XXXX

7. What did you see instead (give full error messages and/or log)?
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Date: Mon, 24 Apr 2017 22:36:51 GMT
Referrer-Policy: origin
Server: Caddy
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Permitted-Cross-Domain-Policies: none
X-Xss-Protection: 1; mode=block
Transfer-Encoding: chunked

The X-Forwarded-For header is not present even tho I am using the transparent preset. I am missing something?

I think this is a misunderstanding in what upstream headers are. Those headers are added along with the incoming request to the proxied server, they aren't returned in the response back to the browser (unless the proxied server mirrors them back or something).

Thanks and sorry for the misunderstanding!


Add simulated app to python builder and update cert docker image

Summary:

Fixes #25734
Adds the simulated app the python builder
Updated the Cert Docker file to build the simulated app with python builder.

Testing:

Validated that python builder builds the simulated app with the docker command.

@andy31415 Can you review this as well please ? Fix for https://github.com/project-chip/connectedhomeip/issues/25734

Thanks @krypton36 , can we merge this in @andy31415 ? I can make the TH release for 1.1 and close out the release for Spring :)

Should we just remove scripts/examples/gn_build_test_example.sh, or change it to simply run the python builder, so we have one less thing to maintain? Followup for either one of those options if we want to take them.

I think removing it, would be ideal. Just have to figure out if there is anything depending on it. Created an issue.

Should we just remove scripts/examples/gn_build_test_example.sh, or change it to simply run the python builder, so we have one less thing to maintain? Followup for either one of those options if we want to take them.

I think removing it, would be ideal. Just have to figure out if there is anything depending on it. Created an issue.

Can we merge this in now , so that we can get unblocked from creating a docker image for the TH and then remove / update the gn_build_test_example.sh in a separate PR ?

Can we merge this in now

@raju-apple Nothing above blocks this merging.  It's just waiting on CI to pass.


JavaDoc for builders/config has language around prereqs that prevents granular specification of thread context types

JavaDoc for the ThreadContextBuilder/Config and ManagedExecutorBuilder/Config methods currently include language around prerequisite context types which assumes that prerequisite types must always follow the same category of thread context propagation (cleared/propagated/unchanged),
     *
Inclusion of a thread context type with prerequisites implies
     * inclusion of the prerequisites, in that the prequisites are
     * considered *** as well, even if not explicitly specified.

At first glance, this might seem nice, but it is actually overly limiting and creates a lot of unnecessary complexity for implementations  as well as for users trying to interpret the behavior they will end up with.
As an example, let's say that a CDI thread  context provider implements its getPrerequisites method to return ThreadContext.APPLICATION.  The intent here (and consistent with the documentation of ThreadContextProvider.getPrerequistes) would be for application context to be established on the thread before the container requests that CDI context be established on the thread.  The idea of prerequisite context was intended as a way to establish ordering.
However, with the additional language that is currently in the Builders/Config, it gets another meaning as well, by also implying propagation, clearing, or unchangedness.  Consider what this means if a user configures,
@ThreadContextConfig(cleared=ThreadContext.CDI, propagated=ThreadContext.APPLICATION)
This seems like a perfectly reasonable combination to configure, but the current language in the Builders/Config JavaDoc forces it to be an error due to the fact that APPLICATION ends up implicitly in one category and explicitly in another.
One solution to this would be to remove the language in the JavaDoc around establishing implicit prerequisites.  This will allow the user to specify exactly what they want without interference from the container/thread context provider implying additional types of context that the user didn't want or expect.  This would be the simplest and cleanest solution, although it would permit users to configure erroneous combinations that aren't detected by the builder implementation, forcing the ThreadContextProvider implementations themselves to detect and raise the errors.
If we wanted to attempt to address this at the level of the builder, then we need to first come up with some rules on how to interpret the many possible combinations.  Here is one possibility:

It is valid to clear a context type that has prerequisites even if its prerequisites are not cleared.
It is valid for a type and its prereqs to be applied in same way (for example, all propagated).
It is not valid for a type and its prereqs to be applied in different ways.
cleared does not imply prereqs are cleared.
propagated implies prereqs are propagated.
unchanged implies prereqs are unchanged.
Prereqs of explicitly specified types are inferred before applying ALL_REMAINING.

Given the above, we could create the following truth table:
+------+---------------------------+---------------------------+---------------------------+
|valid?| cleared                   | propagated                | unchanged                 |
+------+---------------------------+---------------------------+---------------------------+
|   Y  | CDI,APPLICATION           |                           |                           |
|   Y  | CDI,ALL_REMAINING         |                           |                           |
|   Y  | CDI                       | APPLICATION               |                           |
|   Y  | CDI                       | ALL_REMAINING             |                           |
|   Y  | CDI                       |                           | APPLICATION               |
|   Y  | CDI                       |                           | ALL_REMAINING             |
|   N  | APPLICATION               | CDI                       |                           |
|   N  | APPLICATION               | ALL_REMAINING             |                           |
|   N  | APPLICATION               |                           | CDI                       |
|   N  | APPLICATION               |                           | ALL_REMAINING             |
|   Y  | APPLICATION,ALL_REMAINING |                           |                           |
|   y  | ALL_REMAINING             | CDI                       |                           |
|   Y  | ALL_REMAINING             | APPLICATION               |                           |
|   y  | ALL_REMAINING             |                           | CDI                       |
|   Y  | ALL_REMAINING             |                           | APPLICATION               |
|   Y  |                           | CDI,APPLICATION           |                           |
|   Y  |                           | CDI,ALL_REMAINING         |                           |
|   N  |                           | CDI                       | APPLICATION               |
|   y  |                           | CDI                       | ALL_REMAINING             |
|   Y  |                           | APPLICATION,ALL_REMAINING |                           |
|   N  |                           | APPLICATION               | CDI                       |
|   N  |                           | APPLICATION               | ALL_REMAINING             |
|   y  |                           | ALL_REMAINING             | CDI                       |
|   N  |                           | ALL_REMAINING             | APPLICATION               |
|   Y  |                           |                           | CDI,APPLICATION           |
|   Y  |                           |                           | CDI,ALL_REMAINING         |
|   Y  |                           |                           | APPLICATION,ALL_REMAINING |
+------+---------------------------+---------------------------+---------------------------+

But the above introduces a lot of complexity, both in the user and implementation needing to understand all of the rules.  Is it worth it?

It turns out we can go even further and remove the concept of prerequisite context entirely.  The only reason it is in the spec at all was anticipating that CDI context might want to prereq APPLICATION context, but I just checked with those prototyping CDI context and they don't have this need at all.  It is better to leave this out of the spec and if the need ever arises in the future, it could be added back in.


Changing the type of a definition block deletes the calling block

This only happens when the function definition block still has the default name (bar).

Fixed in b5aa07441ed2db3ac4dabb45c22b61f1934ef44d


Add a setting to control where files are downloaded to

Where is the code for the downloading of files? I can't see it anywhere.

https://github.com/beakerbrowser/beaker/blob/master/app/background-process/ui/downloads.js

I created a PR


fix: temperature related field type change

Fixes #22

@dkerr64 I will merge it without your review as it doesn't contain breaking changes.


Update readme.md

I created a read me for the getrfc repository with its information and an example.

Hi! Any updates regarding this?


Cleo+ affects the game

Bullet View mod that requieres Cleo+ has a strange glitch, just as reported at mixmods, triggering slow cam causes the game to become ultra bright and then it glitches, forcing you to close the game. It has been previously reported,
it's a great mod hope you can fix it.
It doesn't happen when you are in a savegame that hasn't unlocked any of the additional islands, I mean that such glitch happens only after completing the mission: the green sabre

strangely it doesn't happen with the author's version


cf-auth-proxy slow to authorize when user has access to a large number of apps

For users that are not admins (do not have logs.admin or doppler.firehose scopes in UAA), but have access to a large number of apps (hundreds or thousands), the cf-auth-proxy can take as long as 60 seconds to determine what apps the user has access to.
This information is cached, but due to load balancing, the benefit of that cache for latency purposes is reduced.

is there an update on this please?

Fixed in https://github.com/cloudfoundry/log-cache-release/releases/tag/v2.7.0 .


feat: (KW 134) Allow user to send/receive crypto payments in person

Description
A few sentences describing the overall effects and goals of the pull request's commits.
What is the current behavior, and what is the updated/expected behavior with this PR?
Allows the user to send crypto by scanning a QR code.
Allows the user to receive crypto by creating a QR code.

[x] Clicking "Send" opens the scan interface
[x] Clicking "Receive" opens the receive amount interface
[x] Scanning a "Receive QR code" opens a non-editable confirmation dialog
[x] Scanning an "Address QR code" opens an editable send amount interface

Other changes
Describe any minor or "drive-by" changes here.
Tested
An explanation of how the changes were tested or an explanation as to why they don't need to be.
Unit tests pending.
How others should test
Does this need to be tested by QA in the next release cycle? If so please give a brief explanation of how to test these changes.
Related issues

Fixes #[issue number here]

Backwards compatibility
Brief explanation of why these changes are/are not backwards compatible.

https://user-images.githubusercontent.com/14793093/183726820-d4634745-e191-4621-af91-dfb6db13d2de.mp4

Haha my bad. I forgot to change that. Good job for catching this! I'll submit an update in an hour or two.

Can you provide some additional context as to the crashes on Android? When does the crash occur.

After further testing, I see my android app seems to be crashing from any screen in general ill have to do further testing. I keep getting a crash and then a leak canary heap dump notification. Since I have an android I can't test the scanning due to the crashes. As you saw in my screenshot I did get it to work a few times so. in the meantime you can fix the issue that your name is always the recipient Is always you.
Do you have another way I can test? maybe with ios? I had an iPhone attached but it still runs in the emulator. Even when the emulator is closed.

To run from iphone, you need to build from xcode while selecting your physical device as the target build device

Gotcha, ill do that monday!

@Nashmod ready for review again.


Interface with pviewer

Make it easy to generate mesh files from schematics

An easy way to implement this is to simply have a method to paste a schematic to a prismarine-world.
pviewer can already render prismarine-worlds

this is mostly done
only the saving of mesh part merit additional reflexion, related https://github.com/PrismarineJS/prismarine-viewer/issues/83

done, the meshing file part is another issue


Update S3M docs

Purpose of this pull request
This pull request (PR) ...
Issue number:

Select the type of change:

[x] Minor Changes - Typos, formatting, slight revisions
[ ] Update Content - Revisions and updating sections
[ ] New Content - New features, sections, pages, tutorials
[ ] Site and Tools - Updates, maintenance, and new packages for the site, Gatsby, React, etc

Thank you, @angadrandhawa1 ! May I merge this?


fix: Throttle Signup limit on production

Note that while the change only touches the production file, it will also affect staging, so we need to apply it to both envs after merging.

I also just double checked and we're now at 3 sign ups in the last 24h, which means this is good to go.
>>> User::where('created_at', '>=', \Carbon\Carbon::now()->sub(new \DateInterval('PT24H')))->count()
=> 3


Changes to Admin Pages

Made various changes to Admin pages, including list views, create views, and edit views
Added dark mode toggle
Transitioning from Ant Design components to Flowbite
Added alternate logo

It seems there are some errors with build command
[19:48:30] Running build in Washington, D.C., USA (East) – iad1
[19:48:31] Cloning github.com/OlivierJM/sparked-next (Branch: main, Commit: e72b0e7)
[19:48:32] Cloning completed: 655.186ms
[19:48:49] Restored build cache
[19:48:49] Running "vercel build"
[19:48:56] Vercel CLI 33.5.4
[19:48:59] Installing dependencies...
[19:49:00] yarn install v1.22.17
[19:49:00] warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[19:49:00] [1/4] Resolving packages...
[19:49:01] [2/4] Fetching packages...
[19:49:41] [3/4] Linking dependencies...
[19:49:41] warning " ><EMAIL_ADDRESS>has unmet peer dependency "zod@>= 3.11.0".
[19:49:41] warning Workspaces can only be enabled in private projects.
[19:49:41] warning Workspaces can only be enabled in private projects.
[19:49:41] warning Workspaces can only be enabled in private projects.
[19:49:41] warning Workspaces can only be enabled in private projects.
[19:50:04] [4/4] Building fresh packages...
[19:50:06] success Saved lockfile.
[19:50:06] Done in 66.72s.
[19:50:07] Detected Next.js version: 13.4.17
[19:50:07] Running "yarn run build"
[19:50:07] yarn run v1.22.17
[19:50:07] $ next build
[19:50:07] - info Creating an optimized production build...
[19:51:20] - info Compiled successfully
[19:51:20] - info Linting and checking validity of types...
[19:51:27]
[19:51:27] ./src/components/courses/courseListView.tsx
[19:51:27] 33:6  Warning: React Hook useEffect has a missing dependency: 'fetchCourses'. Either include it or remove the dependency array.  react-hooks/exhaustive-deps
[19:51:27] 33:7  Warning: The 0 literal is not a valid dependency because it never changes. You can safely remove it.  react-hooks/exhaustive-deps
[19:51:27]
[19:51:27] ./src/components/layouts/library/index.tsx
[19:51:27] 60:6  Warning: React Hook useEffect has missing dependencies: 'fetchPrograms' and 'fetchSchools'. Either include them or remove the dependency array.  react-hooks/exhaustive-deps
[19:51:27]
[19:51:27] ./src/components/media-content/media-content-list-view.tsx
[19:51:27] 35:6  Warning: React Hook useEffect has a missing dependency: 'fetchMediaContent'. Either include it or remove the dependency array.  react-hooks/exhaustive-deps
[19:51:27]
[19:51:27] ./src/components/programs/programListView.tsx
[19:51:27] 33:6  Warning: React Hook useEffect has a missing dependency: 'fetchPrograms'. Either include it or remove the dependency array.  react-hooks/exhaustive-deps
[19:51:27]
[19:51:27] ./src/components/school/schoolsListView.tsx
[19:51:27] 36:6  Warning: React Hook useEffect has a missing dependency: 'fetchSchools'. Either include it or remove the dependency array.  react-hooks/exhaustive-deps
[19:51:27]
[19:51:27] ./src/components/topic/topics-list-view.tsx
[19:51:27] 34:6  Warning: React Hook useEffect has a missing dependency: 'fetchTopics'. Either include it or remove the dependency array.  react-hooks/exhaustive-deps
[19:51:27]
[19:51:27] ./src/components/units/unitListView.tsx
[19:51:27] 35:6  Warning: React Hook useEffect has a missing dependency: 'fetchUnits'. Either include it or remove the dependency array.  react-hooks/exhaustive-deps
[19:51:27]
[19:51:27] ./src/components/users/UsersListView.tsx
[19:51:27] 33:6  Warning: React Hook useEffect has a missing dependency: 'fetchUnits'. Either include it or remove the dependency array.  react-hooks/exhaustive-deps
[19:51:27]
[19:51:27] info  - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
[19:51:38] Failed to compile.
[19:51:38]
[19:51:38] ./src/components/users/index.tsx:6:43
[19:51:38] Type error: Cannot find name 'TunitFields'.
[19:51:38]
[19:51:38]   4 | import { ColumnData } from '@components/admin/AdminTable/types';
[19:51:38]   5 |
[19:51:38] > 6 | export const unitTableColumns: ColumnData<TunitFields>[] = [
[19:51:38]     |                                           ^
[19:51:38]   7 |   {
[19:51:38]   8 |     title: '#',
[19:51:38]   9 |     dataIndex: 'index',
[19:51:39] error Command failed with exit code 1.
[19:51:39] info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
[19:51:39] Error: Command "yarn run build" exited with 1
[19:51:39]

@OlivierJM  I made some changes. Is it still giving build errors?

@OlivierJM I made some changes. Is it still giving build errors?

It's fixed now. Thank you.

@brianmuks kindly also help review this

@brianmuks kindly also help review this

Well noted.

@YewoMhango this pr looks good just address the following:
* All `i18next` keys should be in lowercase

* types should follow this format `T_mytype`

* Interface should like wise be formatted  like so `I_my_interface`

I am available to help you fix some build issues.

@brianmuks there were already lots of other existing types which also didn't strictly conform to the format of both a T and an undescore. Should I also edit those right now?

But anyway, I've already renamed them

@brianmuks let's merge this soon and do more tests in prod.

Alright


feat(common): Adds new error for package not found

This also updates the warg and OCI implementations to map the errors
properly

Please note this is stacked on top of #46. I will rebase once that merges


add A9.com

Thanks for the contribution!

Thanks for this easy-application :+1:  It is really helpful. Will try to add when I encounter while searching for a job :)


Allow past custom doctype option.

@hosmelq can you please update the documentation so that I can merge and publish this. thanks

@samsel is done.

@hosmelq change is published as v2.3.0


Add checkboxes to  checklist widget

Steps to reproduce

Add checklist widget to app home screen

Expected behaviour

show checkboxes. they should be in sync with actual state of items in checklist

Actual behaviour

no checkboxes

Working on this. How can I add items in the checklist?

Open travel mate app. Go to utilities -> Checklist.
There is an option to add items in checklist

@pista96 You can start investigating on this. If you find the fix, create a PR.


Switch between alternate routes via summaries

a la

(the "Fulton Street" link alternates to the other route)

or even

— having some kind of metadata / textual cues as to why there are multiple lines and what each means can help to choose.

@lbud Should we eventually add this to the updated demo as well for a 2nd way to swap between main and alt routes? Possibly by adding the IRouteSummary linked below the current route's itinerary.


moved postgres DB credentials to .env file addressing issue #67

Address the issue #67

Moved out the sensitive information like DB username & password to a .env file
Added a .env.example file to copy the credentials from when setting up locally

Additional Todos,

[ ] update onboarding documentation asking the user to create a .env file & copying the creds from .env.example

Hey @Deekshithrathod,
Can you fix the GHA script to create a .env using the .env.sample as well.

Sure, can do. Will update the PR by EOD

@techsavvyash Done.

Updated GHA to make .env file from .env.example while testing PR
How do you want to handle the documentation updation? I mean, do you want to create a separate issue or do you want me to make changes to 01-code-setup.md in this PR itself?

@techsavvyash Hey, made changes. Feel free to review & let me know if want me to change any commits.

Hey @Deekshithrathod,
Have added a .env.sample in https://github.com/ChakshuGautam/cQube-ingestion/pull/101.
Can you update this PR to create a env based on that?

sure, can do.

Hey @Deekshithrathod, thanks for the PR, have merged it.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
0

Relevant Lines:
0

💛  - Coveralls


API to edit internal data structure

If you are reporting any crash or any potential security issue, do not
open an issue in this repo. Please report the issue via emailing
<EMAIL_ADDRESS>where the issue will be triaged appropriately.
Title: API to read/write internal state of Envoy Proxy and filters
Description:
I'm currently doing my master thesis and I'm searching for some way to edit the state of Envoy Proxy and filters.
The idea is to migrate a QUIC connection from one Envoy proxy to a new one, in order to simulate a client that moves in an edge computing environment. Regardless QUIC related issues (implement server migration), is there any way to edit internal data structure of envoy related to a QUIC connection? Some API?
Thank you for your help!

I don't believe there is any public API for accessing the QUIC connection internals. You could hack around the code in source/common/quic, or else look into the QUICHE code, but that's about it.

Thank you for the answer.


Use viewport offset if document is wider then ss

Previous code took scrolling into account only when docment was
higher then image. This caused incorrect calculation of crop area
in case when document is wider then screenshot, but heights are
equal.

@j0tunn @scf2k @unlok

:ok: