Settings Wheel Component

<SettingsWheel/>
A button shown in the header to display the settings panel overlay. This should have an icon and accessible text.
For further enhancement an animation on click of the wheel can be added.
This component should be created in Storybook, with designs TBD.
Output props

onClick(): called when the wheel is clicked

We have this component right? What about it is blocking #36 ?

The SettingsWheel has not been added to this repo, so cannot be used in #36

Will be added tonight. - I'll update #36 when it is complete.


Indication if solar panel is connected with reverse polarity

At least the PWM charge controller can measure the (negative) voltage of a solar panel connected with reverse polarity (if battery is already present). This could be indicated by a flashing LED. In addition to that, we could introduce an additional error flag for this.
Any suggestion for LED indication, @JordanSilverman?
I think it's nothing time critical, but nice to have for the future.

My suggestion would be that we either continue using the load LED to
display faults and have a different blinking pattern for each error flag.
Or we can use the 'data' LED but still implement different patterns for
different errors. This LED isn't used very often but might not be as clear
that there is a fault.
The different patterns can be described in the manual so people can debug
on site.
Cloud Solar specific comment:
I also suggest that we do send the error flag over the communications (and
also add the hardware and firmware versions). We can perhaps add them
server side tomorrow and decide how to display them at a later date. Would
you agree?
On Thu, 31 Oct 2019 at 18:37, Martin Jäger<EMAIL_ADDRESS>wrote:

At least the PWM charge controller can measure the (negative) voltage of a
solar panel connected with reverse polarity (if battery is already
present). This could be indicated by a flashing LED. In addition to that,
we could introduce an additional error flag for this.
Any suggestion for LED indication, @JordanSilverman
https://github.com/JordanSilverman?
I think it's nothing time critical, but nice to have for the future.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/LibreSolar/charge-controller-firmware/issues/70?email_source=notifications&email_token=ADMPZT2AWUHEV45URFWWA6TQRMQWBA5CNFSM4JHPZOZ2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HV4JYMA,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADMPZT5GBWABRUA7K6J7IOLQRMQWBANCNFSM4JHPZOZQ
.

I think we should use a different LED than the load LED, so that load errors and solar input errors can be distinguished.
The 5th (data / RX/TX) LED is a good idea. We could use fast blinking (flicker) as an error indicator in general. and then blink instead of flicker after we received an incoming message. Or we flicker the upper SOC indicator LED that is normally blinking if it is charging properly.
Yes, agree to store the error flag already on the server and add UI information later.


Provide a way to detect wasm-pack target via cfg

💡 Feature description
Currently, there is no way to do perform conditional compilation based on the --target passed to wasm-pack.
It would be great if wasm-pack would pass it on via --cfg to Rust (should be easy enough to pass it in RUSTFLAGS), so that users could check this target in their code as any other conditional compilation attribute.
💻 Basic example
pub const HAS_ESM_SUPPORT: bool = cfg!(any(
  wasm_pack_target = "bundler",
  wasm_pack_target = "web"
));

Just submitted a PR for this. Anyone would be able to review it?


[WebScout] Remove clientaccesspoliy.xml

The clientaccesspolicy.xml file is supposedly only used by Silverlight clients. This change removes it to remove the WebScout warning.

👍


[SPARK-5016][MLLib] Distribute GMM mixture components to executors

Distribute expensive portions of computation for Gaussian mixture components (in particular, pre-computation of MultivariateGaussian.rootSigmaInv, the inverse covariance matrix and covariance determinant) across executors. Repost of PR#4654.
Notes for reviewers:

What should be the policy for when to distribute computation. Always? When numClusters > threshold? User-specified param?

TODO:

Performance testing and comparison for large number of clusters

Merged build triggered.

Merged build started.

Test build #36301 has started for   PR 7166 at commit 1da3c7f.

Test build #36301 has finished for   PR 7166 at commit 1da3c7f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Merged build triggered.

Merged build started.

Test build #36314 has started for   PR 7166 at commit e7c8127.

Test build #36314 has finished for   PR 7166 at commit e7c8127.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait AutoCastInputTypes
trait ExtractValue
abstract class ExtractValueWithStruct extends UnaryExpression with ExtractValue
abstract class ExtractValueWithOrdinal extends BinaryExpression with ExtractValue
case class Hex(child: Expression) extends UnaryExpression with Serializable
case class Atan2(left: Expression, right: Expression)
case class Pow(left: Expression, right: Expression)
case class Sha1(child: Expression) extends UnaryExpression with AutoCastInputTypes
case class Crc32(child: Expression)
case class Not(child: Expression) extends UnaryExpression with Predicate with AutoCastInputTypes
trait StringRegexExpression extends AutoCastInputTypes
trait CaseConversionExpression extends AutoCastInputTypes
trait StringComparison extends AutoCastInputTypes
case class StringLength(child: Expression) extends UnaryExpression with AutoCastInputTypes

Merged build finished. Test PASSed.

Thanks for picking up on this. Next time it might be better to just cherry-pick the commits from the branch as contributor and commit history is not lost.

You're totally right; sorry about that! Totally slipped my mind. Will do
next time.
On Wed, Jul 1, 2015 at 9:01 PM Manoj Kumar<EMAIL_ADDRESS>wrote:

Thanks for picking up on this. Next time it might be better to just
cherry-pick the commits from the branch as contributor and commit history
is not lost.
—
Reply to this email directly or view it on GitHub
https://github.com/apache/spark/pull/7166#issuecomment-117898553.

I did some perf testing and it shows that distributing the Gaussians does yield a significant improvement in performance when the number of clusters and dimensionality of the data is sufficiently large (>30 dimensions, >10 clusters).
In particular, the "typical" use case of 40 dimensions and 10k clusters gains about 15 seconds in runtime when distributing the Gaussians.

Merged build triggered.

Merged build started.

Test build #36745 has started for   PR 7166 at commit 00eb7db.

Test build #36745 has finished for   PR 7166 at commit 00eb7db.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

jenkins retest this please

Merged build triggered.

Merged build started.

Test build #36748 has started for   PR 7166 at commit 00eb7db.

Test build #36748 has finished for   PR 7166 at commit 00eb7db.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Merged build triggered.

Merged build started.

Test build #36822 has started for   PR 7166 at commit 5ea947e.

Test build #36822 has finished for   PR 7166 at commit 5ea947e.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

jenkins retest this please

Merged build triggered.

Merged build started.

Test build #36827 has started for   PR 7166 at commit 5ea947e.

Test build #36827 has finished for   PR 7166 at commit 5ea947e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Merged build triggered.

Merged build started.

Test build #36837 has started for   PR 7166 at commit 4f351fa.

Test build #36837 has finished for   PR 7166 at commit 4f351fa.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

LGTM. Merged into master. Thanks!


chore(main): release 0.1.0

:robot: I have created a release beep boop
0.1.0 (2024-08-25)
Features

add api auth login (91e21cf)
add api create service credential (7879239)
add api delete team (647dc01)
add api service teams (f9c0a6e)
add api services (27b974f)
add api team users (e07ff48)
add api teams (539b345)
add api update service (7a467ec)
add api users (d9d6f11)
add api users me (647bb6e)
add credential in service (e70d049)
add image in service (284a1aa)
add query parameter for get services (6a070e7)
add service tags (42ebfe3)
add teams and credential when create service (c51a594)
only admin can create,update,delete team users (eb794b4)
only super admin can create team (c057d8d)
only team users can add, delete services for their team (b825683)
return credential in at get service (33f66c1)
super user can access all feature (be73c5e)
super user can get all services and delete service (fef1c14)
update api update team users (265e9cf)

Bug Fixes

correct create or update credential when update sevice (c227ac6)
correct import prisma lib (0f8e92e)
correct store credential service (8facb3d)

Performance Improvements

add csrf middleware (89a71d0)

Miscellaneous Chores

release 0.1.0 (afb969c)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.1.0
:sunflower:


New release timing?

Howdy all,
I noticed the quay version was bumped to 3.8.15 yesterday, but latest quay build is 3.11.0 - I know there is some testing & all that needs to happen with the interrelated deps, and I also know there are some other tasks the team is working on - but I was hoping to get a new release of mirror-registry available with a newer quay build, and the security related patches from my previous PR applied.
I happily volunteer to help test updates!
Thanks!

Hey, we're actively working on getting a release out that will include your security patches, but 3.11.0 won't be released to mirror registry until we finish up the sqlite migration. It's taking a little longer than expected because we bumped into some issues related to converting an existing postgres db to a sqlite db. For reference, the reason we can't just bump to 3.11.0 is because it has a hard requirement on a newer version of Postgres that doesn't ship with mirror registry.
Also, our QE team recently caught an issue that needs further investigation before we can release with 3.8.15. At the very least, 1.3.11 should include your security related patches. Once we sort this out, we should be able ship 1.3.11.
Unrelated, but thanks for all the contributions and participation. We recently started a monthly community meeting to help provide transparency and engage with the upstream community. Feel free to join next time, they are held the first Wednesday of every month 11:00 AM ET: meeting link.

Hey @HammerMeetNail yeah, I figured it was something along those lines - the joys of refactoring and patching.
And no problem - I'm happy to contribute back, I appreciate y'all being so easy to work with. I'm in UTC +1 for the next couple months, but will try to jump in the next meetup, super excited to see that happening!
-Sol

Oh dang @HammerMeetNail that issue you linked is my fault - I thought I tested that path, but clearly missed something. I'll add a comment over there.


fix BLE commissioning on commissionable Matter TVs

