[noetic] Edifice support

🎉 New feature
Summary

Support the upcoming Ignition release.
Test it

Install Edifice nightlies: https://ignitionrobotics.org/docs/edifice/install_ubuntu
Set the env var: export IGNITION_VERSION=edifice
Compile against Noetic

Checklist

[x] Signed all commits for DCO
[x] Added tests
[x] Added example and/or tutorial
[x] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge
🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸

Thanks, @ahcorde . CI is fixed.


Add Guided Cloning Interface

Part of requirement FR4 ↗
User Story: As a user, I want to be guided through the remote cloning process step-by-step, so that I can easily create configurations from my physical remotes.
Acceptance Criteria:

[ ] The terminal requests the user to press the buttons on the remote that will correspond to the terminal's physical button one by one.
[ ] Optionally, record additional buttons that will be available only in the app.

Merged with #8.

Deprecated, merged with #8.


How to center the APOD

Hello,
How can I center the APOD?
By position: "fullscreen_below" it is put to the left side of the canvas.

Hello,
If you want to place MMM-APOD in the center, you must use position: "top_center". That’s what I use on my MagicMirror and it works very well!
From what I could read, position: "fullscreen_below" allows to position a module in the background on the whole screen.

Hi,
Thanks for your reply!
I did so. Unfortunately it only works as long as the picture is narrow enough. Otherwise it covers the text of the side modules. A centered picture in the background would be perfect.

@Rwolkenflitzer, I just pushed an update of the module supporting APOD in the background!
Can you test if the testing branch works what you want before I release the update for everyone?
In your MagicMirror's :
cd ~/MagicMirror/modules/MMM-APOD
git checkout testing
git pull

Don’t forget to change the module position to "fullscreen_below" and restart your MagicMirror :wink:


Sentimental analysis of stock

Use data from Twitter/Facebook/Moneycontrol for sentimental analysis.

include quora as well.


[release-1.11] Upgrade to latest dependencies

release-1.11 http/2 cve -dprotaso
/cc knative-extensions/client-writers
/assign knative-extensions/client-writers
Produced by: knative-extensions/knobots/actions/update-deps

/retest


Code not running

Type: Bug
My program in visual studio code is not running showing me that the file contains a virus or potentially unwanted software at line 1 char 1.
VS Code version: Code 1.85.2 (8b3775030ed1a69b13e4f4c628c612102e30a681, 2024-01-18T06:40:10.514Z)
OS version: Windows_NT x64 10.0.22631
Modes:

System Info

Item
Value

CPUs
12th Gen Intel(R) Core(TM) i5-1235U (12 x 2496)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
7.69GB (0.67GB free)

Process Argv
--crash-reporter-id 1e71377e-9ef8-4708-993b-13c1dfcc3b91

Screen Reader
no

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

cmake-tools
ms-
1.16.32

cpptools
ms-
1.18.5

cpptools-extension-pack
ms-
1.3.0

LiveServer
rit
5.7.9

cmake
twx
0.0.17

