Added support for building original_dst clusters

Release note:
Added function buildOriginalDSTCluster for building Envoy clusters of original_dst type.
See Envoy's documentation regarding original_dst type clusters : https://lyft.github.io/envoy/docs/configuration/cluster_manager/cluster.html

An example usage:
cluster := buildOriginalDSTCluster("original-dst-cluster", mesh.ConnectTimeout)

@vadimeisenbergibm: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-presubmit.sh
074b86f80aae87fe90f3ae4a35e9c6ce88878dda
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@vadimeisenbergibm: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-presubmit.sh
0941442cc74e26e525c4e124b3e1daca73eb1902
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@vadimeisenbergibm: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-presubmit.sh
bc89c9454a52641aaa5aee3dcd8c55eecfab1ee3
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

thanks ! can you update the description explaining a bit what this does/how it's used/...
you can try a ```release-note block to to include items in release notes

@ldemailly done, please see the updated release note.

ty vadim!

To confirm: the upstream clusters will call the sds ? If yes, with what parameters - the IP:port ?
If not - it will not work with raw VMs, we should document that :-(
It's a great feature - but may need additional improvements, like ability to define a 'template'
or 'default' listener so we can add mixer/auth/etc. With that and making sure SDS is called - it
would simplify our config quite a bit.

@costinm please note that it is just a package-internal function to build original_dst_cluster. It is up to other functions in the package to implement meaningful functionality on top of it.
I will submit a PR soon that will enable external HTTP traffic to go thru a sidecar envoy using original_dst_cluster, according to egress-rules.

There is no sds in orig_dst clusters. Calls go to the destination (ip port)
requested in the request. Nothing in the proxy code is platform dependent.
On Tue, Aug 29, 2017 at 11:50 AM Vadim Eisenberg<EMAIL_ADDRESS>wrote:

@costinm https://github.com/costinm please note that it is just a
package-internal function to build original_dst_cluster. It is up to other
functions in the package to implement meaningful functionality on top of it.
I will submit a PR soon that will enable external HTTP traffic to go thru
a sidecar envoy using original_dst_cluster, according to egress-rules.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/istio/pilot/pull/1051#issuecomment-325708001, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH0qd3Pk3P0sHGEaIQ_xbYCkrXHr-uRaks5sdDNcgaJpZM4O6NcX
.

--
~shriram

If it can't call mixer, and can't use SDS  - is it worth it, compared with
simply setting the cluster CIDR
and letting it go directly ? There is overhead on bringing it to userspace
and back - what are the
benefits ?
I'm actually very excited about the idea in general.
On Tue, Aug 29, 2017 at 7:19 PM, Shriram Rajagopalan <
<EMAIL_ADDRESS>wrote:

There is no sds in orig_dst clusters. Calls go to the destination (ip port)
requested in the request. Nothing in the proxy code is platform dependent.
On Tue, Aug 29, 2017 at 11:50 AM Vadim Eisenberg<EMAIL_ADDRESS>
wrote:

@costinm https://github.com/costinm please note that it is just a
package-internal function to build original_dst_cluster. It is up to
other
functions in the package to implement meaningful functionality on top of
it.
I will submit a PR soon that will enable external HTTP traffic to go thru
a sidecar envoy using original_dst_cluster, according to egress-rules.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/istio/pilot/pull/1051#issuecomment-325708001, or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/AH0qd3Pk3P0sHGEaIQ_
xbYCkrXHr-uRaks5sdDNcgaJpZM4O6NcX>
.

--
~shriram
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/pilot/pull/1051#issuecomment-325858837, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFI6hJb9Uq4TMf5DvINUrX4ol9o_Wvqks5sdMapgaJpZM4O6NcX
.

still goes to mixer. its just no sds. useful for headless services and
couple of other use cases
On Wed, Aug 30, 2017 at 12:33 AM Costin Manolache<EMAIL_ADDRESS>wrote:

If it can't call mixer, and can't use SDS - is it worth it, compared with
simply setting the cluster CIDR
and letting it go directly ? There is overhead on bringing it to userspace
and back - what are the
benefits ?
I'm actually very excited about the idea in general.
On Tue, Aug 29, 2017 at 7:19 PM, Shriram Rajagopalan <
<EMAIL_ADDRESS>wrote:

There is no sds in orig_dst clusters. Calls go to the destination (ip
port)
requested in the request. Nothing in the proxy code is platform
dependent.
On Tue, Aug 29, 2017 at 11:50 AM Vadim Eisenberg <
<EMAIL_ADDRESS>
wrote:

@costinm https://github.com/costinm please note that it is just a
package-internal function to build original_dst_cluster. It is up to
other
functions in the package to implement meaningful functionality on top
of
it.
I will submit a PR soon that will enable external HTTP traffic to go
thru
a sidecar envoy using original_dst_cluster, according to egress-rules.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/istio/pilot/pull/1051#issuecomment-325708001, or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/AH0qd3Pk3P0sHGEaIQ_
xbYCkrXHr-uRaks5sdDNcgaJpZM4O6NcX>
.

--
~shriram
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/pilot/pull/1051#issuecomment-325858837, or
mute
the thread
<
https://github.com/notifications/unsubscribe-auth/AAFI6hJb9Uq4TMf5DvINUrX4ol9o_Wvqks5sdMapgaJpZM4O6NcX
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/istio/pilot/pull/1051#issuecomment-325877755, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH0qd2vMmgXQ5vD6LQ3QWvNM5sVI6bv4ks5sdOYfgaJpZM4O6NcX
.

--
~shriram

Sorry, confused - how does it know to go to mixer and what attribute bag ?
We need a mixer config
somewhere. Clearly useful feature - just trying to understand how it can be
used. Most of
the generated outbound config is repeated boilerplate that needs to be
updated every time
a service is added or removed. If Envoy could automatically forward to the
service with
the right config - we would have a very static config.
Costin
On Tue, Aug 29, 2017 at 10:07 PM, Shriram Rajagopalan <
<EMAIL_ADDRESS>wrote:

still goes to mixer. its just no sds. useful for headless services and
couple of other use cases
On Wed, Aug 30, 2017 at 12:33 AM Costin Manolache <
<EMAIL_ADDRESS>wrote:

If it can't call mixer, and can't use SDS - is it worth it, compared with
simply setting the cluster CIDR
and letting it go directly ? There is overhead on bringing it to
userspace
and back - what are the
benefits ?
I'm actually very excited about the idea in general.
On Tue, Aug 29, 2017 at 7:19 PM, Shriram Rajagopalan <
<EMAIL_ADDRESS>wrote:

There is no sds in orig_dst clusters. Calls go to the destination (ip
port)
requested in the request. Nothing in the proxy code is platform
dependent.
On Tue, Aug 29, 2017 at 11:50 AM Vadim Eisenberg <
<EMAIL_ADDRESS>
wrote:

@costinm https://github.com/costinm please note that it is just a
package-internal function to build original_dst_cluster. It is up to
other
functions in the package to implement meaningful functionality on top
of
it.
I will submit a PR soon that will enable external HTTP traffic to go
thru
a sidecar envoy using original_dst_cluster, according to
egress-rules.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/istio/pilot/pull/1051#issuecomment-325708001,
or
mute
the thread
<https://github.com/notifications/unsubscribe-
auth/AH0qd3Pk3P0sHGEaIQ_
xbYCkrXHr-uRaks5sdDNcgaJpZM4O6NcX>
.

--
~shriram
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/pilot/pull/1051#issuecomment-325858837, or
mute
the thread
<
https://github.com/notifications/unsubscribe-auth/
AAFI6hJb9Uq4TMf5DvINUrX4ol9o_Wvqks5sdMapgaJpZM4O6NcX
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/istio/pilot/pull/1051#issuecomment-325877755, or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/
AH0qd2vMmgXQ5vD6LQ3QWvNM5sVI6bv4ks5sdOYfgaJpZM4O6NcX>
.

--
~shriram
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/pilot/pull/1051#issuecomment-325882511, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFI6rdQg5kfyYE0_EBPN9317apo_tLxks5sdO4LgaJpZM4O6NcX
.


Effectively communicate tips recur weekly

@j-francisco didn't realize, when first tipping on Gittip, that tips recur weekly. What can we do to avoid this confusion for new users?

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Looking at http://gratipay.com with fresh eyes, this is still valid. It's not until I get to a Team page that is says "You give $0.00 per week" (emphasis added).

We just had another support inquiry related to this:

Omg, I just saw that I donated $192!?!?!?! I never wanted this. I thought I was giving an amount ONCE! Where has all this money gone to?
Why would the interface ever ask for a weekly donation? Who donates weekly?
Is there anything we can do about this? Any way I can recover some of this money?

I think a better way to address this will be to adopt a more normal donation interface, via https://github.com/gratipay/gratipay.com/issues/3862.

Sorry, #3862 is less relevant here than #5. Both together would be part of a "normalized" giving interface.

Closing in light of our decision to shut down Gratipay.
Thank you all for a great run, and I'm sorry it didn't work out! 😞  💃


[python] Consolidate+vacuum (except bulk array data) on ingest

@Shelnutt2 I'm looking for your feedback here please

[sc-24149]


Create CONTRIBUTING.md

Add guidelines for contributors.

Maybe add a link to CONTRIBUTING in the README file?


frontend: data-pipelines build and test running CI/CD

We need to build and run unit tests of data-pipelines library and ui application that uses it. The component is dependent on shared-components library.
Added Bash scripts to
(1) link if any shared-components rebuild was made and is about to be published, or otherwise default to latest already published one
(2) build the data-pipelines library and link @vdk/data-pipelines
(3) build the UI application
(4) lint the subprojects to verify format
(5) run the unit tests
One bash script is meant to be used to satisfy build prerequisites, the other one to rebuild and relink continuously, needed during development.
The proposed implementation triggers a data-pipelines rebuild (+test), upon any shared-components change, as well as data-pipelines changes.
A few functional import fixes were made, to import the correctly renamed classes.
A README.md link fix to the VEP.
Testing done: run the install script (that evaluates the build script) on a clean setup, and verified the unit tests were successful. Also, did start and browse the application manually, to check its operational.

I was once told (when our open source team was reviewing our commit history) that if we have bullet points in the commit message, a change is doing too many things and should have been split. Since then when I catch myself that I make bullet points or start saying "fixing this and that" I consider if I should better split it into 2 or more.
I thought that was good advice and I am passing it on.

I was once told (when our open source team was reviewing our commit history) that if we have bullet points in the commit message, a change is doing too many things and should have been split. Since then when I catch myself that I make bullet points or start saying "fixing this and that" I consider if I should better split it into 2 or more.
I thought that was good advice and I am passing it on.

I generally agree, it's a good advice. When you are open sourcing an existing component, a lot of stuff are known and also tested & verified already in advance. So, I also think it is normal to be confident with enumerating the changes, it rather depends on the context.

I generally agree, it's a good advice. When you are open sourcing an existing component, a lot of stuff are known and also tested & verified already in advance. So, I also think it is normal to be confident with enumerating the changes, it rather depends on the context.

Yes I agree, for that specific case, we are fine.
I wanted to note this advice because the change reminded me.
And also want to note (especially for any new contributors) that while now we have some bigger PRs around open-sourcing the UI and that's not a practice we recommend.

I generally agree, it's a good advice. When you are open sourcing an existing component, a lot of stuff are known and also tested & verified already in advance. So, I also think it is normal to be confident with enumerating the changes, it rather depends on the context.

Yes I agree, for that specific case, we are fine.
I wanted to note this advice because the change reminded me. And also want to note (especially for any new contributors) that while now we have some bigger PRs around open-sourcing the UI and that's not a practice we recommend.

I actually think 11 files is a pretty standard amount of file changes. The PR description does not contain bullets, it contains logical steps that the install script performs, that would be an atomic change (since the script is an atomic item itself). So I don't think artificially splitting the script, in a series of PRs, would be practical. I considered splitting the import fixes, but decided not to due arguments listed in https://github.com/vmware/versatile-data-kit/pull/1671#discussion_r1118690256


added Chartboost as adopter

Added Chartboost to the list of circe adopters

Excellent, thanks @ckozak!

Codecov Report

Merging #772 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #772   +/-   ##
=======================================
  Coverage   86.63%   86.63%
=======================================
  Files          73       73
  Lines        2305     2305
  Branches       90       88    -2
=======================================
  Hits         1997     1997
  Misses        308      308

Impacted Files
Coverage Δ

...re/shared/src/main/scala/io/circe/KeyDecoder.scala
97.29% <0%> (-2.71%)
:arrow_down:

...re/shared/src/main/scala/io/circe/JsonNumber.scala
97.02% <0%> (+0.99%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4775785...640ee3b. Read the comment docs.


EventBusFactory is not a factory

https://github.com/PegaSysEng/artemis/blob/master/artemis/src/main/java/tech/pegasys/artemis/factories/EventBusFactory.java
It is a singleton.
Which makes me question why we even have singletons. Singletons are generally hard to write tests for. We should be using some sort of dependency injection mechanism for this stuff.

Agreed.   This should be fixed.


TimePicker localisation

Use case
I want to create an app in my native language. In my language we use the 24-hour format (without the AM/PM suffix),
It would be nice to change the time format in TimePicker.
Proposal
I have no idea how to do it in case of the graphical picker (the clock), but the textual picker can look like this:

API can be done like the date formatting in DatePicker (https://github.com/macosui/macos_ui/pull/415)

I have no idea how to do it in case of the graphical picker (the clock), but the textual picker can look like this:

I don't think this would apply to the graphical picker, only the textual.


Fix RAC5105

RAC5105:https://rackhd.atlassian.net/browse/RAC-5105
Error message:
==> dev: manual ==> dev: expr:  ==> dev: syntax error ==> dev: Timed out waiting for PM2 Daemon (duration=s)

BUILD on-build-config #283 : FAILURE

although I don't know why expr ${timeout} + 1 not working.
showing  expr: syntax error
but anyway , expr is a rather old fashion code style.
and we need to confirm why vagrant 0.17 will make pm2 daemon starts 3 sec slower than previous.

@anhou @iceiilin


Cultos Innombrables new character sheet

New sheet improved from previous one (Cultos-Innombrables-Hitos) to be more true to Cultos Innombrables roleplaying game
Changes / Comments
Global changes proposed. Some clarifications added, codes reviewed, and some topics removed that are not in CultosInnombrables based charactersheet.

Sheet name: Cultos Innombrables
It includes functional enhancements: new rolls, new fields, etc.
It adds aesthetics changes and new fields to collect any necessary information during roleplaying: journal, items, etc.
Names (codes) for attributes and characteristics have been changed, so take care if you want to change directly from previous version to this one, because many parameters may disappear.

The table tags have been replaced by div and different functionality to work.
Thank you.


Second Test File Causing Issues

Describe the bug
I have two test files. One has 3 tests and the other has one. The app is not being reloaded between tests from different files. The first three tests run, then the one from the other file runs before the app gets refreshed. After this, the original three test cases run again.
To Reproduce

[x] I have tested this issue on the latest Detox release and it still reproduces

The tests from both files work when run by themselves but when I just run detox test which should run all tests, errors occur. The init file contains
beforeEach(async () => {
  await adapter.beforeEach();
  await device.reloadReactNative();
});

and each test is in its own it block
Environment (please complete the following information):

Detox: 12.11.0 (latest)
React Native: 0.59.9
Node: 10.15.3
Device: 5.1 WVGA emulator
OS: MacOS

Device and Verbose Detox Logs
error.txt

It was happening because I imported and ran a function from the other test file.


AppNamespaceDetectorTrait  to  DetectsApplicationNamespace

@mlantz I'm not sure why styleci is complaining here?

This trait does not exist in the Laravel 5.3 version, only 5.4. Laravel 5.4 compatibility is coming this weekend


stretch: remove zombie purses

Stretch feature - remove 'zombie' purses: Existing purses have to be retained. COULD mark the purse for purging later - for example, add a field to mark when the purse was last used. zero balance purses that have not been used in a long while can be purged.

Triaged on 27th Sep '24 and moved to backlog.


[text] Memory leak  when unloading fonts.

williamfj on discord noted that when loading and unloading fonts, we do not dispose of all the memory.
Using the example text_bmfont_ttf.c
and changing the load statment LoadFont("resources/pixantiqua.ttf");  into
while (true)
{
    Font fontTtf = LoadFont("resources/pixantiqua.ttf");  // TTF font
    GenTextureMipmaps(&fontTtf.texture);
    UnloadFont(fontTtf);
}

we can se that UnloadFont seems to not be disposing of all the data.

Currently debugging the issue, Not entirely sure but seems to come from, though my debugger tells me it is STBTT_malloc in stb_truetype.h:3573.
src\external\ stb_truetype.h

I'll expand the suggestion since it seems to be the best suggestion right now.

LoadFont() - Line 278 (Raylib)
LoadFontEx() - Line 310 (Raylib)
LoadFontData() - Line 512 (Raylib)
stbtt_GetCodepointBitmap() - Line 3630 (stb_truetype)
stbtt_GetCodepointBitmapSubpixel() - Line 3615 (stb_truetype)
stbtt_GetGlyphBitmapSubpixel() - Line 3573 (stb_truetype)

Probabel fix is to use stbtt_FreeBitmap defined just above stbtt_GetGlyphBitmapSubpixel

Another source might be

LoadFontData() - Line 498 (Raylib/text.c)

Freeing the font.chars[i].data befor freeing font.chars resulted in a return of 30,07KB

30,07KB // Free char.Data
3,38KB // Freeing chars
Total of 33,45 KB freed, 6,16KB less then what was allocated.

Reading what stbtt_FreeBitmap does it is unessesary in this case. (If you know better tell me so)
free does the trick just fine.
I can have a quick fix if so desired, however there is still data somewhere that is not deleted, the debugger isn't sure where it is tough. So it is going to requier more digging.

Pull request #766

@Skabunkel Nice work! Thank you very much! Keep me updated if you got more info on the lost bytes!

Running a few cycles and watching the memory, it seems the remaining objects are stack frames. I'm, unsure where they are allocated, tough the ide tells me they are external frames.

If this is the case it should be nothing to worrie about, and the reason i see them i the ide is because they are just expanding the heap by random allocation.
Though i will be running the suggested program above for 1hour nonstop to see if there is a diffrence.

10 minutes process is holding steady at 37.1-35.7 MB

nice! :D

1h in process is holding steady at 35.5-36.8 MB, seems that there is no more memory to free, is just the debuggers profiler playing tricks on me.
Ex.

This seems bad, but it's just the area being watched by the debugger increasing and and nothing more.
So this issue is solved.


Identical file names seen during upload

In <IP_ADDRESS>8~9202c3a
we observe that during uploading the two file names are exactly the same! This is rather frightening to the user. Only after the upload is complete do the file names become different with one having a number two added to it. Why can't this be done before showing them to the user?

This is working as intended.
These are not filenames, they are captions.
Captions are human-friendly.
Ideally the picture should show up instead of these grey placeholders, so that you can make a difference between each.

(Well they are 99% similar to what the filenames end up being.
You see the user wants to make sure they have chosen good filenames.
As it is 100 times harder to change them later (yes, on the website) then any of the other things they type in.
OK, well we'll just trust the app to make good filenames. If the end up not good, well at least one can't blame the user.)


Slice Junk Error

Hello,
I got the following error on a couple of files recently:
-- FFV1-SLICE-JUNK
 --    [fail:]
 --     [/Segment[1]/Cluster[1]/SimpleBlock[1]/Data[1]/Frame[1]/Slice[7] at bytes offset of 1666]
 --    [fail:]
 --     [/Segment[1]/Cluster[1]/SimpleBlock[1]/Data[1]/Frame[1]/Slice[8] at bytes offset of 1784]
 --    [fail:]
 --     [/Segment[1]/Cluster[1]/SimpleBlock[1]/Data[1]/Frame[1]/Slice[10] at bytes offset of 2029]
 --    [fail:]
 --     [/Segment[1]/Cluster[1]/SimpleBlock[1]/Data[1]/Frame[1]/Slice[14] at bytes offset of 2494]

I included a 1 second sample of the file. Any feedback would be appreciated. :)
slicejunk.mkv.zip

I think it is already fixed (I tested with 17.12 and file fails, then with 18.03 it passes).
Please test with 18.03 (using " --force" at the command line or clearing the database in GUI).

Looks like it has the same origin than in https://github.com/MediaArea/MediaInfoLib/issues/782 (difference here is that the parsing was letting bytes in the bitstream, in other ticket it was needing more bytes)

Yeah, I was using an old version. oops! I updated to the latest version and it works now. Thank you for your help!

No problem, don't hesitate to report if you find another issue.


Test error condition: A result is unassigned because no targets are set up

When a result is unassigned because no targets are set up, the following are true:

The result is displayed in the table.
Under the table, we display error message: Targets are not set up for this indicator. Start by selecting a target frequency.
The string "Start by selecting a target frequency" links to the Targets tab of the indicator setup form.

Here's a screenshot of what we'd expect:

This worked correctly for me.

Closing and adding as a test case for future testing /smoke tests.

After talking to Jenny, this needs to be an automated test.

There was a misunderstanding. We want to write tests to make sure that the error condition


cue: 0.2.2 -> 0.3.0

Motivation for this change
New release.
Things done

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

[x] 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 nixpkgs-review --run "nixpkgs-review wip"
[x] 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
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 118782 run on x86_64-darwin 1

1 package built:

cue


"." in the URL produced a 404

PR Summary

PR Checklist

[ ] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[ ] Summarized changes
[ ] Change is not breaking
[ ] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[ ] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

User-facing changes

[ ] Not Applicable
OR
[ ] User-facing Documentation needed

[ ] Issue filed - Issue link:

Testing - New and feature

[ ] Not Applicable or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

[ ] Add [feature] if the change is significant or affects feature tests

This problem exists in Windows as well (there - the URL only has one "/" instead of 2 "//")

@adityapatwardhan  If this PR got abandoned, then can you please delete at least the left-over branch here


Include  cell in output of setUp method for Foundry tests

Currently, we are only taking the <accounts> cell content from the final state of the setUp method, but the <activeAccounts> cell must remain in sync with this account. This PR:

Modifies the rules which access the <accounts> and <activeAccounts> cells to be a little simpler via owise. This amy make it easier to remove the <activeAccounts> cell altogether later: https://github.com/runtimeverification/evm-semantics/issues/1604
Adds a test where the <activeAccounts> being out of sync with <accounts> following the setUp method causes a problem in verification of a property test.
Fixes the Foundry integration to also pull the <activeAccounts> cell from the final state of the setUp method.

The changes to <accounts> cells in the Golden files are just re-arranging of the output (reordering of how it's printed).


Universal Sentence Encoder - extract token level embeddings

What happened?
Hi,
I'm using the Universal Sentence Encoder to compute the embeddings representations of text sentences stored into a dataframe, using the code below (use_preprocessing).
Now, I would like to also extract the internal representation of the words that compose the sentence to encode.
I've seen the issue #344 and, for what I understood, the model I'm using compute the final embedding through Σ_w Embed(w) / √sentence length .
The result that I would like to achieve is the following:
Given a sentence "Example text" I would like to extract the final embedding for "Example text" and the internal embedding for each token (i.e the. ebedding of "Example" and the embedding of "text").
I've also seen the issue #403 but it's still not clear to me how to access the token level embeddings.
Thank you,
Giulia
Relevant code
def use_preprocessing(df, column):
    """Compute the embedding via the Universal Sentence Encode algorithm
    for every sentence in the given column
    Args:
        df: Dataframe
        column: column name to identify data to process
    """
    # Universal Sentence Encoder
    tf.compat.v1.disable_eager_execution()

    config = tf.compat.v1.ConfigProto()
    config.gpu_options.allow_growth = True

    module_url = "https://tfhub.dev/google/universal-sentence-encoder-large/3?tf-hub-format=compressed"
    embed = hub.Module(module_url)

    with tf.compat.v1.Session(config=config) as session:
        session.run([tf.compat.v1.global_variables_initializer(), tf.compat.v1.tables_initializer()])

        text_embedding = session.run(embed(list(x[column])))
        session.close()

    return text_embedding

Relevant log output
----

tensorflow_hub Version
0.13.0.dev (unstable development build)
TensorFlow Version
2.8 (latest stable release)
Other libraries
No response
Python Version
3.x
OS
Linux

@giulia95,
universal-sentence-encoder-large/3 has a transformer encoder and it uses the average pooling over all token embeddings at the last transformer layer as the output embedding.
Unfortunately depending on the model's architecture and the ops used it may be hard or impossible to get the underlying gradients at the token level.
Universal Sentence Encoder provides sentence encoding and cannot provide word level encodings. For word level encodings you can use Word2Vec or GloVe as shown here or follow this tutorial to create custom word embedding layer.
Hope that helps. Thank you!

Thank you for the answer.
I'll look at the approaches you suggested.


blenderseed material nodes require MSVCR110.dll

Hi there,
found an issue on my newly reinstalled Win 10 Pro. After installing and setting up blenderseed in Blender 2.79b the material nodes are not selectable - see the attached screenshot. The submenus are empty.
When I restart blender, I get a dozen or so modal windows telling me that MSVCR110.dll is missing. After a quick internet search and installing  Visual C++ Redistributable for Visual Studio 2012 Update 4  it seems to work flawlessly again.
Notes in the installation instructions may be helpful for others as discussed with JonD on discord (thanks for the fast responses :) ).

Fixed. The Windows build of appleseed 1.9.0-beta should no longer rely on MSVCR110.dll.


Runners are in Idle state but jobs are queued

I was able to set it up successfully. Here's what I see on the actions page:

Here's the log from the runner container in the k8s pod:

However, the runners always stay in the "Idle" state on the actions page and never turn "Active". My action never actually runs on these runners -- any idea why?

This looks like a case where an update had been released upstream and the auto-update behavior was causing actions to be dropped, which should be fixed by #10 in the latest release. Please give it a shot and re-open if it doesn't work!


SubscriptionPaymentBehaviour not exposed properly

Describe the bug
I'm getting a nasty compiler error while compiling. I'm trying to set the payment_behaviour field of a new subscription as documented in the stripe guide.
Error[E308] mismatched types
expected enum `stripe::generated::billing::subscription::SubscriptionPaymentBehavior`,
found enum `stripe::SubscriptionPaymentBehavior`

I can also see in the automatically generated API documentation, there is something wrong in the CreateSubscription struct. I cannot access the SubscriptionPaymentBehaviour struct from it. Perhaps this is related to the problem I have.
To Reproduce
Fetch latest version of async-stripe from github.
Attempt to set the payment_behaviour field of a CreateSubscription struct.
Expected behavior
Expecting normal compilation
Code snippets
let mut params = CreateSubscription::new(customer.id);
params.items = Some(vec![CreateSubscriptionItems {
    price: Some(data.price_id.to_owned()),
    ..Default::default()
}]);
params.payment_settings = Some(CreateSubscriptionPaymentSettings {
    save_default_payment_method: Some(CreateSubscriptionPaymentSettingsSaveDefaultPaymentMethod::OnSubscription),
    ..Default::default()
});
params.payment_behavior = Some(SubscriptionPaymentBehavior::DefaultIncomplete); // <------
params.expand = &["latest_invoice.payment_intent"];
Subscription::create(&STRIPE_CLIENT, params).await

Cargo.toml
[dependencies]
async-stripe = { git = "https://github.com/arlyon/async-stripe", default-features = false, features = ["runtime-tokio-hyper", "billing", "checkout"]}

OS
Linux 6.0.2
Rust version
rustc 1.65.0 (897e37553 2022-11-02)
Library version
async-stripe (latest, branch master & 0.15.0)
API version
2022-11-15
Additional context
No response

Hi, we have an issue with name clashing which is detailed in this issue: https://github.com/arlyon/async-stripe/issues/154.
You should be able to just import the appropriate variant from the generated module directly.

I am going to close this with the expectation that it is a duplicate of the above issue. If that is not the case, please leave a comment :)


Update formatWebpackMessages.js (to re-add missing filename to error message)

This PR simply prints out the filename as the first line:
  } else if ('message' in message) {
    lines = message['message'].split('\n');
    if('file' in message){
      lines.unshift(message['file']);
    }

...which seems expected by row 77
  // Clean up file name
  lines[0] = lines[0].replace(/^(.*) \d+:\d+-\d+$/, '$1');

I use it normally as a local adjustment to my node_modules folder...

Solves this issue:  #12365

https://github.com/facebook/create-react-app/issues/12365

@CarlRibbegaardh does the linting issue must be fixed first before review ?


Implement uart2 for esp32-s3.

The esp32-s3 (datasheet) has three UARTs, so uart2 should be exposed in the HAL.

Thanks! Note that we are currently cheating a bit by proclaiming all UART peripherals as available in the Peripherals struct, while in reality, UART0 (or other UART) might already be stolen as described here.
So we might need to additionally "conditionalize" which UARTs are available based on the conf parameters described in the pasted link.
But that might be a separate issue to be addressed.


no pipeline() within dataset parameter

don't use pipeline() within a dataset parameter here. while it is functional (our backend doesn't validate anything), it'll correctly give an error in the ui. datasets are supposed to pipeline independent, this makes them depend on a specific pipeline for data.

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

ID: cd297884-8924-9f6b-3ed6-738ef10b27a1
Version Independent ID: 7bff0c0c-66fe-481c-0e83-0e154c46510e
Content: How to read or write partitioned data in Azure Data Factory
Content Source: articles/data-factory/how-to-read-write-partitioned-data.md
Service: data-factory
GitHub Login: @sharonlo101
Microsoft Alias: shlo

@ranjanp
Thanks for the feedback! We are currently investigating and will update you shortly.

@sharonlo101 we have a bug report here, I was not able to replicate it as the pipeline parameter worked for me in a dataset, but could you take a look as well?

@ranjanp
We sincerely apologize for the delayed response to this issue. I am working in collaboration with the owners of the GitHub Issues related to Data Factory to help either get them resolved or to determine how to update our documentation.
As such, is this GitHub Issue still a concern for you? If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion, and we will reopen the issue.
Due to the age of this issue, we will continue to close this issue.
Please let us know.
Thank you.
@djpmsft for awareness
#please-close


Inconsistency in symbols in student page.. A,C and D should be displayed appropriately.

Resolved in the new release.


What distance from the roof to the floor of the OccupancyGridMap is needed for the pgn to be generated correctly?

What distance from the roof to the floor of the OccupancyGridMap is needed for the pgn to be generated correctly?
I created the roof in Wall_400x300 and everything is black as shown above. So how far away would the roof not be affected?

you can change MaxVerticalHeight
https://rapyutasimulationplugins.readthedocs.io/en/latest/doxygen_generated/html/d2/dde/class_a_occupancy_map_generator.html#a4984d0bdf4e3c5347a20f3dbf1c03522

closed since no activity


Make the Hub IP configurable.

This allows for testing Firefly with a local or dev deployment of the Hub.
Added properly formatted license to package.json.
Here's this in use to pull data from the new GCE deployment of the Hub:

I somehow couldn't comment Inline on mobile.
Why do we have HUB_IP defined twice?
And it is not an ip. What did you call it on other projects? It can be domain or host I think.
Thank you for the work. It is a nice and must refactoring. :+1:

Yeah it can be an IP or hostname. I could call it HUB_HOSTNAME or HUB_URL if that is preferred.

I just realized it and wanted to ask you. If you prefer HUB_IP, it is totally fine by me. In either case, the PR is a really good improvement.

I like HUB_URL most as it can be an IP and a name.

Merging anyway


cookbook example for llama-index broken under 0.6.2

Hi there, app.py from your cookbook examples with streaming turned on (default) yields a context error (below). Setting streaming to false causes this to work. Any ideas?
Traceback (most recent call last):
  File "/home/user/.pyenv/versions/3.11.4/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "/home/user/.pyenv/versions/3.11.4/lib/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
  File "/home/user/wobs/venv311/lib/python3.11/site-packages/llama_index/llms/base.py", line 137, in wrapped_llm_chat
    event_id = callback_manager.on_event_start(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/wobs/venv311/lib/python3.11/site-packages/llama_index/callbacks/base.py", line 82, in on_event_start
    handler.on_event_start(event_type, payload, event_id=event_id, **kwargs)
  File "/home/user/wobs/venv311/lib/python3.11/site-packages/chainlit/llama_index/callbacks.py", line 45, in on_event_start
    Message(
  File "/home/user/wobs/venv311/lib/python3.11/site-packages/chainlit/message.py", line 171, in __init__
    super().__post_init__()
  File "/home/user/wobs/venv311/lib/python3.11/site-packages/chainlit/message.py", line 37, in __post_init__
    self.emitter = get_emitter()
                   ^^^^^^^^^^^^^
  File "/home/user/wobs/venv311/lib/python3.11/site-packages/chainlit/context.py", line 22, in get_emitter
    raise ChainlitContextException()
chainlit.context.ChainlitContextException: Chainlit context not found

Config file is generated by 0.6.2 (themes removed):
[project]
# If true (default), the app will be available to anonymous users.
# If false, users will need to authenticate and be part of the project to use the app.
public = true

# The project ID (found on https://cloud.chainlit.io).
# The project ID is required when public is set to false or when using the cloud database.
#id = ""

# Uncomment if you want to persist the chats.
# local will create a database in your .chainlit directory (requires node.js installed).
# cloud will use the Chainlit cloud database.
# custom will load use your custom client.
database = "local"

# Whether to enable telemetry (default: true). No personal data is collected.
enable_telemetry = true

# List of environment variables to be provided by each user to use the app.
user_env = []

# Duration (in seconds) during which the session is saved when the connection is lost
session_timeout = 3600

[UI]
# Name of the app and chatbot.
name = "Wobs"

# Description of the app and chatbot. This is used for HTML tags.
# description = ""

# The default value for the expand messages settings.
default_expand_messages = true

# Hide the chain of thought details from the user in the UI.
hide_cot = false

[meta]
generated_by = "0.6.2"

Fixed already but not released yet. :)
See #256 and #290


[flash/dv] Add dependency in otf_sb when using vendor flash

When running otf tests with the vendor flash this check isn't valid so in this PR a dependency added in the use_vendor_flash variable.
This PR along with small PR in the foundry is fixing failing seeds of test flash_ctrl_disable.

Hi @matutem , can you please review this PR?
Thanks

Hi @rswarbrick , can you please review this PR?
@matutem seems to be unavailable.

@eshapira this avoids data checks in foundry, probably because it is not supported? Should we try to support these checks at some point to tighten up checking?

@matutem thanks for your review!
As you maybe noticed this change is disabling checks that are already disabled in the foundry.
I think Jaedon disabled them when he worked on the flash IP DV, not sure why.
In order to support those checks there some work that should be done to make the otf_scoreboard more flexible, because currently its checks aren't compatible with the foundry flash model behavior.
We need to see how we can improve those checks.


test: adds the ability to set genesis time for a testnode

Overview
Checklist

[ ] New and updated code has appropriate documentation
[ ] New and updated code has new and/or updated testing
[ ] Required CI checks are passing
[ ] Visual proof for any user facing features like CLI or documentation updates
[ ] Linked issues closed with keywords

Codecov Report

Merging #2130 (cbacd30) into main (83aff91) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #2130   +/-   ##
=======================================
  Coverage   25.02%   25.03%
=======================================
  Files         121      121
  Lines       13806    13811    +5
=======================================
+ Hits         3455     3457    +2
- Misses       9995     9997    +2
- Partials      356      357    +1

see 2 files with indirect coverage changes


Dim Tower Buttons If Not Enough Money

This branch adds to the engine class to allow the tower buttons to change from 'active' to 'inactive' and back again depending on whether or not you can afford to buy the tower.
Additionally, it adds jQuery into our project, so if we want we can refactor with jQuery later.

Per texting with Jordan, I am merging this in.


"Feature Request: Add User-Configurable 'Custom' Field for Model Version Selection in User Interface"

Today we got: `On Wednesday, October 2nd, the default version of GPT-4o will be updated to the latest GPT-4o model, gpt-4o-2024-08-06.``
To enhance the feature for updating models via the user interface sooner, the addition of a user-configurable "custom" field alongside the dropdown menu for models can be useful. By inputting the desired model version directly into the custom field, users could access the update without waiting the full three weeks. This customization feature would provide more flexibility and convenience in selecting specific model versions tailored to individual needs.