Problem
What is being fixed?  Examples:

Fixes #15012: CHIP-TOOL can't provision CHIP-TV using BLE

Change overview
By default, when there is more than one BleBase transport, the second to initialize overrides the global BleLayer transport with itself. This fix adds Ble transport initialization parameters so that this override behavior can be managed, and the default behavior is to only set the global BleLayer transport if it is not already set.
Testing

Tested by commissioning the tv-app using BLE

Created issue https://github.com/project-chip/connectedhomeip/issues/15732 to remove this workaround for manually changing the BleLayer transport from CHIPDeviceControlleer (see issue for proposed solution).

/rebase


Firefox version?

This looks like a useful extension but I don't use Chrome unfortunately, would it be possible to port your extension to Firefox? I found a guide that may be useful and I didn't find any issues when I tested it in the compatibility tester but no worries if you're not up for it!
https://extensionworkshop.com/documentation/develop/porting-a-google-chrome-extension/

Sorry, I don't have time to maintain a second version of the extension in Mozilla's add-ons site right now. :-(
I also only saw one (harmless?) warning from the extensiontest.com:
    {
      "message": "\"storage.sync\" can cause issues when loaded temporarily",
      "description": "This API can cause issues when loaded temporarily using about:debugging in Firefox unless you specify applications|browser_specific_settings > gecko > id in the manifest. Please see: https://mzl.la/2hizK4a for more.",
      "locations": [
        {
          "file": "options.js",
          "line": 20
        },
        {
          "file": "options.js",
          "line": 37
        },
        {
          "file": "content.js",
          "line": 7
        }
      ]
    }

If you haven't already tried it, it might be worth checking out the repository and trying to load it in Firefox via about:debugging. https://developer.mozilla.org/en-US/docs/Tools/about:debugging has instructions, I think (in the "Loading a temporary extension" section).

This looks like a useful extension but I don't use Chrome unfortunately, would it be possible to port your extension to Firefox? I found a guide that may be useful and I didn't find any issues when I tested it in the compatibility tester but no worries if you're not up for it! https://extensionworkshop.com/documentation/develop/porting-a-google-chrome-extension/

Firefox version is in the process of being approved by Mozilla reviewers.


action-deps-version-bumps

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 1.21%. Comparing base (0758524) to head (61002dc).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@          Coverage Diff          @@
##            main     #39   +/-   ##
=====================================
  Coverage   1.21%   1.21%
=====================================
  Files         30      30
  Lines       2560    2560
=====================================
  Hits          31      31
  Misses      2529    2529

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


accessing query variables in Request

when i serve a website with Bonito, i'd like the user to be able to configure the generated HTML by appending "?var=val" to the end of the URL.  programmatically something like this would be convenient:
app = App() do session::Session
    query = session...   # var=val stored as a Dict or similar somewhere in the session Struct
    return DOM.div(query["var"])
end

currently i think this is not possible.
digging into the code, the query is stored in request here and subsequently further down the call stack in context here, but then is never stored.  i think the definition of Session would need a new field to store this information.
does that make sense?  if so, i'm happy to work on a PR with some guidance.

There is:
app = App() do session::Session, request::HTTP.Request
    requested_path= request.path # There should be some query parsing tools somewhere in in URIs or HTTP.jl
    ...
end

I'm surprised that App isn't documented at all, I fuzzily remember writing docstrings for it^^ Maybe you could add a PR for that?

oh!  my bad.  App is documented, in two places, and i did read the docs when first learning Bonito, but then forgot:
julia> using Bonito

help?> App
search: App append! applicable isapprox swapproperty! apropos hasproperty replaceproperty!

  App(callback_or_dom; title="Bonito App")
  App((session, request) -> DOM.div(...))
  App((session::Session) -> DOM.div(...))
  App((request::HTTP.Request) -> DOM.div(...))
  App(() -> DOM.div(...))
  App(DOM.div(...))

  Usage:

  using Bonito
  app = App() do
      return DOM.div(DOM.h1("hello world"), js"""console.log('hello world')""")
  end

  If you depend on global observable, make sure to bind it to the session. This is pretty
  important, since every time you display the app, listeners will get registered to it, that
  will just continue staying there until your Julia process gets closed. bind_global prevents
  that by binding the observable to the life cycle of the session and cleaning up the state
  after the app isn't displayed anymore. If you serve the App via a Server, be aware, that
  those globals will be shared with everyone visiting the page, so possibly by many users
  concurrently.

  global some_observable = Observable("global hello world")
  App() do session::Session
      bound_global = bind_global(session, some_observable)
      return DOM.div(bound_global)
  end

perhaps it would be worthwhile adding an example which explicitly used Request.


Color management

What feature do you want to see added?
For colors in json files we use some values.
It would be good to support few colors (like white, gray, yellow...) to have a more readable json file.
Moreover, if json file has no attribute color or a keyword like "aleatory", the plugin create automatically colors for each item according a palette
Upstream changes
No response

implement with #61


Fix job ID in benchmark step

This PR adds job IDs to the benchmark step, to make sure we use the correct path for the nsys output.

bors r+


ModuleNotFoundError: No module named 'TrainingInterfaces'

Trying to run the fine-tuning example from the README.
Traceback (most recent call last):
  File "/home/thoraxe/Red_Hat/openshift/voice-cloning/IMS-Toucan/TrainingInterfaces/TrainingPipelines/finetuning_example.py", line 13, in <module>
    from TrainingInterfaces.Text_to_Spectrogram.PortaSpeech.PortaSpeech import PortaSpeech
ModuleNotFoundError: No module named 'TrainingInterfaces'

Steps to get here:

install python 3.10.9 in a virtual environment
pip install the requirements.txt
run_model_downloader.py
finetuning_example.py

Expected behavior: Finetuning runs

Hi @thoraxe, you don't run finetuning_example.py directly. You've got to create a handle (ie a meaningful shortcut name) for it in run_training_pipeline.py and then you call run_training and provide the gpu to use (otherwise it won't work).
Once this is done, we are almost done, now we just need to make it available to the run_training_pipeline.py file in the top level. In said file, import the run function from the pipeline you just created and give it a meaningful name. Now in the pipeline_dict, add your imported function as value and use as key a shorthand that makes sense.

Did you try that ?

Thanks. Tried this, also failed, but with a different issue.


Updated the structure and applied feedback

What does this PR do?
Modifies the content for Encrypted Secrets.
Does your PR introduce any breaking changes? If yes, please list them.
None
Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[ ] Did you read the contributor guideline, Pull Request section?
[X] Did you make sure your PR does only one thing, instead of bundling different changes together?
[X] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you list all the breaking changes introduced by this pull request?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:

[X] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

@alecmerdler @nohalon  should we mention in the doc somewhere that _ are not supported?

@alecmerdler @nohalon should we mention in the doc somewhere that _ are not supported?

We do:
Secret names must start with a letter and can only contain letters, numbers, dashes, and periods.


[FEATURE] Add streaming to AWS Bedrock with new Messages API

Is your feature request related to a problem? Please describe.

I want to run Bedrock Anthropic in streaming mode for model anthropic.claude-3-5-sonnet-20240620-v1:0.
Describe the solution you'd like

Add new model BedrockAnthropicStreamingMessageChatModel which supports new MessagesAPI and latest Anthropic models, such as anthropic.claude-3-5-sonnet-20240620-v1:0
Describe alternatives you've considered

IMHO, related to #1005, but that issue did not consider using new Messages API
Additional context

Hi @leduckhc, would you like to contribute this?

@langchain4j I will have time next week

@leduckhc great! I will assign you then. Thank you

@caosDvlp , I won't have time to finish this till the end of year, I am afraid. I will unassign myself from this issue.

@caosDvlp would you like to contribute this? 🙏

Hey @langchain4j
Yeah I think I will have time, assign the task to me then

@caosDvlp contacted me, he won't be able to contribute this in the near time


Selection of some parameters and loss

hi，this works very well, I have two questions

Why Hiden_Number is 600？
Why choose NLL loss，do not use CE loss directly？

Got it, thank you


NOTICE: Qwiet binary frontends would be removed from this project

Thanks @prabhu

The following packages are temporarily unavailable:

cpggen
cpggen-bin
cpggen-windows-bin

These would be republished without any binary plugins later this week.


Music docs 02

Edits for music docs

@ganicke,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Fixed common block tracking when syncing

The sync module needs to track the best queued block, it does not care so much about the best imported. Before the block queue was introduced these were effectively the same. With the block queue this small change is required.

The change looks fine,
I am just wondering about two scenarios:

what is said test fails to import? E.g. because the block provided doesn't actually verify. Before we have confirmed that, the block provided my be malicious. How do we ensure we recover from that scenario?

but that is more general I suppose - how do we deal with forks in the chain. as from what I can see right now, the code assumes there is only ever one block at a specific height. Is that still to be sure with Aura? Isn't it allowed for two authorities to have potentially created different blocks at the same height (because the second didn't see the previous before it authored).

Arguable neither of these two problem were introduced in this PR. However if acknowledge these problem, we should create tickets for them, now?
//cc @rphmeier

Originally tie syncing code was supposed to correctly download blocks from all forks. For that it keeps track of most recent common block with every peers and downloads from that point. This appears to broken now indeed as indicated by the tests. I've pushed another commit that fixes it.
As for detecting malicious behaviour the block queue keeps track of BlockOrigin for each block and indeed bans peers that give bad blocks. If such block is detected the sync process restarts.


Webhooks

This PR implements Webhooks. When a new database has an appId property in the data, and the data matches a webhook, then the webhook will be triggered.

:tada: This PR is included in version 1.9.0 :tada:
Your semantic-release bot :package::rocket:


Fix: Compatibility Issue with IP2Location DB using int for IP Range

This is the branch of Muneeb Waqas SE Intern

@UmanShahzad Please review this PR.

@UmanShahzad Please check it and do let me know if I have done it right or wrong

@UmanShahzad I have incorporated your feedback in latest commit.

@UmanShahzad You can check now with feedback incorporated

@UmanShahzad Please review it

@muneebwaqas416 can you please squash commits n lemme know when this is ready?

Preferring #26


fix(lyaml) let luarocks install lyaml

Let luarocks install lyaml so we're not installing lyaml in two different places in two different ways
related: https://github.com/Kong/kong/pull/4926
supersedes: https://github.com/Kong/kong-build-tools/pull/123

If anything from the removed script is necessary, it might be these lines:
    YAML_LIBDIR=/tmp/build/usr/local/kong/lib \
    YAML_INCDIR=/tmp/yaml-${LIBYAML_VERSION} \

to force using the bundled libyaml instead of the system's one.
To achieve that, we need to add YAML_DIR=/usr/local/kong next to CRYPTO_DIR and OPENSSL_DIR here:
https://github.com/Kong/kong-build-tools/blob/master/build-kong.sh#L65-L67

huh, oddly lyaml also seems to be installed here explicitly in build-kong.sh here? https://github.com/Kong/kong-build-tools/blob/master/build-kong.sh#L20-L23

From the CI build logs
#14 42.98 kong 1.3.0-0 depends on lyaml 6.2.3 (not installed)
#14 42.98 Installing https://luarocks.org/lyaml-6.2.3-1.src.rock
#14 43.49 creating build-aux/config.ld
#14 43.50 gcc -L/tmp/build/usr/local/kong/lib -Wl,-rpath,/usr/local/kong/lib -O2 -fPIC -shared   -DNDEBUG -D_FORTIFY_SOURCE=2 -DPACKAGE='"lyaml"' -DVERSION='"6.2.3"' -Iext/include -I/usr/local/openresty/luajit/include/luajit-2.1 -I/tmp/yaml ext/yaml/yaml.c ext/yaml/emitter.c ext/yaml/parser.c ext/yaml/scanner.c -o linux/yaml.so -L/tmp/build/usr/local/kong/lib  -lyaml
#14 43.87 true -c build-aux/config.ld .
#14 43.91
#14 43.91 /usr/local/openresty/luajit/bin/luajit build-aux/luke package="lyaml" version="6.2.3" PREFIX="/tmp/build/usr/local/lib/luarocks/rocks-5.1/lyaml/6.2.3-1" CFLAGS="-L/tmp/build/usr/local/kong/lib -Wl,-rpath,/usr/local/kong/lib -O2 -fPIC" LIBFLAG="-shared" LIB_EXTENSION="so" OBJ_EXTENSION="o" LUA="/usr/local/openresty/luajit/bin/luajit" LUA_DIR="/tmp/build/usr/local/lib/luarocks/rocks-5.1/lyaml/6.2.3-1/lua" LUA_INCDIR="/usr/local/openresty/luajit/include/luajit-2.1" YAML_DIR="/usr/local" YAML_INCDIR="/tmp/yaml" YAML_LIBDIR="/tmp/build/usr/local/kong/lib"
#14 43.91 /usr/local/openresty/luajit/bin/luajit build-aux/luke install --quiet INST_LIBDIR="/tmp/build/usr/local/lib/luarocks/rocks-5.1/lyaml/6.2.3-1/lib" INST_LUADIR="/tmp/build/usr/local/lib/luarocks/rocks-5.1/lyaml/6.2.3-1/lua"
#14 44.00 lyaml 6.2.3-1 is now installed in /tmp/build/usr/local (license: MIT/X11)


SegmentedView for iOS and Android

Description of Change
Old PR #523
New control added from #385

Note: Migrating from Xamarin.Forms Issue 6904

Have a segmented control for Xamarin.Forms. iOS has UISegmentedControl, but Android does not. This control will provide native looking segments for Android platform.

iOS
Android

API
The SegmentedView implements IEnumerable<string> with DisplayMode of Text or Image.
SegmentedView:
class SegmentedView : View {}

Properties
SegmentedView

Name
Type
Description

Display Mode
Enum
Display mode is SegmentMode.Text by default and can be set to SegmentMode.Image as an alternative.

Color
Xamarin.Forms.Color
Main color for the control

NormalTextColor
Xamarin.Forms.Color
Text color of the unselected segments

SelectedTextColor
System.Int32
Text color of the selected segments

Items
IEnumerable<string>
String values for title or image source

ItemsSource
IEnumerable
Items source for the values

SelectedItem
object
Selected item

SelectedIndexChanged
Event
Event handler for when a segment is selected. Raises SelectedItemChangedEventArgs with segment and selected index

SelectedIndex
System.Int32
Index of selected segment

Platform Specific - Android

Name
Type
Description

CornerRadius
CornerRadius
Corner radius on Android ONLY

Usage
XAML
<SegmentedView SelectedIndexChanged="OnSegmentSelected">
    <SegmentedView.Items>
        <x:String>View A</x:String>
        <x:String>View B</x:String>
    </SegmentedView.Items>
</SegmentedView>

<!-- Using ItemsSource -->

<SegmentedView
    SelectedIndexChanged="OnSegmentSelected"
    ItemsSource="{Binding values}">
</SegmentedView>

C#
var segments = new SegmentedView
    {
        Children = new List<string>
        {
            "View A",
            "View B",
            "View C"
        }
    };
segments.SelectedIndexChanged += OnSegmentSelected;

// handler
void OnSegmentSelected(object sender, SelectedItemChangedEventArgs e){ }

Platforms
iOS
On iOS, this is simply a UISegmentedControl.
Android
On Android, this is be a RadioGroup with a custom RadioButton that renders a simple text or bitmap drawable in image mode.
class FormsSegmentsView : Android.Widget.RadioGroup

UWP
👀 TBD
PR Checklist

[x] Has tests (if omitted, state reason in description)
[x] Has samples (if omitted, state reason in description)
[x] Changes adhere to coding standard

[ ] Updated documentation

Thank you so much for your patience and willingness to do this @hnabbasi ! I'll make sure that we get this looked at now :)
There seem to be some build errors in the tests though?

🤦♂ Will fix them 👍

I wonder, this could also be achieved with the revamped radiobuttons, @jfversluis ?
Any how, it looks great! I've would have been interested of having multiple colors (one color for each button/segment). Is this feature built in already, or something you would consider add to the control?
Great work! 💯

Could you please properly link this PR to your issue by using the proper keywords "fixes #number" GitHub: Linking-a-pull-request-to-an-issue.

I wonder, this could also be achieved with the revamped radiobuttons, @jfversluis ?
Any how, it looks great! I've would have been interested of having multiple colors (one color for each button/segment). Is this feature built in already, or something you would consider add to the control?
Great work! 💯

It might! Not sure, didn't look into the new radio buttons yet. Ultimately I don't think it matters what the underlaying control is as long as it just works™. In this case I think this is the right approach since iOS actually has a native control for this. But we'll see. Maybe I'm wrong and somewhere in the future you will point me to this and we change the whole thing :D

@pictos if you could re-review this with the latest things? And we get that one potential bug fixed then I think we're close to get this in!

@hnabbasi I'll re-review your code and try it on my end during this week, during that can you add on all public methods, props, fields, etc the docs (/// summary)?

@hnabbasi I'll re-review your code and try it on my end during this week, during that can you add on all public methods, props, fields, etc the docs (/// summary)?

Will do 👍

Is it done? :D

@jfversluis not yet, I'm still testing the control. I'll do my best to finish it by the end of this week

Yes. I am seeing weird issues when loading network images Async. Will look into it more.

@hnabbasi

Yes. I am seeing weird issues when loading network images Async. Will look into it more.

Let me know if you need some help.

@hnabbasi  can you rebase your branch against develop?

Hi Hussain!!
We recently enabled Nullable Reference Types to Xamarin.CommunityToolkit and I see that SegmentedView.shared.cs now has a couple Possible null reference assignment errors.
When you get a chance, can you run through the code and implement Nullable?

It looks like this was approved + implemented before the New Feature deadline.
@pictos Could you give it one more review? If need be, we can defer it to the .NET MAUI Community Toolkit.

@brminnick this PR didn't receive any update for a long time, let's close this one here. If the community or author wants to work on this we merge it on MCT.


hide partial merchant name

@rushatgabhane @mountiny
Details
The PR hides the partial merchant (none) in the Report Preview.
Fixed Issues
$ https://github.com/Expensify/App/issues/33874
PROPOSAL: https://github.com/Expensify/App/issues/33874#issuecomment-1875815133
Tests
Steps
1	Click FAB > Request money > Manual to initiate a money request
2	Enter amount and select a user.
3	On the confirmation page, click 3-dot menu > Add a receipt.
4	Create the request after adding a receipt.
5	Verify that (none) is not displayed in the Report Preview

[ ] Verify that no errors appear in the JS console

Offline tests
Same as the Steps for Tests Section.
QA Steps
Same as the Steps for Tests Section.

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[ ] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[ ] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[ ] I included screenshots or videos for tests on all platforms
[ ] I ran the tests on all platforms & verified they passed on:

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

[ ] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes

[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)

[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web - Safari
TODO

Mobile Web - Safari
TODO

Desktop
TODO

iOS
TODO

Android
TODO

Mobile Web - Chrome
TODO

@rushatgabhane @mountiny
I am curious to know if we have to consider Unknown Merchant text as a partial merchant name.
I ask because when we add a money request via scan receipt, the BE populates the merchant name with Unknown Merchant.
And this text is displayed in Report Preview, IOU Report (i.e Money Request Preview), Transaction Thread Report, and even while editing the merchant name. Below is a short video demonstrating this:
These are the steps used for creating the Money Request:

Click FAB -> Request Money within a 1:1 DM
Add scan receipt via Scan tab -> Choose File -> Request
On the successful scan of the receipt, the merchant name will be set to Unknown Merchant

What do you think about this?
https://github.com/Expensify/App/assets/3004659/ee306cd0-0378-4bf7-9da7-7ee028ad705a

@rojiphil that one is fine, the Unknown merchant is populated by the smartscan sometimes for now we dont have to worry about this, without special treatment of this merchant the code is much cleaner

@rushatgabhane
I have tested the changes on 4 platforms and it works well.
However, my native builds are currently broken. As soon as I fix it, I will also complete those tests.
Meanwhile, please review the PR here and let me know your feedback.

@rushatgabhane are you able to review this one?

@mountiny yes ~1 hr

I could get testing done with android native platform.
However, testing on iOS native is still elusive as there is some build issue on my Mac due to the recent RN bump.

@rushatgabhane
I have attached screenshots for native builds too for compliance.
The fix seems straightforward.
Awaiting your feedback.

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Ok thanks!

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.27-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.4.27-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Git tag or pypi release

Would that be possible to push a git tag or a pypi release?
I might use it to make a conda package of espsim.
ping @hesther

Hi @hadim, seems like psi4 is not on Conda forge anyways, so. I guess you dropped the plans of making a Conda package? Making a pypi or Conda package is on my todo list, but I haven't quite gotten around to it yet. Psi4 is optional for ESPsim, maybe I'll make a slim version without psi4 in the future

Thanks @hesther. Indeed psi4 is not on conda forge but it looks like it might come at some point: https://github.com/psi4/psi4/issues/2300
For now, I have just closed the feedstock PR but I am fine reopening it whenever you have a released version of espsim without psi4 as a hard dep. The alternative is just to wait to get the psi4 package on conda forge.
(feel free to close here if relevant)
thanks

Nothing blocking for me. Thanks again.

hi @hadim, seems like the psi4 issue was resolved (I think?), would you still be interested in making a conda package? I think a couple of users are waiting for one, but I currently don't have time to do it myself unfortunately (but happy to help).

Indeed psi4 is now on cf. I would be able to but not before early September!

No rush at all, if you every find time I would be very glad to not have to do it on my own :)

I will make a draft PR on stage-recipes but to move forward I will need you to add a git tag to this repo.
Then we'll have to wait for https://github.com/conda-forge/libint-feedstock/issues/21 to be resolved.

Draft PR at https://github.com/conda-forge/staged-recipes/pull/23732

Thanks for the quick help! Here's a tag #29


Vue 3: Charts dropdown items can't be unselected

Setup

Rancher version: 2.10
Rancher UI Extensions: N/A
Browser type & version: Chrome

Describe the bug

Chart dropdown items cannot be unselected
To Reproduce

Local -> Apps -> Charts
Click "All" dropdown
Try unselecting any item

Result
Nothing happens
Expected Result

Clicked item should be unselected
Screenshots

https://github.com/user-attachments/assets/e33650dd-66e0-49e5-bfba-b7913a49b452
Additional context

Validated on Rancher version: v2.10-5d66d49d7a72b4c439a33043007e9bb0223c8693-head
UI: master cf8c6d1
This isn't reproducible in this version. The dropdown items get unselected and properly filtered from the Charts.


Remove contextify from dependencies

npm install --save-dev node-jsdom

<EMAIL_ADDRESS>install C:\Users\User\ProjectName\node_modules\contextify
node-gyp rebuild

C:\Users\User\ProjectName\node_modules\contextify>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
contextify.cc
win_delay_load_hook.cc
..\src\contextify.cc(150): error C2039: 'SetAccessCheckCallbacks': is not a member of 'v8::ObjectTemplate' [C:\Users\User\ProjectName\node_modules\contextify\build\contextify.vcxproj]
c:\users\andrzej.node-gyp\8.1.2\include\node\v8.h(5386): note: see declaration of 'v8::ObjectTemplate'
..\src\contextify.cc(131): warning C4996: 'v8::Function::NewInstance': was declared deprecated [C:\Users\User\ProjectName\node_modules\contextify\build\contextify.vcxproj]
c:\users\andrzej.node-gyp\8.1.2\include\node\v8.h(3674): note: see declaration of 'v8::Function::NewInstance'
..\src\contextify.cc(182): warning C4996: 'v8::Object::GetRealNamedProperty': was declared deprecated [C:\Users\User\ProjectName\node_modules\contextify\build\contextify.vcxproj]
c:\users\andrzej.node-gyp\8.1.2\include\node\v8.h(3228): note: see declaration of 'v8::Object::GetRealNamedProperty'
..\src\contextify.cc(209): warning C4996: 'v8::Object::GetRealNamedProperty': was declared deprecated [C:\Users\User\ProjectName\node_modules\contextify\build\contextify.vcxproj]
c:\users\andrzej.node-gyp\8.1.2\include\node\v8.h(3228): note: see declaration of 'v8::Object::GetRealNamedProperty'
..\src\contextify.cc(210): warning C4996: 'v8::Object::GetRealNamedProperty': was declared deprecated [C:\Users\User\ProjectName\node_modules\contextify\build\contextify.vcxproj]
c:\users\andrzej.node-gyp\8.1.2\include\node\v8.h(3228): note: see declaration of 'v8::Object::GetRealNamedProperty'
gyp ERR! build error
gyp ERR! stack Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:125:13)
gyp ERR! stack     at ChildProcess.emit (events.js:213:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:197:12)
gyp ERR! System Windows_NT 10.0.15063
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\User\ProjectName\node_modules\contextify
gyp ERR! node -v v8.1.2
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

