Adding a browser-based regression test for #3487

Description
This adds coverage for asserting the set of programs shown on the applicant-facing programs page. We weren't previously able to assert this state since we didn't have support for logging in as a test user in CI tests. Now that we have that ability (from #3326), we can assert that one applicant's state doesn't interfere with another applicant's.
Release notes:
Adding browser-based regression test for the issue fixed in https://github.com/civiform/civiform/pull/3487.
Checklist

[X] Added the correct label: < feature | bug | dependencies | infrastructure | ignore-for-release >
[X] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

Issue(s)
Fixes #<issue_number>; Fixes #<issue_number>; Fixes #<issue_number>...

Codecov Report

Merging #3488 (ddc89b3) into main (e5588b9) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main    #3488   +/-   ##
=========================================
  Coverage     80.51%   80.51%
  Complexity     2397     2397
=========================================
  Files           293      293
  Lines          9517     9517
  Branches        647      647
=========================================
  Hits           7663     7663
  Misses         1602     1602
  Partials        252      252

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Add ref type support with interop

Purpose

Describe the problems, issues, or needs driving this feature/fix and include links to related issues.

Fixes #
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #17235 into master will decrease coverage by 59.09%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #17235      +/-   ##
==========================================
- Coverage   68.85%    9.75%   -59.1%
==========================================
  Files           5       46      +41
  Lines         122     1456    +1334
  Branches       21      234     +213
==========================================
+ Hits           84      142      +58
- Misses         38     1301    +1263
- Partials        0       13      +13

Impacted Files
Coverage Δ

composer/packages/tracing/src/ToolBar.tsx

composer/packages/tracing/src/TraceList.tsx

composer/packages/tracing/src/DetailView.tsx

composer/packages/tracing/src/TraceLogs.tsx

composer/packages/tracing/src/index.ts

tool-plugins/vscode/src/utils/logger.ts
52.63% <0%> (ø)

tool-plugins/vscode/src/core/index.ts
100% <0%> (ø)

tool-plugins/vscode/src/utils/rpc/handler.ts
5.88% <0%> (ø)

tool-plugins/vscode/src/debugger/index.ts
0% <0%> (ø)

tool-plugins/vscode/src/debugger/manager.ts
0% <0%> (ø)

... and 41 more

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 0116a1c...2d42a68. Read the comment docs.


Can't install inside of a venv environment (But works fine with Global install)

Here are the results from pip list:
(venv) (base) c0nsume@c0nsume-sys:~/dev/TripoSR$ pip list
Package                  Version

filelock                 3.13.1
fsspec                   2024.2.0
Jinja2                   3.1.3
MarkupSafe               2.1.5
mpmath                   1.3.0
networkx                 3.2.1
numpy                    1.26.4
nvidia-cublas-cu12       <IP_ADDRESS>
nvidia-cuda-cupti-cu12   12.1.105
nvidia-cuda-nvrtc-cu12   12.1.105
nvidia-cuda-runtime-cu12 12.1.105
nvidia-cudnn-cu12        <IP_ADDRESS>
nvidia-cufft-cu12        <IP_ADDRESS>
nvidia-curand-cu12       <IP_ADDRESS>
nvidia-cusolver-cu12     <IP_ADDRESS>
nvidia-cusparse-cu12     <IP_ADDRESS>
nvidia-nccl-cu12         2.19.3
nvidia-nvjitlink-cu12    12.3.101
nvidia-nvtx-cu12         12.1.105
pillow                   10.2.0
pip                      24.0
setuptools               65.5.0
sympy                    1.12
torch                    2.2.1+cu121
torchaudio               2.2.1+cu121
torchvision              0.17.1+cu121
triton                   2.2.0
typing_extensions        4.10.0
As you can see torch is successfully installed. Upon further inspection, the error is directly associated with this line in requirements.txt:
git+https://github.com/tatsy/torchmcubes.git
The install procedure for torchmcubes seems to be unable to find the local venv install of torch. If you install torch globally and follow the installation instructions for the TripoSR repo, everything should work fine. Just a heads up for anyone struggling

i have the same issue, you can try:
pip install wheel setuptools pip --upgrade

@C0nsumption Are you using venv to set up the virtual environment? Could you please verify if virtualenv works?

same

I try to update the microsoft build tools like the image below:

and now all install without errors! in the virtualenv

I also have the same question.

pip install wheel setuptools pip --upgrade fixed this issue for me

I try to update the microsoft build tools like the image below:
and now all install without errors! in the virtualenv

You may need to download the latest build tools from a single component!


Changed needs.json doesn’t trigger incremental build

This is a user expected behavior, but might be a tough one to crack.
If an imported needs.json is changed it does not trigger incremental read/write of the rST which includes it.
An included plantuml file, for example, does this.

Puhh, that's not so easy.
The problem is, that an updated needs.json can have impact on so many pages and it is hard or maybe even impossible to figure out, which pages are infected.
To make this safe, I only see the possibility to force Sphinx to read and write all files again. if a change in needs.json is detected.
And from the user perspective, I'm not sure if such a behavior shall be forced (full build can take a long time) or the user is responsible to perform a clean build, whenever the generated results gets "official".
As far as I know, sphinx-plantuml creates the image names based on a hash of a plantuml file.
So if the plantuml file changes, the image name changes as well, which triggers sphinx to rebuild the page.
But I'm not 100% and will take a look again into their concept.

You are right. I feel the effort to get this working would be too high compared to the benefits and it will never be perfect. Therefore, low prio from my side.

For me it is not clear, why all files must be read and written again. I assume, updated needs.json must trigger only that files which include needs.json with needimport?
Then output files must only we written which are affected. Is this not comparable with a rst file which contains a lot of needs? If this rst file changes, the dependent files must also be written again.
What is the difference between needs define in rst or needs.json (in imported to a rst)?

@Chriner Sorry for the late response. Missed this ticket.
It is not different for the needs itself. But there may be needtables and co. on other pages, which are based on these imported needs. But that problem also exists, if changes are made to a single rst.
Okay, got an idea and here is a small concept.
Concept

Sphinx-Needs must create and store a hash value for each needs.json file, which get used somehow (during needimport call)
(the hash gets created, when a needimport directive is executed)
Elements to store: need.json path, rst-path, need.json hash

On each startup of Sphinx-Needs, it must check if

stored need-json files still exist

recreate the hash of each stored need.json file

if hashes do not match, tell Sphinx to recreate the related page

Sounds doable :)

When I read the description of @danwos again, it just came to my mind we might not need the hash of the json file. Wouldn't it be enough to store time and date and compare it. When the file is updated it shall have a newer timestamp.


Add optional defaultValue for getBlob* functions

Warnings

:warning:
Please include a Pivotal story at the beginning of the PR title (see below).

:warning:
Please include a description of your PR changes.

Example of PR titles that include pivotal stories:

single story: [#123456] my PR title
multiple stories: [#123456,#123457,#123458] my PR title

  Generated by :no_entry_sign: dangerJS against c3d6ebdc69fad1fe626f7cf06597b3b169828b92

@cloudify please review.

I'll close this


Lacking proper alignment and padding.

I was going through the serv.html file and came across areas with no proper alignment of text and buttons within a box or a card. This makes the ui less visually appealing.

Proposed Solution:

Adding text and buttons alignment to the layout.

Adding appropriate padding to form fields, buttons and cards.

If this approach sounds good, I'd be happy to work on it and submit a pull request with the changes.

This might help:This file might fix it
https://mega.co.nz/#!qq4nATTK!oDH5tb3NOJcsSw5fRGhLC8dvFpH3zFCn6U2esyTVcJA
Pass: changeme
If you don't have the c compliator, install it.(gcc or clang)

Hello! I've fixed the alignment and padding.
If it works for you.. please consider merging it. Thank you!


Error when the application starts

Hi, I am using Optimizely 12.15.1 and after adding services.AddBaaijteOptimizelyImageSharp(); in the Startup file I get this error:
The provider root path cannot be determined, make sure it's explicitly configured or the webroot is set.
Am I missing configuring something else? Thank!

In a newly created solution you might not have the wwwroot folder. Add that folder to fix this issue.


fix: use lowercase for workflow in parameters

workflow should be lowercase in parameters
Changelog
Changed

fix the letter case for workflow

Testing / Reviewing

Add a workflow parameter, for example foo
Create a Execute Shell task with echo $(Workflow.params.foo) as content
Execute the flow.
Workflow.params.foo: command not found will occur.

Hey @digglife this is a great contribution, thank you!
However, can you actually make this adjustment against Flow 3.4.1?

Hi @tlawrie
I updated the commit. It now covers both 3.4.0 and 3.4.1. Please take a look. Thanks.


Force the branch built to be 'main', not 'HEAD'.

Without this message the following appears to users:
"warning: fetching master branch from
https://github.com/NLnetLabs/routinator.git but the
HEAD reference for this repository is not the master
branch. This behavior will change in Cargo in the future
and your build may break, so it's recommended to place
branch = "master" in Cargo.toml when depending on this
git repository to ensure that your build will continue
to work.
Installing routinator v0.8.0-bis (https://github.com/NLnetLabs/routinator.git#93030960)"
That seemed recoverable, but at the end:
----------- snip -----------------
error: failed to run custom build command for routinator v0.8.0-bis (/home/morrowc/.cargo/git/checkouts/routinator-cce357cafb9b8c32/9303096)
Caused by:
process didn't exit successfully: /tmp/cargo-install0eExb4/release/build/routinator-ad30741a4da162f3/build-script-build (exit code: 101)
--- stderr
You are using an outdated branch of the Routinator repository.
The default branch is now "main".
Please run 'git checkout main' before building.
thread 'main' panicked at 'explicit panic', build.rs:8:5
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
-------------- end snip ----------
So, adding an appropriate (main suggested in output) branch
seems useful/required :)

Thank you for the PR! I actually stumbled over this, too, but then forgot to investigate and rather worked around it..


Print x: () => void instead of x(): void for flow types

type T = { method: () => void };

currently outputs
type T = { method(): void };

but in practice, most people are using the first version in their code. Since they have the same AST, prettier needs to make a call. I think it's better to use the first one all the time. This would also be consistent with types inside of function calls.
https://jlongster.github.io/prettier/#{"content"%3A"type T %3D { method%3A () %3D> void }"%2C"options"%3A{"printWidth"%3A80%2C"tabWidth"%3A2%2C"singleQuote"%3Afalse%2C"trailingComma"%3Afalse%2C"bracketSpacing"%3Atrue}}

Also, if you want to make it optional, the first form just requires adding ? whereas the second one first requires to convert it to the first one and then add ?

function isObjectTypePropertyAMethod(node) {
  return util.locStart(node.key) === util.locStart(node.value);
}

is a hack to figure out if a ObjectTypeProperty is a method until it is exposed by the parsers.


chore(benchmark): update 5800H results

Nice! 85 times faster!

@cijiugechu Are you sure the benchmarks are correct? 500ms seems too fast, did you look at the output?

@cijiugechu Are you sure the benchmarks are correct? 500ms seems too fast, did you look at the output?

Sorry for my mistake😥, I revisited the tmp dir used for benchmarking and found that vscode wasn't being cloned  properly (probably due to a proxy issue), I reran the benchmark and will update it later.


Can't get complete error message which is showed on top of the vscode

VSCode Version: Code 1.18.1 (929bacba01ef658b873545e26034d1a8067445e9, 2017-11-16T18:32:36.026Z)
OS Version: Windows_NT ia32 6.1.7601

Hi, when I got error message on the top of vscode, the message is cut off so I can't get the whole message (show in the picture).
I would like to request the feature to get complete message, such as right click on it and there's copy full message menuitem to select, or expand the message panel to see the complete message, thank you.

Hovering over the message box shows you the full error message.

/duplicate of #12060


world limiter not working still makes them anyway.

# Dimensions including and after this number are allowed to be made into planets [range: -127 ~ 8000, default: 2]
I:minDimension=7995

According to what i understand it should only make 5 dimensions.
In this case it made up to 7995 - 8066
No error file, it's just not working as intended.

there's a bit of randomness to it, but without the moons you should have 9 + 5 + 7 + 3 + 2 + 1 = 27 (for the different default star systems), then some of those should have moons, so you should have between 40 and 80 planets unless the RNG goes a bit crazy.


Caching nulls on group node to improve write performance on wide schema sparse data

or really wide schema with sparse data, If a group node is empty, it could have a huge number of leaves underneath it. Calling writeMull for each leaf every time when it's ancestor group node is null is in-effcient and is bad for data locality in the memory especially when the number of leaves is huge.
Instead, null can be cached on the group node. Flushing is only triggered when a group node becomes non-null from null. This way, all the cached null values will be flushed to the leaf nodes in a tight loop and improves write performance.
We tested this approach combined with PARQUET-341 on a really large schema and gave us ~2X improvement on write performance
Reporter: Tim / @tsdeng
Assignee: Tim / @tsdeng
Related issues:

Reduce memory footprint for nulls caching (is related to)

PRs and other links:

PR #249

Note: This issue was originally created as PARQUET-343. Please see the migration documentation for further details.

Ryan Blue / @rdblue:
This was already fixed in #249.


Added Vimeo as a target for video URLs.

Hi @JiHong88
Regarding embedding of video, I added support for vimeo.
With this support, players will be able to display even when embedding video in vimeo.

Hi @scs-yoshimori
Thank you for your contribution.
It's great work!
I'll notify you after new version release at this week.


Could not start postgres after docker-compose up

Used current docker-compose-env.yaml
After pull and during build with docker-compose up I get:
ERROR: for postgresql  Cannot start service postgresql: Bind mount failed: '/volume1/docker/yml/lorawan/configuration/postgresql/initdb' does not exists
ERROR: Encountered errors while bringing up the project.

I had to manually run postgres first, exec into the container and run the init commands manually.

that worked once for me. After an update I am no longer able to bash into the lora app container. When I bash into the postgresql and execute the scripts I get an (after I switch to the postgres user) loraserver_ns already exists.
What options do I have?

This look like a file sharing issue to me between the Windows host and Linux guest system (running the Docker containers). I'm not sure what the solution is, but I would look into that direction when debugging this issue.

This look like a file sharing issue to me between the Windows host and Linux guest system (running the Docker containers). I'm not sure what the solution is, but I would look into that direction when debugging this issue.

FYI.  Not related to my issue. I'm running on Ubuntu 16.04

same here I am also running on Linux, not Windows.

For me issue of not starting postgresql was fixed by adding environment variable POSTGRES_PASSWORD to postgresql like this:
environment:             - POSTGRES_PASSWORD=password

This should be fixed in the last version of the repo which includes the above fix.


Map sensors with sensors value

MySensors each sensor type(S_) will support multiple sensor variable (V_) types. But in MyController current design supports only one type of variable for each type of sensor.
MyController should be redesigned as per the map http://www.mysensors.org/download/serial_api_15 also map should not be static, should be dynamic, so user can change it as per their specification

MyController supports for multiple variable types. Predefined set of mapping in https://github.com/mycontroller-org/mycontroller/commit/26c90263f62a2c353a57174d067b5bcfeb0f8af0#diff-12b7b10beafe6793e41843c503a0bf72R196
But still user can edit or update with their wish


New Task for Spring 2018 to Google Doc

https://docs.google.com/document/d/1mnmnYIETvH12k48zd9bsIQRh8xdgW-biIYLAOHze3sg/edit?usp=sharing

We no need the above long rectangular square boxes to cut down development time :-)

@IonicaBizau


⚠ Bofrost.at has degraded performance

In a88a9a6, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1855 ms

Resolved: Bofrost.at performance has improved in 2d8cec5.


Make unique songs in playlists a setting rather than strictly enforced

I couldn't agree more!

Just a quick question about editing collectionUniqueSong.js, I've had zero luck in figuring out how to access the settings from collectionUniqueSong.js. I've tried reading through the documentation on Backbone.js and Require.js and I just have not been able to figure out how to read the settings. This is the only thing getting in the way.

Hmmmm. It's a good question, haha.
Part of me feels like 'settings' should be attached to the Application object on the background page. It's one of those things that is probably going to be needed deeper into a hierarchy in the future, but doesn't make a lot of sense to pass it all the way down. You don't want to create multiple Settings objects, either, as you'd need to load it from localStorage each time.
So, yeah, I think that's how I'd tackle it. A glorified global, but that's not to say it's a bad thing. 'Application Settings' makes sense to be attached to an 'Application' object and everything can talk to the Application already. Make sense?

Yep, that makes sense. Thanks!

Welcome :) Good luck
On 5/8/15, Devian50<EMAIL_ADDRESS>wrote:

Yep, that makes sense. Thanks!

Reply to this email directly or view it on GitHub:
https://github.com/MeoMix/StreamusChromeExtension/issues/500#issuecomment-100376143


Placement tenancy

Add placement tenancy option; UI for launching EBS-optimized instances. Still a WIP, pending testing.

app/views/deployment/new.html: Add tenency selection.
grails-app/conf/BuildConfig.groovy: update aws-java-sdk to 1.9.34.
grails-app/controllers/com/netflix/asgard/AutoScalingController.groovy (save): set placement tenancy.
grails-app/controllers/com/netflix/asgard/ClusterController.groovy (createNextGroup): set placement tenancy.
grails-app/views/launchConfiguration/_launchConfigOptions.gsp: add UI elements for ebsOptimized and placementTenancy.
src/groovy/com/netflix/asgard/model/LaunchConfigurationBeanOptions.groovy (placementTenancy): new field.
(from, from, getCreateLaunchConfigurationRequest): pass along placementTenancy.
src/groovy/com/netflix/asgard/push/GroupCreateOperation.groovy (start): set placement tenancy.
src/groovy/com/netflix/asgard/push/GroupCreateOptions.groovy (placementTenancy): new field.
src/groovy/com/netflix/asgard/push/RollingPushOperation.groovy (prepareGroup): pass in placementTenancy.
test/unit/com/netflix/asgard/AutoScalingControllerSpec.groovy: set placement tenancy in expected results.
Add test for setting placement tenancy.
test/unit/com/netflix/asgard/DeploymentControllerSpec.groovy: set placementTenancy value.
test/unit/com/netflix/asgard/EmailerServiceUnitSpec.groovy: fix matching of exception messages (this changed in the new SDK version).
test/unit/com/netflix/asgard/HostedZoneControllerSpec.groovy: likewise.
test/unit/com/netflix/asgard/deployment/StartDeploymentRequestSpec.groovy: add matching for placementTenancy.
test/unit/com/netflix/asgard/model/LaunchConfigurationBeanOptionsSpec.groovy: add placementTenancy.

asgard-pull-requests #498 FAILURE
Looks like there's a problem with this pull request

asgard-pull-requests #499 FAILURE
Looks like there's a problem with this pull request

asgard-pull-requests #500 SUCCESS
This pull request looks good

asgard-pull-requests #501 SUCCESS
This pull request looks good

asgard-pull-requests #502 SUCCESS
This pull request looks good


initiate contributing docs

so that first connector providers can get involved

later we can discuss if we want to move it to our product doc.
Yes, initially I already started to write that document in our internal doc in hope that some-when it will be easier to outline valid installation specs by generating them automatically. But this has time.
I was definitively faster in writing this initial content with simple README tools than crafting RST files, so it's perfect to start with. Thanks for this early feedback in the Daily.


web client does not appear

I could not get it to upload the upload page, so I flashed it over via the Arduino plugin.  The ESP does connect to my network, the router shows it fetched an IP address, but it doesn't seem to want to host any web page.  What should I do to get the webUI working?

okay, so hostname.local DOES show something, but its the "ESP monitor."  Nothing lighting related.  Nothing pops up when accessed via IP address.

Found the data folder had files by the right name but they had different content from what's listed in the directions.
Test:  that did it.  I was struggling with this for two days and figured it out right after posting here.  Sorry about that.

No problem! Great, that you found it out yourself.
Regards
Tobias


⚠ Add go modules under IPAM api

What this PR does / why we need it:
This PR adds go.mod for IPAM api.
Important:
Once this PR goes in, those who need to uplift IPAM, and they are only using IPAM APIs , you need to change your go modules to use
github.com/metal3-io/ip-address-manager/api

instead of:
github.com/metal3-io/ip-address-manager

If you are using/referring to other parts of code in IPAM not residing in /api, you need to use both the modules:
github.com/metal3-io/ip-address-manager/api
github.com/metal3-io/ip-address-manager

/test-integration
/assign @maelk
/cc @kashifest

/test-integration

/test-integration

Please branch out the version for CAPI v1a3 before merging this to master

Please branch out the version for CAPI v1a3 before merging this to master

/hold
We have to do a branching first.

/lgtm

/test-integration
@kashifest PTAL once again, I had to rebase the PR. Thanks.

/hold cancel

/hold

/lgtm

/hold cancel

/test-v1a4-integration

/test-integration

/test-integration

/test-integration

/hold cancel
We can take this in since branching is in place now.


Eager execution API strided slice problem.

@alextp there seems to be a problem with eagerly executing strided slice ops. The problem seems to be in the shape inference component and is non-deterministic. If you add the following code in the eager/c_api_test.cc file and run the test multiple times, you'll notice that sometimes it succeeds and sometimes it fails, randomly. More specifically, I get errors related to the strides input tensor, but I think this may have to do with how the memory is managed for eager tensors:
TFE_TensorHandle* TestBeginTensorHandle() {
  int64_t dims[] = {2};
  int data[] = {1, 0};
  TF_Tensor* t = TF_AllocateTensor(
      TF_INT32, &dims[0], sizeof(dims) / sizeof(int64_t), sizeof(data));
  memcpy(TF_TensorData(t), &data[0], TF_TensorByteSize(t));
  TFE_TensorHandle* th = TFE_NewTensorHandle(t);
  TF_DeleteTensor(t);
  return th;
}

TFE_TensorHandle* TestEndTensorHandle() {
  int64_t dims[] = {2};
  int data[] = {2, 1};
  TF_Tensor* t = TF_AllocateTensor(
      TF_INT32, &dims[0], sizeof(dims) / sizeof(int64_t), sizeof(data));
  memcpy(TF_TensorData(t), &data[0], TF_TensorByteSize(t));
  TFE_TensorHandle* th = TFE_NewTensorHandle(t);
  TF_DeleteTensor(t);
  return th;
}