yes, i second that.  i got an email that i can use o1-preview now but cannot choose it in the dropdown in betterchatgpt..


Correct TopicName#getPartitionIndex implementation.

Motivation
Current partitioned topic check logic is not rigorous enough, such as the mytopic-partition--1 this should not partitioned topic.
For details of the discussion see http://mail-archives.apache.org/mod_mbox/pulsar-dev/202106.mbox/raw/<CACcefgerbLU88rKqPNCTgBSCWn_FJ5MB_E7oa1tKfxTsMAfpfg%40mail.gmail.com>
Modifications

change the getPartitionIndex logic.

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

Could you please also remove the unused log variable in TopicName? Just apply following diff.
diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/naming/TopicName.java b/pulsar-common/src/main/java/org/apache/pulsar/common/naming/TopicName.java
index bf6db5ff147..2cb9f23153b 100644
--- a/pulsar-common/src/main/java/org/apache/pulsar/common/naming/TopicName.java
+++ b/pulsar-common/src/main/java/org/apache/pulsar/common/naming/TopicName.java
@@ -29,16 +29,12 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.pulsar.common.util.Codec;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;

 /**
  * Encapsulate the parsing of the completeTopicName name.
  */
 public class TopicName implements ServiceUnitId {

-    private static final Logger log = LoggerFactory.getLogger(TopicName.class);
-
     public static final String PUBLIC_TENANT = "public";
     public static final String DEFAULT_NAMESPACE = "default";

Could you please also remove the unused log field in TopicName? Just apply following diff.
diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/naming/TopicName.java b/pulsar-common/src/main/java/org/apache/pulsar/common/naming/TopicName.java
index bf6db5ff147..2cb9f23153b 100644
--- a/pulsar-common/src/main/java/org/apache/pulsar/common/naming/TopicName.java
+++ b/pulsar-common/src/main/java/org/apache/pulsar/common/naming/TopicName.java
@@ -29,16 +29,12 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.pulsar.common.util.Codec;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;

 /**
  * Encapsulate the parsing of the completeTopicName name.
  */
 public class TopicName implements ServiceUnitId {

-    private static final Logger log = LoggerFactory.getLogger(TopicName.class);
-
     public static final String PUBLIC_TENANT = "public";
     public static final String DEFAULT_NAMESPACE = "default";

Done.


Compaction fixes

Required for all non-trivial PRs

[x] Rebased/mergable
[x] Tests pass
[x] CHANGELOG.md updated

This PR re-introduces the fix for #6556 that was reverted in #6637.  The original fix could drop points during compactions as well as cause an interface conversion panic (#6652) in some cases.   What happened was that merged values from one series could get mixed with the values for the next series.  If the series were different types, a panic could occur.  If it was the last block to be merged, the values would be lost.  Both of these issues should be fixed now as well as the original issue of overwriting a point in a large series triggering memory spikes.
This also fixes #6406 that can occur if enough points are written into a single series to cause the TSM index to exceed the max index entries allotment. It will now handle that error and rollover to a new file.

@aderumier @daviesalex @easyrasta if you have a dataset that can easily reproduce #6652, would you be able to test this PR on it?

@e-dard @benbjohnson

This did not work. The startup was very fast, but much of our data (most really) only exists from midnight on the 16th (not all , though). See example data:

FWIW, during the startup, most of the time (by a long way) is spent in sync/atomic.AddUint32:
Samples: 4M of event 'cycles', Event count (approx.):<PHONE_NUMBER>59
  28.53%  influxd                       [.] sync/atomic.AddUint32
  11.64%  influxd                       [.] strings.Index
   5.80%  influxd                       [.] scanblock
   4.72%  [kernel]                      [k] _raw_spin_lock
   4.60%  influxd                       [.] runtime.MSpan_Sweep
   2.33%  influxd                       [.] github.com/influxdata/influxdb/tsdb.(*DatabaseIndex).Series
   1.82%  influxd                       [.] runtime.memmove
   1.76%  influxd                       [.] runtime.aeshashbody
   1.54%  influxd                       [.] runtime.memeqbody
   1.52%  [kernel]                      [k] down_read_trylock
   1.39%  influxd                       [.] runtime.mallocgc
   1.34%  influxd                       [.] runtime.mapaccess1_faststr
   1.22%  influxd                       [.] runtime.deferreturn
   1.18%  influxd                       [.] runtime.newdefer
   1.14%  influxd                       [.] runtime.writebarrierptr
   1.10%  influxd                       [.] runtime.cas64
   1.02%  influxd                       [.] runtime.xchg
   0.95%  influxd                       [.] runtime.readvarint
   0.89%  influxd                       [.] github.com/influxdata/influxdb/tsdb/engine/tsm1.(*FileStore).WalkKeys
   0.82%  [kernel]                      [k] page_fault
   0.80%  influxd                       [.] github.com/influxdata/influxdb/tsdb/engine/tsm1.(*indirectIndex).KeyAt
   0.78%  [kernel]                      [k] up_read
   0.76%  influxd                       [.] runtime.findfunc
   0.74%  influxd                       [.] runtime.gentraceback
   0.73%  influxd                       [.] runtime.releasem
   0.69%  influxd                       [.] getfull
   0.66%  influxd                       [.] runtime.freedefer
   0.55%  influxd                       [.] runtime.acquirem
   0.53%  influxd                       [.] runtime.atomicload64
   0.53%  influxd                       [.] runtime.memclr

If this computation can be done in a more parallel way, there are consistently large numbers of cores available:

Log showing the start with this PR (branch unknown in log, but it was built from branch jw-compact-fix - 0b2554) that works but is missing most data, and then a start with the 0.13 stable release at https://gist.github.com/daviesalex/f9e70754fb2c0ac85454b6db341b34a4 which works and has the data.

Just a nit, but LGTM 👍

@jwilder It's starting fine with this PR. (still around 10min of startup time)

Minor nits but lgtm 👍

@daviesalex With the same dataset/host, does 0.13 load all the data?  I'm not sure why you would be missing data using this branch as it does not have any changes related to startup.

Also, were there any errors in the logs?

@jwilder yes. 0.13 loads all the data. This branch does not (nor does the nightly).
The full log (a start under this version, which fails to load all the data, and 0.13, which does) is in the gist above - https://gist.github.com/daviesalex/f9e70754fb2c0ac85454b6db341b34a4

@daviesalex If the current nightly has missing data, then it's not caused by this PR.  Any chance you could git bisect  0.13 and master to see if you can find the commit that is introduced the issue?   I suspect 0dbd4893daff91ed29f23de57dcd4b8520b78064 might have introduced the bug.
Would you be able to test that commit and just before it?

I was able to reproduce the missing data on startup.  It is due to https://github.com/influxdata/influxdb/commit/0dbd4893daff91ed29f23de57dcd4b8520b78064#diff-82e4e65bd72f00208a49c4797d466ecdR383.

@daviesalex I pushed a fix for the data not reloading on this branch.  Let me know if that resolves it for you.

@jwilder good news. Confirmed that data is there.
[run] 2016/05/18 13:12:08 InfluxDB starting, version unknown, branch unknown, commit unknown
[run] 2016/05/18 13:28:48 Listening for signals

Startup down from about 55 minutes to about 15. I tested on two machines and saw the same just over 3x speedup.

Great success! Thank you

+1 from us.


Add RequestID to generate unique Identifier for each request

Previously this was just an incrementing Int, but it was pointed out that ids across instances of an Hummingbird app would clash as they all started at zero. This is now two integers one identifying the instance and the other an incrementing UInt64 started at a random point in its range. This has all been encapsulated in a RequestID type.

I agree with this change, at the very least for 2.x. Though I'm wondering to what extend users depend on the nature of this having been an integer

This was a request from someone using v1. So I'd prefer to merge into v1.
Hmmm, I don't know about the integer thing, The fact it was an integer is really a side effect of how the id was generated. I can be explicit in the release notes about the id change and how it might affect users who depended on it being an integer that fitted into a Int64.

I realize there might be someone somewhere somehow counting on the ID being an Int, but that's quit unlikely as the id is only used in the log statement (unlike Vapor which exposes the request id to the public, for reasons that i think are legitimate but i still don't remember).

I think @Joannis requested that. He requested the same of HB and a String is returned as an id. If someone is converting that back to an integer I would want to discourage that anyway.


Not able to enable TDE on hydra Database

We are using the Hydra Database with version 16. While trying to setup the TDE on our instance we are getting following error
ERROR: failed to retrieve master key
I have raised a bug in hydradatabase as well that can seen at :https://github.com/hydradatabase/hydra/issues/241

Hello @shah-manthan9
Both hyrda and tg_tde are table access methods to postgres, you can't combine the two. You should be able to get pg_tde working on the same postgres instance as hydra, but you won't be able to create a table that utilizes both.


Update checkout to v4

Hi there,
First of all, thank you so much for creating this GitHub action! It's been very helpful.
I noticed in the action.yml file that the checkout version is currently set to a previous version. Would it be possible to update it to v4?
Thanks again for your work on this!

Thanks for the report! Version 0.2.1 bumps the checkout action.

Thanks


Contianer always using drive /dev/sr0

Hello, I am trying to use your container in Unraid with 2 Sata drives.
lsscsi -g returns these :
[0:0:0:0]    disk    SanDisk' Cruzer Fit       1.00  /dev/sda   /dev/sg0
[1:0:0:0]    disk    USB2.0   CardReader CF    0100  /dev/sdb   /dev/sg1
[1:0:0:1]    disk    USB2.0   CardReader SM XD 0100  /dev/sdc   /dev/sg2
[1:0:0:2]    disk    USB2.0   CardReader MS    0100  /dev/sdd   /dev/sg3
[1:0:0:3]    disk    USB2.0   CardReader SD    0100  /dev/sde   /dev/sg4
[4:0:0:0]    cd/dvd  TSSTcorp CDDVDW SH-S223C  SB04  /dev/sr0   /dev/sg5
[6:0:0:0]    cd/dvd  HL-DT-ST BDDVDRW CH10N    1.02  /dev/sr1   /dev/sg6
[7:0:0:0]    disk    ATA      TOSHIBA MG07ACA1 0103  /dev/sdf   /dev/sg7
[10:0:0:0]   disk    ATA      TOSHIBA MG07ACA1 0103  /dev/sdg   /dev/sg8
[11:0:0:0]   disk    ATA      TOSHIBA MG07ACA1 0103  /dev/sdh   /dev/sg9
[N:0:1:1]    disk    GIGABYTE GP-AG41TB__1                      /dev/nvme0n1  -
I tried several configurations (these are probably the most logical, there were many more configurations):
Default configuration except changing Optical Drive to sr1
docker run -d --name='Ripper' --net='host' --privileged=true -e TZ="Europe/Berlin" -e HOST_OS="Unraid" -v '/mnt/user/Downloads/':'/out':'rw' -v '/mnt/user/appdata/ripper':'/config/':'rw' --device='/dev/sr1' --device=/dev/sr0:/dev/sr0 'rix1337/docker-ripper'
changed advanced view --device parameter
docker run -d --name='Ripper' --net='host' --privileged=true -e TZ="Europe/Berlin" -e HOST_OS="Unraid" -v '/mnt/user/Downloads/':'/out':'rw' -v '/mnt/user/appdata/ripper':'/config/':'rw' --device='/dev/sr1' --device=/dev/sr1:/dev/sr1 --device=/dev/sg6:/dev/sg6 'rix1337/docker-ripper'
removed Optical Drive parameter
docker run -d --name='Ripper' --net='host' --privileged=true -e TZ="Europe/Berlin" -e HOST_OS="Unraid" -v '/mnt/user/Downloads/':'/out':'rw' -v '/mnt/user/appdata/ripper':'/config/':'rw' --device=/dev/sr1:/dev/sr1 --device=/dev/sg6:/dev/sg6 'rix1337/docker-ripper'
I've been trying this for at least a week now with every --device combination I can think of, and couldn't get it to rip from /dev/sr1.
The container always starts ripping from drive /dev/sr0.
Both drives are always scanned during drive detection.
I've read your "solutions" from the issues 30, 49 and 54
Unraid 6.9.1

https://github.com/rix1337/docker-ripper#how-do-i-set-ripper-to-do-something-else

Ripper.sh is hardcoded to /dev/sr0 - you might want to change that ;)