(1 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805:30301674
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:30899288
vsclangdc:30486549
c4g48928:30535728
azure-dev_surveyone:30548225
2i9eh265:30646982
962ge761:30933248
pythongtdpath:30769146
welcomedialogc:30910334
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
pythontbext0:30879054
accentitlementsc:30887149
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
dsvsc019a:30933241

Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, .gif files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.
If the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (Developer: Toggle Screencast Mode in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue.
Happy coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


[Bug Report] need add lock for snapshot newMetaItemIterator

The snapshot process and fsm apply are executed in parallel, if fsm apply is not idempotent such as fsmCreateDentry may cause wrong result.  we need add lock for newMetaItemIterator
https://github.com/cubefs/cubefs/blob/7976d6b660624b74f8b0e757274ccfab11fe66d5/metanode/partition_item.go#L143

sorry,I didn't got the point.The inner in make snapshot is based on btree clone,the modification of fsm routines have no influnce to snapshot. and the fsm apply must be idempotent.

这里是主节点向从节点发送的snapshot，不是store_ticker定时5分钟raftfsm里打的snapshot。raft在向从节点sendAppend时如果节点落后太多时，调用 func (mp *metaPartition) Snapshot() 实时打的快照。 这里不再apply流程里，apply有个channel，是异步执行的，每个apply之间是串行的，但是和raft run Snapshot这里会并行

比如这里newMetaItemIterator 的同时 Apply 在进行index=123的 fsmCreateDentry 操作。如果inodeTree clone 之后 CreateDentry 又创建了dentry，再mp.dentryTree.GetTree ，这时快照里的数据就包含了index=123未提交的部分修改。 但是fsmCreateDentry不是幂等的，就会导致从节点再次执行123的时候，dentry存在，但是parent inode Nlink没有加一

I see， it's also wrong if the parent inode link may be added more than once, do you have any idea to fix it，please share it.

I see， it's also wrong if the parent inode link may be added more than once, do you have any idea to fix it，please share it.

simple way: add mutex lock for apply() and newMetaItemIterator
anther solution: send last local snapshot which created by store_ticker in fsm apply, but the cost is more disk read and log lag. we also need to retain more raft log to help slaver follow up the log lag

welcome to  join us and make a pr.

Does this problem still exist？, I think I can solve .

Does this problem still exist？, I think I can solve .

still exist.

we'll fix it in release 3.3.0


Set password as a Docker container environment variable

Great app! Very nice..!
But one request, can you make it possible to set the password as an environment variable in Docker?
-e authsecret=my-password

Thank you! I'll look into this. I know environment variables aren't a great way to store secrets but it does work pretty well for Docker containers.
One method you can already use is to create the password file yourself, or edit it at any time. The password is just a string that you can modify.
$ mkdir $HOME/Music
$ echo "mypassword" > $HOME/Music/.authsecret
$ docker create --name streamlist ... --volume $HOME/Music:/data ... --http-host music.example.com --http-username myusername
$ docker run streamlist

For information we forked project here https://github.com/wtfcoderz/streamlist
Feel free to follow us if you want


remove nonce and balance from the Wallet example state

Following the discussion on Slack https://spacemesh.slack.com/archives/C060PGXV27M/p1731994041096179?thread_ts=1731681768.842079&cid=C060PGXV27M

For context: these were added by mistake (carried over from the existing spacemesh template code) and should never have been there in the first place. For now, we maintain a strict separation of concerns where the host (go-spacemesh) is responsible for managing balance and nonce. A running program must access these using host methods.


removed .only and result= so that all tests run and pass correctly now

Coverage increased (+62.8%) to 86.358% when pulling 762354c5d7de4634c121cdf29b34baaf7d46b711 on croptestfix into e308ca63f62b15d26c663b35b424c25cd5074db5 on master.

Coverage increased (+62.8%) to 86.358% when pulling 762354c5d7de4634c121cdf29b34baaf7d46b711 on croptestfix into e308ca63f62b15d26c663b35b424c25cd5074db5 on master.

Coverage increased (+62.8%) to 86.358% when pulling 762354c5d7de4634c121cdf29b34baaf7d46b711 on croptestfix into e308ca63f62b15d26c663b35b424c25cd5074db5 on master.

Thanks!


Documentation fixes

Included doc changes

In the FAQ, the space in the name of the mapping is technically a naming violation, even if it is intended to be a placeholder
In the Helm Install, making it more clear that the edgectl install portion of the document is optional, and that
Scrubbed Edge Stack from the basic auth and basic rate limiting howtos, since they are specific to API Gateway only, also made a note at the top reinforcing that these howtos are not supported by AES.

Also pulled some yaml annotations out of the service definition in the RL howto.

This PR only addresses v1.6 documentation, if PR is accepted I will create more for 1.3-1.5.

Yes, I tested the mappings separately.  Also found a handful of references to Edge Stack in the rate limiting tutorial that I had missed previously.


added scan unifier to bringup layer

launch the scan unifier by default
related PRs:
ipa320/cob_driver#246
ipa320/ipa_navigation#84
ipa320/cob_navigation#56

tested on cob4-2: scan unifier starts as expected

LGTM

LGTM

I know this is nit-picking...
...but wouldn't it make more sense to add the scan_unifier.launch lines just under the sick_s300.launch section?
...do really all robots need the scan_unifier? Or just those using ipa_navigation? (CPU consumption?)

Imagine we use a new Laserscanner, then we need extra work to add the scan unifier to the new launch files.

Formal Review OK
As PR #365 came later, the launch file for cob4-4 should be added in #365

Missing dependency in cob_bringup/package.xml (will be fixed after merging by @ipa320/owners


Hey would it be possible to get this working with pca9865 16 servo driver instead of pan tilt hat?

Hey I've been looking all over to get face tracking servos on pca9865 16 servo driver but can't seem to find any projects that work is there any way that I can modify this one or can anyone help me??

I have not ordered my pca9865 yet but will write a small class module to
make pca9865 python syntax compatible with the pimoroni and waveshare
syntax.  This will allow a simple import and the main code should not need
to be changed.  class module should be pretty small since the pca9865
python module is similar and already supports angles but will need to
change to pan tilt servo syntax for angles between -90 and + 90 instead of
0 to 180.  You should then be able to use pca9865 for other pimoroni pan
tilt projects and only have to add import of the new class library.
I can use this sample
https://circuitpython.readthedocs.io/projects/pca9685/en/latest/examples.html#id3
to develop the class library for a pca9865 pan tilt module compatible with
pimoroni and waveshare syntax . You will need to specify channel variables
for the pan and tilt servos.
Claude ..
On Fri, Dec 18, 2020 at 2:21 PM petrella56<EMAIL_ADDRESS>wrote:

Hey I've been looking all over to get face tracking servos on pca9865 16
servo driver but can't seem to find any projects that work is there any way
that I can modify this one or can anyone help me??
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pageauc/waveshare.pantilthat/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABNPKZFRGCUAJZGHLYPXDULSVOTUFANCNFSM4VBSTS6A
.

--
See my YouTube Channel at http://www.youtube.com/user/pageaucp


Post-install hooks runs almost along with the charts

With pyhelm Post-install hooks runs almost along with the charts and its dependent charts. But actual helm waits for atleast one container to be running for a pod before proceeding to post-install hook. How do we get around this?

By default, Helm does not wait for pods to be in running state before executing post-install hooks. The behaviour you're describing happens when you use the "wait" option, which pyhelm supports as well. Have you tried it?


refactor(sbb-option): remove unused CSS variable

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

:exclamation: No coverage uploaded for pull request base (main@dd16061). Click here to learn what that means.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2546   +/-   ##
=======================================
  Coverage        ?   93.23%
=======================================
  Files           ?      307
  Lines           ?    25296
  Branches        ?     2063
=======================================
  Hits            ?    23584
  Misses          ?     1683
  Partials        ?       29

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


[TB] Toast shadow doesn't work

Problem/Concern
When I try to change the Toast Shadow on the Toast molecule, I don't see any changes to the Toast visual.
Proposed Solution

seems to be fixed in latest code.  Closing.


Make output of note commands private

We noticed that right now, when you use any of the note commands like @Karmabot note list the output is visible to anyone/others in the same channel (pybob used the command, I could make the screenshot):

This behavior is not intended, because it both is a privacy violation and increases the overall noise in the channels (something karmabot loves to do).
My proposed solution would be to move these messages into a private chat, so basically turn the output of these commands into DMs for the user.

Easy fix would be to move the note command registration from CHANNEL_BOT_COMMANDS to DM_BOT_COMMANDS.
https://github.com/PyBites-Open-Source/karmabot/blob/70c8a325cd945b684685118f17f1b365d2ca7405/src/karmabot/bot.py#L43-L61


Create an iterator class for in-memory representation.

This PR depends on #322.
The third commit is interesting here.

-1
Still think the StripDebugPass should clear the debug insts collection.
Also, please add a TODO to test the other increment modes on the iterator.

Still think the StripDebugPass should clear the debug insts collection.

That works too. Changed to use clear.

+2


Adding doc comments for frequently used APIs

Some copied from older docs.
Also renamed BuilderExtensions type to a more specific name.
@rynowak @DamianEdwards

@rynowak updated.

:shipit:

Thanks @rynowak !


Adding a new uploader to an existing plugins

Amazon ECR
SAML

Reference: https://groups.google.com/d/msg/jenkinsci-dev/G3WOCV9clSw/iTjnebtlBQAJ


[DRAFT] Druid 0.12.3 release notes

DRAFT
Druid 0.12.3 contains stability improvements and bug fixes from 6 contributors. Major improvements include:

More stable Kafka indexing service
Several query bug fixes

The full list of changes is here: https://github.com/apache/incubator-druid/pulls?q=is%3Apr+milestone%3A0.12.3+is%3Aclosed
Documentation for this release is at: http://druid.io/docs/0.12.3-rc1
Highlights
More stable Kafka indexing service
0.12.3 fixes a serious issue where the Kafka indexing service would incorrectly delete published segments in certain situations. Please see #6155, contributed by @gianm, for details.
Other stability improvements include:

Fix NPE in KafkaSupervisor.checkpointTaskGroup: #6206, added by @jihoonson
Fix NPE for taskGroupId when rolling update: #6168, added by @jihoonson

Query bug fixes
0.12.3 includes a memory allocation adjustment for the GroupBy query that should reduce heap usage. Added by @gaodayue in #6256.
This release also contains several fixes for the TopN and GroupBy queries when numeric dimension output types are used. Added by @gianm in #6220.
SQL fixes
Additionally, 0.12.3 includes the following Druid SQL bug fixes:

Fix post-aggregator naming logic for sort-project: https://github.com/apache/incubator-druid/pull/6250
Fix precision of TIMESTAMP types: https://github.com/apache/incubator-druid/pull/5464
Fix assumption that AND, OR have two arguments: https://github.com/apache/incubator-druid/pull/5470
Remove useless boolean CASTs in filters: https://github.com/apache/incubator-druid/pull/5619
Fix selecting BOOLEAN type in JDBC: https://github.com/apache/incubator-druid/pull/5401
Support projection after sorting in SQL: #5788
Fix missing postAggregations for Timeseries and TopN: #5912
Finalize aggregations for inner queries when necessary #6221

Other
0.12.3 fixes an issue with the druid-basic-security extension where non-coordinator nodes would sometimes fail when updating their cached views of the authentication and/or authorization tables from the coordinator. Fixed by @gaodayue in #6270.
Full change list
The full change list can be found here: https://github.com/apache/incubator-druid/pulls?q=is%3Apr+milestone%3A0.12.3+is%3Aclosed
Updating from 0.12.2 and earlier
0.12.3 is a minor release and compatible with 0.12.2. If you're updating from an earlier version than 0.12.2, please see release notes of the relevant intermediate versions for additional notes.
Credits
Thanks to everyone who contributed to this release!
@gaodayue
@gianm
@jihoonson
@jon-wei
@QiuMM
@vogievetsky
@wpcnjupt

Do you have any plan to release this version ?

@quenlang Yes, 0.12.3 will be the next release, and the first release candidate 0.12.3-rc1 is available now.


Odd Microsoft usage

Hello!
While this isn't an issue per-say, I wanted to let you know Microsoft engineers that are working on licensing issues seem to be opting to install your software right away (no asking for consent, just going for it).
Wanted to let you know since you work hard on this tool, and Microsoft is using it to troubleshoot paying business customers (and probably not cutting you in)

Looks like the license of this software permits the described usage.
See https://github.com/Superfly-Inc/ShowKeyPlus/blob/master/LICENSE


New PR to test SignCLA at 2019-07-29 11:37:32.715305926 -0700 PDT m=+4.442526415

Body of PR

corp-pass-fork-staging: test succeeded


"too many open files" error

When I run a reflex command within my $GOPATH, I get a bunch of errors related to "too many open files". Here is an example:
[info] Error while watching new path src/code.google.com/p/go.net/websocket: open src/code.google.com/p/go.net/websocket: too many open files

I am on Mac OS X 10.9. I installed with go get (and then moved the binary into my ~/bin). I can run reflex in other directories that only have a few files. Here is the reflex command I am running:
reflex -g '*.go' -- go test github.com/jgoodall/test

It actually doesnt seem to matter what the command is, I get the same errors.

-R ".git" was the fix for me 👍


add preview in vscode.dev badge

Just saw this tweet about the new feature in vscode.dev, https://twitter.com/miguelsolorio_/status/1451586648882311174. You can use vscode.dev to preview vscode theme.
Preview

Merged #299, thank you!


Allow custom left/right marker offsets

I want to adjust the left and right properties of markerContainerOne and markerContainerTwo respectively, to mimic the the react-native Slider's marker behavior (which uses marker outer edge as "value indicator", rather than the center of the marker like this component). However it seems the value 24 is hardcoded:
const markerContainerOne = { top: -24, left : trackOneLength - 24 }
const markerContainerTwo = { top: -24, right: trackThreeLength - 24 };

I'm not sure what the best solution to this is, perhaps adding custom offset props?
static defaultProps = {
  markerOffsetX: 0,
  markerOffsetY: 0,
 // ...
}

const { markerOffsetX, markerOffsetY } = this.props;
const markerContainerOne = { top: markerOffsetY - 24, left : trackOneLength + markerOffsetX - 24 }
const markerContainerTwo = { top: markerOffsetY - 24, right: trackThreeLength + markerOffsetX - 24 };

I can then do following to solve my problem.
<MultiSlider markerOffsetX={14} ...

Thoughts on this?

Yes!
That sounds like a viable solution. Sorry for it being hardcoded.
Do you mind sending a pull request?

On 1 Aug 2017, at 12:19, Jan Erik Klouman<EMAIL_ADDRESS>wrote:
I want to adjust the left and right properties of markerContainerOne and markerContainerTwo respectively, to mimic the the react-native Slider's marker behavior (which uses marker outer edge as "value indicator", rather than the center of the marker like this component). However it seems the value 24 is hardcoded:
const markerContainerOne = { top: -24, left : trackOneLength - 24 }
const markerContainerTwo = { top: -24, right: trackThreeLength - 24 };
I'm not sure what the best solution to this is, perhaps adding custom offset props?
static defaultProps = {
markerOffsetX: 0,
markerOffsetY: 0,
// ...
}
const { markerOffsetX, markerOffsetY } = this.props;
const markerContainerOne = { top: markerOffsetY - 24, left : trackOneLength + markerOffsetX - 24 }
const markerContainerTwo = { top: markerOffsetY - 24, right: trackThreeLength + markerOffsetX - 24 };
I can then do following to solve my problem.
<MultiSlider markerOffsetX={14} ...
Thoughts on this?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thank you for the quick response!
I've created a pull request https://github.com/ptomasroos/react-native-multi-slider/pull/27


Specify number of images to be downloaded

Thanks for the great tool! Is there any way we can specify how many images we need to download for each class?

Sorry for the delay...
You can specify how many images you want in total (with the -m flag, max. value is 1000). But I could add a new column for the config file if you want a bunch of classes with differing amounts?

No worries, thanks for the reply. I tried using the -m flag but it didn't seem to work, it ended up pulling a different number of images per class, all of them far greater than the -m flag value.

Hm. I'll have a look when I pull a new dataset. Did you use multiple sources ('ALL')? I sometimes get funny results depending on how many results individual crawlers return...

Aaah, that might be it, yeah I was using multiple sources. Let me try again specifying a single crawler.

The -m flag seems to be working OK on single crawlers,

Ok. Have to think about how one would make this work over multiple crawlers... Feel free to contribute a PR if you come up with something ;-)

Thanks very much! Will think about it as well.


Allow specifying the hyphenation cost

This PR adds a hyphenation-cost parameter to text which allows tuning the hyphenation algorithm.
Feel free to bikeshed the name.

Any update on this? Anything I need to do before it's merged?

I was/am just very busy with web app issues, I'll get to it soon.

I think have some knob for tweaking hyphenation is great, but exposing the raw cost might not yield the ideal user experience. It is a very opaque metric. Could we perhaps expose this as a ratio between 0% (few (no?) hyphens) and 100% (many hyphens).

Ok.. would that be as a ratio of MAX_COST? Like 100% = 0 cost, 0% = max?
And if we add configuration for runt prevention, along the same lines, should it be a percentage, or just a boolean?

I'm also wondering about the general shape of these options in the face of new knobs for text shaping, like my runt prevention PR. Should this go into a dictionary named something like text-shaping which can group these options?

Sorry, I just realized I used the wrong remote branch for this PR so I'm gonna have to close this one and open another with the correct branch.


DocsArchive-<IP_ADDRESS>Auto archive content

Auto archive content from https://github.com/OPS-E2E-PPE/docs-archive-test-source

Docs Build status updates of commit 463f4fa:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Release_Archive_master_2020-04-07-09-48-10 has been deleted or has been force pushed: fatal: couldn't find remote ref refs/heads/Release_Archive_master_2020-04-07-09-48-10

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


feat: POC of contracts pallet

This adds pallet_contracts to the standalone runtime. I added a contract in contracts/hello_world that has a function that interacts with the runtime, and a test in standalone/runtime/tests/test_contracts.rs to show that it's working. The test is simple: the contract calls a function in the runtime that returns some value (in this case, it returns Alice's balance), followed by another call that sets some value. This way, we test that (1) passing arguments to runtime functions work, (2) those functions can return values, and (3) that these functions can have side effects (storage changes). The implementation of the runtime side of these functions can be found in standalone/runtime/src/lib.rs
To test for yourself:

run cargo install cargo-contract
cd to the contracts/hello_world folder and run cargo contract build
open standalone/runtime/tests/test_contracts.rs

Modify the path in test_contract
run test_contract
Observe that the test passes

ps don't mind the dex changes - they are unrelated
Closes https://github.com/interlay/interbtc/issues/983

Succeeded by https://github.com/interlay/interbtc/pull/1114


LCFS - In reserve units should not display as a negative value

Description: As any user of LCFS, In Reserve compliance unit amounts are displayed in brackets after the main balance. This number should not be prefixed with a negative symbol (-).
Wireframe:

Purpose and benefit to user: The negative value in unnecessary
Acceptance Criteria:

[ ] Given I am a LCFS user, When I am viewing a supplier compliance unit balance, then the in reserve number in brackets does not have a negative symbol.

Development Checklist:

[ ] A
[ ] B
[ ] C

Notes:

The same change has also been applied to the organization balance card on the dashboard.

I guess this isn't a global fix that will apply in all areas. There are still multiple places where this is still showing up with a negative value. I take it we'll need to list every area this number is displayed to fix it everywhere?

I think it is good on the BCeID side but on the IDIR side the following pages need the same fix
Idir transfer

Idir org index page

Idir org page

Idir tansaction index

Idir transaction

@airinggov Great! Thanks, Al, for checking this and listing the areas to fix. I'll move this ticket to 'In Progress' to make the changes. Thank you!

Fixed in all the places Al noted. Looks great.


Simplify /reverse_lookup endpoint

The /reverse_lookup endpoint is unnecessarily complicated: a query to it must include a request body containing a JSON document with a single key -- curies -- which is a list of queries. It would be nice to replace that with a query that allows multiple curies to be provided in a URL-encoded format, either in GET (e.g. /reverse_lookup?curie=ABC&curie=DEF) or POST (with a POST body of curie=ABC&curie=DEF).

Note that /reverse_lookup in GET doesn't work at all at present, since we are trying to submit a body to this. So this will need to fixed sooner rather than later!

Fixed by Yaphet in PR https://github.com/TranslatorSRI/NameResolution/pull/102, closing.


docs: instance based websites

This should mean we also don't have to include the extra steps on mastodon and etc.

"Instance based" should be "Decentralized or Self-Hosted apps"

"Instance based" should be "Decentralized or Self-Hosted apps"

Hum sounds much better, thanks for the suggestion


feature/vuex and api refactor

Updated logic for meetup v3
Abstracted API logic from vuex to services

 Move API logic from Vuex


Angular 9

Hello,
I have a question: Is there already something to test out NativeScript with Angular 9? I am building an app for web, which will go out in December and thinking about to have also mobile app.
Thanks for answer!

Hi @simkepal ,
Thank you for the interest of Angular 9 and its integration in NativeScript. We have been working closely with the Angular team in order to make sure that the Ivy feature of the Angular 9.0.0 release will be available in NativeScript with as little requirements as possible. While the story about Ivy is still not fully functioning in NativeScript we have resolved all other changes and compatibility requirement that come with Angular 9.0.0.
You can test an early version of the nativescript-angular package that is build agains the 9.0.0-rc.1 version of Angular by using the ivy tag of the package which is now available in npm.
As already mentioned the Ivy functionality is still in development and is currently not working so you will have to disable it. After installing the nativescript-angular@ivy package and running the dependencies  update script (./node_modules/.bin/update-app-ng-deps) because Angular 9.0.0 comes with Ivy enabled by default you have to disable it by placing this in the app's tsconfig.json:
"angularCompilerOptions": {
      "enableIvy": false
}

Hi, thanks for your work. Could you tell me when Angular 9 support for Nativescript is expected? Angular 9 has been officially released.

I am also looking forward to Angular 9. Especially components such as the google maps component will be great too use: https://github.com/angular/components/tree/master/src/google-maps

To me the most exciting thing about Angular 9 is it supports TypeScript 3.7, with optional chaining. Looking forward to cleaning up a bunch of code as soon as this is ready. 😀

Crap upgraded angular on a large project with a web site and an app and the Nativescript side is broken.
Any ideas on when NativeScript will work again?

Ok cool after actually RTFM I can confirm it is working with the following steps:
npm i nativescript-angular@ivy
./node_modules/.bin/update-app-ng-deps
npm i

Unfortunately my application doesn't work after migration to Angular 9. The web application works well, but in ns I have a lot of bugs during the launch.
I tried to create new empty code-sharing project and then migrating to ng 9 with the same results :(. Finally I can't migrate my web app to ng 9 because of that.

I've tried to upgrade Nativescript Hello world application to angular 9 with nativescript-angular@ivy but I've ended with error
ERROR in Symbol TextValueAccessor declared in<EMAIL_ADDRESS>is not exported from C:/DATA/Repo/sandbox/nativescript-ivy/node_modules/@nativescript/angular/forms/value-accessors/text-value-accessor (import into<EMAIL_ADDRESS>Does anybody know what might be the problem?

@vinckobb @Arystosedes @BenSjoberg @samirotiv @Firetrip Give this a shot:
https://github.com/NativeScript/nativescript-angular/pull/2124#issue-376409005

@NathanWalker I've tried your PR but still same error. Created repo with your version of nativescript angular so you can try https://github.com/vinckobb/nativescript-angular-demo

Thanks @vinckobb that's super helpful! I'll give it shot and see if some subtle project setup issue may be getting in way with what you got there. I'll have chance to take peek this evening likely.

@vinckobb here ya go: https://github.com/vinckobb/nativescript-angular-demo/pull/1

@NathanWalker tried your PR but still same error while compiling with ngcc. I'm using Windows right now so it can be Windows related. I'll try os x in the evening.

@vinckobb my guess is likely Windows has issue with the postinstall handling and/or ngcc trying to compile node_modules and runs into path/directory issue possible.  Lemme know if you find what is affecting Windows.
Thanks for letting us know Mac/OS X worked for you 👍

@NathanWalker I had to explicitly list exported names in form/value-accessor to make it work on Windows as you can see in https://github.com/vinckobb/nativescript-angular/commit/4eb895fe157678b68cbec7f6024f56afcc452e58
Don't know why I had to do this for this particular index.ts because http-client works without any problems.

@vinckobb did you compile your own version of nativescript-angular with this change?

@joshcomley yes I did. I've updated my repo https://github.com/vinckobb/nativescript-angular-demo with compiled version of nativescript-angular that is working on Windows.
You can compile it yourself if you want. Clone or fork nativescript-angular repo, go to nativescript-angular directory and run command npm run pack. It will create .tgz file in dist repo in main directory.

@vinckobb this pr has been updated with your export changes as well:
https://github.com/NativeScript/nativescript-angular/pull/2124

@joshcomley @vinckobb for ease I posted the compiled and working v9 versions including the fix to  exports for windows as well, just set your package.json to the following:
"@nativescript/angular": "https://github.com/nstudio/ns-ng/blob/master/nativescript-angular-9.0.0.tgz?raw=true",
"nativescript-angular": "https://github.com/nstudio/ns-ng/blob/master/nativescript-angular-compat.tgz?raw=true"

Then reference the notes made here regarding tsconfig and other details for Ivy compliance:
https://github.com/NativeScript/nativescript-angular/pull/2124#issue-376409005

@vinckobb i pushed another fix to that PR that may have also been affecting forms and similar to what you had mentioned on windows. With this final adjustment I’m seeing stable Ivy behavior:
https://github.com/NativeScript/nativescript-angular/pull/2124/commits/35e4864e2d53926b184285c1e79661640af67ed1
The latest remote tgz’s provided here have all latest fixes:
"@nativescript/angular": "https://github.com/nstudio/ns-ng/blob/master/nativescript-angular-9.0.0.tgz?raw=true",
"nativescript-angular": "https://github.com/nstudio/ns-ng/blob/master/nativescript-angular-compat.tgz?raw=true"

Angular 9.1 is out now: https://blog.angular.io/version-9-1-of-angular-now-available-typescript-3-8-faster-builds-and-more-eb292f989428?gi=684bd4297007

@NathanWalker any update to support angular v9?

Any Update to this?

All details to use Angular 9 with NativeScript today can be found here: https://github.com/NativeScript/nativescript-angular/pull/2124#issue-376409005
If anyone encounters issue with instructions provided, please post a public repo here and what you are running into and would be happy to help.

@NathanWalker Thanks for the quick comment!!! I'll give it a shot.

An alternative is switching to a framework that already supports v9 https://twitter.com/LiamDeBeasi/status/1261298258506375169

Hi Guys, I am wondering if the Angular+NativeScript is still in development. I am new to Angular and I liked it a lot, so would be greate if we could use Angular with NativeScript.

Hi @handelcamilo thanks for the comment - the Angular 9 Ivy support in https://github.com/NativeScript/nativescript-angular/pull/2124 will be merged and published by no later than Wednesday next week along with some long awaited goodies like true async APP_INITIALIZER support and some nice support for easy animated launch screens given async launch conditions 👍

Good to know @NathanWalker!! I was afraid because the last change on this project was in February..  This is a very and important project to simply die hheeheh and you are doing a great job! I hope I can help with any time soon. Thanks.

@NathanWalker is the next release going to support the angular 9 i18n system?

@hrueger I haven't tried their i18n commands yet and the configuration specified in that doc but definitely seems like we could make that work (if it doesn't already). I have often used ngx-translate for all i18n on {N} apps as it's a very solid solution but I definitely think the i18n solution the angular team specifies should be able to work.

The $localize command used by angular 9 i18n seems not to work for what i have tested. When can we expect a support for this one?

$localize seems not to be working. I also cannot find anything regarding nativescript and $localize (or Angular 9 in general). When can we expect a solution as this is really blocking us from migrating our app to NativeScript?

Why is the @nativescript/angular package on npm released with version 9.0.0, but not the nativescript-angular package? This one is still 8.21.0...

Why is the @nativescript/angular package on npm released with version 9.0.0, but not the nativescript-angular package? This one is still 8.21.0...

They are the same package. You can switch to @nativescript/angular

@hrueger - @dimitri-bret is correct - nativescript-angular had become just an alias to @nativescript/angular back in the 6.0 release (or maybe earlier?) so you can just use @nativescript/angular now - and in fact all {N} packages will be going fully scoped in 7.0 and you are safe to move to @nativescript/core instead of tns-core-modules right now. If you encounter any issues you can use this webpack.config that adds the aliases to help with any plugins you may use which may still use old style imports (this is a slightly improved webpack.config and will likely soon add some of these adjustments to latest nativescript-dev-webpack plugin - just npm i terser-webpack-plugin --save-dev if you don't have it installed as it's used here 👍 ):
const { join, relative, resolve, sep, dirname } = require('path');

const webpack = require('webpack');
const nsWebpack = require('nativescript-dev-webpack');
const nativescriptTarget = require('nativescript-dev-webpack/nativescript-target');
const {
  nsReplaceBootstrap
} = require('nativescript-dev-webpack/transformers/ns-replace-bootstrap');
const {
  nsReplaceLazyLoader
} = require('nativescript-dev-webpack/transformers/ns-replace-lazy-loader');
const {
  nsSupportHmrNg
} = require('nativescript-dev-webpack/transformers/ns-support-hmr-ng');
const {
  getMainModulePath
} = require('nativescript-dev-webpack/utils/ast-utils');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
const {
  NativeScriptWorkerPlugin
} = require('nativescript-worker-loader/NativeScriptWorkerPlugin');
const TerserPlugin = require('terser-webpack-plugin');
const {
  getAngularCompilerPlugin
} = require('nativescript-dev-webpack/plugins/NativeScriptAngularCompilerPlugin');
const hashSalt = Date.now().toString();

module.exports = env => {
  // Add your custom Activities, Services and other Android app components here.
  const appComponents = [
    "@nativescript/core/ui/frame", "@nativescript/core/ui/frame/activity"
  ];

  const platform = env && ((env.android && 'android') || (env.ios && 'ios'));
  if (!platform) {
    throw new Error('You need to provide a target platform!');
  }

  const AngularCompilerPlugin = getAngularCompilerPlugin(platform);
  const projectRoot = __dirname;

  // Default destination inside platforms/<platform>/...
  const dist = resolve(
    projectRoot,
    nsWebpack.getAppPath(platform, projectRoot)
  );

  const {
    // The 'appPath' and 'appResourcesPath' values are fetched from
    // the nsconfig.json configuration file
    // when bundling with `tns run android|ios --bundle`.
    appPath = 'src',
    appResourcesPath = 'App_Resources',

    // You can provide the following flags when running 'tns run android|ios'
    aot, // --env.aot
    snapshot, // --env.snapshot,
    production, // --env.production
    uglify, // --env.uglify
    report, // --env.report
    sourceMap, // --env.sourceMap
    hiddenSourceMap, // --env.hiddenSourceMap
    hmr, // --env.hmr,
    unitTesting, // --env.unitTesting
    verbose, // --env.verbose
    ci, // --env.ci
    snapshotInDocker, // --env.snapshotInDocker
    skipSnapshotTools, // --env.skipSnapshotTools
    compileSnapshot // --env.compileSnapshot
  } = env;

  const useLibs = compileSnapshot;
  const isAnySourceMapEnabled = !!sourceMap || !!hiddenSourceMap;
  const externals = nsWebpack.getConvertedExternals(env.externals);
  const appFullPath = resolve(projectRoot, appPath);
  const appResourcesFullPath = resolve(projectRoot, appResourcesPath);
  const tsConfigName = 'tsconfig.tns.json';
  const entryModule = `${nsWebpack.getEntryModule(appFullPath, platform)}.ts`;
  const entryPath = `.${sep}${entryModule}`;
  const entries = { bundle: entryPath };
  const areCoreModulesExternal =
    Array.isArray(env.externals) &&
    env.externals.some(e => e.indexOf('@nativescript') > -1);
  if (platform === 'ios' && !areCoreModulesExternal) {
    entries['tns_modules/@nativescript/core/inspector_modules'] =
      'inspector_modules';
  }

  const ngCompilerTransformers = [];
  const additionalLazyModuleResources = [];
  if (aot) {
    ngCompilerTransformers.push(nsReplaceBootstrap);
  }

  const copyTargets = [
    { from: { glob: 'assets/**' } },
    { from: { glob: 'fonts/**' } }
  ];

  if (!production) {
    // TIP: you can push in additional copyTargets for development purposes only

    if (hmr) {
      ngCompilerTransformers.push(nsSupportHmrNg);
    }
  }

  // when "@angular/core" is external, it's not included in the bundles. In this way, it will be used
  // directly from node_modules and the Angular modules loader won't be able to resolve the lazy routes
  // fixes https://github.com/NativeScript/nativescript-cli/issues/4024
  if (env.externals && env.externals.indexOf('@angular/core') > -1) {
    const appModuleRelativePath = getMainModulePath(
      resolve(appFullPath, entryModule),
      tsConfigName
    );
    if (appModuleRelativePath) {
      const appModuleFolderPath = dirname(
        resolve(appFullPath, appModuleRelativePath)
      );
      // include the lazy loader inside app module
      ngCompilerTransformers.push(nsReplaceLazyLoader);
      // include the new lazy loader path in the allowed ones
      additionalLazyModuleResources.push(appModuleFolderPath);
    }
  }

  const ngCompilerPlugin = new AngularCompilerPlugin({
    hostReplacementPaths: nsWebpack.getResolver([platform, 'tns']),
    platformTransformers: ngCompilerTransformers.map(t =>
      t(() => ngCompilerPlugin, resolve(appFullPath, entryModule), projectRoot)
    ),
    mainPath: join(appFullPath, entryModule),
    tsConfigPath: join(__dirname, tsConfigName),
    skipCodeGeneration: !aot,
    sourceMap: !!isAnySourceMapEnabled,
    additionalLazyModuleResources: additionalLazyModuleResources
  });

  let sourceMapFilename = nsWebpack.getSourceMapFilename(
    hiddenSourceMap,
    __dirname,
    dist
  );

  const itemsToClean = [`${dist}/**/*`];
  if (platform === 'android') {
    itemsToClean.push(
      `${join(
        projectRoot,
        'platforms',
        'android',
        'app',
        'src',
        'main',
        'assets',
        'snapshots'
      )}`
    );
    itemsToClean.push(
      `${join(
        projectRoot,
        'platforms',
        'android',
        'app',
        'build',
        'configurations',
        'nativescript-android-snapshot'
      )}`
    );
  }

  nsWebpack.processAppComponents(appComponents, platform);
  const config = {
    mode: production ? 'production' : 'development',
    context: appFullPath,
    externals,
    watchOptions: {
      ignored: [
        appResourcesFullPath,
        // Don't watch hidden files
        '**/.*'
      ]
    },
    target: nativescriptTarget,
    entry: entries,
    output: {
      pathinfo: false,
      path: dist,
      sourceMapFilename,
      libraryTarget: 'commonjs2',
      filename: '[name].js',
      globalObject: 'global',
      hashSalt
    },
    resolve: {
      extensions: ['.ts', '.js', '.scss', '.css'],
      modules: [
        resolve(__dirname, 'node_modules/@nativescript/core'),
        resolve(__dirname, 'node_modules'),
        'node_modules/@nativescript/core',
        'node_modules'
      ],
      alias: {
        '~': appFullPath,
        "tns-core-modules": "@nativescript/core",
        "nativescript-angular": "@nativescript/angular"
      },
      symlinks: true
    },
    resolveLoader: {
      symlinks: false
    },
    node: {
      // Disable node shims that conflict with NativeScript
      http: false,
      timers: false,
      setImmediate: false,
      fs: 'empty',
      __dirname: false
    },
    devtool: hiddenSourceMap
      ? 'hidden-source-map'
      : sourceMap
      ? 'inline-source-map'
      : 'none',
    optimization: {
      runtimeChunk: 'single',
      splitChunks: {
        cacheGroups: {
          vendor: {
            name: 'vendor',
            chunks: 'all',
            test: (module, chunks) => {
              const moduleName = module.nameForCondition
                ? module.nameForCondition()
                : '';
              return (
                /[\\/]node_modules[\\/]/.test(moduleName) ||
                appComponents.some(comp => comp === moduleName)
              );
            },
            enforce: true
          }
        }
      },
      minimize: !!uglify,
      minimizer: [
        new TerserPlugin({
          parallel: true,
          cache: !ci,
          sourceMap: isAnySourceMapEnabled,
          terserOptions: {
            output: {
              comments: false,
              semicolons: !isAnySourceMapEnabled
            },
            compress: {
              // The Android SBG has problems parsing the output
              // when these options are enabled
              collapse_vars: platform !== 'android',
              sequences: platform !== 'android'
            }
          }
        })
      ]
    },
    module: {
      rules: [
        {
          include: join(appFullPath, entryPath),
          use: [
            // Require all Android app components
            platform === 'android' && {
              loader: 'nativescript-dev-webpack/android-app-components-loader',
              options: { modules: appComponents }
            },

            {
              loader: 'nativescript-dev-webpack/bundle-config-loader',
              options: {
                angular: true,
                loadCss: !snapshot, // load the application css if in debug mode
                unitTesting,
                appFullPath,
                projectRoot,
                ignoredFiles: nsWebpack.getUserDefinedEntries(entries, platform)
              }
            }
          ].filter(loader => !!loader)
        },

        { test: /\.html$|\.xml$/, use: 'raw-loader' },

        // tns-core-modules reads the app.css and its imports using css-loader
        {
          test: /[\/|\\]app\.css$/,
          use: [
            'nativescript-dev-webpack/style-hot-loader',
            { loader: 'css-loader', options: { url: false } }
          ]
        },
        {
          test: /[\/|\\]app\.scss$/,
          use: [
            'nativescript-dev-webpack/style-hot-loader',
            { loader: 'css-loader', options: { url: false } },
            'sass-loader'
          ]
        },

        // Angular components reference css files and their imports using raw-loader
        { test: /\.css$/, exclude: /[\/|\\]app\.css$/, use: 'raw-loader' },
        {
          test: /\.scss$/,
          exclude: /[\/|\\]app\.scss$/,
          use: ['raw-loader', 'resolve-url-loader', 'sass-loader']
        },

        {
          test: /(?:\.ngfactory\.js|\.ngstyle\.js|\.ts)$/,
          use: [
            'nativescript-dev-webpack/moduleid-compat-loader',
            'nativescript-dev-webpack/lazy-ngmodule-hot-loader',
            '@ngtools/webpack'
          ]
        },

        // Mark files inside `@angular/core` as using SystemJS style dynamic imports.
        // Removing this will cause deprecation warnings to appear.
        {
          test<EMAIL_ADDRESS>          parser: { system: true }
        }
      ]
    },
    plugins: [
      // Define useful constants like TNS_WEBPACK
      new webpack.DefinePlugin({
        'global.TNS_WEBPACK': 'true',
        process: 'global.process'
      }),
      // Remove all files from the out dir.
      new CleanWebpackPlugin(itemsToClean, { verbose: !!verbose }),
      // Copy assets to out dir. Add your own globs as needed.
      new CopyWebpackPlugin(copyTargets, {
        ignore: [`${relative(appPath, appResourcesFullPath)}/**`]
      }),
      new nsWebpack.GenerateNativeScriptEntryPointsPlugin('bundle'),
      // For instructions on how to set up workers with webpack
      // check out https://github.com/nativescript/worker-loader
      new NativeScriptWorkerPlugin(),
      ngCompilerPlugin,
      // Does IPC communication with the {N} CLI to notify events when running in watch mode.
      new nsWebpack.WatchStateLoggerPlugin()
    ]
  };

  if (report) {
    // Generate report files for bundles content
    config.plugins.push(
      new BundleAnalyzerPlugin({
        analyzerMode: 'static',
        openAnalyzer: false,
        generateStatsFile: true,
        reportFilename: resolve(projectRoot, 'report', `report.html`),
        statsFilename: resolve(projectRoot, 'report', `stats.json`)
      })
    );
  }

  if (!production && hmr) {
    config.plugins.push(new webpack.HotModuleReplacementPlugin());
  }

  return config;
};

@NathanWalker Thanks, unfortunately I still have issue #2171 so I can't confirm that it's working.

@hrueger that issue is covered in the wiki here - just got you details in that issue 👍


Bootstrap support

As discussed on https://trello.com/c/q2cx1oYh. We would want bootstrap support for SpaceTalk.

would be nice to not make this a core dep tho. for mobile at least, bootstrap is a pretty clanky front end and a lot of fat.
sidenote: discussions on trello or here? this seems easier to track.

This is wat i've written somewhere on the trello board:
I think we should pick a css framework.. you really dont want to create your own grid structure if you dont have to. Besides spacetalk is in its startup and the only ui we have is Slack. Later on we probably want to customize our theme and seriously we dont want to redesign all those components. I would say first stick to bootstrap modify the design like its more like slack and after that customize it more like we want it!
Though we could pick another foundation is not so broadly supported as bootstrap with all most packages who offer standard gui components. Bootstrap has a pretty strong grid imho.. Besides that I want to make a quick start and bootstrap is the right tool for that I think.
Do you have other suggestions?
@dcsan once there is github issue about it we better start discussing it on github.. like you said trackign is easier and a bigger community will read it.

not sure we need a full on CSS framework here - there are no forms or other web app stuff? we could keep it light and that means people are free to use/customize with different UI Kits.
Slack is different cos of all the nice touches. to that end, the best chat like CSS UI i've seen is this:
https://rawgit.com/IjzerenHein/famous-flex-chat/master/dist/index.html
that requires famous, so its probably a lot of baggage/complexity to bring into the project, but it does look/feel great.
this is also cute
http://tympanus.net/Development/CreativeGooeyEffects/index.html
I listed a bunch of CSS f/e options here:
http://stackoverflow.com/questions/23899318/meteor-with-mobile-front-end-ui-framework
I still think bootstrap is too much fat for not enough benefit, however most people are familiar with it. It's like the PHP of f/e frameworks.

We should not make it look like Slack, otherwise we're going to have the same issue that Libreboard had.

I'm not working on this project, just keeping an eye on it, but what about this https://almsaeedstudio.com/themes/AdminLTE/index2.html? It use Bootstrap and looks like Slack.

The look is cool, but it probably comes with way too much stuff than we need right?

we're going to have the same issue that Libreboard had

i haven't been following .. like what?
That seems like a nice project, but not sure why I would use it unless i was paranoid about data.
Good as a hobby coding exercise but not useful as a project until it looks less like an identical clone?

The look is cool, but it probably comes with way too much stuff than we need right?
which one? famous could complicate things I guess. Someone who's great with CSS can probly get 80% of the effect just by inserting divs and plain CSS.

We should not make it look like Slack
this maybe straying more into discussion for trello/forums? I personally would like to be involved in a next-gen slack but thats different project from "lets clone slack". What are the areas where this project is going to simply and clearly differentiate? Enough that would make people want to clone and use this app internally, rather than just opening a slack room.

an easy to use "bot builder" UI could be really cool
unlimited integrations for free
what else?

Libreboard started out as MeTrello and was an identical clone of Trello. Trello issued a takedown request.

I think hand-rolling wouldn't take too long if we divided up the work and developed a style guide first (and picked a preprocessor). I would vote against Bootstrap, it adds a lot of padding to everything and is just a big 8000 line css file. The media queries are easy to rip out without depending on an entire library.

I'm totally with dcasn - I think any prevalent CSS framework is going to be over kill for this.  CSS frameworks are for developing apps when you don't have skilled front-end devs. We have access to those. Rolling a decent grid system is pretty easy - especially if we use flexbox (we should also have a conversation about targeted browser support).
I understand using bootstrap to iterate quickly, but in the long run it's going to take more time to implement bootstrap and then later replace it with something custom.

I'm jumping on the we don't need bootstrap bandwagon. Besides having talented front-end devs to work on this project bootstrap is really overkill for a chat application and we won't use most of what it provides.
That being said, I think there's a lot we can learn from bootstrap. It would be great if there was a single settings.scss file that an end user could alter to customize their install of spacetalk.

I definitely think user customization or theming should be a thing, but should probably be lower on the roadmap for now. However, when building the css structure we should keep in mind that the end goal will be user customization.

It would be great if there was a single settings.scss file

agreed on one file but -
can we use stylus? I've found all the less implementations for meteor really suck.
I personally prefer stylus syntax, tho that maybe is an opinion
the only reason for less is if you're using a legacy framework (like ionic) that requires it, otherwise it's time to move on!

Personally I think SASS is the way to go, mainly because it is probably
more maintainble and there are generally more resources out there for it.
On May 19, 2015 12:37 PM, "dc"<EMAIL_ADDRESS>wrote:

It would be great if there was a single settings.scss file
agreed on one file but -
can we use stylus? I've found all the less implementations for meteor
really suck.
I personally prefer stylus syntax, tho that maybe is an opinion
the only reason for less is if you're using a legacy framework (like
ionic) that requires it, otherwise it's time to move on!
—
Reply to this email directly or view it on GitHub
https://github.com/SpaceTalk/SpaceTalk/issues/2#issuecomment-103583605.

Sass has already been chosen.

In addition, it looks like the consensus is that we are going to design the UI from scratch.

And probably have some base normalized super basic backbone of some sort to start with I guess. Cc @timbrandin @dstollie

Sass has already been chosen.

or just noone thought about it and we ended up with that as a default?
The sass plugin caused endless hassle on the meteoric project.

Are you referring to the fourseven:scss package? I see that is included in SpaceTalk - personally I don't use it (I use gulp to compile, autoprefix, and minify my scss), but it shouldn't have actually caused that many problems if you were using it properly.

https://github.com/meteoric/ionic-sass/issues/1
https://github.com/meteoric/ionic-sass/issues/2
also there were problems with it not supporting windows as he is using (LibSass)[https://github.com/fourseven/meteor-scss#libsass-vs-ruby-sass]
some of these things maybe fixed now, but i still have an allergy to that package, esp when stylus seems more elegant anyway.
anyhow, i guess its not a huge issue either way but i just don't see the benefit of going with sass


Check for versions and use approproate function for squared error

The sklearn used in GraphDRP is 1.0.2 which doesn't have sklearn.metrics.root_mean_squared_error(). It might work with an updated version but there might be more models that require an earlier version of sklearn. @wilke What do you suggest to do?

That is fixed. I am checking for a version.
En route
On Apr 19, 2024, at 2:33 PM, Alexander Partin @.***> wrote:

The sklearn used in GraphDRP is 1. 0. 2 which doesn't have sklearn. metrics. root_mean_squared_error(). It might work with an updated version but there might be more models that require an earlier version of sklearn. @wilke What do you suggest
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
ZjQcmQRYFpfptBannerEnd
The sklearn used in GraphDRP is 1.0.2 which doesn't have sklearn.metrics.root_mean_squared_error(). It might work with an updated version but there might be more models that require an earlier version of sklearn. @wilkehttps://urldefense.us/v3/__https://github.com/wilke__;!!G_uCfscf7eWS!fngoLOsQuq-GL2rOLNF-eTqtk7_ZGbTkymP0OGSF7wUu_sPBOx8jXUw6ToR-SFZqkou3Vob8QkANjD32J-nnSKdhiw$ What do you suggest to do?
—
Reply to this email directly, view it on GitHubhttps://urldefense.us/v3/__https://github.com/JDACS4C-IMPROVE/IMPROVE/pull/13*issuecomment-2067173657__;Iw!!G_uCfscf7eWS!fngoLOsQuq-GL2rOLNF-eTqtk7_ZGbTkymP0OGSF7wUu_sPBOx8jXUw6ToR-SFZqkou3Vob8QkANjD32J-lEMXm6dA$, or unsubscribehttps://urldefense.us/v3/__https://github.com/notifications/unsubscribe-auth/AAH3WZDCHR72GVASGFAKTRLY6FWRBAVCNFSM6AAAAABGPQRH26VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRXGE3TGNRVG4__;!!G_uCfscf7eWS!fngoLOsQuq-GL2rOLNF-eTqtk7_ZGbTkymP0OGSF7wUu_sPBOx8jXUw6ToR-SFZqkou3Vob8QkANjD32J-k4Di6UnQ$.
You are receiving this because you were mentioned.Message ID: @.***>


fix(ui): Fix yup validation bug

What this PR does / why we need it:
Similar to https://github.com/caraml-dev/turing/pull/387, this PR to fixes broken validation schemas caused by the upgrade of the yup package in PR #591 - these changes can largely be grouped into the following:

When using the same Schema.when function but passing a function directly as an argument instead of the builder object, the signature of the expected function has also been updated from (value, schema)=> Schema): Schema to (values: any[], schema) => Schema): Schema.
Existing schemas that do not follow this convention now have been updated to reflect the new expected array:
Example:
// before
some_field: yup.string().when("some_other_field", (some_other_field, schema) =>
  some_other_field ? yup.string().required("this is needed") : schema
),