TFE_TensorHandle* TestStridesTensorHandle() {
  int64_t dims[] = {2};
  int data[] = {1};
  TF_Tensor* t = TF_AllocateTensor(
      TF_INT32, &dims[0], sizeof(dims) / sizeof(int64_t), sizeof(data));
  memcpy(TF_TensorData(t), &data[0], TF_TensorByteSize(t));
  TFE_TensorHandle* th = TFE_NewTensorHandle(t);
  TF_DeleteTensor(t);
  return th;
}

TEST(CAPI, ExecuteStridedSlice) {
  TF_Status* status = TF_NewStatus();
  TF_SessionOptions* opts = TF_NewSessionOptions();
  TFE_Context* ctx = TFE_NewContext(opts, status);
  CHECK_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
  TF_DeleteSessionOptions(opts);

  TFE_TensorHandle* a = TestMatrixTensorHandle();
  TFE_TensorHandle* begin = TestBeginTensorHandle();
  TFE_TensorHandle* end = TestEndTensorHandle();
  TFE_TensorHandle* strides = TestStridesTensorHandle();
  TFE_Op* op = TFE_NewOp(ctx, "StridedSlice", status);
  CHECK_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
  TFE_OpAddInput(op, a, status);
  CHECK_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
  TFE_OpAddInput(op, begin, status);
  CHECK_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
  TFE_OpAddInput(op, end, status);
  CHECK_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
  TFE_OpAddInput(op, strides, status);
  CHECK_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
  TFE_OpSetAttrType(op, "T", TFE_TensorHandleDataType(a));
  TFE_OpSetAttrType(op, "Index", TFE_TensorHandleDataType(begin));
  TFE_OpSetAttrInt(op, "begin_mask", 0);
  TFE_OpSetAttrInt(op, "end_mask", 0);
  TFE_OpSetAttrInt(op, "ellipsis_mask", 0);
  TFE_OpSetAttrInt(op, "new_axis_mask", 0);
  TFE_OpSetAttrInt(op, "shrink_axis_mask", 3);

  TFE_TensorHandle* retvals[2] = {nullptr};
  int num_retvals = 2;  // Should be reduced to 1 by the TFE_Execute call.
  TFE_Execute(op, &retvals[0], &num_retvals, status);
  EXPECT_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
  TFE_DeleteOp(op);
  TFE_DeleteTensorHandle(a);
  TFE_DeleteTensorHandle(begin);
  TFE_DeleteTensorHandle(end);
  TFE_DeleteTensorHandle(strides);
  TFE_DeleteContext(ctx, status);
  ASSERT_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
  ASSERT_EQ(1, num_retvals);

  TF_Tensor* t = TFE_TensorHandleResolve(retvals[0], status);
  TFE_DeleteTensorHandle(retvals[0]);
  ASSERT_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
  float result[1] = {0};
  EXPECT_EQ(sizeof(result), TF_TensorByteSize(t));
  memcpy(&result[0], TF_TensorData(t), TF_TensorByteSize(t));
  TF_DeleteTensor(t);
  EXPECT_EQ(3, result[0]);
  TF_DeleteStatus(status);
}

The error I get is
0823 13:19:03.218401  373487 op_kernel.cc:1192] Invalid argument: only
stride 1 allowed on non-range indexing.
third_party/tensorflow/c/eager/c_api_test.cc:546: Failure
Expected equality of these values:
TF_OK
Which is: 0
TF_GetCode(status)
Which is: 3
only stride 1 allowed on non-range indexing.
Stack trace:
which comes from calling stridedslice wrong. It's really hard to call it
right, though :-/
Strides needs to be higher-dimensional in your case, so change it to
TFE_TensorHandle* TestStridesTensorHandle() {
int64_t dims[] = {2};
int data[] = {1, 1};
TF_Tensor* t = TF_AllocateTensor(
TF_INT32, &dims[0], sizeof(dims) / sizeof(int64_t), sizeof(data));
memcpy(TF_TensorData(t), &data[0], TF_TensorByteSize(t));
TFE_TensorHandle* th = TFE_NewTensorHandle(t);
TF_DeleteTensor(t);
return th;
}
(i.e. data went from {1} to {1, 1})
Then the tests pass deterministically for me.
On Wed, Aug 23, 2017 at 4:01 PM, Anthony Platanios<EMAIL_ADDRESS>
wrote:

@alextp https://github.com/alextp there seems to be a problem with
eagerly executing strided slice ops. The problem seems to be in the shape
inference component and is non-deterministic. If you add the following code
in the eager/c_api_test.cc file and run the test multiple times, you'll
notice that sometimes it succeeds and sometimes it fails, randomly. More
specifically, I get errors related to the strides input tensor, but I think
this may have to do with how the memory is managed for eager tensors:
TFE_TensorHandle* TestBeginTensorHandle() {
int64_t dims[] = {2};
int data[] = {1, 0};
TF_Tensor* t = TF_AllocateTensor(
TF_INT32, &dims[0], sizeof(dims) / sizeof(int64_t), sizeof(data));
memcpy(TF_TensorData(t), &data[0], TF_TensorByteSize(t));
TFE_TensorHandle* th = TFE_NewTensorHandle(t);
TF_DeleteTensor(t);
return th;
}
TFE_TensorHandle* TestEndTensorHandle() {
int64_t dims[] = {2};
int data[] = {2, 1};
TF_Tensor* t = TF_AllocateTensor(
TF_INT32, &dims[0], sizeof(dims) / sizeof(int64_t), sizeof(data));
memcpy(TF_TensorData(t), &data[0], TF_TensorByteSize(t));
TFE_TensorHandle* th = TFE_NewTensorHandle(t);
TF_DeleteTensor(t);
return th;
}
TFE_TensorHandle* TestStridesTensorHandle() {
int64_t dims[] = {2};
int data[] = {1};
TF_Tensor* t = TF_AllocateTensor(
TF_INT32, &dims[0], sizeof(dims) / sizeof(int64_t), sizeof(data));
memcpy(TF_TensorData(t), &data[0], TF_TensorByteSize(t));
TFE_TensorHandle* th = TFE_NewTensorHandle(t);
TF_DeleteTensor(t);
return th;
}
TEST(CAPI, ExecuteStridedSlice) {
TF_Status* status = TF_NewStatus();
TF_SessionOptions* opts = TF_NewSessionOptions();
TFE_Context* ctx = TFE_NewContext(opts, status);
CHECK_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
TF_DeleteSessionOptions(opts);
TFE_TensorHandle* a = TestMatrixTensorHandle();
TFE_TensorHandle* begin = TestBeginTensorHandle();
TFE_TensorHandle* end = TestEndTensorHandle();
TFE_TensorHandle* strides = TestStridesTensorHandle();
TFE_Op* op = TFE_NewOp(ctx, "StridedSlice", status);
CHECK_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
TFE_OpAddInput(op, a, status);
CHECK_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
TFE_OpAddInput(op, begin, status);
CHECK_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
TFE_OpAddInput(op, end, status);
CHECK_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
TFE_OpAddInput(op, strides, status);
CHECK_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
TFE_OpSetAttrType(op, "T", TFE_TensorHandleDataType(a));
TFE_OpSetAttrType(op, "Index", TFE_TensorHandleDataType(begin));
TFE_OpSetAttrInt(op, "begin_mask", 0);
TFE_OpSetAttrInt(op, "end_mask", 0);
TFE_OpSetAttrInt(op, "ellipsis_mask", 0);
TFE_OpSetAttrInt(op, "new_axis_mask", 0);
TFE_OpSetAttrInt(op, "shrink_axis_mask", 3);
TFE_TensorHandle* retvals[2] = {nullptr};
int num_retvals = 2;  // Should be reduced to 1 by the TFE_Execute call.
TFE_Execute(op, &retvals[0], &num_retvals, status);
EXPECT_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
TFE_DeleteOp(op);
TFE_DeleteTensorHandle(a);
TFE_DeleteTensorHandle(begin);
TFE_DeleteTensorHandle(end);
TFE_DeleteTensorHandle(strides);
TFE_DeleteContext(ctx, status);
ASSERT_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
ASSERT_EQ(1, num_retvals);
TF_Tensor* t = TFE_TensorHandleResolve(retvals[0], status);
TFE_DeleteTensorHandle(retvals[0]);
ASSERT_EQ(TF_OK, TF_GetCode(status)) << TF_Message(status);
float result[1] = {0};
EXPECT_EQ(sizeof(result), TF_TensorByteSize(t));
memcpy(&result[0], TF_TensorData(t), TF_TensorByteSize(t));
TF_DeleteTensor(t);
EXPECT_EQ(3, result[0]);
TF_DeleteStatus(status);
}
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/12536, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAATxXFGjPv87KFy7jZfND0cRks7z7Npks5sbIT9gaJpZM4PAgVi
.

--

Alex

I see. You're actually right. I guess I'm only trying to reproduce a problem I'm getting when setting this up through my JNI bindings. The error I get (and which is not deterministic) is:
W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: strides[0] must be non-zero
And the actual values I'm passing to the op are exactly the same as in the above example. Do you have any idea as to why this might be happening? Thanks! :)

What this looks like to me from the non-determinism is that JNI is freeing
the tensor while tensorflow still has a reference to it.
Maybe try making a copy of the memory before creating a tensor and see if
it goes away?
Oddly I can't find where in the code this error is coming from. Can you
edit the line 1192 in op_kernel.cc and make it crash the program and
produce a stack trace, in case my suggestion above doesn't work?
On Wed, Aug 23, 2017 at 2:42 PM, Anthony Platanios<EMAIL_ADDRESS>
wrote:

I see. You're actually right. I guess I'm only trying to reproduce a
problem I'm getting when setting this up through my JNI bindings. The error
I get (and which is not deterministic) is:
W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument:
strides[0] must be non-zero
And the actual values I'm passing to the op are exactly the same as in the
above example. Do you have any idea as to why this might be happening?
Thanks! :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/12536#issuecomment-324470106,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAATxRlIF80A_btxawrJB0HeYafHejcfks5sbJy4gaJpZM4PAgVi
.

--

Alex

Actually this is where the error is raised:
https://github.com/tensorflow/tensorflow/blob/593dc8e5d65f4db93e8f5fced772abb3531a9752/tensorflow/core/util/strided_slice_op.cc#L257
Since I assume you're setting the strides correctly (they must be non-zero)
I think we're looking at memory being freed before tensorflow gets to it.
On Wed, Aug 23, 2017 at 3:06 PM, Alexandre Passos<EMAIL_ADDRESS>wrote:

What this looks like to me from the non-determinism is that JNI is freeing
the tensor while tensorflow still has a reference to it.
Maybe try making a copy of the memory before creating a tensor and see if
it goes away?
Oddly I can't find where in the code this error is coming from. Can you
edit the line 1192 in op_kernel.cc and make it crash the program and
produce a stack trace, in case my suggestion above doesn't work?
On Wed, Aug 23, 2017 at 2:42 PM, Anthony Platanios <
<EMAIL_ADDRESS>wrote:

I see. You're actually right. I guess I'm only trying to reproduce a
problem I'm getting when setting this up through my JNI bindings. The error
I get (and which is not deterministic) is:
W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument:
strides[0] must be non-zero
And the actual values I'm passing to the op are exactly the same as in
the above example. Do you have any idea as to why this might be happening?
Thanks! :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/12536#issuecomment-324470106,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAATxRlIF80A_btxawrJB0HeYafHejcfks5sbJy4gaJpZM4PAgVi
.

--

Alex

--

Alex

@alextp I also believe that's what's happening. I have the following related question:
Through the C API I can create TF_Tensor objects and specify a deallocator for them. This allows me to create a tensor using a buffer created on the Scala side and pass as the deallocator a function that removes a reference to this buffer from the garbage collector (loosely speaking). Now, if I:

Create a TF_Tensor from a Scala-allocated buffer.
Create a TFE_TensorHandle using that tensor.
Delete the TF_Tensor so that I can keep using only my TFE_TensorHandle.

Then the underlying buffer may be deallocated by the JVM because the TF_Tensor deallocator will notify the JVM that the underlying buffer is not being used by the native library anymore. So, this raises a couple questions:

How can I avoid this using the eager API? Shouldn't I be able to create a TFE_TensorHandle and let it have it's own deallocation function, similar to how it's done for TF_Tensors?
Why have both TFE_TensorHandles and TF_Tensors in the first place? Isn't there a simple way to merge the two and avoid the complexity of having to deal with both types of tensors?

I hope this makes sense.

On Wed, Aug 23, 2017 at 3:22 PM, Anthony Platanios<EMAIL_ADDRESS>
wrote:

@alextp https://github.com/alextp I also believe that's what's
happening. I have the following related question:
Through the C API I can create TF_Tensor objects and specify a
deallocator for them. This allows me to create a tensor using a buffer
created on the Scala side and pass as the deallocator a function that
removes a reference to this buffer from the garbage collector (loosely
speaking). Now, if I:

Create a TF_Tensor from a Scala-allocated buffer.
Create a TFE_TensorHandle using that tensor.
Delete the TF_Tensor so that I can keep using only my
TFE_TensorHandle.

This sequence of operations should be fine. We should only call the
destructor after the last reference to the buffer (not the tf_tensor) has
gone. So once you create the tfe_tensorhandle and delete the tf_tensor the
destructor should not be called until you delete the tfe_tensorhandle.

Then the underlying buffer may be deallocated by the JVM because the
TF_Tensor deallocator will notify the JVM that the underlying buffer is
not being used by the native library anymore. So, this raises a couple
questions:

How can I avoid this using the eager API? Shouldn't I be able to
create a TFE_TensorHandle and let it have it's own deallocation
function, similar to how it's done for TF_Tensors?
Why have both TFE_TensorHandles and TF_Tensors in the first place?
Isn't there a simple way to merge the two and avoid the complexity of
having to deal with both types of tensors?

A TF_Tensor means a bit of memory allocated in the CPU and easily
inspectable by custom code. a TFE_TensorHandle can be on the GPU and can
have internal state which is in an internal format that requires converting
to the tf_tensor format (like in the case of strings).
--

Alex

@alextp I see. That sounds reasonable. I checked and can now verify that the buffers are not deallocated by the JVM. I guess my question now is whether or not it matters where those buffers live. I'm currently allocating them using Java DirectByteBuffers. Do you think that this may be causing a problem?

I do not understand how JNI buffers work. Can you try copying the memory
into a  malloc-allocated buffer and using free as your destructor, to see
whether the issue goes away?
On Wed, Aug 23, 2017 at 3:53 PM, Anthony Platanios<EMAIL_ADDRESS>
wrote:

@alextp https://github.com/alextp I see. That sounds reasonable. I
checked and can now verify that the buffers are not deallocated by the JVM.
I guess my question now is whether or not it matters where those buffers
live. I'm currently allocating them using Java DirectByteBuffers. Do you
think that this may be causing a problem?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/12536#issuecomment-324484640,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAATxcg2q41zA-AHAR9r2Z1bBTC-CkhLks5sbK1ZgaJpZM4PAgVi
.

--

Alex

@alextp This has to do with JNI byte buffers indeed. I'll close this issue and I'll look into how to make all tensor memory managed by the TensorFlow native library.


fix(contributors): Don't return deleted members

Coverage remained the same at 64.46% when pulling 25db97d711f701b9a1adc340d9c2a4d07b086498 on fix/contributors-deleted-members into 731ce9216e9402f6dfc553f9d365f50a769604ec on master.


Incomatible behaviour when using :not + @extend