Thanks for your quick reply, I think I was able to solve the problem. I replaced all DRV:0 to DRV:1 according to the log file in the directory and changed DRIVE to /dev/sr1. A note in the Readme.md would have saved me several hours.
I had previously changed the DRIVE=/dev/sr0 to /dev/sr1 which did not solve the problem.

Bro, the note is right there: https://github.com/rix1337/docker-ripper#how-do-i-set-ripper-to-do-something-else
But glad you figured it out ;)


Update docs with Resultify-Math and more changes

This updates the docs with the new changes to the language. Mostly due to Resultify-Math, but also other changes that we had forgotten about.

The function signatures are too dense and will force someone getting acquainted with Alan for the first time to just skim them without grasping how Alan is different and unique. I think showing how math is safe is Alan makes much more sense by example.
That said, I am happy to stamp this since it is consistent with everything else. I'm not sure if I mentioned this but right before or right after the 0.2 release I was thinking about redoing and trimming a lot of the docs. Right now we have just added stuff without thinking too hard of the ergonomics / UX of it -- namely what do people want to know and making that information quick to find. I thinking less is more in this case and we have too much documentation as of right now.

The function signatures are too dense and will force someone getting acquainted with Alan for the first time to just skim them without grasping how Alan is different and unique. I think showing how math is safe is Alan makes much more sense by example.
That said, I am happy to stamp this since it is consistent with everything else. I'm not sure if I mentioned this but right before or right after the 0.2 release I was thinking about redoing and trimming a lot of the docs. Right now we have just added stuff without thinking too hard of the ergonomics / UX of it -- namely what do people want to know and making that information quick to find. I thinking less is more in this case and we have too much documentation as of right now.