// after
some_field: yup.string().when("some_other_field", ([some_other_field], schema) =>
  some_other_field ? yup.string().required("this is needed") : schema
),

The mixed schema has been severely nerfed and is now no longer the base class for all the other schemas, and as such no longer supports a lot of the other functions that we were previously calling. Schemas that have fields which use the mixed schema have been updated to use a schema (e.g. string) corresponding to its expected primitive data type wherever possible (where we know that only a specific type is expected).

This PR also bumps up the version of the caraml-dev/ui-lib library to the latest version and removes custom css styles for the experiments search sidebar which no longer work.
Which issue(s) this PR fixes:

Fixes #

Ahaha thanks for the quick approval! Merging this now! 🚀


tool: Drop build scirpt from package.json

Feel free to squash/merge and delete the branch if you're happy


Integrate new subscription api

This PR splits persistence out of the subscriber and moves it into its own package. It also upgrades to use the new subscription API from coreutils. It's a reasonably large diff but it's mostly moving code around, I rewrote the subscriber a little and changed how we handle state. We now keep state in a separate ChainUpdate struct which you can apply to a chain store. This makes it easier to write unit tests.

Marked as DRAFT for the time being, ran into NDF in UpdateElementProof not sure what's up, don't have it locally. Might have to wait until wed because I'm OOO.