As of Node 0.12, Contextify has been merged into Node (thanks to @domenic), replacing the native vm module. The code has been improved on since then, so if at all possible, you should use a newer Node and the native vm module. Note that newer versions of JSDOM no longer depend on Contextify.
https://www.npmjs.com/package/contextify

I'm unable to install node-jsdom because of this. Is there some kind of workaround at the moment?

@tortilaman See: https://www.npmjs.com/package/jsdom-no-contextify


chore: update to substrait 0.47.0

feat(pojo): wire in PrecisionTimestamp and PrecisionTimestampTZ
BREAKING CHANGE: ParameterizedTypeVisitor has new visit methods
BREAKING CHANGE: TypeExpressionVisitor has new visit methods
BREAKING CHANGE: TypeVisitor has new visit methods
BREAKING CHANGE: BaseProtoTypes has new visit methods

The changes in this PR allows substrait-java to handle the precision_timestamp and precision_timestamp_tz. They do not wire these types in to Isthmus yet. That is left as future work https://github.com/substrait-io/substrait-java/issues/246, but this works was needed to allow extensions containing those types to be read into the system.

See https://github.com/substrait-io/substrait-java/pull/250


Fragment loses reactivity when using HDE

There is a bug in the hyper dom expression runtime where sometimes it loses reactivity after one update.
In my example I use a context, but I am not sure if it can be reproduced in a different way.
Example
This is strange because as I understand the array is wrapped by h.Fragment