The function signatures are too dense and will force someone getting acquainted with Alan for the first time to just skim them without grasping how Alan is different and unique. I think showing how math in safe is Alan makes much more sense by example.
That said, I am happy to stamp this since it is consistent with everything else. I'm not sure if I mentioned this but right before or right after the 0.2 release I was thinking about redoing and trimming a lot of the docs. Right now we have just added stuff without thinking too hard of the ergonomics / UX of it -- namely what do people want to know and making that information quick to find. I thinking less is more in this case and we have too much documentation as of right now.

I wouldn't want to trim it. This is the "Reference Manual" that should be as complete as possible for anyone trying to figure out particular edge cases.
But I do agree that something else should be the documentation that most people grab first.

The function signatures are too dense and will force someone getting acquainted with Alan for the first time to just skim them without grasping how Alan is different and unique. I think showing how math in safe is Alan makes much more sense by example.
That said, I am happy to stamp this since it is consistent with everything else. I'm not sure if I mentioned this but right before or right after the 0.2 release I was thinking about redoing and trimming a lot of the docs. Right now we have just added stuff without thinking too hard of the ergonomics / UX of it -- namely what do people want to know and making that information quick to find. I thinking less is more in this case and we have too much documentation as of right now.

I wouldn't want to trim it. This is the "Reference Manual" that should be as complete as possible for anyone trying to figure out particular edge cases.
But I do agree that something else should be the documentation that most people grab first.