Issue with k8s.io/docs/concepts/overview/working-with-objects/namespaces/

What is the command to view / go inside namespace?

/kind support
To view all namespace
kubectl get namespace

See https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/#viewing-namespaces
For switching  namespace
kubectl config set-context --current --namespace=<namespace in which you want to switch>

See https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/#setting-the-namespace-preference

/close


Create visualization guide

Story

Rationale
Create a tutorial explaining hown to set up a Grafana dashboard to visualize ompl data
Implementation details

Priority

Scope

Size

What does "done" look like?

Does this require updaes to documentation or other materials??

What testing is required?

Is this a known/expected update?

Hi @pazbardanl @jmcook1186
We have an idea similar to option 2 and would like to use it for this carbon hack 2024, can we propose it as a project?

Hi @jmcook1186 @pazbardanl
We have an idea similar to option 2 and would like to use it for this carbon hack 2024, can we propose it as a project?

Hi @Jjing-Liang we recently merged a minimal version of this, but there is plenty of opportunity to build something richer as part of the hackathon. @pazbardanl is going to follow up. Cheers.

Closing as complete


TypeError: init() got an unexpected keyword argument 'cachedir'

I was reproducing the same Colab notebook in the ReadME without any change:
https://colab.research.google.com/drive/1XHwQPT2itZXu1HayvGoj60-xAXxg9mqe?usp=sharing#scrollTo=VcgGxrLH-AU9
While importing the library from concept import ConceptModel, this error appears:
TypeError: init() got an unexpected keyword argument 'cachedir'
Apparently it stems from hdbscan module as cachedir was removed from joblib.Memory.
https://github.com/joblib/joblib/blame/3fb7fbde772e10415f879e0cb7e5d986fede8460/joblib/memory.py#L910