Yeah it is an odd one. It has to do with wrapping and unwrapping of h functions which is why we don't see this in other versions.. Like if I change the render callto render(Context(), document.body) it works but other variations don't. What's happening is the Nested Component is getting prematurely released. I'm pretty sure this is related to the change I made a few versions back to properly handle parent child execution order,.. but there is still a bug here.

Hi @ryansolid, any way to fix it or get around that bug?


In non-interactive install mode, a time sync daemon not existing will…

… not prevent install from proceeding.

For a test, try taking out the NTP setup inside the docker container and see if your solution still works.  We may not need to remove ntpupdate in the container.  Maybe get some extra feedback from Luca on what he needs for this ticket also

This needs some docker updates too. If the time sync daemon is not needed, then it shouldn't be setup inside the docker image. We should merge my Docker setup before you can finish this ticket. It will need to be tested using the Docker image with no NTP also. Thanks!

In general, having a time sync daemon is still recommended/needed.  In special cases, like running containers in ECS where it seems running ntpd (as root) is not allowed, this fix allows the install to proceed.  With the caveat that time syncing is handled within ECS itself.


feat: add max speed & speed histogram to drive stats

I have implemented long term statistics about maximum speed and a speed histogram (already known from "Drive Details" dashboard).
Imho a good place for that kind of statistics is the "Drive Stats" dashboard.
For speed histogram I added a "hack" to hide standing times (speed == 0) at traffic lights or while parking -> see last WHERE condition. Otherwise the bar/spike at the left side of histogram would be even bigger.
SELECT
    speed_section_$length_unit AS "Speed",
    SUM(seconds_elapsed) * 100 / MAX(duration) as "Elapsed",
    TO_CHAR((SUM(seconds_elapsed) || ' second')::interval, 'HH24:MI:SS') AS "Time"