So what you are saying is that what we currently have as "documentation" becomes the "reference manual" and then we have a more friendly introduction that is created and becomes the "documentation"?

So what you are saying is that what we currently have as "documentation" becomes the "reference manual" and then we have a more friendly introduction that is created and becomes the "documentation"?

So what you are saying is that what we currently have as "documentation" becomes the "reference manual" and then we have a more friendly introduction that is created and becomes the "documentation"?

Yes. I prioritized this form first because advanced developers shouldn't be too put off by it (who are the only ones who should really be playing with Alan right now) and it requires less effort to update if/when we change some language behaviors, while a clearer set of documentation introducing the language will require more prose and that prose could be seriously impacted by the alpha-level changes we've been making to it.

So what you are saying is that what we currently have as "documentation" becomes the "reference manual" and then we have a more friendly introduction that is created and becomes the "documentation"?

Yes. I prioritized this form first because advanced developers shouldn't be too put off by it (who are the only ones who should really be playing with Alan right now) and it requires less effort to update if/when we change some language behaviors, while a clearer set of documentation introducing the language will require more prose and that prose could be seriously impacted by the alpha-level changes we've been making to it.

Yes. I prioritized this form first because advanced developers shouldn't be too put off by it (who are the only ones who should really be playing with Alan right now) and it requires less effort to update if/when we change some language behaviors, while a clearer set of documentation introducing the language will require more prose and that prose could be seriously impacted by the alpha-level changes we've been making to it.