There are a few solutions here and here you can try as BERTopic is having the same issue since HDBSCAN is a dependency there as well.


No Drawable & Layout Folder

Information

Apktool Version (apktool -version) - 2.2.2
Operating System (Mac, Linux, Windows) - Linux Mint 18.1 64bit
APK From? (Playstore, ROM, Other) - playstore

xxx@xxx ~/xxx/xxx/xxx $ apktool d xxx.apk
I: Using Apktool 2.2.2 on xxx.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /home/xxx/.local/share/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values / XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
everything is fine, but no drawable, layout, and xml folder...
thanks
FILE here --> https://goo.gl/9TlZCw

Weird. If we unpack this apk all files that should be in res folder are encoded and placed in root of zip, what is wrong though, and they are having weird names, check your 'unknown' folder, apktool should put that files into that folder

Intentional. Welcome to applications making things difficult to decode.

There is nothing apktool can do here.
    3063  Stored     3063   0% 05-31-2017 13:15 647607a3   ������.png
    3862  Stored     3862   0% 05-31-2017 13:15 37eaf92e  ���^L .png
    1459  Defl:N     1222  16% 05-31-2017 13:15 821415bf  ���^L���
     472  Defl:N      219  54% 05-31-2017 13:15 cd409bd8  ������.xml