FROM (
    SELECT
        ROUND(convert_km(p.speed::numeric, '$length_unit') / 10,0) * 10 AS speed_section_$length_unit,
        EXTRACT(EPOCH FROM (LEAD(p."date") OVER (ORDER BY p."date") - p."date")) AS seconds_elapsed,
        EXTRACT(EPOCH FROM (end_date - start_date)) AS duration
    FROM drives d
    INNER JOIN positions p ON p.drive_id = d.id
    WHERE d.car_id = $car_id AND $__timeFilter(d.start_date)
) AS drivedata
WHERE speed_section_$length_unit > 0
GROUP BY 1
ORDER BY 1

See screenshot for more details:

Hi @js94x - thanks for this suggestions. to ensure dashboards & panels are loading quick could you add an explain analyze for the query mentioned to see index usage & query execution time?

Hi @swiffer ,
sure, I just added explain analyze in front of the whole query and issued the query on psql CLI, find the outputs attached. fyi: I am running Teslamate on a docker host with 4 CPU cores &  4 GB RAM.
max speed query
teslamate=# explain analyze SELECT max(speed) AS speed_kmh
FROM positions
WHERE car_id = '1' AND date BETWEEN '2023-10-09T20:20:50.849Z' AND '2024-10-09T20:20:50.849Z';
                                                                                QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Finalize Aggregate  (cost=39555.95..39555.96 rows=1 width=2) (actual time=119.718..123.784 rows=1 loops=1)
   ->  Gather  (cost=39555.73..39555.94 rows=2 width=2) (actual time=119.612..123.776 rows=3 loops=1)
         Workers Planned: 2
         Workers Launched: 2
         ->  Partial Aggregate  (cost=38555.73..38555.74 rows=1 width=2) (actual time=109.068..109.069 rows=1 loops=3)
               ->  Parallel Seq Scan on positions  (cost=0.00..36665.64 rows=756037 width=2) (actual time=0.008..87.262 rows=604294 loops=3)
                     Filter: ((date >= '2023-10-09 20:20:50.849'::timestamp without time zone) AND (date <= '2024-10-09 20:20:50.849'::timestamp without time zone) AND (car_id = '1'::smallint))
 Planning Time: 0.323 ms
 Execution Time: 123.813 ms
(9 rows)

histogram query
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Sort  (cost=207701.97..207702.47 rows=200 width=96) (actual time=3389.331..3389.333 rows=20 loops=1)
   Sort Key: drivedata.speed_section_km
   Sort Method: quicksort  Memory: 26kB
   ->  HashAggregate  (cost=207687.83..207694.33 rows=200 width=96) (actual time=3389.295..3389.320 rows=20 loops=1)
         Group Key: drivedata.speed_section_km
         Batches: 1  Memory Usage: 48kB
         ->  Subquery Scan on drivedata  (cost=0.72..203151.61 rows=604829 width=96) (actual time=10.814..3013.453 rows=1697374 loops=1)
               Filter: (drivedata.speed_section_km > '0'::numeric)
               Rows Removed by Filter: 85841
               ->  WindowAgg  (cost=0.72..180470.51 rows=1814488 width=104) (actual time=10.806..2883.487 rows=1783215 loops=1)
                     ->  Nested Loop  (cost=0.72..116963.43 rows=1814488 width=26) (actual time=10.784..1254.866 rows=1783215 loops=1)
                           ->  Index Scan using positions_date_index on positions p  (cost=0.43..71381.04 rows=1814488 width=14) (actual time=0.014..611.027 rows=1812882 loops=1)
                           ->  Memoize  (cost=0.29..0.31 rows=1 width=20) (actual time=0.000..0.000 rows=1 loops=1812882)
                                 Cache Key: p.drive_id
                                 Cache Mode: logical
                                 Hits: 1811893  Misses: 989  Evictions: 0  Overflows: 0  Memory Usage: 116kB
                                 ->  Index Scan using trips_pkey on drives d  (cost=0.28..0.30 rows=1 width=20) (actual time=0.002..0.002 rows=1 loops=989)
                                       Index Cond: (id = p.drive_id)
                                       Filter: ((start_date >= '2023-10-09 20:16:27.717'::timestamp without time zone) AND (start_date <= '2024-10-09 20:16:27.717'::timestamp without time zone) AND (car_id = '1'::smallint))
 Planning Time: 0.388 ms
 JIT:
   Functions: 24
   Options: Inlining false, Optimization false, Expressions true, Deforming true
   Timing: Generation 0.995 ms, Inlining 0.000 ms, Optimization 0.439 ms, Emission 10.316 ms, Total 11.751 ms
 Execution Time: 3390.428 ms
(25 rows)

I made a fix to the query to display real percentage values and changed color to a static one.

New query:
query

WITH TotalDuration AS (
    SELECT
        SUM(seconds_elapsed) AS total_elapsed_time
    FROM (
        SELECT
            ROUND(convert_km(p.speed::numeric, '$length_unit') / 10, 0) * 10 AS speed_section_$length_unit,
            EXTRACT(EPOCH FROM (LEAD(p."date") OVER (ORDER BY p."date") - p."date")) AS seconds_elapsed
        FROM drives d
        INNER JOIN positions p ON p.drive_id = d.id
        WHERE d.car_id = $car_id AND $__timeFilter(d.start_date)
    ) AS drivedata
    WHERE speed_section_$length_unit > 0
)
SELECT
    speed_section_$length_unit AS "Speed",
    SUM(seconds_elapsed) * 100 / (SELECT total_elapsed_time FROM TotalDuration) AS "Elapsed",  -- Normalized percentage
    TO_CHAR((SUM(seconds_elapsed) || ' second')::interval, 'HH24:MI:SS') AS "Time"
FROM (
    SELECT
        ROUND(convert_km(p.speed::numeric, '$length_unit') / 10, 0) * 10 AS speed_section_$length_unit,
        EXTRACT(EPOCH FROM (LEAD(p."date") OVER (ORDER BY p."date") - p."date")) AS seconds_elapsed,
        EXTRACT(EPOCH FROM (end_date - start_date)) AS duration
    FROM drives d
    INNER JOIN positions p ON p.drive_id = d.id
    WHERE d.car_id = $car_id AND $__timeFilter(d.start_date)
) AS drivedata
WHERE speed_section_$length_unit > 0
GROUP BY 1
ORDER BY 1

Unfortunately the overall query time increased a bit (checked with explain analyze). @swiffer I saw you tuned some queries here https://github.com/teslamate-org/teslamate/pull/4252, maybe you can give me a hint how to optimize my speed histogram query?

Just changed the query again (after asked chatgpt to optimize it); now it is much shorter and results in better performance.
WITH drivedata AS (
    SELECT
        ROUND(convert_km(p.speed::numeric, '$length_unit') / 10, 0) * 10 AS speed_section_$length_unit,
        EXTRACT(EPOCH FROM (LEAD(p."date") OVER (ORDER BY p."date") - p."date")) AS seconds_elapsed
    FROM drives d
    INNER JOIN positions p ON p.drive_id = d.id
    WHERE d.car_id = $car_id AND $__timeFilter(d.start_date)
),
TotalDuration AS (
    SELECT SUM(seconds_elapsed) AS total_elapsed_time
    FROM drivedata
    WHERE speed_section_$length_unit > 0
)
SELECT
    speed_section_$length_unit AS "Speed",
    SUM(seconds_elapsed) * 100 / (SELECT total_elapsed_time FROM TotalDuration) AS "Elapsed",
    TO_CHAR((SUM(seconds_elapsed) || ' second')::interval, 'HH24:MI:SS') AS "Time"
FROM drivedata
WHERE speed_section_$length_unit > 0
GROUP BY speed_section_$length_unit
ORDER BY speed_section_$length_unit;

explain analyze

                                                                                QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Sort  (cost=257600.42..257600.92 rows=200 width=96) (actual time=3958.840..3958.844 rows=20 loops=1)
   Sort Key: drivedata.speed_section_km
   Sort Method: quicksort  Memory: 26kB
   CTE drivedata
     ->  WindowAgg  (cost=0.72..171398.07 rows=1814488 width=72) (actual time=11.939..2646.071 rows=1783215 loops=1)
           ->  Nested Loop  (cost=0.72..116963.43 rows=1814488 width=10) (actual time=11.921..1248.612 rows=1783215 loops=1)
                 ->  Index Scan using positions_date_index on positions p  (cost=0.43..71381.04 rows=1814488 width=14) (actual time=0.019..616.673 rows=1812882 loops=1)
                 ->  Memoize  (cost=0.29..0.31 rows=1 width=4) (actual time=0.000..0.000 rows=1 loops=1812882)
                       Cache Key: p.drive_id
                       Cache Mode: logical
                       Hits: 1811893  Misses: 989  Evictions: 0  Overflows: 0  Memory Usage: 101kB
                       ->  Index Scan using trips_pkey on drives d  (cost=0.28..0.30 rows=1 width=4) (actual time=0.002..0.002 rows=1 loops=989)
                             Index Cond: (id = p.drive_id)
                             Filter: ((start_date >= '2023-10-10 05:09:50.766'::timestamp without time zone) AND (start_date <= '2024-10-10 05:09:50.766'::timestamp without time zone) AND (car_id = '1'::smallint))
   InitPlan 2 (returns $2)
     ->  Aggregate  (cost=42338.06..42338.07 rows=1 width=32) (actual time=349.595..349.595 rows=1 loops=1)
           ->  CTE Scan on drivedata drivedata_1  (cost=0.00..40825.98 rows=604829 width=32) (actual time=0.018..230.080 rows=1697374 loops=1)
                 Filter: (speed_section_km > '0'::numeric)
                 Rows Removed by Filter: 85841
   ->  HashAggregate  (cost=43850.12..43856.62 rows=200 width=96) (actual time=3958.802..3958.830 rows=20 loops=1)
         Group Key: drivedata.speed_section_km
         Batches: 1  Memory Usage: 48kB
         ->  CTE Scan on drivedata  (cost=0.00..40825.98 rows=604829 width=64) (actual time=11.950..3226.430 rows=1697374 loops=1)
               Filter: (speed_section_km > '0'::numeric)
               Rows Removed by Filter: 85841
 Planning Time: 0.385 ms
 JIT:
   Functions: 32
   Options: Inlining false, Optimization false, Expressions true, Deforming true
   Timing: Generation 1.010 ms, Inlining 0.000 ms, Optimization 0.453 ms, Emission 11.505 ms, Total 12.969 ms
 Execution Time: 3964.892 ms