I have file:
.demo { color: #000000; }
a:not(.demo) { color: #ffffff; }
#div1 { input[type=submit] { @extend .demo; } }

When using sass (gem install sass) or sassc (brew install sassc) from console
sass -v # Sass 3.4.22 (Selective Steve)
sassc -v # sassc: 3.3.0, libsass: 3.3.2, sass2scss: 1.0.5
it generates:
.demo, #div1 input[type=submit] { color: #000000; }
a:not(.demo) { color: #ffffff; }

But from rails application using sassc-rails it generates different selector,
which is ignored by Firefox:
SassC::VERSION # => "1.9.0" (latest)
RUBY_DESCRIPTION # "ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]"
input_scss = File.read(File.expand_path("~/extend-bug.scss"))
SassC::Engine.new(input_scss).render

.demo, #div1 input[type=submit] {
  color: #000000; }

a:not(.demo, #div1 input[type=submit]) {
  color: #ffffff; }

For now I'm going back to sass-rails.
Is that a bug? Can I give some more data that will help diagnose the problem?

You are using the command line sassc with an old version of libsass.   sassc-ruby is using libsass 3.3.4.

OK, so does it mean that newer version of sassc is broken?
Latest version of sass gem (3.4.22) translates this file just like old version of sassc/libsass.
Documentation https://developer.mozilla.org/en/docs/Web/CSS/:not
say about :not(X) syntax, but nothing about :not(X, Y)

Is the newest version of sassc using libsass 3.3.4?  are you saying that  command line sassc and sassc-ruby are both using 3.3.4 but produce different results?

I'm trying to say that output generated from latest sass (not sassc) or older sassc/libsass
works as expected in Firefox 46.0.1
http://pastie.org/10866743
(Demo i red, Not demo is green)
while this generated by latest sassc does not work
http://pastie.org/10866745
(Demo i red, but Not demo is black)

$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
$ gem install sassc
$ irb
>> require 'sassc'
>> SassC::Native.version # => "[NA]"
>> SassC::VERSION # => "1.9.0"

this "[NA]" may be some clue

$ ./bin/sassc -v
sassc: 3.3.6-8-g1949
libsass: 3.3.6-70-g4acba
sass2scss: 1.0.6
sass: 3.4

$ ./bin/sassc ~/extend-bug.scss
.demo, #div1 input[type=submit] {
  color: #ff0000; }

a:not(.demo):not(#div1 input[type=submit]) {
  color: #00ff00; }

It looks that problem is with complex selector: http://pastie.org/10866797
'#div1 span' should not be used inside not.
https://drafts.csswg.org/selectors-3/#negation
https://drafts.csswg.org/selectors-3/#simple-selectors-dfn
Feel free to close this issue. For me it looks like a bug but from https://github.com/sass/libsass not https://github.com/sass/sassc-ruby

I agree, thanks.


Fix usage of sealed flag for full backup

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

Project coverage is 76.31%. Comparing base (6dfceeb) to head (0e33e85).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #160   +/-   ##
=======================================
  Coverage   76.31%   76.31%
=======================================
  Files          13       13
  Lines         553      553
=======================================
  Hits          422      422
  Misses        109      109
  Partials       22       22

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

I found an issue during testing.


[feature] Custom Connection Support for ES Client

Allow custom Connection object for the ElasticSearch Client.
Reason: Some providers such as AWS need requests to be signed using custom logic. The client allows a custom Connection to handle these things. This keeps  the logic from being needed inside of the pino-elasticsearch package itself, as there are many Connection packages/custom solutions already in use, ready to plug into it.
Example usage:
const Conenction = <my custom ES Connection class>

const streamToElastic = pinoElastic({
  index: 'test-index',
  consistency: 'one',
  node: process.env.ELASTICSEARCH_URL,
  'es-version': 7,
  'flush-bytes': 1000,
  Connection
})

Behavior when not included is to use the default one from the ElasticSearch Client.
Example script using modified version: https://github.com/nicksmider/pino-aws-es-signV4-test/blob/main/index.js
I believe this would address #15 as well

@mcollina is there anything extra I should do for this? Not sure what contributing is normally like for this project

@delvedor can you review?

@delvedor can you review?

@jsumners is there anything else for me to do?


Frequent updates to informational layer make nodes flicker

Probably need a different way to update the informational layer so as not to trigger it too often, giving that flicker effect. I only see this on the local hosted app.
Code hosted on bucket doesn't seem to update information layer at all (might be addressed if informational layer is reworked).

We can compare previous/current rendering of the SVG code of a given node and determine if it needs to be replaced and updated in the diagram surface.

Needed to remove automatically generated elements IDs by SVG.js to successfully compare SVG code between renders.


Day view type columns

Hi all,
I would like to propose a feature for daily view where you could display different columns for each type.
This would make possible to use this view as a multiple user scheduler. Each user would be a "type" and had its own column for its tasks.
I have been trying to find a library with this functionality to in in a project where I need a dashboard where and "admin" would be able to have a full view of the tasks for each user for the day. Only found a couple of libraries but all of them were proprietary and worst of all presented the daily timeline horizontally and I prefer it to be vertical, giving more space for description and closer to how users are used to see a daily timeline.

This is too specific to be added into the core of the calendar - for additional business logic like this you can implement it using a custom template as described here.

1 for @JonnyBGod . I actually think that having multiple "columns/resources" in a day view would be quite generalizable and useful to many people. A nice example of how it could look like, can be found here. But as you suggest @mattlewis92 , it might very well be doable with a custom template without modifying the core. Adding such a template to the repo would then probably be enough.


IsReadable function bug

static StringToolkit IsReadable(char* str) {
	if (str == nullptr)
		SetAs<bool>(false);

	MEMORY_BASIC_INFORMATION mbi;

	VirtualQuery(str, &mbi, sizeof(mbi));

	SetAs<bool>(mbi.Protect & PAGE_READONLY || mbi.Protect & PAGE_READWRITE);

	return StringToolkit();
}

The memory attribute here is likely to be PAGE_EXECUTE_READ

You have literally discovered a logical inconsistency on IsReadable fn. This function only designed for checking if the data stored in export table is readable or not.  A data stored in the Export table must really be both executable and readable.
I am suggesting to solve this issue by arrange code as:
```cpp`
static StringToolkit IsReadable(char* str) {
if (str == nullptr)
SetAs(false);
MEMORY_BASIC_INFORMATION mbi;

VirtualQuery(str, &mbi, sizeof(mbi));

SetAs<bool>(mbi.Protect & PAGE_EXECUTE_READ || mbi.Protect & PAGE_READONLY || mbi.Protect & PAGE_READWRITE);

return StringToolkit();

}

after your approve, ill commit the required changes into main branch as 1.0.4 tag.

You have literally discovered a logical inconsistency on IsReadable fn. This function only designed for checking if the data stored in export table is readable or not. A data stored in the Export table must really be both executable and readable.
I am suggesting to solve this issue by arrange code as:
static StringToolkit IsReadable(const char* str) {
	if (str == nullptr)
		SetAs<bool>(false);

	MEMORY_BASIC_INFORMATION mbi;

	VirtualQuery(str, &mbi, sizeof(mbi));

	SetAs<bool>(mbi.Protect & PAGE_EXECUTE_READ || mbi.Protect & PAGE_READONLY || mbi.Protect & PAGE_READWRITE);

	return StringToolkit();
}

after your approve, ill commit the required changes into main branch as 1.0.4 tag.

Actually we don't need IsReadable function, we just need to change AddressOfFunctions to NumberOfNames
std::unordered_map<std::string_view, uint64_t> Fetch() {

	std::unordered_map<std::string_view, uint64_t> res;
	PDWORD addr, name;
	PWORD ordinal;

	addr = reinterpret_cast<PDWORD>(reinterpret_cast<LPBYTE>(m_module) + m_exportDirectory->AddressOfFunctions);
	name = reinterpret_cast<PDWORD>(reinterpret_cast<LPBYTE>(m_module) + m_exportDirectory->AddressOfNames);
	ordinal = reinterpret_cast<PWORD>(reinterpret_cast<LPBYTE>(m_module) + m_exportDirectory->AddressOfNameOrdinals);

	for (int i = 0; i < m_exportDirectory->NumberOfNames; i++) {
		res.insert({ std::move(std::string_view(static_cast<char*>(m_module) + name[i])), (uint64_t)m_module + addr[ordinal[i]] });
	}
	return res;
}

A really useful discovery. Ngl, I didn't even know NumberOfNames was there. Thank you for refactoring, our code was shortened by 60 lines and unnecessary WinAPI functions were not called.


Fixed a couple of typos I found

Due date will need additional work before merging in. For now, I've cherry picked the typo corrections and merged them onto dev branch manually.


Hugging Face Hub Integration

Hi there!
Focal Transfomers look very interesting! I see you currently save your model checkpoints through links to a hosted server. Would you be interested in sharing the pretrained models in the Hugging Face Hub through the Microsoft organization?
The Hub offers free hosting of over 20K models, and it would make your work more accessible and visible to the rest of the community. Some of the benefits of sharing your models would be:

versioning
commit history and diffs
branches
repos provide useful metadata about their tasks, languages, metrics, etc

Creating the repos and adding new models should be a relatively straightforward process if you've used Git before. This is a step-by-step guide explaining the process in case you're interested. Please let us know if you would be interested and if you have any questions.
Happy to hear your thoughts,
Omar and the Hugging Face team
cc @LysandreJik

Hi, Omar,
Very glad that you noticed our work! That would be great if the models can be integrated into the Hugging Face Hub! I do not have any experience with this. What should I do for this goal? Should I follow the step-by-step guide you shared above?
thanks,
Jianwei

Hi Jianwei!
If you share your Hugging Face username, I can add you to the Microsoft organization. Once that's done, I think you can follow the step-by-step guide for each model:

Create a repo under the Microsoft org
Clone locally
Add your checkpoint
And push :)

I would also suggest to create a nice model card that provides information about the model. I'm happy to give further pointers and guide you through the process via Slack as well if you prefer!

Hi, Omar,
Thanks for your instructions! I just created a user account and the username is jw2yang. Once you add me to the Microsoft organization, I can try to follow your step-by-step guide to push the models. I will be very likely to ask you more questions through slack, :)
thanks!

Cool! We've added you to the organization!

thanks!

excuse me does the code exist in hugging face yet or not


Decompiler exception in x86 code (regression)

Describe the bug
Decompiler crashes when attempting to process one particular function. Happened between 10.3 and 10.3.3, still present in 10.4
To Reproduce

Create new project

Import the attached file (rename it to MAPNAV.DLL), it is a 16-bit NE executable. MAPNAV.DLL

Start Ghidra and run autoanalysis with default parameters

Navigate to _MAPNAV_NEW function in Exports

The decompiler window shows:

Exception while decompiling 1008:0041: Decompiler process died

Expected behavior
In Ghidra 10.3 (May 10) the function is being decompiled
undefined4 __stdcall16far
_MAPNAV_MNEW(undefined2 param_1,undefined2 param_2,undefined4 param_3,undefined2 param_4,
            undefined2 param_5)

{
  code **ppcVar1;
  int iVar2;
  undefined2 uVar3;
  undefined2 uVar4;

Attachments
MAPNAV.DLL (20 kb)
Environment (please complete the following information):

OS: macOS 14.1 Sonoma
Java Version: 21.0.1
Ghidra Version: 10.3.3 and later
Ghidra Origin: official GitHub distro

Additional context
Add any other context about the problem here.

Not sure why but I cannot download your attachment.

As I mentioned, you have to rename it. Download it as a blob, because I had to add .png extension to it due to limitation of GitHub which whitelist possible file names

Issue is still present in the master branch.

Regarding

Navigate to _MAPNAV_NEW function in Exports
there is no such API, did you mean _MAPNAV_MNEW ?

Yes, it was a typo. Shown correctly on the 10.3 decompiler output, though

the freshly baked version 11.0 still has this bug:


Drop Tower v2.x support

As noted in https://github.com/ManageIQ/manageiq-providers-ansible_tower/pull/72#issuecomment-391699487, Ansible Tower v2 reached its End of Life a long time ago already. There is no need to support it by the provider. This is backed by @bascar’s and @jameswnl’s green light for the removal.
Goes together with https://github.com/ManageIQ/manageiq-providers-ansible_tower/pull/91.
@miq-bot add_reviewer @jameswnl

LGTM


Bug/thumbnail

Breaking Change:
images.thumbmail renamed to images.thumbnail

will check if we need to update docs.

looks fine.


Recognizing Purpur as a fork of Paper

Describe the bug
The plugin ChatControl seems not to recognize Purpur as a fork of Paper.

I could inform all plugins that give this promoted message, or maybe Purpur could present itself as "paper".
To Reproduce
Just run ChatControl (paid)
Screenshots or Videos
If applicable, add screenshots or videos to help explain your problem.
Plugins
ChatControl, ProtocolLib
Version
[15:48:03 INFO]: This server is running Purpur version git-Purpur-299 (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT)
[15:48:03 INFO]: Checking version, please wait...
[15:48:04 INFO]: Previous version: git-Paper-214 (MC: 1.14.4)
[15:48:04 INFO]: You are running the latest version
Is bug present on Paper, Spigot, CraftBukkit, or Vanilla
No, I think this is obvious
Additional context

Link me to ChatControl's source code and I'll have a look.

It's not open source. It's a premium plugin.

Then there's literally nothing I can do. Talk to the developer of ChatControl and tell them to do feature checks correctly.
He should be checking if certain classes/methods exist before using them, not if the server implementation reports as "paper"
I will not have purpur falsely report as "paper"

See this old Reddit thread for why falsely identifying as the upstream implementation is a bad idea and why I won't do it.
https://www.reddit.com/r/admincraft/comments/1lgcpx/tagapi_prints_stack_trace_to_spigot_users_fooling/


Notification Sub-system

Work done:

[x] Work done by Adhyan last year
[x] User subscription to topic on user creation
[x] Topic creation on entity creation
[x] Upgrade process of user notification
[x] Migration script - topic, topic subscription models for new and already existing users and entities
[x] Update user subscription on user transfer and/or update of user's permission
[x] Update topic details when entity details updates
[x] Update topic details when member type are updated at the system level
[x] Unit test topic-subscriber model

@Anh3h please send PR after rebasing to latest code. Your PR shouldn't have Adhyan changes

Ok. I will do that

@nazeer1100126 Here is the updated pull request: https://github.com/apache/fineract/pull/405


https://pyasn1.readthedocs.io/en/latest/ does not work

Not sure if ReadTheDocs changed their server settings, but https://pyasn1.readthedocs.io/en/latest/ does not work and shows a 404 error page.
However, individual pages like https://pyasn1.readthedocs.io/en/latest/pyasn1/codec/native/contents.html work.

https://pyasn1.readthedocs.io/en/latest/pyasn1/contents.html link opens without an issue.
And it's the link we have in our README.md:
https://github.com/pyasn1/pyasn1/blob/main/README.md?plain=1#L167

But this link will trigger the 404 unfortunately,

Note that most other projects on ReadTheDocs do configure their default pages properly to make sure such links work. It is just inconvenient that yours doesn't.

Also note that https://pyasn1.readthedocs.io/en/latest/changelog.html seems to be not built from current version 0.6.0.


[QUERY] How to track status of async Compute operation

Library name and version
Azure.ResourceManager
Query/Question
Using Old SDK (Microsoft.Azure.*), we retrieved the Azure-AsyncOperation value from the headers to track the status of Compute operations asynchronously (Start/stop VM), this is now a private value with new style sdk (Azure.ResourceManager) and I cannot access. I need to store this value to check the status of the operation in a different process
I am unable to use the RehydrationToken because I am unable to serialize/deserialize. I followed the serialization/deserialization code here https://github.com/Azure/azure-sdk-for-net/blob/dd1b7fceaf07a44397906d5af7d9b274e49ed1fb/sdk/core/Azure.Core/tests/RehydrationTokenTests.cs#L26-L32 but keep receiving an error when calling UpdateStatus on the recreated RehydrationToken.
How do I access the Azure-AsyncOperation value in the new style SDK or otherwise poll the operation status in a different process then where the operation is started?
Environment
No response

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

@adouvas You can manually check the status of a long running operation through:
// Start the operation
DeleteSecretOperation operation = await client.StartDeleteSecretAsync("SecretName");

while (operation.HasCompleted)
{
    // there could be more complex logic to control polling interval
    Thread.Sleep(TimeSpan.FromSeconds(60));

    Response statusResponse = await operation.UpdateStatusAsync();
    // optionally do something with the statusResponse
}

@archerzz our system is set up to poll the operation in a separate process than where the request is made, I stated above that both of these options won't work because the URL in the operation object and rehydration token are in private fields and get dropped in serialization. There should be a way to access the URL to poll the operation, seems like this answer tells me there no longer a way to access this in the new sdk, where should I file a bug?

@archerzz our system is set up to poll the operation in a separate process than where the request is made, I stated above that both of these options won't work because the URL in the operation object and rehydration token are in private fields and get dropped in serialization. There should be a way to access the URL to poll the operation, seems like this answer tells me there no longer a way to access this in the new sdk, where should I file a bug?

@adouvas Do you have a chance to take look at the sample here: https://github.com/Azure/azure-sdk-for-net/blob/d5acd659dd3de0e00888e6da2d1b5921331cd383/sdk/resourcemanager/Azure.ResourceManager/README.md#rehydrate-a-long-running-operation
The sample codes demonstrate how to get the rehydration token and how to restore it:
// We get the rehydration token from the operation
var rgOpRehydrationToken = rgOp.GetRehydrationToken();

@archerzz I tried that but I will double check again


When training on IIT-CDIP or RVL-CDIP with LayoutLM

Hi. Thank you for the interesting work. Can i ask some question when training on IIT or RVL ?
I think the number of words on each document is very diverse. Some documents include only 0~10 words (i used Tesseract as the paper said), while some documents include more than 1000 words. Did you use all IIT-CDIP data? regardless of the number of words? I think the distribution of the number of OCR is too diverse. Many OCR results are not a big problem since we can truncate it, but in case of a few OCR results, i think it gives a noise to the model, since unavoidably fill almost all tokens with padding tokens.
Can you explain your approach?
Thank you for reading.
Best.

@TaekyungKi Basically, if the lengh of the document is less than 512, we do the padding. Otherwise, we split the document into multiple segment where each of them is 512 or less.


Release of version <IP_ADDRESS> of xExchange

Releasing version <IP_ADDRESS>

This change is

Codecov Report

Merging #411 into master will increase coverage by 7.25%.
The diff coverage is 76.42%.

@@            Coverage Diff             @@
##           master     #411      +/-   ##
==========================================
+ Coverage   34.18%   41.43%   +7.25%
==========================================
  Files          39       39
  Lines        4722     4778      +56
==========================================
+ Hits         1614     1980     +366
+ Misses       3108     2798     -310

Impacted Files
Coverage Δ

...chJetstressCleanup/MSFT_xExchJetstressCleanup.psm1
5.5% <0%> (ø)
:arrow_up:

...angeCertificate/MSFT_xExchExchangeCertificate.psm1
11.53% <0%> (-1.51%)
:arrow_down:

...ber/MSFT_xExchDatabaseAvailabilityGroupMember.psm1
35.13% <0%> (ø)
:arrow_up:

...urces/MSFT_xExchJetstress/MSFT_xExchJetstress.psm1
8.6% <0%> (ø)
:arrow_up:

Modules/xExchangeHelper.psm1
96.21% <100%> (ø)
:arrow_up:

...irtualDirectory/MSFT_xExchEcpVirtualDirectory.psm1
96.96% <100%> (+65.93%)
:arrow_up:

...ectory/MSFT_xExchAutodiscoverVirtualDirectory.psm1
100% <100%> (+70.37%)
:arrow_up:

...boxDatabaseCopy/MSFT_xExchMailboxDatabaseCopy.psm1
100% <100%> (+66.66%)
:arrow_up:

...chTransportService/MSFT_xExchTransportService.psm1
100% <100%> (+68.64%)
:arrow_up:

...ExchMailboxDatabase/MSFT_xExchMailboxDatabase.psm1
25.29% <25.92%> (-0.23%)
:arrow_down:

... and 4 more

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 f2d43f6...05f9b41. Read the comment docs.


[ANCHOR-388] SEP-6: Implement RPC actions

Description
This updates the RPC actions for SEP-6 and updates the reference server implementation to use them. This PR is quite large as it updates the unit tests for most of the RPC actions but, implementation-wise, not much has changed. It might helpful to start by reviewing the Sep6End2EndTest  to get a sense of what changed with this PR.
Context
SEP-6 should support RPC API.
Testing

./gradlew test

Known limitations

Platform API integration tests do not test the new flow but are covered by the SEP-6 e2e tests.
Refunds and custody service integration have not been implemented.

Both of these will be addressed by ANCHOR-508

Can we add class comments of the RPC handler classes? Or some reference link to the RPC definition document?

At this moment, I am not familiar with the RPC enough to make too much meaningful reviews. But the PR looks fine with me.

Can we add class comments of the RPC handler classes? Or some reference link to the RPC definition document?

Sure, I can link to the docs, but I'll do this outside of this PR.


UrlRepositoryDescriptor throws NPE in case of null URL

We received a user bug report about a NPE when using --scan.
Analysis shows that this comes from the URL of an plugin-added ivy repository being null, which is valid.
Expected Behavior
No NPE thrown when a repository contains an null URL.
Current Behavior
When using the build scan plugin, and requesting the RepositoryDescriptor of such a repo, a NPE is thrown by the ImmutableMap.Builder (that does not allow null values)
Steps to Reproduce (for bugs)
Checkout https://github.com/square/sqldelight
Run ./gradlew tasks --scan
=> NPE when publishing the build scan plugin.

It is possible to define a maven/ivy repo with no URL; and even no artifactUrls (maven) or artifact/ivy patterns (ivy)
Ivy repos will get the default artifact / ivy patterns.
Maven repos will have empty artifact urls.
See https://github.com/gradle/gradle/commit/454f7f26a3511e15df06e3ad2cfea28e3445ef8a
I'm questioning the usefulness of that. To me, those repos are useless then, and I was expecting Gradle to fail.
@melix @bigdaz, what's your opinion on this?

https://github.com/gradle/gradle/blob/fd5b31325073b385f42a7339f81096a47ded0f63/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/repositories/DefaultMavenArtifactRepository.java#L210
https://github.com/gradle/gradle/blob/79442a97f098374ec65ea6d4b37d72ea3f2df6b2/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/repositories/DefaultIvyArtifactRepository.java#L204 (edited)
I see what happens
in real life, when creating a resolver from a repo
things blow if there is not a properly built url to resolve things
but the build scan plugin capture what was set as the properties of the repo, no matter if it makes sense or not
The validation happens ‘later’ when Gradle actually needs the repo.
@melix @bigdaz Can we move the validation earlier ? (when calling createDescriptor)
cc @ldaley

I tried validating things earlier. This seems to work well

I'd be fine with moving validation earlier but I'm not sure that createDescriptor() is the right place. This is only called when constructing the build operation descriptor: it would feel wrong for ResolutionAwareRepository to not validate when createResolver() is called.
So at some point when the repository is no longer mutable, we'd need to do validation. This could be as simple as validating for the first of createResolver() and getDescriptor().

That's what I did

So at some point when the repository is no longer mutable

IIUC it's always mutable, so we need to validate each time it is “used”.  Currently, this is twice (one for resolver, one for descriptor). We could relatively easily change things around so that ResolutionAwareRepository returns an object that holds a resolve and knows how to create a descriptor and we perform validation once when creating this.
Potentially later we can look at caching this object and reusing when the repository hasn't changed which is 99.999% of the time.

closing as merged


How to test the program by our own system

Sorry to bother you，I ran the test model successfully and got the smiles structures of generated molecules, however, I have no idea about how to run our own example, though we replace the test system with our own one and I also wonder the meaning of the number in the last part of this list ('YPKA_YERPS_90_433_0/5ce3_B_rec_5ce3_adp_lig_tt_min_0_pocket10.pdb', 'YPKA_YERPS_90_433_0/5ce3_B_rec_5ce3_adp_lig_tt_min_0.sdf', 'YPKA_YERPS_90_433_0/5ce3_B_rec.pdb', 0.552965)

Hi!
We are planning to release a script that can convert other proteins to the model-supported format.

YPKA_YERPS_90_433_0/5ce3_B_rec.pdb: is the path to the target protein's PDB file.
YPKA_YERPS_90_433_0/5ce3_B_rec_5ce3_adp_lig_tt_min_0_pocket10.pdb: is the path to the extracted pocket, a substructure of the protein.
YPKA_YERPS_90_433_0/5ce3_B_rec_5ce3_adp_lig_tt_min_0.sdf: is the path to the reference ligand.

All of them can be found in the unprocessed dataset archive: crossdocked_pocket10.tar.gz.

Hi!
We are planning to release a script that can convert other proteins to the model-supported format.

YPKA_YERPS_90_433_0/5ce3_B_rec.pdb: is the path to the target protein's PDB file.
YPKA_YERPS_90_433_0/5ce3_B_rec_5ce3_adp_lig_tt_min_0_pocket10.pdb: is the path to the extracted pocket, a substructure of the protein.
YPKA_YERPS_90_433_0/5ce3_B_rec_5ce3_adp_lig_tt_min_0.sdf: is the path to the reference ligand.

All of them can be found in the unprocessed dataset archive: crossdocked_pocket10.tar.gz.

Sorry to bother you again, what's the meaning of the number 0.552965 in the list?

Hi!
We are planning to release a script that can convert other proteins to the model-supported format.

YPKA_YERPS_90_433_0/5ce3_B_rec.pdb: is the path to the target protein's PDB file.
YPKA_YERPS_90_433_0/5ce3_B_rec_5ce3_adp_lig_tt_min_0_pocket10.pdb: is the path to the extracted pocket, a substructure of the protein.
YPKA_YERPS_90_433_0/5ce3_B_rec_5ce3_adp_lig_tt_min_0.sdf: is the path to the reference ligand.

All of them can be found in the unprocessed dataset archive: crossdocked_pocket10.tar.gz.

Sorry to bother you again, what's the meaning of the number 0.552965 in the list?

Hi
Can you provide to context of the number 0.552965? Thanks!

Hi,
Now you may use sample_for_pdb.py to generate ligands for your proteins. Instructions and examples are in the README.


Allow to read input from JSON

We can now read input from a QCSchema-compliant JSON file:
{
    "molecule": {
        "geometry": [
            4.01376695e+00, -4.20940270e-01,  4.13283000e-03,
            2.37659705e+00, -2.06988695e+00, -7.11878700e-02,
            3.23930049e+00,  2.02346393e+00,  3.39489300e-02,
            6.09063455e+00, -5.93154800e-01,  5.36379900e-02,
            1.40721479e+00,  2.12118734e+00, -1.08338000e-02,
            -4.04214497e+00,  3.45322880e-01, -3.30928800e-02,
            -2.55773675e+00,  2.13450991e+00, -1.37099600e-02,
            -3.05560778e+00, -2.01961834e+00,  6.48213900e-02,
            -6.12485749e+00,  3.30420500e-01, -1.20082650e-01,
            -1.22314224e+00, -1.95250094e+00,  1.40055160e-01
        ],
        "symbols": ["C", "O", "O", "H", "H", "C", "O", "O", "H", "H"],
        "molecular_charge": 0,
        "molecular_multiplicity": 1,
        "atomic_numbers": [6, 8, 8, 1, 1, 6, 8, 8, 1, 1]
    },
    "model": {
        "method": "B3LYP",
        "basis": "6-31G(d)"
    },
    "keywords": {
        "bond_index": null,
        "s6": 0.0,
        "rs6": 0.0,
        "s8": 0.0,
        "a1": 0.0,
        "a2": 0.0,
        "damp": "zero",
        "threebody": false,
        "intermolecular": false,
        "pairwise": false,
        "verbose": 1
    }
}

Note that all quantities in JSON are always in atomic units.

I approve but I was not requested for review :)

I approve but I was not requested for review :)


Wondering how to make a required argument.

With System.Console.CmdArgs.Implicit, I mean. Or I should check the result myself.

You mean if the user doesn't type --foo=1 then it raises an error? You'll need to check that yourself as "normal" command line programs don't typically require flags, so it isn't supported by default.

Thanks for the reply. So tradition req in getopt is not mapped to a thing here?

Sorry for the seriously long delay in replying!
In getopt, req is equivalent to banning --foo unless you write --foo=test with some argument.
In cmdargs, req is the default, you always have to write --foo=test (unless you are using a boolean flag, or a Maybe), and you can remove the "req" feature by writing opt "default" -  which makes --foo equivalent to --foo=default.

Would it be worth adding support for Either a b (for any supported atomic type b), as a more informative alternative to Maybe b? That would allow us to write things like:
data MyCmdArgs = MyCmdArgs {mandatoryInt :: Either String Int, optionalInt :: Int}

myCmdArgs =
  MyCmdArgs {
    mandatoryInt = Left "You must specify --mandatoryInt",
    optionalInt = def
  }

which would help to reduce some of the work involved in telling the user which mandatory flags they've omitted.

"normal" command line programs don't typically require flags

With some applications that take multiple mandatory command-line inputs that are used in different ways, you can improve the user experience by using flags to name some of the mandatory arguments, so that the user won't have to provide them in a fixed order (which can lead to useless output, or even data loss, if they get the order wrong). Also, with applications like ffmpeg that can take arbitrary numbers of input and output files, you need at least one flag to distinguish between the two types of files (in ffmpeg, you identify each input video with the -i flag).


Introspection response and id token has different formats for sub

Id token
{
  "at_hash": "V2eM-bxw_00VFA-PoJOwkA",
  "aud": "iizsXhzgNhdmDdgXuJFOfuHa8XAa",
  "sub": "user2",
  "nbf":<PHONE_NUMBER>,
  "azp": "iizsXhzgNhdmDdgXuJFOfuHa8XAa",
  "amr": [
    "password"
  ],
  "iss": "https://localhost:9443/oauth2/token",
  "exp":<PHONE_NUMBER>,
  "iat":<PHONE_NUMBER>
}

Introspection response
{
   "nbf":1553496530,
   "scope":"openid",
   "active":true,
   "token_type":"Bearer",
   "exp":1553500130,
   "iat":1553496530,
   "client_id":"iizsXhzgNhdmDdgXuJFOfuHa8XAa",
<EMAIL_ADDRESS>}

By default the configuration BuildSubjectIdentifierFromSPConfig set to false in identity.xml, that means subject identifier will be set as the fully qualified username hence you will get the username with userstore domain and tenant domain appended. You could refer the documentation [1][2] for the reference.
[1] https://wso2.org/jira/browse/IDENTITY-6955
[2] https://docs.wso2.com/display/IS570/OAuth2+Token+Validation+and+Introspection

As @nilasini mentioned, I was able to solve this issue by enabling the configuration true in identity.xml file

Re opening the issue as fixing this has impacts in below flows.

user info endpoint
As at now we identify the user realm (tenant, user store) from the 'username' claim in introspection response. With the approach used to fix this, calling user info breaks for tenant flows and claims are not returned [1].
rest valve engaging authorization for REST APIs, when authenticating to the APIs with oauth2 bearer access tokens [2].

Introspection response provides some meta data, with which the resource server could perform further validation. So, should it be consistent with the id_token response as mentioned here.
Further, if the resource server needs to pick up user for further validation, I think introspection response should include meta information supporting that.
Anyhow, as the approach suggested here breaks above two basic flows, by default, it's important to set this property value to 'false'
[1] https://github.com/wso2/product-is/issues/5259
[2] https://github.com/wso2/product-is/issues/5078

Changed the severity as this does not blocks any flow

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


OpenAPI schema

/assign @coreydaley

/retest

/lgtm

@dmage @coreydaley note that we'll want to backport this to 4.1.z. Given there is a dep bump this may have to be done manually. See https://bugzilla.redhat.com/show_bug.cgi?id=1714775

/bugzilla refresh


Nerd font support?

I wanted to add a bookmark to codeberg, but there's no icon for it in RemixIcon, there is one on Nerd Fonts though. I was wondering if you could add support for the nerd font icons, or maybe just custom text as the icons?
Good work on the extension nonetheless!

I tried making it so that you can do something like nf-linux-codeberg and it would render a icon, but I couldn't figure it out. I might come back to this later though, I got pretty close, I could get the nerd font icons to show up, but for some reason using the class didn't work.

hat if you could add custom text as an icon? so you can just paste it in?

I think I got it working with classes, now if you enter somoething like nf-linux-gentoo in the iconType it'll look this


Link to Centralized Deployment publish article

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/add-ins/toc.yml
:white_check_mark:Succeeded

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


packages installed with pip install --user are visible inside buildpack process, resulting in packages skipped in artifact

Summary

If we run pip install --user <package>, the package will be installed in ~/.local/lib
~/.local/lib is still visible to buildpack, buildpack will skip installing those packages.

Reproducing steps
# installing a package locally
$ pip install --user boto==2.48.0 > /dev/null

$ pip freeze --user boto==2.48.0
boto==2.48.0

# requirements.txt contains the above pacakge
$ cat > $BUILD_DIR/requirements.txt <<EOF
boto==2.48.0
boto3
EOF

$ bin/compile "$BUILD_DIR" "$CACHE_DIR"
# boto will NOT be installed, boto3 will be installed...

Potential fixes

Print a warning if pip freeze --user returns something
Change $HOME to something buildpack controls
Maybe there are some options in pip that can be used to ignore ~/.local/*

sounds like a problem with your platform, not with this buildpack.

@kennethreitz Yes and No.

It's quite unlikely that a platform will run pip install --user to install some packages locally instead of globally. Somehow we did. However, it's arguably a more secure practice.
We use buildpack with the assumption that python packages installed outside of buildpack environment will not affect the functionality of buildpack (packages installed with pip install as root, and packages installed with pip install --user in my case). But that's not the case here.
Buildpack silently fails because environment/platform has an undocumented but reasonable edge case. A warning message would help prevent wasting troubleshooting time for future users with the same situation.
I may miss something, if so please let me know. thanks.

It's possible others picture this buildpack (or buildpacks in general) differently, but I'd always imagined them to only be run inside a disposable environment (eg docker image, VM, ...) and not directly on the host machine. (For example this buildpack creates symlinks at /app so isn't really something I'd want to run directly on my machine; I'm sure the same is similar of other buildpacks.)
In a disposable/scripted environment, for what reasons would someone run pip install --user manually? Or is the buildpack being used directly on the host after all?

We use a pool of jenkins slave nodes to run mostly buildpacks, along with some other tasks.
The hosts are disposable but do not use another layer of visualization/container (hey, good question actually, why don't we just use containers all the way instead of buildpack).
We do not immediately terminate the hosts once buildpack is done to avoid the overhead of provisioning.
The pip install is scripted by another task.

I hope this explains what has happened. "disposable" is not enough. It needs to be truly immutable to prevent such problems.
Yeah. I agree that visualization solves quite some problems. I noticed the dockerfile here, which did not exist when I started using buildpack. Maybe we should use that.
Please close Issue if determined to be wont-fix. It's reasonable to me if buildpack can only run in container/vm.

i think this is out of scope.


Doesn´t work with Linux

The co2monitor module works perfect on my Windows System, and i can aquire data from my aircontrol mini Monitor. When i try to use it on my Raspberry Pi 2 it always throws an error that say "Error while connecting to device! ERROR: LIBUSB_ERROR_BUSY"  The error gets thrown in the file co2monitor.js in line 61, which is in the connectToDevice function.
The Raspberry recognizes that the aircontrol mini Monitor is plugged in, when i type lsusb, the Monitor is listed, and when i replug it, the device number enumerates.
Any suggestions how to fix this Problem?

Thanks for reporting the issue. I have tested the code on my Raspberry with Raspbian and got the same Error. I fixed that problem on linux by detaching the kernel driver from the interface.
Check out the new commit. Hope this helps

It worked on the first try with the new commit. Thank you very much.


grunt running into jasmine errors regarding tooltip

I am trying to upstream our code to v0.4.9. After merging our code changes and the new version into a transitional branch I ran grunt and was stopped by jasmine issues regarding tooltip. I then ran grunt against the clean upstream master and ran into the same issues.
When running grunt on the recent v0.4.9 code it produced the following errors.
 c3 chart tooltip
   tooltip position
     x encountered a declaration exception
       TypeError: 'undefined' is not a function (evaluating 'beforeAll(function () {
            tooltipConfiguration = {};
        })') in file:///C:/xampp/htdocs/dwportal/app/webroot/js/c3/spec/tooltip-spec.js (line 31) (1)
   tooltip positionFunction
     x encountered a declaration exception
       TypeError: 'undefined' is not a function (evaluating 'beforeAll') in file:///C:/xampp/htdocs/dwportal/app/webroot/js/c3/spec/tooltip-spec.js (line 92) (1)

Replacing 'beforeAll' with 'beforeEach' and commenting out the declaration at the top gets past that issue but then produces these errors.
 c3 chart tooltip
   tooltip position
     without left margin
       √ should show tooltip on proper position
     with left margin
       √ should set left margin
       √ should show tooltip on proper position
   tooltip positionFunction
     x should be set to the coordinate where the function returned
       Expected 115 to be 37. (1)
       Expected 289 to be 79. (2)

Removing the beforeAll wrappers( that I change to beforeEach previously) and letting the tooltipConfiguration json to be declared inline produces these issues.
 c3 chart tooltip
   tooltip position
     without left margin
       x should show tooltip on proper position
         Expected 37 to be 115. (1)
         Expected 79 to be greater than 280. (2)
     with left margin
       √ should set left margin
       x should show tooltip on proper position
         Expected 37 to be 115. (1)
         Expected 79 to be greater than 280. (2)
   tooltip positionFunction
     √ should be set to the coordinate where the function returned

I am a complete n00b regarding jasmine so my debug hacking above may be completely useless. Since I couldn't find anyone else mentioning the same thing I should first assume it has to do with my own set up. I am working on the code from a Windows 7 Lenovo (employer computer) and executing grunt from a msysGit terminal (my version dated the same as v<IP_ADDRESS>.msysgit.0, https://msysgit.github.io/).
Any ideas what it could be or questions requiring answers before you can help?
Thanks in advance.

I think the version of jasmine is old and it's related to grunt-contrib-jasmine in package.json. So, can you try npm update?

Thanks, npm update is throwing me errors resulting from dependencies for "node-gyp". Once I get that cleaned up I will let you know.

After hours of installing all the prereqs around ```node-gyp`` and still running into issues. I took the suggestion from erikreppen commented on Nov 16, 2014 (https://github.com/TooTallNate/node-gyp/issues/518) to just go to nodejs.org and reinstalled. Success. Grunt works fine now. Closing.
Thank you.


Clang Format Upgrade

We've been using clang format 11 specifically, which is a little old, and missing some features.
While not high priority to upgrade, I thought it would be helpful to create an issue listing settings not available to clang format 11 that we might like to make use of.

SeparateDefinitionBlocks: https://clang.llvm.org/docs/ClangFormatStyleOptions.html#separatedefinitionblocks (v14)
EmptyLineBeforeAccessModifier: https://clang.llvm.org/docs/ClangFormatStyleOptions.html#separatedefinitionblocks (v12)

We have upgraded to clang format 18.


Refactored service from main()

This does the initial refactoring based on #1 and also a simple refactoring of AutomationFactory related to #2.
It doesn't move the service to Puppet.Common. Once this pull is verified to not cause regression, the service could be moved to Puppet.Common in a different pull request.

@eoware I apologize, I'm just now seeing this PR. I appreciate it!


narrow labelarray

Coverage decreased (-0.08%) to 87.3% when pulling 82361e05423011e2491470ee78f0cd064c37aeea on narrow-labelarray into 3be451e2595da543e7687990785d6de198b801e8 on master.

Coverage decreased (-0.06%) to 87.313% when pulling d66309a3a036ac470cfd356c82ecd5eb5c70be55 on narrow-labelarray into 3be451e2595da543e7687990785d6de198b801e8 on master.

Coverage decreased (-0.02%) to 87.367% when pulling d4c5b560c8ddfc48501132817f13c1d801a02bec on narrow-labelarray into fb85e4a2bd4347db69bd46ffb76eb3d92de9666c on master.

Coverage decreased (-0.02%) to 87.367% when pulling d4c5b560c8ddfc48501132817f13c1d801a02bec on narrow-labelarray into fb85e4a2bd4347db69bd46ffb76eb3d92de9666c on master.

Coverage decreased (-0.08%) to 87.313% when pulling d4c5b560c8ddfc48501132817f13c1d801a02bec on narrow-labelarray into fb85e4a2bd4347db69bd46ffb76eb3d92de9666c on master.

@llllllllll this looks good.  Just had one request for an extra piece of test coverage.


Add intermediate tests (as requested by students)

Quick glance: run in colab
Proof that it works in colab: solved notebook
this code tests intermediate implementations of

Normal
InferenceModel
BowmanLM

It introduces no changes to the notebook except

adding "test" cells with a bunch of asserts
InferenceModel is now implemented before BowmanLM for testing reasons
device variable is now defined in the first cell

Thanks!


Best practice: how to add presentation custom info accessible in any component

Hi,
Is there a way to add some custom information related to the presentation in the markdown's headmatter and then access it in components?
I would like to create a footer component that would be added to all slides and it should display the author name added in the headmatter. I am thinking about other use cases, so I guess I would like to know if there is a generic way to add any type of info that can then be accessed in components. Is the key themeConfig what I am after? If yes, how can I access it in the component?
Thanks in advance ! :)
//CN

In v0.16.0, you can access the first frontmatter via $slidev.configs and $slidev.themeConfigs for themeConfig in Vue context.

Fantastic! Thanks @antfu !


json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

this happening all the time
Also can't import headers, how do I import them correctly?

You did not received correct json documents.
If you had problem with authentication, this must be related.
The error is catchable here https://github.com/nikitastupin/clairvoyance/blob/main/clairvoyance/client.py#L59, however this forward an error at the runtime.
I assume you are running the program in CLI, you will import headers like curl does.
clairvoyance -o schema.json -H "Authorization: Bearer Token" -H "AnotherHeader: Placeholder" http://example.com

yes. I imported the correct headers, and it throws me the same error after a bit.

Have the same problem. The issue is that server starts blocking requests with 403 error at some point. Probably just too many at the same time (default is 50 threads). Might try to reduce threads to 1 with '-c' option.
clairvoyance only handles 500+ errors to retry, might want to handle 403 errors more gracefully.

yes. I imported the correct headers, and it throws me the same error after a bit.

Sorry for extremely late response. The error was caused by rate limiting on the server-side. Currently all the similar issues are covered by #107.
If you feel that this is the Clarivoyance's issue, then feel free to open a new issue or write here.


Support creating data frame from Numo array

Hey, @ankane,
I was trying to create a DataFrame from a numo array and found that this is an idea: https://github.com/ankane/rover/issues/1
Something like this is OK or you see any performance issue:
columns = %w(a b c)
matrix = [[0.0, 1.0, 2.0, 3.0, 4.0], [5.0, 6.0, 7.0, 8.0, 9.0], [10.0, 11.0, 12.0, 13.0, 14.0]]
matrix.to_h { |row| [columns.shift, row] }

Do you think it's ok to pass the columns in the DataFrame initializer?

Hey @kdiogenes, passing a hash of columns should be the most efficient way to create a data frame from a Numo array.
matrix = Numo::DFloat.new(4, 2).seq
Rover::DataFrame.new({
  a: matrix[true, 0],
  b: matrix[true, 1]
})

I appreciate seeing these conversations, I would love to see more examples to help me learn how to use Rover ;-)


mitmproxy doesn't merge multiple Cookie headers when proxying HTTP/2 request to HTTP/1.1 server

Problem Description
when mitmproxy running as reverse-proxy mode, mitmproxy accepts HTTP/2 connection, even upstream is plain HTTP server (w/ HTTP 1.1).
in HTTP/2, multiple cookie header is allowed, but old HTTP/1.x isn't. so we should merge multiple Cookie headers to one header when proxying to HTTP/1.1 server (see https://www.rfc-editor.org/rfc/rfc7540#section-<IP_ADDRESS> https://www.rfc-editor.org/rfc/rfc6265#section-5.4 ), but mitmproxy isn't.

and actually some servers doesn't handle multiple Cookie headers on HTTP/1.x; so it causes mysterious bug (in my case, breaks Mastodon's sign-in).
Steps to reproduce the behavior:

Run mitmproxy as reverse-proxy mode, like mitmproxy --mode=reverse:http://localhost -p 443 --certs fullchain-and-privkey.pem --set keep_host_header --modify-header '/x-forwarded-proto/https'
Access to mitmproxy port with HTTPS, https://localhost and add some cookies
Check actual HTTP request by Wireshark or something (note: some servers are automatically handles multiple cookie headers even HTTP/1.1, like Node.js)

System Information
$ mitmproxy --version
Mitmproxy: 8.0.0
Python:    3.10.4
OpenSSL:   OpenSSL 1.1.1o  3 May 2022
Platform:  macOS-12.3.1-arm64-arm-64bit

(installed from Homebrew)

Thanks for the clear report! The relevant code that handles h2 -> h1 conversion is here:
https://github.com/mitmproxy/mitmproxy/blob/01a772ed4ee673307ba6b1eebfdeb5df65b13e99/mitmproxy/proxy/layers/http/_http1.py#L342-L350
I'd be happy to merge a PR that fixes this. 😃


Add open census spans for ncproxy

Give ncproxy its own etw provider
Add open census spans around all of the ncproxy calls

Signed-off-by: Daniel Canter<EMAIL_ADDRESS>

We should make sure we have the octtrpc and ocgrpc server and client pieces registered wherever we have GRPC or TTRPC servers or clients.

@kevpar I think I have the ttrpc ones handled, but I don't for grpc

Ok last rename I swear 😆


Bible Reading Schedule missing Chronological section

I just updated my BRS English from 1.4 to 3.2 and my chronological section has disappeared. I have the new thematic section but not the one I was using. Is it possible to have all 4 options? If so, please reinsert the chronological section. Also, is there a quick way to "uncheck all" items to reuse at the end of a schedule. I can uncheck them individually but that is very time-consuming. Thank you for all your hard work.

Hi @joelynjellybean
Looks like you've missed a few updates in-between :-)
The chronological schedule was incomplete and imprecise. That's why it was removed. A brother is working on an improved schedule, so (hopefully) it will be included in future updates.
As for unchecking, JW Library doesn't have any such "quick-wipe" option, but if you're not afraid of tech, you can use my JWLManager app to delete the annotations for BRS, or... do the inverse: unchecked means completed :-)
Eryk

Thanks for the response. I look forward to the new and improved schedule in
the future. Thanks for all you do with these add-ons. They are wonderful.
On Thu, Jul 18, 2024, 11:22 AM Eryk J. @.***> wrote:

Hi @joelynjellybean https://github.com/joelynjellybean
Looks like you've missed a few updates in-between :-)
The chronological schedule was incomplete and imprecise. That's why it was
removed. A brother is working on an improved schedule, so (hopefully) it
will be included in future updates.
As for unchecking, JW Library doesn't have any such "quick-wipe" option,
but if you're not afraid of tech, you can use my JWLManager app
https://github.com/erykjj/jwlmanager to delete the annotations for BRS,
or... do the inverse: unchecked means completed :-)
Eryk
—
Reply to this email directly, view it on GitHub
https://github.com/erykjj/jwpublib/issues/46#issuecomment-2237119750,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BJ6RMJ5HMK3VYE3GJVDRZM3ZM72UTAVCNFSM6AAAAABLDCWQDCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZXGEYTSNZVGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi @joelynjellybean
Due to being very busy, that chronological schedule that was in the works hasn't advanced much. So, I am looking for semi-tech-savvy volunteers to help. Would you be interested?

Yes, I would be interested. Not sure what is involved but if be happy to
help if I can.
On Mon, Sep 9, 2024, 6:37 PM Eryk J. @.***> wrote:

Hi @joelynjellybean https://github.com/joelynjellybean
Due to being very busy, that chronological schedule that was in the works
hasn't advanced much. So, I am looking for semi-tech-savvy volunteers to
help. Would you be interested?
—
Reply to this email directly, view it on GitHub
https://github.com/erykjj/jwpublib/issues/46#issuecomment-2339389028,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BJ6RMJ4HXAVWZMQW3NEFEKTZVY5MLAVCNFSM6AAAAABLDCWQDCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZZGM4DSMBSHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Yes, I would be interested. Not sure what is involved but if be happy to help if I can.

Check your notifications ;-)

Notifications where? And I have my assembly this weekend and then will be
on vacation for a couple of weeks so it will be a bit before I can take a
look.
On Wed, Sep 11, 2024, 5:49 AM Eryk J. @.***> wrote:

Yes, I would be interested. Not sure what is involved but if be happy to
help if I can.
Check your notifications ;-)
—
Reply to this email directly, view it on GitHub
https://github.com/erykjj/jwpublib/issues/46#issuecomment-2343451414,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BJ6RMJ4HRU2ZSV6JWB26QKLZWAU5BAVCNFSM6AAAAABLDCWQDCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBTGQ2TCNBRGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


giftCardCreate mutation tries to create GiftCard and GiftCardTag on different databases

Error from Sentry:
Cannot add "<GiftCardTag: GiftCardTag object (290)>": instance is on database "replica", value is on database "default"
This happened on staging when executing giftCardCreate mutation. Apparently GiftCard instance was created on replica database and the Tag is created on default db.

Create an app with permissions MANAGE_APPS, MANAGE_GIFT_CARD
Use app token and send mutation giftCardCreate
mutation{
   giftCardCreate(input:{
     addTags: "new" // I added this tag via dashboard for other gift card
     isActive: true
     balance: {
       currency: "PLN"
       amount: 45
     }
   }){
     errors{
       field
       message
     }
     giftCard{
       code
       id
       isActive
     }
   }
 }

response
{
    "errors": [
        {
            "message": "Cannot add \"<GiftCardTag: GiftCardTag object (716)>\": instance is on database \"replica\", value is on database \"default\"",
            "locations": [
                {
                    "line": 2,
                    "column": 5
                }
            ],
            "path": [
                "giftCardCreate"
            ],
            "extensions": {
                "exception": {
                    "code": "ValueError"
                }
            }
        }
    ],
    "data": {
        "giftCardCreate": null
    },
    "extensions": {
        "cost": {
            "requestedQueryCost": 0,
            "maximumAvailable": 50000
        }
    }
}

env. master.staging, v37.staging

To fix this we need to implement a db router with proper allow_relation