These are clever named resources as a form of resource obfuscation. Something in this application (probably in the also obfuscated source) handles the loading of these resources. There is nothing apktool can do to resolve this. It survived decoding and rebuilding which is really where apktool ends. Anything outside of that (like automated resource obfuscation remapping is out of scope)


[Tests] Improve "curl" remove method

Prevent apt-get involved, so no package dependency matrix calculation needed, directly delete curl is much more faster and easier.

The point is to simulate a system without curl - not a system where the curl binary is deleted. I think using apt is superior here.

What's the different actually? The point here is same IMO.

If there are in fact no other dependencies, it will indeed be the same - but if there are other dependencies, it's useful to have those be missing.

I don't think it's any related at all ... we really don't need to waste the time to "remove" it via package manager
$ [ -z "$WITHOUT_CURL" ] || sudo apt-get remove -y curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  curl pollinate
0 upgraded, 0 newly installed, 2 to remove and 123 not upgraded.
After this operation, 408 kB disk space will be freed.
(Reading database ... 73348 files and directories currently installed.)
Removing pollinate (4.24-0ubuntu1~trusty) ...
Removing curl (7.35.0-1ubuntu2.10) ...
Processing triggers for man-db (<IP_ADDRESS>-1ubuntu1) ...

it removed pollinate, which we don't happen to use, but the whole point of apt is that we don't have to hardcode any assumptions about dependencies. If we were to use it one day, it would definitely matter.

Yeah, maybe.


Error building in node.js

I have added the package to my node.js/typescript application. The package.json file shows "danfojs-node": "^1.0.2".
When I try to build the app using npm run build, I get 139 errors. The first few are:
node_modules/danfojs-node/dist/danfojs-base/shared/types.d.ts:74:5 - error TS1131: Property or signature expected.

74     get dtypes(): Array<string>;
       ~~~

node_modules/danfojs-node/dist/danfojs-base/shared/types.d.ts:74:9 - error TS1005: ';' expected.

74     get dtypes(): Array<string>;
           ~~~~~~

node_modules/danfojs-node/dist/danfojs-base/shared/types.d.ts:74:17 - error TS1005: ';' expected.

74     get dtypes(): Array<string>;
                   ~

node_modules/danfojs-node/dist/danfojs-base/shared/types.d.ts:74:32 - error TS1005: '(' expected.

74     get dtypes(): Array<string>;
                                  ~

node_modules/danfojs-node/dist/danfojs-base/shared/types.d.ts:75:9 - error TS1005: ';' expected.

75     get ndim(): number;
           ~~~~

node_modules/danfojs-node/dist/danfojs-base/shared/types.d.ts:75:15 - error TS1005: ';' expected.

75     get ndim(): number;
                 ~

node_modules/danfojs-node/dist/danfojs-base/shared/types.d.ts:76:9 - error TS1005: ';' expected.

76     get axis(): AxisType;

My build script is
"build:documentation": "copyfiles --flat ./src/documentation/openapi.json ./dist/documentation/",
"build": "tsc && npm run build:documentation"

Any advice? Am I missing something?

It seems that the compiler is compiling all the *.d.ts again and this creates a problem. Any way to avoid this? setting "skipLibCheck": true in compilerOptions doesn't work though.

Never mind. I've updated the typescript and node-ts for the local package and it worked!

Never mind. I've updated the typescript and node-ts for the local package and it worked!

Which version of Typescript did you update to? I just got the same issue with "typescript": "^3.8.0" in my package.json


Routing issue when clicking back and forth between gene links

If you go to /gene, there are a handful of example links listed. If you click a link then go back to this page and click another, the data doesn't re-render. This doesn't really affect our app in any way (for the time being) but it should be fixed.
Use this issue to explain why this is happening and how to solve it.

This is happening for two reasons:

The components are connected to Redux via connect()
The routes are being rendered with render rather than component

https://reacttraining.com/react-router/web/guides/redux-integration
The solution suggested is to use withRouter on the components that use Redux connect. I have implemented this, and it works when going from gene to gene (creating a fresh render for each gene). However, going to gene page, clicking back to /gene then clicking another gene (as described in initial comment) still does not rerender. Investigating...
BTW, it seems the next version of React-Router should fix this problem entirely. See here.


works on custom domain

Changes made:

changed all {{site.baseurl}} to {{ "<write your path here" | relative_url }}
changed baseurl to "/" and URL to nothing. When using a custom domain both are not required.

Takes a WHILE to make changes (not 24 hours hopefully but that is possible).


Adding beta version of BCR vignette

Closes #199

[x] Tutorial included
I am adding the BCR vignette after correcting it according to your recent feedback. Note, that the layout and citation is still rather plain and I wish to adapt this soon. Also if there is room for improvement I am happy to adapt it accordingly

Hi @MKanetscheider,
I fixed the docs build (it was actually just one broken link). You can now preview it by clicking on "details" on the RTD check:

I will add some comments the next days.


Requirements package loads old packages, update?

Some of the packages in requirements.txt are a few versions behind. For instance, the requested version of Pandas is from around 2016. Would it make sense to bump these up?

This is fixed with #26


Bump grpc

grpc needs to be bumped to v1.58.3 or v1.59.1 to address a recent security patch.
Currently the blocker is the da interface use of grpc.WithInsecure
This should be updated and the grpc should be bumped.

cc @tzdybal

This is not a problem at all. This can be replaced with WithCredentials(insecure.NewCredentials()) (or smth).

Actually, there is no v1.59.1 yet, but v1.59.0 includes the bugfix.


Document using local X

Using flags --user $UID -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro it should be possible to use the Docker's host X11 (as done for https://hub.docker.com/r/wernight/sikulix/). This needs some testing but would be worth documenting.
To get that to work, I made a writable to anyone home and force $HOME to that directory.
Hacking around to achieve the same, it seems to work.

Haven't tried piping X11, because with boot2docker this was not properly running on MacOS and I don't wanted to install X11 locally.
Have you tried it with "Docker for Mac" or are you using docker on linux?


testing: new builderbase

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/test all

/test autoscaler-1-27-presubmit

/test autoscaler-1-27-presubmit

/test all

/test all


Change default govuk-content-schemas branch