(31 rows)

@js94x - yes, the query provided by chatgpt is better cause within yours the positions are queried twice.
Basically, right now there are some rules to follow

querying from positions is expensive as this table is 98% of all collected data

there are indexes for car, drive and date that help improving query time (if only looking for detailed data per drive / car / short period)
if accurate data is needed (Streaming API / High Resolution) there is no other way to processing the data the way you currently do
you could add a condition that excludes Streaming API data (adding ideal_battery_range IS NULL) and therefore is way faster (but less accurate) - the index needed is in master but not yet released

I opened a discussion to evaluate TimescaleDB instead of PostgreSQL - this hopefully results in better performance and adds additional possibilities (continous aggregates / new time series related functions / ...).
if excluding streaming data - query exec time is ~36 times faster in my case
WITH drivedata AS (
    SELECT
        ROUND(convert_km(p.speed::numeric, 'km') / 10, 0) * 10 AS speed_section_km,
        EXTRACT(EPOCH FROM (LEAD(p."date") OVER (ORDER BY p."date") - p."date")) AS seconds_elapsed
    from positions p
    WHERE p.car_id = '2' AND p.date > '2023-10-12' and p.ideal_battery_range_km is not null
),
TotalDuration AS (
    SELECT SUM(seconds_elapsed) AS total_elapsed_time
    FROM drivedata
    WHERE speed_section_km > 0
)
SELECT
    speed_section_km AS "Speed",
    SUM(seconds_elapsed) * 100 / (SELECT total_elapsed_time FROM TotalDuration) AS "Elapsed",
    TO_CHAR((SUM(seconds_elapsed) || ' second')::interval, 'HH24:MI:SS') AS "Time"
FROM drivedata
WHERE speed_section_km > 0
GROUP BY speed_section_km
ORDER BY speed_section_km;

Thanks. I understand your concerns / rules.

you could add a condition that excludes Streaming API data (adding ideal_battery_range IS NULL) and therefore is way faster (but less accurate) - the index needed is in master but not yet released

Sounds like a good compromise. I currently do not plan to clone my database, switch all docker images to master branch and test the new column. So, would it possible for you to run both queries in psql with your data?
One query with p.ideal_battery_range_km is not null and the other without? Just to see how much both results differ in terms of accurancy.

you can validate using your dataset (simply add / remove the additional query condition in your drivedata CTE  and p.ideal_battery_range_km is not null).
you can expect the query incl. the condition to be ~ 30x faster once the next release is out.
we've only added the index, the column and data is already there.

At my first try I got an error like column p.ideal_battery_range_km not found, this was the reason why I asked you to check for me. I´m a bit puzzled why it works now. I probably had a typo or something similar the first time i tried it.

Most of data is looking fine for me, so I will add the suggest when condition to the sql query soon.
But nevertheless, I can not explain why the bars at 30 and 120kmh has been swapped 😄

@swiffer what do you think about this PR after your changes?

values do differ (incl. vs excl. streaming data) - i would vote for dashboard loading speed over accuracy in this case.

is the graph still colorized? that would bring it in line with drive details speed histrogram.
please use "Speed Histogram ($speed_unit)" as panel title to bring it in line with Drive Details.

thanks @swiffer for the feedback. I agree and changed both little things.
final version:

👍 looks good to me, approved

Missing convert_km()s for mph units and speed_mih should be speed_mph imo


Select2 plugin issue with webui popover

select2 plugin for select input is not working properly inside popover.
example link is https://jsfiddle.net/incredible_asif/ayhL1xzs/2/

In the example, you are setting the content to the html code in the div. so this new html copied is not initialized with select2.
Here is the correct version https://jsfiddle.net/cr1z2jLk/ (you have to work out the z-index and size problems, but works)


Fix CircleCI error caused by GraphQL change to GraphAPI.FlaggingKind

📲 What

Add graphql-schema.json to dependency list for Apollo update script
Change type of CreateFlaggingInput from GraphAPI.FlaggingKind to GraphAPI.NonDeprecatedFlaggingKind

🤔 Why
Ingerid encountered this issue in a CircleCI build. Looks like we were running the Apollo update script on Circle, and it was making changes to GraphAPI.swift which broke her build. This fixes both the change to the schema, as well as makes sure that future updates to the schema will correctly cause a re-run of the Apollo build script.

          1 Warning

:warning:
Big PR

  Generated by :no_entry_sign: Danger


Thus this is an ongoing effort to make lutris free of any unfree stuff, bit by bit.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Help welcome!

@abbradar you are awesome, thank you!


NULL arithmetic operations (SQLLOGICTEST #2)

Second file select2.test designed to check, how database works with NULL values. There is a problem, because of difference in how SQL and JavaScript work with null (or undefined) values.

I wil add NaN guard to convert NaN to undefined and additional NULL checking:
function und(s,r) {
	return '(y='+s+',typeof y=="undefined"?undefined:'+r+')'
}

function n2u(s) {
	return '(y='+s+',y===y?y:undefined)'
}

Plus everywhere in the functions generation we need to add var y declaration.

Fixed iWill be available in version 0.1.7 soon

AlaSQL passes 97% SLT tests on NULL operations.


How to correctly use updateDocumentWithID?

I've defined a method stub where I'd like to update the count field optimistically and use latency compensation.
NSUinteger count = 10;
// define stub
[Meteor defineStubForMethodWithName:@"createNote" usingBlock:^id(NSArray *parameters) {
            NSString *documentId = [parameters objectAtIndex:1]; // temporary
           [Meteor.database collectionWithName:@"notes"] updateDocumentWithID:documentId changedFields:@{ @"count" : @(count+1)}];
            return nil;
        }];

// call the method
[Meteor callMethodWithName:@"createNote" parameters:parameters completionHandler:nil];

The stub correctly called and the update is correctly updated locally. However, once the method completes and is returned from the server, another update notification is sent and the count field is overridden with the previous value despite the method return not sending any fields. Is this the correct behavior? How can I update a document locally without it being overridden (unless the document is changed from the server - which in this case it isn't).
Also, trying to call updateDocumentWithID outside of a defineStubForMethodWithName block returns:

2017-05-19 15:59:16.283304-0700 EPop-Debug[23907:7676327] message {
    error =     {
        error = 404;
        errorType = "Meteor.Error";
        message = "Method '/collectionName/update' not found [404]";
        reason = "Method '/collectionName/update' not found";
    };
    id = E88igbFFzscAxn9mq;
    msg = result;
}

Yes, that is expected behavior. Optimistic updates are always completely rolled back after a server response, because the server is the single source of truth. If you want to update count permanently, you should add the same logic to the server-side createNote method.

Gotcha, that makes sense. In our case, while the server does update the
count, it's not a reactive update which is why it's restored. Using
performUpdatesInLocalCache looks to be the solution we need in this case.
Since we know if the server succeeds, we can make the change locally
without having the server make this field reactive.
On Sat, May 20, 2017 at 7:09 AM, Martijn Walraven<EMAIL_ADDRESS>wrote:

Yes, that is expected behavior. Optimistic updates are always completely
rolled back after a server response, because the server is the single
source of truth. If you want to update count permanently, you should add
the same logic to the server-side createNote method.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/martijnwalraven/meteor-ios/issues/120#issuecomment-302875420,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAMddxMQt7x5BXEIE4gyaJtl4V_NZ0quks5r7vQPgaJpZM4NhF--
.

--
Seth Sandler

Blog: sethsandler.com
Twitter: www.twitter.com/sethsandler
Linkedin: http://www.linkedin.com/in/sethsandler
Skype: sethsandler


feat(HMS-2022): Show DNS column only if public_dns(s) are not empty

for GCP and Azure public DNS are not defined, this PR exposes the DNS column only if at least one launched instance has a public DNS defined.

Looks sane, I wonder if users won't get confused about missing column (thinking that it's broken thus missing), but I guess that should be understandable, especially given this is just quick info, long term we want Users to look for info in the inventory, right? Did you think about that, what do you think?

I think it is a temporary fix, seeing an empty column does not make much sense IMO, so I think this solution is good for now.


UI - Explore view flashes for a second before “My Assistants” view is presented on UI launch.

gptscript version v0.0.0-dev+160a7334
Steps to reproduce the problem:

Launch UI -  DISABLE_CACHE=true GATEWAY_URL=https://gateway-api.gptscript.ai gptscript --ui --disable-cache
Notice that the Explore view flashes for a second before “My Assistants” view is presented .

This screen is completely overhauled. Can you give it another look? @sangee2004

When Electron app is launched now , we are taken to the chat view.
When accessing build ,  My Assistants view is presented and there is no glitch .
Closing this issue.


add license