Got it, yeah I was thinking of what we saw a few months back and we both liked -- https://vale.dev/guide/introduction

Yes. I prioritized this form first because advanced developers shouldn't be too put off by it (who are the only ones who should really be playing with Alan right now) and it requires less effort to update if/when we change some language behaviors, while a clearer set of documentation introducing the language will require more prose and that prose could be seriously impacted by the alpha-level changes we've been making to it.

Got it, yeah I was thinking of what we saw a few months back and we both liked -- https://vale.dev/guide/introduction


feat: add a default menu for tauri apps

On macOS, it's pretty much standard for every app to have a menu. Not having one looks very unusual, and basic shortcuts like copy/paste don't work (https://github.com/tauri-apps/tauri/issues/2397). This could result in future issues being created, and unexpected surprises for people who develop on Windows/Linux.
To prevent that, I think it would make sense to have a default macOS menu.
Suggestion for what the default menu should be, and API for it:
impl Menu {
  pub fn default() -> Menu {
    Menu::new()
      .add_default_submenu(Submenu::App)
      .add_default_submenu(Submenu::File)
      .add_default_submenu(Submenu::Edit)
      .add_default_submenu(Submenu::View)
      .add_default_submenu(Submenu::Window)
      .add_default_submenu(Submenu::Help("https://tauri.studio"))
  }

  pub fn add_default_submenu(&mut self, submenu: Submenu) {
    match submenu {
      Submenu::App => {
        #[cfg(target_os = "macos")]
        self.add_submenu(Submenu::new(
          app_name,
          Menu::new()
            .add_native_item(MenuItem::About(app_name))
            .add_native_item(MenuItem::Separator)
            .add_native_item(MenuItem::Services)
            .add_native_item(MenuItem::Separator)
            .add_native_item(MenuItem::Hide)
            .add_native_item(MenuItem::HideOthers)
            .add_native_item(MenuItem::ShowAll)
            .add_native_item(MenuItem::Separator)
            .add_native_item(MenuItem::Quit),
        ));
      }

      Submenu::File => {
        self.add_submenu(Submenu::new(
          "File",
          if cfg!(target_os == "macos") {
            Menu::new().add_native_item(MenuItem::CloseWindow)
          } else {
            Menu::new().add_native_item(MenuItem::Quit)
          },
        ));
      }

      Submenu::Edit => {
        self.add_submenu(Submenu::new("Edit", {
          let mut menu = Menu::new();
          menu = menu.add_native_item(MenuItem::Undo);
          menu = menu.add_native_item(MenuItem::Redo);
          menu = menu.add_native_item(MenuItem::Separator);
          menu = menu.add_native_item(MenuItem::Cut);
          menu = menu.add_native_item(MenuItem::Copy);
          menu = menu.add_native_item(MenuItem::Paste);
          #[cfg(not(target_os = "macos"))]
          {
            menu = menu.add_native_item(MenuItem::Separator);
          }
          menu = menu.add_native_item(MenuItem::SelectAll);
          menu
        }));
      }

      Submenu::View => {
        self.add_submenu(Submenu::new(
          "View",
          Menu::new().add_native_item(MenuItem::EnterFullScreen),
        ));
      }

      Submenu::Window => {
        self.add_submenu(Submenu::new("Window", {
          let menu = Menu::new()
            .add_native_item(MenuItem::Minimize)
            .add_native_item(MenuItem::Zoom);
          if cfg!(target_os == "macos") {
            menu.add_native_item(MenuItem::Separator);
            // not yet supported:
            menu.add_native_item(MenuItem::BringAllToFront);
            // not yet supported (window selector):
            menu.add_native_item(MenuItem::Window);
          } else {
            menu.add_native_item(MenuItem::CloseWindow);
          }
        }));
      }

      Submenu::Help(url) => {
        self.add_submenu(Submenu::new(
          "Help",
          Menu::new()
            // should open url when clicked:
            .add_item(MenuItem::Url("Learn More", url)),
        ))
      }
    }
  }
}

I just talked with @lemarier a couple hours ago about this and I took some inspiration from electron.
I will list proposed changes here for future reference:

[MacOS only] tao should expose a MenuBarBuilder that is dependant on event  loop rather than window.
Remove menu hook on tauri::Builder and tauri by default will ship a default menu bar that includes default menus File, Edit, View, Window and Help for all platforms, on MacOS it is shown in the menu bar and on Linux and Windows it is shown in the top of the window. Ofc it can be overridden, see number 3 and 5.
App and AppHandle should expose a method set_app_menu(), calling this will override or remove the default menu if None is passed.
App and AppHandle should expose a method get_app_menu() so users can extend default or current menu, if they wish.
[Linux and Windows only] Window should expose a method set_menu() that overrides the window's menu bar or remove it if None is passed.
[Linux and Windows only] Window should expose a method get_menu.
[Linux and Windows only] Frameless/Borderless/Undecorated window will hide/remove the menu bar.

Example:
tauri::Builder::default()
  .setup(|app|{
    // get default menu or current one
    let app_menu = app.get_app_menu();
    // extend the menu
    app_menu.add_submenu("MyMenu");
    // set the updated app menu, or pass None to remove it
    app.set_app_menu(Some(app_menu));
  })
  .on_page_load(|win, _|{
    // get default menu or current one that is attached to the window, only linux and windows
    let menu = win.get_menu();
    // extend the menu
    app_menu.add_submenu("MyMenu");
    // set the updated menu, or pass None to remove it, only for linux and windows
    win.set_menu(Some(menu));
  })
  .run(tauri.generate_context!())
  .expect("Error while running tauri application")

Sounds like a great way to go about it :D

I like this way @amrbashir. Thank you @probablykasper for raising this issue. I've been studying and using Tauri for the last week and this is a particular issue that is boring and that can become unaware for Windows and Linux Developers. I was surprised why I could quit my app using a Command + Q, or select all the text Command + A. Would be really useful to have this ready for Mac users, or at least a ready documentation for unexperienced people in Tauri like me 😄 ❤

H

The more I'm thinking about it, the more I think it should go directly in tao.
In macOS, we do need a menu, and it'll bring uniformity in wry <-> Tauri.
If the user does not define a menu, we build the default menu.
If the user DONT want the menu, he should switch the activation policy.
Maybe we could also add a WindowExt function to force the default menu to be disabled, but I don't see any case where it can be useful.
I think we shouldn't overengineering here and if the user wants a custom menu he should create it from scratch. Allowing default menu extensions could bring a lot of weird bugs. We already expose all the native elements so it's a big plus.
The default menu should be the one suggested y the Apple developer guidelines.
What you think @amrbashir

@lemarier

The more I'm thinking about it, the more I think it should go directly in tao.
In macOS, we do need a menu, and it'll bring uniformity in wry <-> Tauri.

Tbh, I think Tao and Wry are low-level libraries and we don't provide any default menus there as users of these libraries expect to be in more in control so it makes sense to let them worry about menus so Default menus should be in Tauri only.

I think we shouldn't overengineering here and if the user wants a custom menu he should create it from scratch. Allowing default menu extensions could bring a lot of weird bugs. We already expose all the native elements so it's a big plus.

I don't think that allowing menu extensions can bring bugs since we only need to allow adding new sub menus, it is just basic extension, if users want to delete menus or modify it then they should create their own menu from scratch.

Maybe we could also add a WindowExt function to force the default menu to be disabled, but I don't see any case where it can be useful.

default or non-default menu should be disabled through window.set_menu(None) this will delete menus in top of the window in Windows and Linux or app.set_app_menu(None) to remove it in all platforms.

The default menu should be the one suggested y the Apple developer guidelines.

I don't have an opinion about this, as long as the default menu is sensible across all platforms.

I don't think the changes in Tao are considered over engineering since they are minimal changes and tbh are necessary.

macOS should have their menus set on the event loop level not window.
window.set_menu() and macOS MenuBar::set_menu() (needs to be added to tao first) should be able to remove or replace the current menu.

Tbh, I think Tao and Wry are low-level libraries and we shouldn't provide any default menus there as users of these libraries expect to be in full control so it makes sense to let them worry about menus.
Default menus should be in Tauri only.

@amrbashir I think it probably should be in tao. It's better to accidentally have a menu than to accidentally not have one

@amrbashir I think it probably should be in tao. It's better to accidentally have a menu than to accidentally not have one

As I said earlier, Tao/Wry users expected it to be bare-bones minimal, and they expect to build their app from ground up so I think Tao/Wry should only provide the means for them and not ship predefined designs for them but don't worry Tauri should and probably will ship a default menu for Tauri users as Tauri is considere more of a high-level tool than Tao/Wry.

Just wanted to add in my two cents that I think this would be a very nice default to add in. A lot of functionality you expect out of the box (like command-Q, copy, paste, cut, etc.) exist in every single macOS application. Would really help new developers (like myself) to get started prototyping with a lower barrier to entry in Tauri.

Since default menu with basic copy/paste/undo/redo functionality is not presented in Tao and Tauri yet, maybe we should add it to the docs?

This would be trivial to PR, since the issue itself provides almost all of the code necessary. I am willing to PR support for this (including docs), if it was to be merged.

What would it take to start adding in a default menu building in tauri/tao now (even if we don't enable it for new projects by default)?
I'm thinking along the lines of how SvelteKit does a new project: you choose a skeleton project or a more feature-packed project. If in create-tauri-app we mimic this and then just add the default menu if a feature-packed option is chosen, then we give that flexibility to the user during init.
By building out a sort of option like this in create-tauri-app, would could also demo some of the APIs (thinking to have a simple rust function that returns a string and then have the frontend show that in a dialog) to give the user a concrete place to jump off from.

Yes remove

Nice improvement!

Wonderful addition and it seems this has been closed and (apparently) merged if I follow all the links but how do you actually use it?
Is it merged but not yet released? What version of the common @tauri-apps/api package does this correspond to? Can I build the latest state from source somehow and use it as a Node module as-is? This issue is the one you’ll be led to when searching for how to implement the expected macOS default app menu, even sample code links to it. However, with it being closed, I’d expect some helpful information on its usage or availability.

@AugustSaintFreytag https://github.com/tauri-apps/tauri/blob/956af4f30f665a1d059aad15d070b4bab9ca49b3/tooling/cli/templates/app/src-tauri/src/main.rs#L9


State changes when publishing a post

When a user publishes a post successfully, the view changes to the full blog post.
Authorization is no longer hardcoded.
Still having bugs with binding a category id to a new category.

This is great. I think we're really close to done guys!


SL not loading on Obsidian startup

Hi, not a big issue but just to let you know
When starting/opening Obsidian, the SL plugin does not load automatically. Also the SL settings do not show up in the Style Settings Plugin
Only after opening (without any action taken) the SL plugin starts and also shows again in the styl;e settings
Turned off other (external) plugins to see if they conflict but nothing changed
Obsidian v0.16.5 on Windows 10

This would be fixed by #143. For now, I would suggest using the PR author's patch fork. You can do this by manually installing or with BRAT. LMK if you need help

I didn't realise this caused SL not to load. I'm on vacation so i can't build the plugin until next week...

@franciskafieh Hi sorry for writing a comment late, but I would like help with this. I installed BRAT within Obsidian, then tried to "Add Beta plugin": https://github.com/dsummersl/obsidian_supercharged_links
I got the error "The release is not complete and cannot download. main.js is missing from the Release." Are you able to help?
Thank you

@franciskafieh Hi sorry for writing a comment late, but I would like help with this. I installed BRAT within Obsidian, then tried to "Add Beta plugin": https://github.com/dsummersl/obsidian_supercharged_links I got the error "The release is not complete and cannot download. main.js is missing from the Release." Are you able to help? Thank you

the link to the PR should be https://github.com/johanfriis/obsidian_supercharged_links

@franciskafieh Hi sorry for writing a comment late, but I would like help with this. I installed BRAT within Obsidian, then tried to "Add Beta plugin": https://github.com/dsummersl/obsidian_supercharged_links I got the error "The release is not complete and cannot download. main.js is missing from the Release." Are you able to help? Thank you

the link to the repo used in the PR (#143) should be https://github.com/johanfriis/obsidian_supercharged_links

I used that URL and I got the same error message. I even tried to make a fork and add a release, but that didn't work either. Any suggestions? Thank you.

whoops, my bad, forgot how BRAT worked lol. I mean you could always just build the main.js file yourself and simply replace the one that is in your .obsidian/plugins/obsidian-supercharged-links (or whatever it's called) folder.
Steps to build main.js:
(node.js and git as pre-requisites)

git clone https://github.com/johanfriis/obsidian_supercharged_links to clone the project locally
cd obsidian_supercharged_links
npm i (wait for it to finish installing dependencies)
npm run build (once done, it will produce a main.js file in this project folder that you can use to replace your exisiting main.js file.

also, if @johanfriis has time, they could add a release to their fork for people to use BRAT with for now. author of this plugin still seems to be AWOL

Thank you, this worked. Unfortunately, it didn't solve the startup problem. I may tinker around with it some more, but I am probably just going to wait.

Any updates on this? The patch didn't work for me also, and there hasn't been changes for months.

hey @HEmile, this can be closed now i think. everything works fine on my machine. thanks so much for the merge and update!

Thanks for mentioning!


Improve samples for Healthcare

Now that there is no single document method, there are extra samples that we don't need. We should organize them again and end up having:

batch convenience async with automatic polling
batch convenience sync with manual polling
batch with TextDocumentInput async with automatic polling and with statistics = true
batch with TextDocumentInput sync with manual polling
cancellation async
cancellation sync

Similar to the work done in https://github.com/Azure/azure-sdk-for-net/issues/17811
Other things to change:
In sample.cs files:

Sample should also show operation information like CreatedOn, ExpiresOn, etc...
Sample should also print the relations information

sample.md:

Name needs to change to Sample_AnalyzeHealthcareEntities or Sample8_?.
Remove section Recognizing healthcare entities in a single document
Remove the word asynchronously from the description. The idea is that the sample by default shows the sync behavior and at the end there are links for the async behavior
Description of the content needs to be updated to reflect the new names
There should be code for the convenience batch and for the TextInputDocument. like here.
Note how the user shouldn't scroll right in order to see all the content. The sample code needs to be modified so this is reflected. See an example here.

Fixed in https://github.com/Azure/azure-sdk-for-net/pull/19248


[FEATURE] Upgrade web3

Is your feature request related to a problem? Please describe.
https://security.snyk.io/vuln/SNYK-PYTHON-WEBSOCKETS-1297182
Describe the solution you'd like
upgrade web3 >= 5.20.1
https://web3py.readthedocs.io/en/stable/releases.html

https://github.com/BoostryJP/ibet-Wallet-API/commit/061d9b7c1f3dbb23faab187f73e5b56aad6ac648


SOLID's relationship to IPFS

Hi, SOLID seems really cool and contains similar ideas to IPFS. What is the relationship between the two, and have you considered the ability to host content using IPFS?

@nicola may be in the best position to answer this question, having spent years on each team.


HTTP header names are not parsed correct on responses

Headers with '-' becomes formatted as an underscore '_' i.e., content-type become content_type

closed with #42


VM service test assertion failure

Temporary buildbot link: http://build.chromium.org/p/client.dart/builders/vm-win32-debug-be/builds/7599/steps/tests/logs/stdio
FAILED: none-vm debug_ia32 service/evaluate_activation_test/scope
Expected: RuntimeError
Actual: Timeout
CommandOutput[vm]:

stdout:
** Launching build\DebugIA32\dart.exe --error_on_bad_type --error_on_bad_override --ignore-unrecognized-flags --package-root=build/DebugIA32/packages/ --enable-vm-service:0 E:\b\build\slave\vm-win32-debug-be\build\sdk\build\DebugIA32\generated_tests\service\evaluate_activation_test_scope.dart --testee-mode
Observatory listening on http://<IP_ADDRESS>:58040
** Signaled to run test queries on 58040

Running evaluate_activation_test_scope.dart [1/4]
Breakpoint: Breakpoint 1 at evaluate_activation_test_scope.dart:token(25)[unresolved])
Event ServiceEvent(owner='isolates/82544458', kind='BreakpointResolved', time=2015-12-10 02:29:21.126)
Event ServiceEvent(owner='isolates/82544458', kind='PauseBreakpoint', time=2015-12-10 02:29:21.126)
vm\debugger.cc:1057: error: expected: receiver.IsInstance()

Command[vm]: set DART_CONFIGURATION=DebugIA32 & build\DebugIA32\dart.exe --error_on_bad_type --error_on_bad_override --ignore-unrecognized-flags --package-root=build/DebugIA32/packages/ E:\b\build\slave\vm-win32-debug-be\build\sdk\build\DebugIA32\generated_tests\service\evaluate_activation_test_scope.dart
Took 0:02:00.033000

Short reproduction command (experimental):
    python tools/test.py -aia32 --write-debug-log --write-test-outcome-log --copy-coredumps --exclude-suite pkg -t120 service/evaluate_activation_test/scope

Debugger issue? @mhausner @johnmccutchan

@rmacnak-google @turnidge

The assert isn't quite right because it rejects null, which is a valid receiver. But that shouldn't have happened during this test either. There's probably a race in the test.

ceff9d33d7e1612c220ef9d4e135fe54da930e26

Closing as not reproducible anymore.


Bug when multiple entries?

Thanks for your hard work, i tried to expand to a couple of more entries to get everything to run on the cheapest periods.
But it seems like if you have have many sensors that have the same timeframe (but different numbers of hours) and they are supposed to start on the same time, only one will start.
Note that they all show up in the calander, its just the sensor that not switches to on.
From config:
cheapest_hours:
- nordpool_entity: sensor.nordpool_kwh_se3_sek_3_10_025
unique_id: cheapesthours_2
name: Cheapest hours 2
first_hour: 0
last_hour: 23
starting_today: false
number_of_hours: 2
sequential: false
failsafe_starting_hour: 0
- nordpool_entity: sensor.nordpool_kwh_se3_sek_3_10_025
unique_id: cheapesthours_3
name: Cheapest hours 3
first_hour: 0
last_hour: 23
starting_today: false
number_of_hours: 3
sequential: false
failsafe_starting_hour: 0
- nordpool_entity: sensor.nordpool_kwh_se3_sek_3_10_025
unique_id: cheapesthours_5
name: Cheapest hours 5
first_hour: 0
last_hour: 23
starting_today: false
number_of_hours: 5
sequential: false
failsafe_starting_hour: 0

Thanks again for your work!

This sounds odd as separate sensors only share the persistent storage. They all are run on a separate update loop and should not interfere with each other.
Anyhow, I'll have a look on this soon and see if I can reproduce the issue.

A couple of questions though:

Did you reboot or reload integration between yesterday and today?
Are you running latest 0.2.2 version?

Yes running the latest.
And yes I think I gave rebooted HA.

I'll made a similar setup on my dev env and see if I can get this to happen also as I couldn't see any reason from the code why this would happen.

@smurfb one more thing.. could you also paste a screenshot of your working sensor attributes?

If the state is still off, could you send me debug logs of it? Most probably I could figure the problem out of it.
Go to integrations -> aio energy management -> enable debug logging and allow the system run for few minutes.
After that go to same place and disable logging. It should download the component logs on stop.
You can attach the logs here or send by email to<EMAIL_ADDRESS>

Here is the debug log file, I will leave it running so that it will be on debug when the  clock strikes 12 and cheapest hours start.
I tried to look in the logfile but it is filled with rubbish from a tuya zigbee device that is spamming errors. But I have removed that so I can have a look in the logfile.
This night the prices were too high so it was only the 5h sensor that was supposed to start at 3 (but it didn't).  But all three (2h, 3h, 5h) should start at noon. So I will keep the log going and hopefully there will be something.
The calendar is always working though!
aio_ha.log

Thanks! As the logs are from today, can you also send the attributes that "Cheapest hours 5" is now displaying?
The issue here is that the "list_next" conversion to "list" is not made properly. After 'list' has expired the swap should be made on next update loop (called by Home Assistant core every 30s). Even if it fails it should retry on next iteration.

Thanks for explaining!
Here is the current cheapest hour 5.

Thanks for explaining!
Here is the current cheapest hour 5 attributes.

Looks like that data has been updated properly now and most probably the sensor will work ok today.
If you encounter the similar issue in the future, please send few minutes of AIO Energy Management debug logs and the sensor attributes. :-)
I'm also running similar configurations on my dev env now as well to see if this happens for me as well.

Yes, it seemed to work now! So the problem is somehow connected me restarting the machine?
Thanks for all your help!

If it helps: I had a similar situation last night even though I have only one sensor with very basic configuration:
aio_energy_management:
    cheapest_hours:
      - nordpool_entity: sensor.nordpool_kwh_fi_eur_3_095_024
        unique_id: cheapest_electricity_hours
        name: Cheapest electricity hours
        first_hour: 00
        last_hour: 23
        starting_today: false
        number_of_hours: 8
        sequential: false
        failsafe_starting_hour: 0
    calendar:
      name: Energy Management
      unique_id: energy_management_calendar

Calendar showed cheapest hours 23-00, and 02-06, but the binary sensor never turned on at 02.00.

Thanks @teelahti .
I'm still trying to get this reproduced, but so far no luck.
Could you try to get the AIO Energy Management logs as described above and paste current device attributes? If I can get get the logs from in error situation happen I might be able to find the root cause of this. :-)
And did you reboot your HA yesterday or has it been running more than a day?

And did you reboot your HA yesterday or has it been running more than a day?

I did boot yesterday after setting everything up (moved from previous script based approach to AIO). So the root cause might very well be the same.
Attributes:

I don't have debug logging enabled, but will put it on if this continues. Btw. thanks for super useful addition for HA. this is exactly what I need (especially if you plan to add some hard price limits and such).

Ok, thanks @teelahti . Looks like attributes are ok now.
I think I have a hunch now where the problem might lie, most probably list_next date conversion goes wrong on persistent storage loading after a reboot. I'll write few unit tests this evening to see if I find the issue in there.

Found it. Will fix this and release on 0.3.0 later this week.
Was related to the loading from persistent storage after a reboot. list_next expiration date conversion was not made properly.

Great news for us that reboots the machine too often. Thanks for your persistance.

Fixed with 0.3.0. Please re-open if issue still persists :)


Using imgproxy with SPA Frameworks - Examples & best practices?

Hi,
I went through the documentation and couldn't find anything about using imgproxy with a SPA framework like vue. Are there any examples or guides on this?
If I understand correctly imgproxy is ment to be used serverside because of the encryption aspect. Would love to know about any best practices on how to implement it in a SPA scenario.
Thank you

Not sure if it's possible to generate the encryption in Vue without exposing the key/secret in the frontend.
Might be a good idea in such cases to deploy imgproxy behind a CDN with IMGPROXY_BASE_URL set and generate unencrypted images URLs from the SPA framework of your choice.

Hi,
The ideal way is to generate URLs on the backend side and return them via API, that's how we work with it.
If generating URLs on the backend side is not an option, you can work the way @selul described. It's not fully secure since an attacker would be able to change processing options, but they wouldn't be able to reuse your imgproxy instance with their images.
You can also combine this with IMGPROXY_ONLY_PRESETS config option and use only predefined presets.

The ideal way is to generate URLs on the backend side and return them via API, that's how we work with it.

I do the same; couple it with an api that likely has more info about the object.

If generating URLs on the backend side is not an option, you can work the way @selul described. It's not fully secure since an attacker would be able to change processing options, but they wouldn't be able to reuse your imgproxy instance with their images.

If you have control over your caching layer, you can add logic here to do the url mapping (VCL, Cloudflare Workers, Apache Traffic Server, ..). That way, you can for instance add a whitelist of what image transformations (or as mentioned above, IMGPROXY_ONLY_PRESETS) you want to supply and pass on. It'll be some glue but can be a safe way of managing freedom-within-boundaries in frontend but still staying safe from resource attacks.


(Do not submit) Force data-tiling to get a (DT-Only vs DT+UK) benchmark comparison table

The useful DT/UK benchmark comparison tables only show No-DT and DT+UK, as DT-Only benchmarks are skipped, and I don't know how to un-skip them. I want to compare DT-Only with DT-UK ahead of proposing enabling UK by default. So this PR just forces DT on so that the "No-DT" column really shows "DT-Only".

It is not obvious currently, DT-only benchmarks can be triggered by adding benchmark-extra: x86_64-dt-only, android-cpu-dt-only

Ah, thanks!!

The useful DT/UK benchmark comparison tables only show No-DT and DT+UK, as DT-Only benchmarks are skipped, and I don't know how to un-skip them.

Add benchmark-extra: x86_64-dt-only to the end of PR description, and re-trigger the CI. (I don't have a link on hands for now, but there are other options. I'll circle back on this once I get it)

https://iree.dev/developers/general/contributing/#continuous-integration-ci has more information, but the available flags are missed..


Access Mailpit from inside?

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem?
I used the Mailhog API a lot during my automated E2E tests to check if mails are triggered.
After switching to Mailpit, the API is not accessible inside the docker context right now.
Describe your solution
Make Mailpit available from inside docker.
Describe alternatives
No response
Additional context
No response

Hi @Schnoop,
Mailpit does provide a simple REST API to view, search and delete stored messages. You can view the docs here: https://github.com/axllent/mailpit/wiki/API
I tend to mock the mail service in my tests so I never had a need for it in Mailhog and therefore have not used it in Mailpit.

I'am aware of this API. But i am not able to access is on localhost 8026.

You may also be interested in https://packagist.org/packages/koehnlein/codeception-email-mailpit


[Bug]: Remove Hash function works wrong

Error
Remove Hash function works wrong. It removes not only "#" symbol, but also the icon in front of it.
PS: It's the sandbox vault with default theme.
with the function off

with the function on

I hope this will be fixed. Thanks in advance. :smile:

still not fixed...


Error due to primaryKey in serializer

Adding a primaryKey in the profile serializer (for example) results in the following error:
You must include an 'id' for profile in an object passed to 'push'

See this example commit that breaks tests.
Full repo here
I can try to dig deeper and make the tests pass. Any hints appreciated.

You've got me baffled as to what you are trying to accomplish exactly? .. So you set the primaryKey as 'primaryKey'  .. but that field does not exist in the model or the factory .. What is it you are trying to do?  why should it not break?

Sorry if it's not clear, I'll try to explain better.
From: http://emberjs.com/api/data/classes/DS.RESTSerializer.html#property_primaryKey

The primaryKey is used when serializing and deserializing data. Ember Data always uses the id property to store the id of the record. The external source may not always follow this convention. In these cases it is useful to override the primaryKey property to match the primaryKey of your external store.

//app/serializers/application.js
import DS from 'ember-data';

export default DS.JSONSerializer.extend({
  primaryKey: '_id'
});

When using a different primaryKey, you don't add "_id" as an attribute on the model, your server just returns json containing "_id" instead of "id".  It wasn't clear to me how to mock this in the tests, but adding the primaryKey to the serializer did create the error I see in my repo.

Would you expect factory guy to make the id .. but use that key as the primary key ?? so it would be profileId instead of id?

Yes, the idea is to make factory guy support a primaryKey other than "id".    Let me know if that makes sense.

That was pretty silly of me not to see that .. ok .. I get you now.
Can't believe no one ever brought this up. Maybe it's not used too often.
But never-the-less .. I am wondering how to hook this up. I will see what I can do.
I don't suppose your interested in trying to fix it?  Might be fun exercise.

I'll give it a shot. If you have any intuition about where to look, let me know.

I reckon the first issue is making the json.
The factories will make an id by default.
So when you build ... in the fixture converters ( there are 2 .. jsonapi and rest ) .. when your converting the raw fixture to the json used for the payload .. you would replace the id with that profileId ( or whatever the key name is )
not really that hard.
That ( I think ) would do it.

The code to make this work is pretty trivial but there is some side-effect with the JSONAPISerializer that I don't understand. Maybe you can take a look.  There is one failing test with the following warning in the console: (related to the JSONAPI serializer)
Encountered "data" in payload, but no model was found for model name
"datum" (resolved model name using dummy@serializer:cat:.modelNameFromPayloadKey("data"))

See this commit
Full Repo
Basically what I did was identify the test that fails with a primaryKey specified and then make two new models (dog and cat which use the REST serializer and JSONAPI serializer respectively) and then copied the test that fails for each model.  Maybe it's overkill, I'm not sure.

Can you make a pull request out of these commits? It's a bit easier for me to noodle around with it that way, and to bring your code into the main project ( if you know what I mean )

https://github.com/danielspaniel/ember-data-factory-guy/pull/199

Everything looked ok by the way .. and more tests is always better than none.
One change I might make is to see if I could refactor it to have the fixtureConverter ( main ) class have a method that handled the overriden primaryKey value ..

fixed with v2.5.6

Thanks for finishing this Daniel, much appreciated!


Remove randomness in package uniqueness ordering

Description
Partly addresses #459. I would still want to keep the issue open so we can get rid of prettyUnsatMessage function.
Reviewer Checklist

[ ] API Go Documentation
[ ] Tests: Unit Tests (and E2E Tests, if appropriate)
[ ] Comprehensive Commit Messages
[ ] Links to related GitHub Issue(s)

/lgtm
/approve