Change the branch from master to deployed-to-production. This will help
prevent changes being merged in to the Business Support Finder that
don't work with the currently deployed govuk-content-schemas (this
changes comes from GOV.UK RFC 59).

3 x 💯


exportsd.py how to save tensor with pytorch and load with torchsharp?

exportsd.py how to save tensor with pytorch and load with torchsharp?
  def test_save_tensor():
      x = torch.ones(2, 2, 2, 2)
      f = open("tensora.dat", "wb")
      exportsd._write_tensor(x, f)
      f.close()

//c#
 torch.Tensor x = torch.randn(2,2,2,2);
  var stream = File.Open("tensora.dat", FileMode.Open);
  var reader = new BinaryReader(stream, encoding:System.Text.Encoding.UTF8, false);
  x.Load(reader);
  x.print(style:TorchSharp.TensorStringStyle.Numpy);

I need to save the pytorch model inference and save it to a file, then load the file with torchsharp. Handy for verifying that c# post-processing methods are written correctly. You don't need to reason the model every time you run it.

I found the above conversion method, but the writing method is not simple enough.

I found the above conversion method, but the writing method is not simple enough.

How would you like it to look? Always open to suggestions for improvements.

python:
def test_save_tensor():
x = torch.ones(2, 2, 2, 2)
exportsd.write_tensor(x, "tensora.dat")
//c#
torch.Tensor x = torch.load_tensor("tensora.dat");
x.print(style:TorchSharp.TensorStringStyle.Numpy);

Okay, I see. Your request is about writing and reading individual tensors, not state_dicts. Okay, that should be straight-forward.

It'll be static Tensor.Load(string) and Tensor.Save(string), also with overloads for Stream, BinaryReader/Writer


Unable to establish a loopback call in a new room after leaving a loopback call

Repro steps:

Go to https://apprtc.appspot.com/?debug=loopback, click Join
Click the Hangup button
Click the "New Room" button
Enter a new room name (if one isn't already present), then click Join

Issue: I'm stuck in the "waiting for someone to join this room" state
js console shows these errors:
Room server join error: Registration error: FULL
WebSocket register error: Registration error: FULL
Note that depending on the version of Chrome you're using, if in step 3), you instead click on Rejoin, the loopback call will be established correctly, but audio will fail. That's currently tracked in Chrome bug http://crbug.com/477434.

It's due to not cleaning up the even listeners and joining the room twice. I'll work on a fix.

@marwahvikas
Can you push to AppRTC?


Getting framework not found error

I have "$PODS_ROOT/R.swift/rswift" "--import" "Spring" "$SRCROOT" script in my build phase in Xcode.
I am getting the following error while compiling the project.
ld: framework not found Rswift for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

What version of R.swift are you using?

Just found the solution. The pod was not included in the Podfile. It works fine now. Thanks.


Add dev and native exclusions, exclude camel-quarkus-fhir in native

camel-quarkus-fhir exceeds the -Dquarkus.native.native-image-xmx=4g limit.

This will skip native build if the app contains camel-quarkus-fhir, correct?

This will skip native build if the app contains camel-quarkus-fhir, correct?

Yes. The same goes for dev mode exclusions (currently unused, but might come in handy).

@jsmrcka can you pls look into the fail?
It's camel-quarkus-microprofile-health-camel-quarkus-sql-smallrye-reactive-messaging-spring-data-jpa.log
It's probably something with camel extensions :/

@jsmrcka can you pls look into the fail? It's camel-quarkus-microprofile-health-camel-quarkus-sql-smallrye-reactive-messaging-spring-data-jpa.log It's probably something with camel extensions :/

Combination of quarkus-spring-data-jpa and camel-quarkus-sql fails with
com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: org.springframework.util.ObjectUtils.nullSafeConciseToString(java.lang.Object)

(or similar) during native build.
There are different versions of org.springframework.util.ObjectUtils coming from:
[INFO] +- io.quarkus:quarkus-spring-data-jpa:jar:3.5.0:compile
[INFO] |  \- io.quarkus:quarkus-spring-core-api:jar:5.2.SP7:compile
[INFO] \- org.apache.camel.quarkus:camel-quarkus-sql:jar:3.5.0:compile
[INFO]    \- org.apache.camel.quarkus:camel-quarkus-support-spring:jar:3.5.0:compile
[INFO]       \- org.apache.camel.quarkus:camel-quarkus-support-spring-core:jar:3.5.0:compile

camel-quarkus-fhir exceeds the -Dquarkus.native.native-image-xmx=4g

The native build for FHIR is unfortunately quite demanding on memory. A lot of stuff ends up being registered for reflection. It's a known issue that we could try to improve in future:
https://github.com/apache/camel-quarkus/issues/654

Combination of quarkus-spring-data-jpa and camel-quarkus-sql

Combining quarkus-spring-* with Camel components that use Spring (like the SQL component) is not something we really support. Quarkus / Camel likely use different Spring versions and we're pretty unlikely ever be in perfect alignment, given that the Spring version in Camel is driven by the version of Spring Boot a given release supports.


Move SIP rules from LiveKit server

Wait, actually I need one more function here...

Should be good now.


Use webview in android if linkedin app is not installed

Is there a way to use the web view on android if the linkedin app is not installed?

@BenBach Is it not doing that already?

no

@BenBach  are you able to find a solution for this
@joonhocho  any updates on this


jquery.ajax request server return filestream(200MB),client browser google prompt memory insufficient

jquery.ajax request server return filestream(200MB),client browser google prompt memory insufficient

666

six,six,six

It may be caused by the lack of browser virtual memory. Try to modify the browser's virtual memory and hope to help you.

Yes, this is not something that looks like it can be fixed on the PDF.js side. Otherwise, please provide the PDF file for analysis.


Create: 0044-wildcard-matching.py

Add file 0044-wildcard-matching.py
Link problem: https://leetcode.com/problems/wildcard-matching/description/
Edit 1220-count-vowels-permutation.java duplicate.

@duongb Thank you for your contributions, next time put all of your submission links of the files edited in the PR description


images: Fix cloud-init check after reboot

I've tried reproducing the issue with cloud-init check failing after reboot locally, but without success. However, I'm able to reproduce the issue consistently on GH runners.
I'm suspecting that cloud-init is invoked before instance is fully ready.
Adding a 10 second delay after instance is fully ready fixes the issue. It is not the most convenient one, but is the similar approach we use when we initially create instances.
https://github.com/canonical/lxd-ci/blob/b54cb611530c537c00035684326337af53568688/bin/test-image#L167-L168
Here are some builds on fork using this fix:

AlmaLinux: https://github.com/MusicDin/lxd-ci/actions/runs/9843294370
Oracle linux: https://github.com/MusicDin/lxd-ci/actions/runs/9843273759
Alpine linux (3 attempts - all successful): https://github.com/MusicDin/lxd-ci/actions/runs/9843202312

@simondeziel Any thoughts?

I've checked the recent failures and they are mostly only happening on arm64 and the job summary includes a deprecation warning advising to switch to a different image. https://github.com/canonical/lxd-ci/actions/runs/9831508071:

This workflow ran on a hosted runner that uses the "Base Image for Ubuntu Server 22.04". This image will be deprecated in September 2024.

Could you give that a try? Or point me to a failed amd64 run?
As for the Alpine 3.17 failure, this one occurs on amd64 but look like a cloud-init issue to me:
==> Performing post cloud-init reboot test

status: done
boot_status_code: enabled-by-sysvinit
last_update: Mon, 08 Jul 2024 10:44:04 +0000
detail:
DataSourceNoCloud [seed=/var/lib/cloud/seed/nocloud-net][dsmode=net]
Error: Command not found
Traceback (most recent call last):
  File "/usr/bin/cloud-init", line 33, in <module>
    sys.exit(load_entry_point('cloud-init==22.4', 'console_scripts', 'cloud-init')())
  File "/usr/lib/python3.10/site-packages/cloudinit/cmd/main.py", line 1086, in main
    retval = util.log_time(
  File "/usr/lib/python3.10/site-packages/cloudinit/util.py", line 2680, in log_time
    ret = func(*args, **kwargs)
  File "/usr/lib/python3.10/site-packages/cloudinit/cmd/status.py", line 119, in handle_status_args
    details = get_status_details(paths)
  File "/usr/lib/python3.10/site-packages/cloudinit/cmd/status.py", line 232, in get_status_details
    datasource, _, _ = value.partition(" ")
AttributeError: 'NoneType' object has no attribute 'partition'
===> FAIL: cloud-init reboot: container-alpine-cloud-priv

The command not found bit can be ignored as there must not be any systemd on Alpine.

Here is on amd64 (from fork): https://github.com/MusicDin/lxd-ci/actions/runs/9842894445/job/27172865153

Here is on amd64 (from fork): https://github.com/MusicDin/lxd-ci/actions/runs/9842894445/job/27172865153

Indeed but as I said, this one looks like a cloud-init issue as it doesn't degrade gracefully.

Yep, in Alpine case. On most others the error is:
 Traceback (most recent call last):
  File "/usr/bin/cloud-init", line 11, in <module>
    load_entry_point('cloud-init==23.4', 'console_scripts', 'cloud-init')()
  File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 1113, in main
    args=(name, args),
  File "/usr/lib/python3.6/site-packages/cloudinit/util.py", line 2808, in log_time
    ret = func(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/cloudinit/cmd/status.py", line 140, in handle_status_args
    details = get_status_details(paths)
  File "/usr/lib/python3.6/site-packages/cloudinit/cmd/status.py", line 345, in get_status_details
    CLOUDINIT_DISABLED_FILE, paths
  File "/usr/lib/python3.6/site-packages/cloudinit/cmd/status.py", line 256, in get_bootstatus
    in subp.subp(["systemctl", "show-environment"]).stdout
  File "/usr/lib/python3.6/site-packages/cloudinit/subp.py", line 323, in subp
    stdout=out, stderr=err, exit_code=rc, cmd=args
cloudinit.subp.ProcessExecutionError: Unexpected error while running command.
Command: ['systemctl', 'show-environment']
Exit code: 1

Yep, in Alpine case. On most others the error is:

Indeed and I wonder if the base image change might help. Either way, we'll need to switch the base image soon so I thought it was a good opportunity. But I won't hold up the || sleep 10 fix if you think we should do the new image later.

Indeed and I wonder if the base image change might help.

Do you mean the runner image? I think that for amd64 you've recently replaced the ubuntu-20.04 runners? For arm, I've seen the notification to update the image.

But I won't hold up the || sleep 10 fix if you think we should do the new image later.

But we are waiting for systemd jobs before reboot? Are you suggesting that we wait for systemd before calling cloud-init?

@tomponline that one's ready to go in and once it does, I'll check if it fixes all image builds as it promises.

@MusicDin the alpine/3.17/cloud issue on arm64 persists: https://github.com/canonical/lxd-ci/actions/runs/9831394502/job/27291928167
I retried all the amd64 builds and they either passed or failed for another reason (PR incoming).

Does rerunning old action workflows pick the changes from main?
I've run alpine arm64 manually and it passed: https://github.com/canonical/lxd-ci/actions/runs/9881462256

Does rerunning old action workflows pick the changes from main?
Yes

I've run alpine arm64 manually and it passed: https://github.com/canonical/lxd-ci/actions/runs/9881462256
Oh well, looks like a small race with cloud-init or something. Glad to see it green now at least. Thanks


Checkout.js isn't precompiled

Hello -
I'm trying to make the demo work with the RDR theme and I'm getting the following error:
ActionView::Template::Error (checkout.js isn't precompiled):
1: <% content_for :javascripts do %>
2:   <%= javascript_include_tag 'checkout', '/states' %>
3: <% end %>
4:
5:
I'm using a precompile step before deploying to Heroku.  All of the other assets seem to have precompiled successfully.  Is there a reason why Checkout.js, which is associated with RDR theme, would have been excluded?  Any idea on how to fix?
Thanks,
Adam

What Heroku stack are you deploying to? Have you tried using the Cedar stack?

Yes, Cedar Stack.  I was precompiling the assets locally before pushing to Heroku, and somehow the Checkout.js script from the theme was not finding it's way into the Vendor assets directory I suppose.  I am out of my depth.

No worries :)
What happens if you add this line into the Application class?
config.assets.precompile += ['checkout.js']

Does that fix the issue?

That fixed the issue.  Just don't ask me to explain it!  Thanks.

Alright then, I'll leave this issue open as a reminder to update spree_rdr_theme to include this option automatically or another fix. Thanks!


Add Filters aggregation to Buckets

Buckets only allows Terms aggregations, it would be nice to have at least Filters aggregations in order to have more specific filtering for buckets.

Done! the releases are updated!


Less confusing "submit and add another" continuation

The response buttons alter between the second, third and fourth pages you "submit" (I would prefer "submit image" rather than the confusing "submit" which I think is short for "submit leaflet").
The buttons at each stage could simply be [Submit image] and [No more pages].
Also, we can compare this with the Richard's original design which was all uploadable images in a single page, and you filled in between 1 and 8 such file upload boxes, then submitted them in a batch.  (Don't know how this helps, but it sets the workflow in context.)

Fixed in https://github.com/DemocracyClub/electionleaflets/commit/21ebc6c415c07fdc2016fc9b8a4770659fa215e5


Pregenerate sprite sheets

[Will try and get a trace]

Currently the sprite tiles are generated on demand. In the first couple frames of the game that causes too much work. We should warm up the cache while the intro dialogue is on-screen.

Gonna wait on #60


OTP no longer optional for Gleam projects

The bug
Gleam can be run without OTP. For this case this action used to permit installing Gleam without OTP.
This is no longer the case, and setup-beam now errors
Input required and not supplied: otp-version

Software versions
      - uses: erlef/setup-beam@v1

How to replicate
      - uses: erlef/setup-beam@v1
        with:
          gleam-version: "1.5.0"

Expected behaviour
Gleam is installed successfully.

Ah! Looks like you can do otp-version: false


[QUERY] Azure.Messaging.EventHub PartitionReceiver/EventHubConsumerClient High CPU Usage?

Context
When consuming from a dedicated event hub containing more than 200 partitions and using an instance of the SDK's PartitionReceiver with TransportType = EventHubsTransportType.AmqpWebSockets and TrackLastEnqueuedEventProperties = true for each partition. I've observed high CPU usage when a single box consumes from a large number of partitions and high event rate (9k - 70k events per second).
Query/Question
What's the best practice when consuming from many partitions and/or high event rate? I ran the same test targeting .Net 5 and it was not an issue, CPU at 20% while consuming ~50k events per second.
Environment:

Azure.Messaging.EventHub 5.3.0
.Net Framework 4.7.2/ .Net Framework 4.8

Could this be related? Microsft.Azure.Amqp: lock contention is extremely high when the request rate is high

It's not possible to make any definitive statements with the current context and available information, so the best that I can do is generalize and speculate a bit.
Generally speaking, it sounds like you've hit a point where you're doing too much on a single machine and should consider a different distribution of work.  The best practice for consuming from many partitions at a high rate is to spread out partitions among different machines.  Each partition requires a dedicated AMQP link to read from the service and how that link is managed differs between the clients:

The PartitionReceiver will open a dedicated AMQP connection and link for the partition that it is associated with in its default configuration.  With many of these running concurrently, you're potentially seeing network contention due to having a high number of connections open to the same host.  This is especially noticable using web sockets.

The EventHubConsumerClient represents a single AMQP connection and each partition that is being read will open an AMQP link that shares the connection, taking advantage of multiplexing.   Having too many partitions read concurrently can saturate the connection and cause request queuing which triggers a higher degree of synchronization within the AMQP transport library.

It's difficult to say what the optimal number of partitions to a given machine is, as it will vary quite a bit by the size of the machine, the size of events, the work being done, the hosting environment, and other factors.   My advice would be to try starting with 2-4 partitions per CPU thread and then measuring and experimenting to tune from there.
Some other potential things that you can consider:

The PartitionReceiver and EventHubConsumerClient types each have a constructor overload that takes an EventHubConnection;  this allows you to explicitly control how many connections are used and share them among multiple receivers to take advantage of multiplexing.   You may want to experiment with trying to find a balance for the number of connections that gives you the best performance.

Experimenting with the PrefetchCount in the PartitionReceiverOptions may help you tune the buffering to reduce contention.

Experimenting with the PrefetchCount and CacheEventCount in the ReadEventOptions used by the EventHubConsumerClient may help you tune the buffering to reduce contention.

Experimenting with Server GC may help lower CPU use or at least make things more consistent and predictable.

Experimenting with the DefaultConnectionLimit of the ServicePointManager may help reduce contention and throttling for the number of connections open.

Some wider speculation on causes:

If you're seeing behavior differ by the host framework, where .NET 5 and the desktop framework performance differ, then it's quite possible that you're seeing something related to the networking stack behavior, where a large amount of effort was spent to improve allocations and reduce performance.   You'd see a non-trivial increase in garbage collection for the desktop framework which would drive up CPU use.

The majority of the work in a scenario like you're describing is going to be deserializing of data from the AMQP message format to the EventData model for consumption.  This kind of workload is likely to be CPU-bound in general and will trigger a high degree of allocations, which would also then likely trigger more frequent garbage collections.

It is possible that you're seeing network contention with a large number of partitions, which would potentially be related to the lock contention within the AMQP transport library.  That said, the issue has been open there for 3 years and the maintainers of that library have not been convinced this is the case.   We'd need to have data to support that speculation and either contribute to that issue or open a new one to report for their consideration.

Thank you @jsquire, appreciate the detailed response which provided an excellent starting point for my investigation. Here's a couple follow up observation:

Reducing the PrefetchCount of the PartitionReceivers did help reduce CPU in the original scenario, but it's also attributed with a noticeable decrease in throughput. It's also a bit tricky thinking about the relationship between PrefetchCount and CPU usage, as one also needs to consider the partitions assigned to a box.
The biggest change occurred when comparing the two EventHubsTransportType; AmqpTcp and AmqpWebSocket. The second regardless of the assigned partition count (4, 16, or 256) would peak at an event rate of 20,000 and consume about 60% of CPU. While AmqpTcp maintains a steady 16-20% usage while consuming 50,000+ events per second (awesome!).

Using PerfView, I dug a bit deeper  into the .Net5 and .NetFramework differences for the AmqpWebSocket results. It seems that the largest difference occurs in a call to microsoft.azure.amqp!Microsoft.Azure.Amqp.AsyncIO+AsyncReader.OnReadBufferComplete(class Microsoft.Azure.Amqp.Transport.TransportAsyncCallbackArgs). Net 5 would experience 1% inclusion time during this call, while .NetFramework is at around 25% inclusion time. I downloaded PerfView specifically for this experimentation and have maybe 4 hours of experience with it, so I'm still learning to interpret the data is provides.
.Net Framework 4.7.2

.Net5

The inclusion time for this method call wasn't so large when using AmqpTcp in .NetFramework where it hovered at around 10% in that scenario (still much higher than Net5). It's pretty  hard to tell what's going on from this data alone and without an understanding of what the azure.amqp library is doing.
 We have some scenarios that read from a remote event hubs (compute in west coast, event hub in east coast) that benefit greatly from the AmqpWebSocket flag since AmqpTcp struggles to keep a high throughput there.

It is very possible and, in this case quite likely.   What you're observing is the same code running on two different host frameworks with different performance characteristics.  We use very few compiler constant branches to sniff frameworks and those are intended only to work around compatibility issues.
There was a very high amount of effort put into reducing allocations in .NET 5 and a large focus on performance tuning the network components used by ASP.NET.    Though it's a bit outdated by now, this blog post by Stephen Toub  highlights some of the significant areas where were further improved since.   I don't want to link to non-authoritative sources, but there are plenty of more recent articles around performance testing.   The .NET team may have additional resources to share if you decide to reach out to them directly.

Using PerfView, I dug a bit deeper into the .Net5 and .NetFramework differences for the AmqpWebSocket results. It seems that the largest difference occurs in a call to microsoft.azure.amqp!Microsoft.Azure.Amqp.AsyncIO+AsyncReader.OnReadBufferComplete(class Microsoft.Azure.Amqp.Transport.TransportAsyncCallbackArgs)

The AMQP library was developed alongside the Azure Messaging services and was written in a time less allocation-focused.  There are definitely code paths within that could be improved, but the networking primitives that it uses are provided by .NET itself.  In the case of web sockets, the System.Net.WebSockets.WebSocket class, which I believe is where the observed path is hitting a hotspot.   That said, the Event Hubs SDK is just a consumer of that package and my knowledge around some of the deeper details isn't good.   You may want to consider opening an issue in the Microsoft.Azure.Amqp repository to discuss that further.

Thanks for the detailed explanation and references! I got help parsing the traces today and observed that a lot of the extra time spent by the .Net Framework version is in SslStream. Kind of cool to see how System.Net.WebSockets.WebSocket has improved in Net5.