it's a very interesting project!
Would you consider adding a license to this repository to specify under which terms this code can be used?

Thanks, @SkyBulk. I will definitely look into adding a license.

Done


Analytics: Click events to be aware of

Some notes for when we revisit analytics:
The 'hello' icon in the header navigation
The language icon in the header navigation
Social media icons
West Kowloon logo
M+ Stories logo
Social media module on homepage
Share icons on individual pages
Share URLs on individual pages
Newsletter signup submission buttons
...

CC @arnasziedavicius for some context on items that we're thinking about tracking through GTM.

Hi @dianewang @chrismplus, thanks for sharing this with me, sheds a bit more light into what you want to get out of GTM.
All these items listed can be tracked as different types of events in GTM. I've identified two events that would need a dynamic value brought back to GTM and require manual integration, those were the following:

The language icon in the header navigation (with language value)
Share icons on individual pages/Share URLs on individual pages (with page title value)

The rest don't ask for any value brought back and and could be setup through GTM alone as per this video example: https://youtu.be/lDMlw8CLgvA
Testing should be possible once my PR is reviewed and the changes are on staging.


Update workflows

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

Project coverage is 100.00%. Comparing base (1534f65) to head (8b51274).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #113   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           34        34
  Lines          764       764
  Branches        33        33
=========================================
  Hits           764       764

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


[Tokenomics] Fix zero app stake chain halt

Summary
This PR prevents chain halts when the Application stake is 0
Issue
The following error happens because application stake fell to 0.
poktrolld 4:53PM INF claim does not require proof due to compute units (5) being less than the threshold (20) and random sample (0.84) being greater than probability (0.25) method=proofRequirementForClaim module=server
poktrolld 4:53PM WRN Claim by supplier pokt1jvsuszgvsjyp4lxnfxqmrf7lqh4jutplcw8wx7 EXCEEDS LIMITS for application pokt1gsufws4c5dhemd0z3njfh859xl0624xyyw5m87. Max claimable amount < Claim amount: 0upokt < 210 application=pokt1gsufws4c5dhemd0z3njfh859xl0624xyyw5m87 claim_settlement_upokt=210 helper=ensureClaimAmountLimits method=ProcessTokenLogicModules module=x/tokenomics num_relays=5 service_id=0021 session_id=084deab39f3d7ff81426853ea186561e8ac1746987cf55edea22a98eff35e775 supplier_operator=pokt1jvsuszgvsjyp4lxnfxqmrf7lqh4jutplcw8wx7
poktrolld 4:53PM INF About to start processing TLMs for (5) relays, equal to (0upokt) claimed actual_settlement_upokt=0upokt application=pokt1gsufws4c5dhemd0z3njfh859xl0624xyyw5m87 claim_settlement_upokt=210 method=ProcessTokenLogicModules module=x/tokenomics num_relays=5 service_id=0021 session_id=084deab39f3d7ff81426853ea186561e8ac1746987cf55edea22a98eff35e775 supplier_operator=pokt1jvsuszgvsjyp4lxnfxqmrf7lqh4jutplcw8wx7
poktrolld 4:53PM INF Starting TLM processing: "TLMGlobalMint" actual_settlement_upokt=0upokt application=pokt1gsufws4c5dhemd0z3njfh859xl0624xyyw5m87 claim_settlement_upokt=210 method=ProcessTokenLogicModules module=x/tokenomics num_relays=5 service_id=0021 session_id=084deab39f3d7ff81426853ea186561e8ac1746987cf55edea22a98eff35e775 supplier_operator=pokt1jvsuszgvsjyp4lxnfxqmrf7lqh4jutplcw8wx7
poktrolld 4:53PM ERR error processing token logic modules for claim "084deab39f3d7ff81426853ea186561e8ac1746987cf55edea22a98eff35e775": TLM "TLMGlobalMint": mint amount cannot be zero: failed to process TLM [/go/pkg/mod/cosmossdk.io/errors@v1.0.1/errors.go:155] module=server num_claim_compute_units=5 num_relays_in_session_tree=5 proof_requirement=NOT_REQUIRED session_id=084deab39f3d7ff81426853ea186561e8ac1746987cf55edea22a98eff35e775 supplier_operator_address=pokt1jvsuszgvsjyp4lxnfxqmrf7lqh4jutplcw8wx7
poktrolld 4:53PM ERR could not settle pending claims due to error TLM "TLMGlobalMint": mint amount cannot be zero: failed to process TLM [/go/pkg/mod/cosmossdk.io/errors@v1.0.1/errors.go:155] method=EndBlocker module=x/tokenomics

Type of change
Select one or more from the following:

[ ] New feature, functionality or library
[ ] Consensus breaking; add the consensus-breaking label if so. See #791 for details
[x] Bug fix
[ ] Code health or cleanup
[ ] Documentation
[ ] Other (specify)

Testing

[x] Unit Tests: make go_develop_and_test
[x] LocalNet E2E Tests: make test_e2e
[ ] DevNet E2E Tests: Add the devnet-test-e2e label to the PR.

Sanity Checklist

[x] I have tested my changes using the available tooling
[ ] I have commented my code
[x] I have performed a self-review of my own code; both comments & source code
[ ] I create and reference any new tickets, if applicable
[ ] I have left TODOs throughout the codebase, if applicable

Closed as per v0.0.9-4

Hey @red-0ne, I'm running into this error while setting up a Shannon full-node following the docs. Was this fixed in v0.0.9-4? What did you do to resolve this error?

@jblewnormal You should be using v0.0.10: https://github.com/pokt-network/poktroll/releases/tag/v0.0.10.
Backwards compatibility on Alpha TestNet is not a priority right now.

@Olshansk sounds good! I'll get this updated in my PR


Add nvim-comment integration instructions

Add instructions for integrating with https://github.com/terrortylor/nvim-comment.

Thanks for the contribution!


Mentor page

Description
Mentor page styles and layout.

Created a components folder for reusable components
File structure so that functionality might be easier to add (src/features/MentorPage includes three folders, MentorCards, MentorChips and MentorSearch for the functionality of those components respectively. Styles are ready in components, except for Mentor Cards.
Tests for MentorPage, MentorCards, MentorChips and MentorSearch rendering.
Jest, Lint and Prettier ok.

Known issues that will be fixed later:

No mobile layout (needs mobile layout of the navigation)
import paths are relative, since jest can not find modules from src/components otherwise

Caveats?
Eslint disable on react/prop-types on OneContainerLayout.tsx, Chip.tsx, PageLayout.tsx and SearchBar.tsx
Jest only runs with relative paths to components folder stuff
Checklist:

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

I was pretty carefull with the commits, but I did have to make some smaller ones after I realized a few mistakes (like githooks were not working on this folder after all)

I was pretty carefull with the commits, but I did have to make some smaller ones after I realized a few mistakes (like githooks were not working on this folder after all)

Yeah, there always is extra commits. I guess you are not used interactive rebase in git? It is a easy (after few times) way to make commit-history look more nice. You can reword, squash, drop and reorganize commits. I suggest you make a local copy of this branch and try to play around with it! 😊 after a while you will get a level-up in git usage and feel more safe with it.


Updated strings.

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

Current dependencies on/for this PR:

develop

PR #3226

PR #3313   👈
PR #3312
PR #3280

PR #3287

PR #3279
PR #3271

PR #3272

PR #3255

PR #3256

PR #3270

PR #3230

PR #3246

PR #3248

This comment was auto-generated by Graphite.


(question not an issue) Helm chart available?

My organization is (attempting) to use the included k8s solution outlined in the repo for monitoring our Pure Arrays via Prometheus/grafana.  We will utilize this on a vmware Tanzu platform on a dark site where many of the networks have no internet or outside connectivity.
I am merely requesting my internal vmware tanzu admins create the container for me (the storage team) to utilize because my knowledge of Kubernetes is elementary, they are asking me to ask you, is there a helm chart either official or even an example one that can be modified available for this project?
They are telling me having a premade helm chart will make the deployment and requirements gathering for our air gapped networks much more streamlined.

@amlucent we do not have a Helm chart, but there is an example k8s simple deployment and operator provided here: https://github.com/PureStorage-OpenConnect/pure-fa-openmetrics-exporter/tree/master/examples/config/k8s
Please try this and see if it is sufficient for your admins.

@sdodsley the response I was given is not that this is not a show stopper to not have a helm chart and they will look at doing a "ytt" but for supportability into the future "it would be more for future proofing, if they start an official helm chart release schedule they will make appropriate changes as they change purityOS.... otherwise, it is always bespoke, time consuming, and fragile"
Sitting here as the middle man who just wants monitoring, could we call this a feature request?

@amlucent whilst I understand the request, you should know that the exporter code will shortly be embedded in all upcoming Purity//FA releases (around 6.6.10 I think), therefore the container will not be required for arrays running Purity//FA with the exporter embedded.
This means that there is no concern for any changes to upcoming Purity releases affecting the current container as it will only be required for existing and therefore stable Purity//FA versions.
Based on this, unfortunately, we will not be developing a helm chart as it's life span would be very short.


merging even_odd.py from fork to master

change file names. they are creating conflict. use your rollnumber or any unique number for naming

change file names. they are creating conflict. use your rollnumber or any unique number for naming


[PokemonTabletopAdventures_v3] Minor Sheet Worker Bugfix

Changes / Comments

Updates Changelog with the previous addition
Corrects the move field open/close button display value based on the field state

Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[x] Does the pull request title have the sheet name(s)? Include each sheet name.
[x] Is this a bug fix?

Character Sheet Info Roll20 Internal Use only.


Hive not connecting

Im mining this with win pc and few rigs with hive os. Win+wildrig works fine but with HIVE cant connect to any given stratum/url. xmrig is acting up in hive too even it works great with win. thanks

I'm sorry for the delay in answering your message, did you finally manage to solve it?


Arrow format support

This PR includes:
Addressed review comments.
Removed common subfolder and unwanted classes from util package
Added new integration test cases.
Next PR changes:
we are working on version changes and spotless plugin issues in the next PR.

Addressed


A predicate to exclude a certain socket

[x] Add ServerSocketPredicate exclude(ServerSocket socket) to ServerSocketPredicates.
[x] Add ServerSocketPredicate exclude(String id) to ServerSocketPredicates.

It returns a predicate that excludes the given socket or socket id.
As is
server.find(skt -> !socket.id().equals(skt.id())).send("chat", msg);

To be
server.find(ServerSocketPredicates.exclude(skt)).send("chat", msg);

The counterpart i.e. include to include certain sockets to a selection.

On second thought, it would be not possible.

I concluded to name it id since it matches well with other methods in ServerSocketPredicates class. Users can exclude a certain socket with ServerSocketPredicate#negate().
server.find(id(socket).negate()).send("chat", msg);


tv shows runtime broken

Runtime is always showing 0 only for tv shows. Works fine for movies.

This is fixed on #573


Coverity 1021705: Uninitialized pointer field

This also cleans up the Matcher class layout, such that we
cleanly initialize everything in one place.

AU check successful! https://ci.trafficserver.apache.org/job/autest-github/423/

clang format successful! https://ci.trafficserver.apache.org/job/clang-format-github/427/

RAT check successful! https://ci.trafficserver.apache.org/job/RAT-github/437/

Linux build failed! https://ci.trafficserver.apache.org/job/linux-github/2015/

FreeBSD11 build successful! https://ci.trafficserver.apache.org/job/freebsd-github/2120/

Intel CC build successful! https://ci.trafficserver.apache.org/job/icc-github/551/

clang-analyzer build successful! https://ci.trafficserver.apache.org/job/clang-analyzer-github/682/

Redoing Linux build [approve ci].

clang format successful! https://ci.trafficserver.apache.org/job/clang-format-github/438/

RAT check successful! https://ci.trafficserver.apache.org/job/RAT-github/448/

clang-analyzer build successful! https://ci.trafficserver.apache.org/job/clang-analyzer-github/693/

AU check successful! https://ci.trafficserver.apache.org/job/autest-github/436/

FreeBSD11 build successful! https://ci.trafficserver.apache.org/job/freebsd-github/2131/


simd_swizzle plays not well with type inference

I tried this code:
#![feature(portable_simd)]

use std::simd::simd_swizzle;
use std::simd::LaneCount;
use std::simd::Simd;
use std::simd::SupportedLaneCount;

struct Outer<const LANES: usize>;

impl<const LANES: usize> Outer<LANES>
where
    LaneCount<LANES>: SupportedLaneCount, // comment this line, and it compiles
{
    fn test(x: Simd<usize, 4>) {
        simd_swizzle!(x, [1, 3, 0, 2]);
    }
}

I expected to see this happen: it compiles
Instead, this happened: it doesn't compile
error[E0308]: mismatched types
  --> src/main.rs:15:23
   |
15 |         simd_swizzle!(x, [1, 3, 0, 2]);
   |         --------------^---------------
   |         |             |
   |         |             expected `LANES`, found `4_usize`
   |         arguments to this function are incorrect
   |
   = note: expected struct `Simd<_, LANES>`
              found struct `Simd<usize, 4_usize>`
note: associated function defined here
  --> /home/usamoi/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/../../portable-simd/crates/core_simd/src/swizzle.rs:90:8
   |
90 |     fn swizzle<T>(vector: Simd<T, INPUT_LANES>) -> Simd<T, OUTPUT_LANES>
   |        ^^^^^^^

For more information about this error, try `rustc --explain E0308`.

Meta
rustc --version --verbose:
rustc 1.64.0-nightly (1c7b36d4d 2022-07-12)
binary: rustc
commit-hash: 1c7b36d4db582cb47513a6c7176baaec1c3346ab
commit-date: 2022-07-12
host: x86_64-unknown-linux-gnu
release: 1.64.0-nightly
LLVM version: 14.0.6

The more I look at this, the more I'm realizing this is probably an edge case of the compiler inference rules.  LANES has nothing to do with the swizzle, yet the compiler is still selecting it as the expected vector width.
Here's a pared-down example that exhibits the same error, but without any swizzles at all:
#![feature(portable_simd)]

use std::simd::{Simd, SimdElement, LaneCount, SupportedLaneCount};

struct Outer<const UNRELATED_LANES: usize>;

impl<const UNRELATED_LANES: usize> Outer<UNRELATED_LANES>
where
    LaneCount<UNRELATED_LANES>: SupportedLaneCount, // comment this line, and it compiles
{
    fn test(x: Simd<usize, 4>) {
        fn foo<T, const LANES: usize>(x: Simd<T, LANES>)
        where
            T: std::simd::SimdElement,
            LaneCount<LANES>: SupportedLaneCount,
        {
            unimplemented!()
        }
        foo(x);
    }
}


mixedMultipart Entity Decoder use too much memory

Hi,
I'm using mixedMultipart to decode multipart request with large file inside. I set mixedMultipart that after 13MB have to switch deconding on temp file and not in ram. The problem is that seems not working. My http4s use too much memory until it crash definitively.
This is the code I use
        import scala.concurrent.ExecutionContext.Implicits.global
        val blocker = Blocker.liftExecutionContext(global)
        for {
          res <- req.decodeWith(mixedMultipart(blocker, 1024, maxSizeBeforeWrite), false) { multipart =>
            multipart.parts.find(_.name.contains("document")) match {
              case None => error.handleErrorResponse(BadInput("No metadata founds for request", ErrorResponseCodeObject.INPUT_JSON_UNDEF, internal = false))
              case Some(document) => {
                for {
                  doc <- parseRequest[InsertDocumentRequest](document.body)
                  _ <- ZIO.fromOption(req.contentLength).mapError(er => BadInput("No lenght defined", ErrorResponseCodeObject.INPUT_JSON_UNDEF, internal = false))
                  (ref, signal, drop) <- SSEImplementation.createProgressBar(InsertDocumentSSEValues())
                  _ <- insertDocumentStreaming(doc, req.headers, None, multipart.parts.filterNot(_.name.contains("document")), ref).fork
                  stream <- Ok(SSEImplementation.createStreamProgressBar(ref, signal, drop).covary[UserTask], Header("Content-Type", "text/event-stream"), Header("Transfer-Encoding", "gzip,deflate"), Header("Connection", "keep-alive"), Header("Cache-Control", "no-cache"))(Applicative[UserTask], serverEventEncoder[UserTask])
                } yield stream
              }
            }
          }
        } yield res`

Sending a file of 1GB, this is the result:

<img width="1099" alt="Screenshot 2021-01-11 at 12 17 02" src="https://user-images.githubusercontent.com/26717499/104175080-fa407f80-5406-11eb-8fd0-41dfbead8dd0.png">

maxSizeBeforeWrite by default is 50MB but viewing on code, this value is compared with a variable named limitCTR. This values seems to have a max value equals to 64KB so the condition on standard value never happens. If i use a maxSizeBeforeWrite < 64kb the memory usage doesn't change. If I set maxSizeBeforeWrite with vale <= 0, seems that code goes in loop

maxSizeBeforeWrite by default is 50MB but viewing on code, this value is compared with a variable named limitCTR. This values seems to have a max value equals to 64KB so the condition on standard value never happens. If i use a maxSizeBeforeWrite < 64kb the memory usage doesn't change. If I set maxSizeBeforeWrite with vale <= 0, seems that code goes in loop


Fix bug where speculation corrupts when no queue provided at start

I noticed a bug that after few moves, CC2 returns a suggestion message with no moves. (moves.length = 0)
When the piece queue was empty at the start message, CC2 delays the execution of bot.start().
After the first new_piece message, it will append the first piece to the queue and continue starting up.
But this causes a problem if seven_bag randomizer is used because this does not remove the first piece from bag_state. This state is invalid and makes speculation corrupted.
This PR fixes this bug by modifying the code to remove the first piece from bag_state correctly.
(Sorry if my English is unclear)

Ah, nice catch!


Build Phase Benchmarks

This patch introduces benchmark execution to the jobs in the build stage.

Closing this PR due travis-ci/travis-ci#4192 - the benchmark simply causes the container build to exhaust its memory.


Translate whole folder of JournalEntries

Before starting the translation, let the user know how many characters would be translated so that they could choose not to continue.

+1
A translation exceeded somehow my 500.000 characters per month which resulted in a "failed to fetch". Now I used up a whole month of characters but got nothing translated :(


Information

How I can use BaseItemBuilder?

You don't really use the BaseItemBuilder directly, all ItemBuilders extend it already.


Can not switch on this plugin in the configuration pane

After updating to version 0.14.1, I got the following error messages whenever trying to switch on the plugin. As a result, I cannot use it anymore.
app.js:1 Plugin failure: obsidian-advanced-slides TypeError: a is not a constructor
    at e.<anonymous> (app.js:1)
    at app.js:1
    at Object.next (app.js:1)
    at s (app.js:1)

This is fixed with 0.14.2
There was a corrupt dependency i've used, rolled back to a stable state and locked all dependencies for now.