[HOLD for payment 2023-10-02] [$500] [Distance] - Wrong error is shown for maximum distance limitation even after deleting way point

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Click on FAB > Request money > Distance
Click on start field and insert "Ethiopia "as the starting point
Click on the finish field and insert "USA" as the finishing point
Observe the error ".... maximum distance limit"
Click on Add stop
Insert the same waypoint as the finishing point, ie. "USA"
Click on the starting point and delete the waypoint with "Ethiopia" as the starting point
Observe the error

Expected Result:
The error should disappear or change to something related to the current issue at hand
Actual Result:
The error from the previous state persists and does not reset or disappear
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/441bc887-19f0-4b69-bf10-7e6678c2a971
https://github.com/Expensify/App/assets/93399543/37641e1a-c17d-41cd-b6e9-714f430f69b9
Expensify/Expensify Issue URL:
Issue reported by: @Nathan-Mulugeta
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1694680351264939
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01fb0d667643024cc9
Upwork Job ID:<PHONE_NUMBER>466088448
Last Price Increase: 2023-09-15
Automatic offers:

samh-nl | Contributor | 26743874
Nathan-Mulugeta | Reporter | 26743875

Proposal
Please re-state the problem that we are trying to solve in this issue.
[Distance request] - Wrong error is shown for maximum distance limitation even after deleting way point
What is the root cause of that problem?
There is no error handle for matched start and end point
What changes do you think we should make in order to solve the problem?
We need to handle error matched start and end point.

in TransactionUtils.js, we will create a new method to check if start and end point is matched.

import uniqWith from "lodash/uniqWith";

function isStartAndFinishWaypointsIdentical(waypoints) {
    // filter waypoints by remove the empty and invalid waypoints
    const validWaypoints = _.filter(_.values(waypoints), (waypoint) => waypointHasValidAddress(waypoint));

    const uniqueWaypoints = uniqWith(validWaypoints, (a, b) => _.isEqual(a, b));
    // we can also use the below method to get the unique waypoints
    // const uniqueWaypoints = _.uniq(validWaypoints, false, "address");

    return validWaypoints.length > 1 && uniqueWaypoints.length === 1;
}

use the above method in DistanceRequest.js

const hasIdenticalError = TransactionUtils.isStartAndFinishWaypointsIdentical(waypoints);
const hasError = hasIdenticalError || hasRouteError;
const errorMessage = hasIdenticalError ? ["errors.identicalError"] : ErrorUtils.getLatestErrorField(transaction, 'route');

edit displaying the error.

{(hasError) && (
    <DotIndicatorMessage
        style={[styles.mh5, styles.mv3]}
        messages={errorMessage}
        type="error"
    />
)}

What alternative solutions did you explore? (Optional)
N/A

@parasharrajat

As Expected Result: The error should disappear or change to something related ...

I think the second option "change to something related" is a better user experience, we can handle new error "start and finish points are identical"
because the user now is select the start and finish point, but button "Next" still disable without displaying any errors.
I respect your decision, But I just want to understand.

@Li357 I can take this over for you if you like. Lmk.

Sorry about the delay here! This didn't show up in my K2 for some reason... @samh-nl's proposal looks good!

@kevinksullivan , I removed your assignment, I was added via the Bug label and you were added later.

Sorry about the delay here! This didn't show up in my K2 for some reason... @samh-nl's proposal looks good!

@Li357 , let me know if that happens again, K2 usually works well.

Issue reporter: @Nathan-Mulugeta paid $50 via Upwork
Contributor: @samh-nl paid $750 via Upwork
Contributor+: @parasharrajat due $750 via NewDot
@parasharrajat, please fill out the BZ checklist above

$750 payment approved for @parasharrajat based on BZ summary above.

TestRail GH created, thanks all!
https://github.com/Expensify/Expensify/issues/324411


Allow adding and removing styles at runtime

What does the pull request do?
Implements one of the oldest issues still open: #75 - allow styles to be attached/detached. This means that with this PR you should be able to add and remove styles from a Control.Styles or Application.Styles collection (or any nested style collections within) and the affected controls will be updated with the new or removed styles.
What is the current behavior?
If a style is added or removed from the application, then existing controls will not notice that a change has happened.
How was the solution implemented (if it's not obvious)?
I'm assuming here that adding/removing styles will be an infrequent operation, and optimizing for memory use in the general case rather than making adding/removing styles fast (i.e. we're aiming for zero overhead here).
When a style is removed from a Control.Styles or Application.Styles collection then the Styles collection calls IStyleHost.StylesRemoved, which is implemented on StyledElement. This method then calls DetachStyles on itself and on all descendant controls. Because a list of applied style instances are stored in each control and the instance has a reference to the style that created it, the style instances that belong to a removed style can be removed.
Similarly when a style is added, IStyleHost.StylesAdded is called. Adding a style is a little more complicated because the new style potentially needs to be inserted in between existing styles in the value store of a control, and we don't know exactly where. For this reason, when a style is added all attached styles on the control and its descendants are detached. At the next measure, styling will be reapplied to the entire sub-tree.
Checklist

[x] Added unit tests (if possible)?

Fixed issues
Fixes #75

@grokys Does this work on stable builds? We kind of need this feature to implement theme switching in our app Jaya.

@waliarubal no, it's not going to be included in the 0.9.x releases as they only receive bug fixes and this is a reasonably large refactoring. It will be included in 0.10.


Automatic loading of micro service routing and error reporting

Describe the bug
<EMAIL_ADDRESS>The microservice name is ‘PARENT POM PROVIDING DEPENDENCY AND PLUGIN MANAGEMENT FOR APPLICATIONS’
gateway to configure：
spring:
cloud:
gateway:
discovery:
locator:
enabled: true
error：java.lang.IllegalArgumentException: Illegal character in authority at index 5: lb://PARENT POM PROVIDING DEPENDENCY AND PLUGIN MANAGEMENT FOR APPLICATIONS

service names need to follow valid hostname syntax.

When there is such a service in Eureka, geteway cannot be started. It is impossible to avoid the emergence of such a service. Can the gateway not be affected

@spencergibb


Video Error / Failed

I'm trying to test video but I get some errors.
Any idea how can I fix this and make it work?
I'm not a programmer so please help / guide step-by-step if possible,
Thanks ahead! 💙

I use Anaconda on Windows 10

Try newest release, https://github.com/nadermx/backgroundremover/releases/tag/v0.2.1 Also make sure you have ffmpeg 4.4+ installed


[FLINK-2877] Move Streaming API out of Staging package

GitHub sync is lagging behind, so only one commit (the latest) in the PR is relevant, the others are already committed.

Looks pretty straightforward. Some diffs are displayed probably because of git bugs / limitations. As this was discussed on the mailing list before and all agreed, this should be good.
Only point of discussion could be names. I personally like the names flink-streaming-java and flink-streaming-scala, so +1 from my side

+1 for flink-streaming-java and flink-streaming-scala

Manually merged


Fix test messages

The majority of the changes in this commit is about removing redundant
trailing '\n', since t.Logf & related methods automatically handle
trailing new lines, and essentially ignore that extra line we're
adding.
Replace several usages of '%s' where '%q' would be more useful.
Fix cases where the arguments to format the string were incorrectly
part of the string itself, not arguments.

I was fixing the "\n" issue in one file I'm working on, thought a global search would do better good.
@mfojtik @soltysh PTAL

3 nits, but otherwise looks good.

@soltysh updated, PTAL

LGTM [merge]


Use popcount instead of manually counting bits

This should work on Windows too as popcount is one of those intrinsics available on there as well.

@compnerd Thoughts?


TEST: Finished initial Unit Testing for Domain Layer

Tested All the Models.
Tested All the Repositories.
Tested All the Core Services.

Couldn't merge these because main and core-test2 were entirely different commit histories for some reason. I had to rebase.


[#854][FOLLOWUP] feat(tez): Add RssShuffleScheduler to run and manager shuffle work

What changes were proposed in this pull request?
Add RssShuffleScheduler to run and manager shuffle work
Why are the changes needed?
Fix:  https://github.com/apache/incubator-uniffle/issues/854
Does this PR introduce any user-facing change?
No.
How was this patch tested?
unit test

Codecov Report

Merging #948 (51cebf9) into master (fb394e5) will increase coverage by 0.85%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #948      +/-   ##
============================================
+ Coverage     55.80%   56.66%   +0.85%
+ Complexity     2364     2049     -315
============================================
  Files           354      293      -61
  Lines         18071    12935    -5136
  Branches       1414     1202     -212
============================================
- Hits          10085     7329    -2756
+ Misses         7400     5209    -2191
+ Partials        586      397     -189

see 64 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@kaijchen Could you have a better solution?

@kaijchen Could you have a better solution?

add it to spotbugs-exclude.xml

Ok, I add this:

could skip test test in FindBugs ? (I add the SuppressWarnings, but not effect).

@lifeSo please pull the latest commit

ok


Some initial support for deleting models.

also test on python 3.6
also pin travis to precise till I upgrade that.

Coverage increased (+0.01%) to 89.899% when pulling 37d3869417250d8f71a5fd244b4085e35eb3b072 on updates-for-deleted2 into 834fa1b4dcc9beacc38ad287991afb41d7bc98c2 on master.

Coverage increased (+0.01%) to 89.899% when pulling 9664c1afeffb91abe0ef8e7f523229073a0213fe on updates-for-deleted2 into 834fa1b4dcc9beacc38ad287991afb41d7bc98c2 on master.

Coverage decreased (-0.1%) to 89.773% when pulling 9664c1afeffb91abe0ef8e7f523229073a0213fe on updates-for-deleted2 into 834fa1b4dcc9beacc38ad287991afb41d7bc98c2 on master.


[FEATURE] Add about page, transfer team section and include to overview

Detailed description
About
What is the mission and vision of Dev Protocol
The mission of Dev Protocol is to maximize creativity for every creator in the world, using the power of Blockchain and Decentralized Financial mechanism to enable creators to capitalize on their projects and achieve financial success, regardless of the size of the project.
Where does the Dev Protocol idea come from?
The idea does not come from Open Source Software (OSS) but traditional work. One of us, the founders, found out that Japanese artisans of temples and shrines were economically less valued despite their elaborate and long-lasting works. Then we got together and started to tackle continuous finance for creators in 2015. We established Dev Protocol in 2018 to begin implementing our sustainable supporting scheme by blockchain technology.
The value of the Dev Protocol
The positive cycle created by Public goods such as OSS begins sustainability and enables more OSS developers, artists, researchers, and other creators to live independently. To collaborate with more projects freely is the greatest value for all.
The core features of Dev Protocol are evaluation, distribution and management for the creator's projects. By using Dev Protocol, even a small, newly started project can increase its evaluation and improve its market capitalization. The ability to achieve this has been limited to stock companies now, but Dev Protocol is opening up that possibility to all creators.
The first step for creators is to prove their ownership of the project and issue their own property tokens(ERC-20). Once issue tokens, creators can monetize through staking by supporters, share and divide them with their co-developers. In addition, these tokens allow creators to give partial ownership for all the contributors involved in the OSS development in order to provide a sustainable opportunity for profit without the need of token sales.
This is just a description of the basic components of the Dev Protocol ecosystem. There are many possible use cases for this new economic infrastructure designed for creators, so please try it out for yourself!
The Team

Context
This is also important part of our website, best to include in overview nav-item
Possible implementation
Add about page, the information above ☝ and remove the question & answer in FAQ

Remove the team section in developers page then transfer it to about page
Additional information
Thank you :)
Code of Conduct

[X] I agree to follow this project's Code of Conduct

i can work on this 😄
(if no one is already working on this)

Feel free to work on this issue @AbhinavMV


Install from source stuck on 3.0.0

Hi, I wanted to try out the tl.split and tl.join functions which only seem available on triton 3.0.0. However, installing from source as per the README doesn't seem to work. The installation has been stuck on running build_ext for tens of minutes.
Any idea?
>> pip install --verbose -e python
Using pip 24.0 from /home/rgautier/.pyenv/versions/3.11.8/lib/python3.11/site-packages/pip (python 3.11)
Obtaining file:///home/rgautier/triton/python
  Running command pip subprocess to install build dependencies
  Collecting setuptools>=40.8.0
    Using cached setuptools-69.4.0-py3-none-any.whl.metadata (6.2 kB)
  Collecting wheel
    Using cached wheel-0.43.0-py3-none-any.whl.metadata (2.2 kB)
  Collecting cmake>=3.18
    Using cached cmake-3.29.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.1 kB)
  Collecting ninja>=1.11.1
    Using cached ninja-<IP_ADDRESS>-py2.py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl.metadata (5.3 kB)
  Using cached setuptools-69.4.0-py3-none-any.whl (823 kB)
  Using cached wheel-0.43.0-py3-none-any.whl (65 kB)
  Using cached cmake-3.29.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.7 MB)
  Using cached ninja-<IP_ADDRESS>-py2.py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl (307 kB)
  Installing collected packages: ninja, wheel, setuptools, cmake
  Successfully installed cmake-3.29.2 ninja-<IP_ADDRESS> setuptools-69.4.0 wheel-0.43.0
  Installing build dependencies ... done
  Running command Checking if build backend supports build_editable
  Checking if build backend supports build_editable ... done
  Running command Getting requirements to build editable
  copy /home/rgautier/.triton/nvidia/bin/ptxas to /home/rgautier/triton/python/../third_party/nvidia/backend/bin/ptxas ...
  copy /home/rgautier/.triton/nvidia/bin/cuobjdump to /home/rgautier/triton/python/../third_party/nvidia/backend/bin/cuobjdump ...
  copy /home/rgautier/.triton/nvidia/bin/nvdisasm to /home/rgautier/triton/python/../third_party/nvidia/backend/bin/nvdisasm ...
  running egg_info
  writing triton.egg-info/PKG-INFO
  writing dependency_links to triton.egg-info/dependency_links.txt
  writing requirements to triton.egg-info/requires.txt
  writing top-level names to triton.egg-info/top_level.txt
  reading manifest file 'triton.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  writing manifest file 'triton.egg-info/SOURCES.txt'
  Getting requirements to build editable ... done
  Running command Preparing editable metadata (pyproject.toml)
  copy /home/rgautier/.triton/nvidia/bin/ptxas to /home/rgautier/triton/python/../third_party/nvidia/backend/bin/ptxas ...
  copy /home/rgautier/.triton/nvidia/bin/cuobjdump to /home/rgautier/triton/python/../third_party/nvidia/backend/bin/cuobjdump ...
  copy /home/rgautier/.triton/nvidia/bin/nvdisasm to /home/rgautier/triton/python/../third_party/nvidia/backend/bin/nvdisasm ...
  running dist_info
  creating /tmp/pip-modern-metadata-3k02gtoz/triton.egg-info
  writing /tmp/pip-modern-metadata-3k02gtoz/triton.egg-info/PKG-INFO
  writing dependency_links to /tmp/pip-modern-metadata-3k02gtoz/triton.egg-info/dependency_links.txt
  writing requirements to /tmp/pip-modern-metadata-3k02gtoz/triton.egg-info/requires.txt
  writing top-level names to /tmp/pip-modern-metadata-3k02gtoz/triton.egg-info/top_level.txt
  writing manifest file '/tmp/pip-modern-metadata-3k02gtoz/triton.egg-info/SOURCES.txt'
  reading manifest file '/tmp/pip-modern-metadata-3k02gtoz/triton.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  writing manifest file '/tmp/pip-modern-metadata-3k02gtoz/triton.egg-info/SOURCES.txt'
  creating '/tmp/pip-modern-metadata-3k02gtoz/triton-3.0.0.dist-info'
  Preparing editable metadata (pyproject.toml) ... done
Requirement already satisfied: filelock in /home/rgautier/.pyenv/versions/3.11.8/lib/python3.11/site-packages (from triton==3.0.0) (3.13.1)
Building wheels for collected packages: triton
  Running command Building editable for triton (pyproject.toml)
  copy /home/rgautier/.triton/nvidia/bin/ptxas to /home/rgautier/triton/python/../third_party/nvidia/backend/bin/ptxas ...
  copy /home/rgautier/.triton/nvidia/bin/cuobjdump to /home/rgautier/triton/python/../third_party/nvidia/backend/bin/cuobjdump ...
  copy /home/rgautier/.triton/nvidia/bin/nvdisasm to /home/rgautier/triton/python/../third_party/nvidia/backend/bin/nvdisasm ...
  running editable_wheel
  creating /tmp/pip-wheel-v165jqjq/.tmp-es_jn_x7/triton.egg-info
  writing /tmp/pip-wheel-v165jqjq/.tmp-es_jn_x7/triton.egg-info/PKG-INFO
  writing dependency_links to /tmp/pip-wheel-v165jqjq/.tmp-es_jn_x7/triton.egg-info/dependency_links.txt
  writing requirements to /tmp/pip-wheel-v165jqjq/.tmp-es_jn_x7/triton.egg-info/requires.txt
  writing top-level names to /tmp/pip-wheel-v165jqjq/.tmp-es_jn_x7/triton.egg-info/top_level.txt
  writing manifest file '/tmp/pip-wheel-v165jqjq/.tmp-es_jn_x7/triton.egg-info/SOURCES.txt'
  reading manifest file '/tmp/pip-wheel-v165jqjq/.tmp-es_jn_x7/triton.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  writing manifest file '/tmp/pip-wheel-v165jqjq/.tmp-es_jn_x7/triton.egg-info/SOURCES.txt'
  creating '/tmp/pip-wheel-v165jqjq/.tmp-es_jn_x7/triton-3.0.0.dist-info'
  creating /tmp/pip-wheel-v165jqjq/.tmp-es_jn_x7/triton-3.0.0.dist-info/WHEEL
  running build_py
  running build_ext

Thanks for the help.
EDIT: Also tried on a fresh installation, and same thing happening.

hey @gautierronan I can't speculate on the cause of the build hang issue. The point of failure is right when Cmake kicks off the compiler identification process. It would look like this

running build_py
running build_ext
CMake Deprecation Warning at CMakeLists.txt:6 (cmake_policy):
The OLD behavior for policy CMP0116 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances.  Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
-- The C compiler identification is AppleClang <IP_ADDRESS>00309
-- The CXX compiler identification is AppleClang <IP_ADDRESS>00309
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for histedit.h
-- Looking for histedit.h - found

So if you want to pursue building from source, verify you have GCC/G++ or Clang/Clang++/LLD installed on your machine as a starting point.
If you just need a Triton install, there are now nightly builds of triton 3.0 available here. Last one built on 4/14/2024.
You can install it with
pip install -U --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/Triton-Nightly/pypi/simple/ triton-nightly

I also encountered a similar problem when compiling from source code:
ImportError: triton/python/triton/_C/libtriton.so: undefined symbol: LLVMInitializeSparcTarget

seems something is wrong with LLVM backend?

When I try pip install -U --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/Triton-Nightly/pypi/simple/ triton-nightly, and run the tutorial vector-add example,
cd triton/python/tutorials
python 01-vector-add.py

triger the errors:
File "miniconda3/lib/python3.10/site-packages/triton/compiler/compiler.py", line 369, in _init_handles
    self.module, self.function, self.n_regs, self.n_spills = driver.active.utils.load_binary(
RuntimeError: Triton Error [CUDA]: device kernel image is invalid

I also encountered a similar problem when compiling from source code:
ImportError: triton/python/triton/_C/libtriton.so: undefined symbol: LLVMInitializeSparcTarget

seems something is wrong with LLVM backend?

@jsonlee0x02 I don't think it is the same issue. The original errors were showing install on x86-64 target. I am inferring from the missing symbol that you are running on a SPARC (HW arch) system running some flavor of Linux. So even if you build your own LLVM target from source, you need additional modifications here to make use of those variants of those libs. Otherwise, you are telling cmake to link against x86 LLVM libs here, instead of the SPARC LLVM lib binaries you compiled. So at runtime it's not gonna find the SPARC matching symbols in the package.
For the second comment, there is not much to go on to help you debug the issue but I am guessing it's a Linux x86-64 system if you were able to install triton nightly build. You should probably separate it into a different issue, and capture your system config HW (cpu arch, which GPU and compute capability), GPU device driver version, CUDA Toolkit version, OS flavor and version, PyTorch version, exact Triton nightly version installed (run 'pip show triton' to get the v3.0.0 suffix) as the min required info as part of repro recipe.

I also encountered a similar problem when compiling from source code:
ImportError: triton/python/triton/_C/libtriton.so: undefined symbol: LLVMInitializeSparcTarget

seems something is wrong with LLVM backend?

@jsonlee0x02 I don't think it is the same issue. The original errors were showing install on x86-64 target. I am inferring from the missing symbol that you are running on a SPARC (HW arch) system running some flavor of Linux. So even if you build your own LLVM target from source, you need additional modifications here to make use of those variants of those libs. Otherwise, you are telling cmake to link against x86 LLVM libs here, instead of the SPARC LLVM lib binaries you compiled. So at runtime it's not gonna find the SPARC matching symbols in the package.
For the second comment, there is not much to go on to help you debug the issue but I am guessing it's a Linux x86-64 system if you were able to install triton nightly build. You should probably separate it into a different issue, and capture your system config HW (cpu arch, which GPU and compute capability), GPU device driver version, CUDA Toolkit version, OS flavor and version, PyTorch version, exact Triton nightly version installed (run 'pip show triton' to get the v3.0.0 suffix) as the min required info as part of repro recipe.
EDIT: I misspoke on one thing in the last paragraph. While the cmake issue I pointed out is valid. It's not the root cause (assuming steps in readme were followed). There is a bug in build script that would cause linux builds to default to x86-64 (if not aarch64 target) llvm build even if user is building for another arch on Linux and provided env variables pointing to their local build. I put up a PR for that #3719.

I also encountered a similar problem when compiling from source code:
ImportError: triton/python/triton/_C/libtriton.so: undefined symbol: LLVMInitializeSparcTarget

seems something is wrong with LLVM backend?

@jsonlee0x02 I don't think it is the same issue. The original errors were showing install on x86-64 target. I am inferring from the missing symbol that you are running on a SPARC (HW arch) system running some flavor of Linux. So even if you build your own LLVM target from source, you need additional modifications here to make use of those variants of those libs. Otherwise, you are telling cmake to link against x86 LLVM libs here, instead of the SPARC LLVM lib binaries you compiled. So at runtime it's not gonna find the SPARC matching symbols in the package.
For the second comment, there is not much to go on to help you debug the issue but I am guessing it's a Linux x86-64 system if you were able to install triton nightly build. You should probably separate it into a different issue, and capture your system config HW (cpu arch, which GPU and compute capability), GPU device driver version, CUDA Toolkit version, OS flavor and version, PyTorch version, exact Triton nightly version installed (run 'pip show triton' to get the v3.0.0 suffix) as the min required info as part of repro recipe.
EDIT: I misspoke on one thing in the last paragraph. While the cmake issue I pointed out is valid. It's not the root cause (assuming steps in readme were followed). There is a bug in build script that would cause linux builds to default to x86-64 (if not aarch64 target) llvm build even if user is building for another arch on Linux and provided env variables pointing to their local build. I put up a PR for that #3719.

Thanks. My build machine is the typical x86_64 with Ubuntu 20.04.6 LTS, not SPARC. Maybe something is wrong with the MCJIT of llvm-project. I tried this building steps, it works normally now.


Adding DomainTag to the Persistence metrics client

What changed?
Added DomainTag to the Persistence metrics client

Why?
For creation of metrics to demonstrate customer load

How did you test it?
Locally.

Potential risks
None

Release notes
N/A

Documentation Changes
N/A

Pull Request Test Coverage Report for Build 018260b4-33ed-49c0-8b79-b007e72e1cb0

40 of 62 (64.52%)  changed or added relevant lines in 12 files are covered.
131 unchanged lines in 24 files lost coverage.
Overall coverage decreased (-0.06%) to 57.731%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

service/worker/scanner/executions/types.go
0
1
0.0%

service/history/events/cache.go
7
9
77.78%

service/history/execution/context.go
3
5
60.0%

tools/cli/adminCommands.go
0
2
0.0%

service/history/replication/task_ack_manager.go
4
7
57.14%

common/persistence/persistenceMetricClients.go
16
28
57.14%

Files with Coverage Reduction
New Missed Lines
%

common/task/weightedRoundRobinTaskScheduler.go
1
89.64%

common/types/shared.go
1
41.8%

service/history/queue/timer_queue_processor_base.go
1
77.26%

client/history/client.go
2
38.24%

client/history/metricClient.go
2
45.3%

common/peerprovider/ringpopprovider/config.go
2
81.58%

common/persistence/historyManager.go
2
66.67%

service/history/execution/mutable_state_util.go
2
36.14%

service/history/handler.go
2
47.63%

service/history/task/transfer_active_task_executor.go
2
71.7%

Totals

Change from base Build 01824665-0b9f-44b2-9f2d-0f446ed4242a:
-0.06%

Covered Lines:
83853

Relevant Lines:
145248

💛  - Coveralls


Somfy Gate 2 Buttons remote

Describe you new feature you'd like
Hello,
First of all thanks for your wonderfull work!!! It's amazing
Here is my "issue"
I have configure the ESPSomfy RTS for my shade without any problem. I also have a Somfy Exavia 500 Gate that I want to configure.
With this gate I have when i bought it 2 preconfigure remote with only 2 buttons
-Button 1 open the gate totally.
-Button 2 open just one of the 2 gate for pedestrian access.
Here is a link to the manual (sorry it's in french: https://www.somfy.info/download_sheet/5073786/5073786B_EXVIA SGS SAV.pdf )
The sync process for the gate is easy just put the remote on a target on the motors then click on button 1. This will configure button 1 and button 2 automaticly.
In ESPSomfy I do not find remote with 2 Button. I have configure my gate with the 3 button remote (the one with "My") it's working but only for the "total opening". I also try the "dry contact' button without more luck.
If you have any idea how to configure it could be fantastic 🗡
Thanks

I believe there is a setting on the Exavia to support the 3 button remote and the two button remote you have is actually two 1 button remotes with a unique address per button.   We can verify this by looking at the log when you press each button.  If the address is different for each button then this is the case.

Yes buttons are different

In blue pedestrian and in red total open

How to create 2 definitions? (I'm a noob :D )

In the log:
In red it's button1 and blue is button2
(Really appreciate your help)

Capture that again but this time please press the copy button then paste those results here.

Exavia.txt
address 9690619 is the pedestrian opening
address 9625083 is the total opening

Well look at that.  There is nothing really special about the frames here.  But I have a hypothesis on this.
Assumptions
I have come up with some assumptions based on your log.  I feel pretty strongly about how this works.  I know that the address on every channel on every remote I have seen has been offset by 65536.  So each channel address on every remote is
channel 1 address + ((channel number - 1) * 65536)
Assumption 1:
If an address is paired into the Exavia to move the entire gate it will reserve the address for the pedestrian access as  + 65536.
Each address on a 2 button or 4 button gate remote is 65536 larger than the next button so
9625083 = Button 1
9690619 = Button 2
If there were a button 3 and 4
9756155 = Button 3
9821691 = Button 4
Assumption 2:
If you add a shade in ESPSomfy RTS with a starting address of 4824452 this would be button 1 then add 65536 that address for button 2 to have 4889988 for the button 2 address you will have made a virtual 2 button remote in the Somfy world.
Steps to make this work
Step 1: Unpair any ESPSomfy RTS addresses that you have with the Exavia
Step 2: Create a Gate (1-button center) shade definition in ESPSomfy RTS and assign it a remote address of 4824452.
Step 3: Pair this to the the Exavia and it should pair to open and close both panels.
Step 4: Create a Gate (1-button left) shade definition in ESPSomfy RTS and assign it a remote address of 4889988.  The address in this instance is critical because Exavia will look at this address and put it in the pedestrian slot to only move one motor.
Step 5: Pair this to the Exavia and it should pair to the pedestrian slot.

I have try your recommandation
Create 2 different shade with different remote address

Unfortunately when I try to pair it nothing happen

Please change the bit length for those two definitions to 80-bit and try again.
If that does not work try the method below.
Try this:

Press and hold the power button on the motor for 2 seconds.  The power light should come on
Make sure the ESPSomfy RTS device is near the motor.
In ESPSomfy RTS open the Virtual Remote tab and select the motor from the dropdown.
Press the toggle button there.

So with a 80-Bits I can pair the remotes but still the same issue it only open the full gate and not the pedestrian
And regarding the other method I do not have power button on my motor :(

Are you sure you set the addresses as indicated above?

Alright so I have another thing we can try.  It appears all of the keytis style remotes start at a higher address.
Steps to try this scenario
Step 1: Unpair each of the shade definitions that you previously paired for the 2 shade definitions.
Step 2: Change the address of the shade definition that is to open both panels to 10663760 then pair it.
Step 3: Change the address of the shade definition that is to open only the pedestrian gate to 10729296 then pair it.
Step 4: Test it and let me know if it is successful.

I will try on sunday and let you know...I'm not at home
Thanks for your patience and your help

hello !
how do you pair the gate motor in espsomfy ?
i have a  evolvia gate motor and i dont understand how i can pair

@Remitooo
First try to open it with your remote and check in log if your ESPsomfy see something (It should as it's an RTS motor)
Then create virtual remote in espsomfy with a 80bits. then pair it with your espsomfy
In my case i have to open the motor and put the antenna of my ESPsomfy on the target in the motor then click pair

@rstrouse could you describe how you arrived at the values to use for the two remotes ? I see that they are both separated by 65536 like before but using a different starting point. I have an Evolvia 400 with two remotes (not yet the ESPsomfy - hardware is ordered), and would like to understand the logic so that I can use your software on this gate.


biometrics using Touch ID/ Face ID for spending password/PIN

Resolve #632
This PR updated:

Allow user using biometrics is option for spending password/PIN
Add setting biometrics for spending password/PIN
Refactor code

Screenshot

For consistency purposes, can you please capitalize "password". I have circled it in red. Thank you!


marketManager stopped working!?

hi!
it worked like yesterday?
today i get error:
Error: "value" required in setHeader("cookie", value)
copy/paste of example here

Hi,
Bittrex disabled cloudflare again. I've added a check so the library works with and without cloud flare.
Please update to version 2.1.4.
Best,
Matthias

Thank you!
but
makretManager.stop()
or
makretManager.close()
give me error?
how can i disconnect the mannager or better said.. disconnect the bittrex feed ?

marketManager.reset() should do what you want.
On Wed, Sep 13, 2017, 11:42 AM TestniTester<EMAIL_ADDRESS>wrote:

Thank you!
but
makretManager.stop()
or
makretManager.close()
give me error?
how can i disconnect the mannager or better said.. disconnect the bittrex
feed ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/gliwka/bittrex-market/issues/7#issuecomment-329115275,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEwygfRz9yldDm_9rvg4SehwD-hJw0Pvks5sh6NlgaJpZM4PVq5v
.

marketManager.reset()
throws error and brakes

Can you post the error here?
On Wed, Sep 13, 2017, 12:15 PM TestniTester<EMAIL_ADDRESS>wrote:

marketManager.reset()
throws error and brakes
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/gliwka/bittrex-market/issues/7#issuecomment-329123453,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEwygQaiZKU6iXNI68BVCMJjxJfPZKMnks5sh6s3gaJpZM4PVq5v
.

Thanks. I'll roll out a fix for this race condition later in the evening.
On Wed, Sep 13, 2017, 12:20 PM TestniTester<EMAIL_ADDRESS>wrote:

[image: image]
https://user-images.githubusercontent.com/29655426/30372350-d0bf3b80-987d-11e7-9ed9-6f6a8103546e.png
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/gliwka/bittrex-market/issues/7#issuecomment-329124505,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEwygWdG5JQH4cAV515-DKYsE8MAG33tks5sh6xBgaJpZM4PVq5v
.

Sorry for the delay, I'll try to get it sorted out today.

Duplicate of #20 - will continue to fix the error in that issue.


check what happens if you have an encrypted file but a different encryption key that does not match

Here is what happens.
Aegis Safe logs
2023/01/26 06:16:59 Failed to open encrypted file no identity matched any of the recipients
2023/01/26 06:17:04 Failed to open encrypted file no identity matched any of the recipients
2023/01/26 06:17:09 Failed to open encrypted file no identity matched any of the recipients

which is expected.
Aegis Safe continues to function, it does not crash.
that is expected too.
After setting a secret, the secret is consumed, and the stored(encrypted) file is overwritten using the new key.
that is also expected.
Everything is good.
Closing this ticket.


Problematic formatting for WAPA entries

cf attached screenshot.
With those long names, proper display needs a very wide monitor, has even then still problems with aligning name and diff indication.
Furthermore a lot of space is "wasted" on the left.

This is vwith 1.113.0

The quick solutions are

flip to folder view or
don't display files
which I would recommend for projects with deep package structures and a large number of objects anyway.

Adding line breaks into the path doesn't make this better I'm afraid. The problem is the repeating parts of the path. So here's an idea:
The first line for the files of an object could be the main object name (everything up to and including the .wapa in your case).
Subsequent lines would be only the remaining part of the filename (subobjects).
I will give it a try.

Here's what it could look like for a .fugr:

Certainly solves your problem... but as you can see in https://github.com/abapGit/abapGit/pull/5169, there was no consensus on shortening the path/filenames.
My suggestion would be an exit where everyone can implement their own logic.

Your idea looks very good!
Not displaying File (Paths) is problematic when I want to see which files/FMs exactly changed.
Using folders does not completly solve the problem, since it is still veeeery wide.
Exit would be nice, but this needs to ensure that the diff markers are the correct lines (which is currently not the case, see my screenhot above).

we can certainly change the min.width of the diff column so it won't wrap.

can you test https://github.com/abapGit/abapGit/pull/5180? is this wide enough to avoid wrapping of the status column?

yes, 100px would be enough, although 70px would also be enough, however 60px is not enough

if the list is aggregated then it shows diff(x) [-|-] including the number of files. that why I put it to 100

ok, but in the aggregated list I don't have the problem since the long file paths aren't shown.
In the folders view it is
x changes [-|-]
so even longer but of course also even less likely to give problems.
BTW: I exclusivly use the display with filenames as we most of the times push on NetWeaver 7.50 and pull on 7.55 (S/4HANA) (and pull on ABAP Environment, but this is a different story...) and this causes certain inherent differences, so I need to look at the files to see if and what is really different.

I see. I will reduce to 70px
I also have filenames on all the time. the exit will give the option to shorten the display, for example, in the way I have shown above.

@larshp thanks for the user exit. I would need also #5180 to get a complete solution. Even outside WAPA the display is problematic currently:

@mbtools Unfortunatly I can't reopen since @larshp and not me closed this incident.

does this work now using the exit?

The combination of 5180 and shortening via user exit and full screen display (ie detaching SAP GUI in eclipse) works, but is not pretty since a lot space is wasted on the left side

the shortening should apply to the other wapa.ui5... files, too. but they don't have an extension. the extension is also relevant for syntax highlighting and editing directly in the remote repo (ie GitHub, VScode etc).
from your wapa_fiori test repo, it looks like these are either .js or .json files. any other possibilities?
so serialize should detect the format and add them with extension to io_xml. and deserialize should ignore the extension, of course. i'll give it a try...

I don't really know, since I have treated the deployed fiori apps as a Blackbox and have not really thought about editing the individual files inside the sap system since there are strange cross references and shadow lists, etc. We change in the original vsc/bas project and redeploy. We use however abapgit for distribution between our and some costumers sap systems.

we decided against #5317. so it's back to the shortening exit. Add some logic there to detect these "UI5..." files and replace the beginning with "...".

but in your last screenshot it still shows the full object name with namespace as part of the file name.
instead of
#neo#skd01_srv_hub_o2_op/#neo#skd01_core_com.wapa.ui514783ac34137995942bbb3596b85d3761cb5b436
they should just look like this:
...ui514783ac34137995942bbb3596b85d3761cb5b436
this should make the filename column only half as wide

Yes, I could make stuff even smaller.
But still a lot of space is wasted on the left.

IMHO the easiest gain would be an option to reduce the left most grey area which is completely empty

#5323


fix 16-bit decrement. dec does not affect the carry flag.

I keep doing that, too...


BUG: enable matlab nested arrs

Fixes #17992

add a regression test + the suggested fix for the issue above, allowing for the saving of matlab files from ragged NumPy arrays

Ah, the suggested fix isn't good enough, I'll need to think about it/test it a bit more re: the ragged warnings and stuff.

I added a warning suppression that seems to allow the new test to pass with NumPy before/after 1.24.0. Not exactly pretty, but we'll see if CI agrees that this works...

I think remaining failures may be unrelated now.


Fix: Updated tslint version and added check for tsx files #18

nice! :+1:

Thanks for the quick merge. Please could you tell me when this should make it to the Eclipse plugin update site?


feat(headless): create article insight analytics action created

SFINT-5277

Created the headless Create Article analytics action required to support the Create Article Button for the insight use case.
Added unit tests to cover this new action
Updated the version of coveo.analytics.js from 2.28.21 to 2.28.23 in the headless package to be able to access the logCreateArticle event added last week.

Are we sure we want to do this? Ideally at this stage, I'd like to not see new legacy/cajs events being added. But let's assume we want to do it, what I'd ask for sure is for the event to be assessed by @felixpelletier team, to confirm that the event will survive. If we're adding it to kill it off with v3, let's not add it.

We're fine with it if it's specific to the insight panel (and not a duplicate of another event just with more context).
But you're right, we will have to migrate this to v3. If it's just for internal use, it's not too bad. We just won't backport the custom ua event if no customer use it.

Are we sure we want to do this? Ideally at this stage, I'd like to not see new legacy/cajs events being added. But let's assume we want to do it, what I'd ask for sure is for the event to be assessed by @felixpelletier team, to confirm that the event will survive. If we're adding it to kill it off with v3, let's not add it.

We're fine with it if it's specific to the insight panel (and not a duplicate of another event just with more context). But you're right, we will have to migrate this to v3. If it's just for internal use, it's not too bad. We just won't backport the custom ua event if no customer use it.

Eh... I'm not fond of the idea of pushing back the decision to keep or remove to later.
We're on the eve of v3, so if we add it, we will migrate it. If we don't want to migrate it, we don't add it.
Otherwise, you'd adding a contract/api for the public to use just to remove it later... That'd be a bad DevExp, so I'd have to veto it :)

Are we sure we want to do this? Ideally at this stage, I'd like to not see new legacy/cajs events being added. But let's assume we want to do it, what I'd ask for sure is for the event to be assessed by @felixpelletier team, to confirm that the event will survive. If we're adding it to kill it off with v3, let's not add it.

We're fine with it if it's specific to the insight panel (and not a duplicate of another event just with more context). But you're right, we will have to migrate this to v3. If it's just for internal use, it's not too bad. We just won't backport the custom ua event if no customer use it.

Eh... I'm not fond of the idea of pushing back the decision to keep or remove to later.
We're on the eve of v3, so if we add it, we will migrate it. If we don't want to migrate it, we don't add it.
Otherwise, you'd adding a contract/api for the public to use just to remove it soon after... That'd be a bad DevExp, so I'd have to veto it :)

Talked with @tedre191 & @felixpelletier , event will be used for customers reporting & migrate to v3. Lgtm


Use of period or underscore in tokens

What feature would you like?
I am trying to create Tailwind compatible spacing tokens using token names like 1, 1_5 etc.:
{
  spacing: {
    ...
    1: {
      value: '0.25rem',
      type: 'dimension',
      description: '4px',
    },
    '1_5': {
      value: '0.375rem',
      type: 'dimension',
      description: '6px',
    },
    ...
    15: {
      value: '3.75rem',
      type: 'dimension',
      description: '60px',
    },
}

However somewhere in the transformation, spacing.1_5 becomes spacing.15 and I get the following error:
While building vars-always-on-alway-on-tools-standard-dark.css, token collisions were found; output may be unexpected.
    Output name spacing15 was generated by:
        spacing.15   3.75rem
        spacing.1_5   0.375rem

Is there a better way to do this? I am open to using something other than underscore as the separator. The final goal is to produce a tailwind config like this:
module.exports = {
  theme: {
    spacing: {
      '1': '0.25rem',
      '1.5': '0.375rem',
      ...
      '15': '3.75rem',
    }
  }
}

Would you be available to contribute this feature?

[ ] Yes, I would like to contribute this

Interesting that the problem goes away when I set casing: 'kebab'.
Now I am getting this output:
--spacing-0: 0px;
--spacing-1: 0.25rem; /* 4px */
--spacing-0-5: 0.125rem; /* 2px */
--spacing-1-5: 0.375rem; /* 6px */

So the only remaining issue is that output is --spacing-0-5 instead of --spacing-0.5. What's the best way to fix this? Token studio does not accept a token name with a period such as 0.5. That's why we chose to enter it as 0_5.

Thank you for the clarification, @jorenbroekema. Given that change-case uses underscore as the default delimiter, we will change the delimiter to a dash, so 0-5, 1-5 etc. I am using the kebab case option, so this will become --spacing-0-5 anyway, which I can live with. I can map it to spacing-0.5 at the tailwind.config.js level.


SNOW-1049757 Make sure cleanup active sessions at interpreter shutdown

Please answer these questions before submitting your pull requests. Thanks!

What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Fixes SNOW-1049757 Make sure cleanup active sessions at interpreter shutdown

Fill out the following pre-review checklist:

[x] I am adding a new automated test(s) to verify correctness of my new code
[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency

Please describe how your code solves the related issue.
Please write a short description of how your code change solves the related issue.

This PR makes sure cleanup active sessions at interpreter shutdown. This is particularly helpful for notebook usage because users usually DO NOT explicitly close the session but just shutdown the notebook. In those cases, the session is not close and more importantly, all telemetry in the queue have not been updated to the server.
I manually tested this fix in a notebook and verified this approach works.

Let me figure out why CI failed first.


Avoid redundant evaluations using Constrained generic types

Is your feature request related to a problem? Please describe.
In its current state, Iron doesn't re-evaluate the constraint in this case:
type Cosinus = Double / (-1d <= ?? <= 1d)

def cos(x: Double): Cosinus = ???
def acos(x: Cosinus): Refined[Double] = ???

//Runtime
val x = cos(runtimeValue)
val y = acos(x) //No verification of `x` constraint since the passed value is a `Constrained[Double, -1d <= ?? <= 1d]`

But will do in this case:
def f(x: Double / (Cosinus && AnotherConstraint)): Refined[Double] = ???

val x = cos(runtimeValue)
val y = f(x) //AnotherConstraint AND Cosinus are (re)-evaluated but x is already a Cosinus

Same problem with "consequence-less" constraints like DescribedAs
Describe the solution you'd like

Iron should use Scala's typing system to determine which constraint needs to be tested
Consequences of some special constraints should be taken into account. For example, a value of Double < 0d should not be tested when converted to Double < 1d

Describe alternatives you've considered
The currently planned solution is to use implicit conversions.
To avoid spaghettis and headhaches, these conversions will be created internally. The user should handle itself as little as possible and use the API instead.

The building of this feature is in progress.
Implicit conversions being magic and a bit uncontrolable (notably when several are in conflict), a typeclass-based solution is investigated.
The investigated approach is a Consequence (the name isn't fixed yet) typeclass which is analogous to Constraint but with the type of the constrained value passed.
As an example:
inline def verified[A, B1, B2]: Consequence[A, B1, B2] = new Consequence {

    override inline def assert(value: A): Boolean = true
}

inline given [A, B]: Consequence[A, And[B, ?], B] = Consequence.verified //B && ? => B

inline given [A, C]: Consequence[A, And[?, C], C] = Consequence.verified //? && C => C

Concerning the relationship with Constraint, the implicit A => A / B method can be removed in favour of an implicit A / B1 => A / B2 conversion, transforming Constraint into a specialized version of Consequence.


Loadtester POST / endpoint error garbled up

When posting to loadtester and the cmd failed:
curl -X POST -d '"name":"some-canary","namespace":"some-namespace","metadata":{"type":"bash","cmd":"bats /not-exist"} http://flagger-loadtester
the error response payload looks garbled up:
 exit status 1 [ xx yy zz ... ]
Would be nice if the blocking call return the error message.
We are currently using it to run conformance test bundled with the deployment (using flux ;)). And the only way to see the error 'kubectl logs' the right pod (if it is still running) or search in kibana, which might not be ideal as a feedback loop for dev.

Dup of #286, which is now fixed on master
Thank you @stefanprodan for quickly pushing a v0.7.1, during holiday with slow connection🙏


added failing test case for #2246

I added this failing test case for #2246 to speed up the debugging process :)

Original issue was fixed with https://github.com/lit/lit/pull/3825 which added a separate integration test for static html.


Don't allocate the FormFeature eagerly per request

From @davidfowl on Thursday, June 29, 2017 8:01:27 AM
Today, in order to pass the form options to the FormFeature, we eagerly allocate it here https://github.com/aspnet/HttpAbstractions/blob/163836fe1f31dd1d2b288659c2dcaf1d827da3c4/src/Microsoft.AspNetCore.Http/HttpContextFactory.cs#L49. We should find a creative way to avoid doing this so eagerly in the common cases. Here are some options:

Invent a new way to pass things to features lazily (hard, we tried this and ended up with crazy things)
Only new up the FormOptions if they were overridden. We'd need a way to detect if the FormOptions were actually set. This is doable but could get ugly as there's no way to detect if options were configured. /cc @HaoK
Only set the FormFeature if the request is a POST and HasFormContentType. Gross, but would be more pay for play than what we have today.

/cc @vancem @Tratcher
Copied from original issue: aspnet/HttpAbstractions#880

This is done


Code breaking in IE

I am working on IE to render maps, and seems like a promise is getting undefined in google_map_loader.js
can you tell me what I am doing wrong.

Update control to latest version.

I am sorry but what controls !?

google-map-react

thanks :)

:-)

Is this is fixed on 0.18.3 version?
I am still getting this error.

https://github.com/istarkov/google-map-react#known-issues


Seqn Format: Make input arg and local variable definition match and allow one input arg/local variable definition per line

Checked for duplicates
Yes - I have checked
Alternatives considered
Yes - I have considered
Related problems
Sequences can have many input arguments and local variables. Allowing one def/line would make this a lot more readable. Also, the syntax is different for the two formats, which is also a little less readable.

Describe the feature request
Propose allowing the following:
@START_INPUT_PARAMS
burn_timeout { "TYPE": "FLOAT", "RANGE": "135.0...2500.0" }
close_lv { "TYPE": "STRING", "ENUM_NAME": "YES_NO" }
minimum_momentum_delta { "TYPE": "FLOAT", "RANGE": "0.1...35.0" }
momentum_bound { "TYPE": "FLOAT", "RANGE": "0.0...35.0" }
slew_duration { "TYPE": "UNSIGNED_DECIMAL", "RANGE": "0...3600" }
@END_INPUT_PARAMS
@START_LOCALS
burn_timeout { "TYPE": "FLOAT"}
close_lv { "TYPE": "STRING"}
minimum_momentum_delta { "TYPE": "FLOAT" }
momentum_bound { "TYPE": "FLOAT" }
slew_duration { "TYPE": "UNSIGNED_DECIMAL" }
@END_LOCALS

Note: Do not merge any grammar changes before Phoenix demos during the week of 9/23

Question: do we need the brackets and quotes around the variable definitions? If we're doing one declaration per line, what about something like:
burn_timeout FLOAT [135.0-2500.0][
close_lv { "TYPE": "STRING", "ENUM_NAME": "YES_NO" } <-- not sure how we might handle this one
minimum_momentum_delta FLOAT 0.1-35.0
momentum_bound FLOAT 0.0-35.0
slew_duration UNSIGNED_DECIMAL 0-3600
@END_INPUT_PARAMS


Add condition to skip test-run when release tag is pushed

Discussed here
Tested with Tag:

what about docs tests and the quality job?

Docs tests comes with the following comments, so i didnot skip it.
`    # Looks for doc test workflows and waits for it to complete successfully
Runs on tag pushes and pushes to main exclusively, as it is a dependency of release jobs`

Step quality had this check, i dont know enough about so i chose not to skip.
# If it's not a pull request, $DOCSTRING_DIFF_BRANCH is unset.        # This will result in an empty diff, which effictively means that        # make lint-docstrings will be skipped for other events than pull_request        make lint BRANCH=$DOCSTRING_DIFF_BRANCH

👍🏻 I think you can skip the quality job. There are other commands than make lint-docstrings that are run in that job


full_volume.shape ==> "None type has no attribute shape"

Does anyone has solution to this
Data: brats2018 dataset
A bug in tests.test_vizual.py
Line: 37:    visualize_3D_no_overlap_new(args, full_volume, affine, model, 10, args.dim)
This leads to lib/visual3D_temp/[viz.py]
Line 111:  modalities, slices, height, width = full_volume.shape
"None type has no attribute shape"

All the brats2018, 2019 and 2020 datasets class, full volume is defined as None
self.full_volume = None

May I consult you about how to solve this problem?


Macros: Implement =expansion(of:providingMembersOf:conformingTo:in:)= on MemberMacros

Resolves a warning about using a deprecated default implementation.
Also, fixes a few other warnings.

@swift-ci please smoke test


Move account categories into a database table

And make the UI read from the table instead of hard coding them in the UI

fixed in https://github.com/alexdglover/sage/commit/502c3b92e6d117e713f308d2842ce79d6e7ba320


Function rand() do not provide a return status

Up to tag v1.2.0, the int rand() function in zephyr port does not provide a return status. Thus a possible problem or malfunction of the hardware generator is not handled.
So for example if the hardware random number generator is stuck and always produces the same value (thus it is not random), the user would not be aware of it.

Hi and thanks for posting.  This is true but, on the other hand, Zephyr is not our code: you could try posting an issue there: https://github.com/zephyrproject-rtos/zephyr.

I will close this: please feel free to re-open if there is more to discuss.


[Feature reques] Support URN id references

It seems that JSON Schemas with references built with URN is not supported, e.g. these schemas:

github.com/phenopackets/phenopacket-format/schema/condition-schema.json
github.com/orienteering-oss/iof-orienteering-data-schemas/iof_v3_schema.json

When trying to dereference these, the following error messages are produced respectively:
{
  stack: 'ResolverError: Error opening file "urn:jsonschema/:org:phenopackets:api:model:ontology:OntologyClass" \n' +
    "ENOENT: no such file or directory, open 'urn:jsonschema/:org:phenopackets:api:model:ontology:OntologyClass'\n" +
    '    at ReadFileContext.callback (/home/mikaelol/projects/temp/json-parse/node_modules/@apidevtools/json-schema-ref-parser/lib/resolvers/file.js:52:20)\n' +
    '    at FSReqCallback.readFileAfterOpen [as oncomplete] (node:fs:314:13)',
  code: 'ERESOLVER',
  message: 'Error opening file "urn:jsonschema/:org:phenopackets:api:model:ontology:OntologyClass" \n' +
    "ENOENT: no such file or directory, open 'urn:jsonschema/:org:phenopackets:api:model:ontology:OntologyClass'",
  source: 'urn:jsonschema/:org:phenopackets:api:model:ontology:OntologyClass',
  path: null,
  toJSON: [Function: toJSON],
  ioErrorCode: 'ENOENT',
  name: 'ResolverError',
  footprint: 'null+urn:jsonschema/:org:phenopackets:api:model:ontology:OntologyClass+ERESOLVER+Error opening file "urn:jsonschema/:org:phenopackets:api:model:ontology:OntologyClass" \n' +
    "ENOENT: no such file or directory, open 'urn:jsonschema/:org:phenopackets:api:model:ontology:OntologyClass'",
  toString: [Function: toString]
}

and
{
  stack: 'ResolverError: Error opening file "urn:jsonschema/:iof:v3:Country" \n' +
    "ENOENT: no such file or directory, open 'urn:jsonschema/:iof:v3:Country'\n" +
    '    at ReadFileContext.callback (/home/mikaelol/projects/temp/json-parse/node_modules/@apidevtools/json-schema-ref-parser/lib/resolvers/file.js:52:20)\n' +
    '    at FSReqCallback.readFileAfterOpen [as oncomplete] (node:fs:314:13)',
  code: 'ERESOLVER',
  message: 'Error opening file "urn:jsonschema/:iof:v3:Country" \n' +
    "ENOENT: no such file or directory, open 'urn:jsonschema/:iof:v3:Country'",
  source: 'urn:jsonschema/:iof:v3:Country',
  path: null,
  toJSON: [Function: toJSON],
  ioErrorCode: 'ENOENT',
  name: 'ResolverError',
  footprint: 'null+urn:jsonschema/:iof:v3:Country+ERESOLVER+Error opening file "urn:jsonschema/:iof:v3:Country" \n' +
    "ENOENT: no such file or directory, open 'urn:jsonschema/:iof:v3:Country'",
  toString: [Function: toString]
}

I'm not sure this is straightforward to support generically - I'd recommend writing your own custom resolver for the URN namespaces you want to support

Thanks for getting back to me. In JVM world it is not that troublesome to support generically by leveraging the Jackson library, here is an example I have written in Kotlin (see parseReference function at the bottom):
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.databind.node.ObjectNode
import com.fasterxml.jackson.databind.node.TextNode

private val typeMap = mutableMapOf<String, String>()

private fun parseReferences(jsonNode: JsonNode, path: String) {
    val ITEMS = "items"
    val ID = "id"
    val PROPERTIES = "properties"
    val ADDITIONAL_PROPERTIES = "additionalProperties"
    val REF = "\$ref"

    var currPath = path

    if (jsonNode.has(ID)) {
        typeMap.put(jsonNode.get(ID).asText(), currPath)
        val properties: JsonNode = jsonNode.get(PROPERTIES)
        val fields: Iterator<Map.Entry<String, JsonNode>> = properties.fields()
        currPath += "/$PROPERTIES"
        while (fields.hasNext()) {
            val entry = fields.next()
            parseReferences(entry.value, currPath + "/" + entry.key)
        }
    } else if (jsonNode.has(ITEMS)) {
        val item: JsonNode = jsonNode.get(ITEMS)
        parseReferences(item, "$currPath/$ITEMS")
    } else if (jsonNode.has(REF)) {
        val objectNode = jsonNode as ObjectNode
        objectNode.set(REF, TextNode(typeMap.get(jsonNode.get(REF).asText())))
    } else if (jsonNode.has(ADDITIONAL_PROPERTIES)) {
        val additionalProperties: JsonNode = jsonNode.get(ADDITIONAL_PROPERTIES)
        parseReferences(additionalProperties, "$currPath/$ADDITIONAL_PROPERTIES")
    }
}

/**
 * Remove URN from JSON, and replace with # type references
 */
fun parseReference(json: String): String {
    val jaxbObjectMapper = ObjectMapper()
    val root: JsonNode = jaxbObjectMapper.readTree(json)
    parseReferences(root, "#")
    return jaxbObjectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(root)
}

So that is why I thought this should be doable without to much trouble in TypeScript as well. URNs are valid IDs in JSON Schema, so I guess this affects others as well.


AttributeError: 'dict' object has no attribute 'iteritems'

gmail-yaml-filters is failing for me, with any options, with the samples included in the documentation.
$ python3 -V
Python 3.6.5

$ pip3 list | grep yaml
gmail-yaml-filters       0.7.2

$ $ cat test-filters.yaml
# Simple example
-
  from<EMAIL_ADDRESS>  label: news
  not_important: true

$ gmail-yaml-filters test-filters.yaml
Traceback (most recent call last):
  File "/usr/local/bin/gmail-yaml-filters", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.6/site-packages/gmail_yaml_filters/main.py", line 595, in main
    ruleset = RuleSet.from_object(rule for rule in data if not rule.get('ignore'))
  File "/usr/local/lib/python3.6/site-packages/gmail_yaml_filters/main.py", line 487, in from_object
    return cls.from_iterable(obj, base_rule=base_rule)
  File "/usr/local/lib/python3.6/site-packages/gmail_yaml_filters/main.py", line 516, in from_iterable
    ruleset.update(cls.from_object(data, base_rule=base_rule))
  File "/usr/local/lib/python3.6/site-packages/gmail_yaml_filters/main.py", line 485, in from_object
    return cls.from_dict(obj, base_rule=base_rule)
  File "/usr/local/lib/python3.6/site-packages/gmail_yaml_filters/main.py", line 503, in from_dict
    new_rule = Rule(data, base_rule=base_rule)
  File "/usr/local/lib/python3.6/site-packages/gmail_yaml_filters/main.py", line 337, in __init__
    self.update(data)
  File "/usr/local/lib/python3.6/site-packages/gmail_yaml_filters/main.py", line 353, in update
    for key, value in dict(data).iteritems():
AttributeError: 'dict' object has no attribute 'iteritems'

Thanks for pointing this out! I'm sorry for the delay in responding, but it turns out I needed to tune my GitHub notification settings.
I haven't updated for Python 3 compatibility yet. This library still only supports Python 2.7 (and is tagged as such in setup.py). I don't imagine it will take a ton of work, but I haven't got around to it. I'm open to pull requests if anyone wants to take a stab at it before I have a chance :)

I've fixed this with v0.8, which is tested on py36 and py37.


fix(NavToggleButtonBase): add aria-label to Button

Added "aria-label" to the button in NavToggleButtonBase to fix the warning message in the console:
Warning: Failed prop type: aria-label is required for Buttons with the plain variant

As mentioned in the docs under Button Props:

Adds accessible text to the button. Required for plain buttons

Deploy preview for project-koku ready!
Built with commit b8feb37abb8ad608360729c3e8d13b528bd1a871
https://deploy-preview-107--project-koku.netlify.com

Codecov Report

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

@@           Coverage Diff           @@
##           master     #107   +/-   ##
=======================================
  Coverage   83.75%   83.75%
=======================================
  Files         113      113
  Lines        1176     1176
  Branches      145      145
=======================================
  Hits          985      985
  Misses        177      177
  Partials       14       14

Impacted Files
Coverage Δ

src/components/masthead/navToggleButton.tsx
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

I guess I am not synced with this repo. I will pull it to my master.
Thanks.


Link broken on Read Me

The following link on the read me doesn't work.....
v0.11 upgrading guide => http://sailsjs.org/#/documentation/concepts/Upgrading
An angular error in the console is what I can make out. I'd recommend you integrate http://trackjs.com/ which really helps in reporting angular errors, which otherwise can easily go unnoticed. For an open source project, you could contact them for a free plan as well.

The link appears to be missing a '!'. I made a quick pull request for this here: #2746

This also affects links throughout the source (e.g. config/models.js) and the info message about migration settings when running sails lift. That message links to  http://sailsjs.org/#/documentation/concepts/ORM/model-settings.html?q=migrate.

@rachaelshaw @mikermcneil can you check this out right quick?

I'll get someone to take a closer look, here is a better link: http://sailsjs.org/#!/documentation/changelog/0.11

@pratik60 thanks for pointing this out and for the tip about TrackJS -- I'll have to take a look at it. (And thanks @CWyrtzen for finding the link that works). Updated the readme.


Couldn't run due to open CV error

Getting the following error when trying to install the pip package for this app on Apple M1 Mac:
OpenCV: not authorized to capture video (status 0), requesting...
Traceback (most recent call last):initialize!
  File "/opt/homebrew/bin/matrix-webcam", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.9/site-packages/matrix_webcam/__main__.py", line 55, in main
    print(ascii_image(image, args.width, args.height))  # ascii image
  File "/opt/homebrew/lib/python3.9/site-packages/matrix_webcam/__main__.py", line 13, in ascii_image
    image = cv2.resize(image, (width, height))
cv2.error: OpenCV(4.6.0) /Users/xperience/actions-runner/_work/opencv-python/opencv-python/opencv/modules/imgproc/src/resize.cpp:4052: error: (-215:Assertion failed) !ssize.empty() in function 'resize'

Did you try to call the program with sudo?

not sure why it goes for version 4.6.0 instead of 4.5.x
another reason is maybe that terminal does not have the access right to your webcam due to Mac OS security settings?

Think it was an access issue as after prefixing 'sudo' it worked


Question about otherProps in 3.5.0

From the README:
@inject((allStores) => ({
    userStore: allStores.userStore as IUserStore
}))
class MyComponent extends React.Component<{ userStore?: IUserStore; otherProp: number }, {}> {
    /* etc */
}

I was unable to get any props other than those directly injected (userStore) to pass through (e.g. otherProp). Adding otherProp inside inject fixes this, but must I now rewrite all other props as such? Is this by design or a bug?

p props are passed in a second arg. use destructuring or object.assign to
easily pass them on
Op ma 11 jul. 2016 23:23 schreef Prashant Tiwari<EMAIL_ADDRESS>
From the README:
@inject((allStores) => ({
userStore: allStores.userStore as IUserStore
}))class MyComponent extends React.Component<{ userStore?: IUserStore; otherProp: number }, {}> {
/* etc */
}
I was unable to get any props other than those directly injected (
userStore) to pass through (e.g. otherProp). Adding otherProp inside
inject fixes this, but must I now rewrite all other props as such? Is
this by design or a bug?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mobxjs/mobx-react/issues/80, or mute the thread
https://github.com/notifications/unsubscribe/ABvGhKYAZoGnJS3ryQL6TiuBBZyvZuH3ks5qUrRcgaJpZM4JJy9K
.

Got it, thanks. If you'd like, I could send a PR to clarify this in the doc.

I definitely like that :) Always feel free to improve docs!
Op di 12 jul. 2016 om 00:24 schreef Prashant Tiwari <
<EMAIL_ADDRESS>
Got it, thanks. If you'd like, I could send a PR to clarify this in the
doc.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/mobxjs/mobx-react/issues/80#issuecomment-231884138,
or mute the thread
https://github.com/notifications/unsubscribe/ABvGhIxOzM6dIPw8Xc4Onsn2bYEAYdVnks5qUsKPgaJpZM4JJy9K
.

After converting some code over to use the new inject decorator I found that I would prefer a slightly different API, one that would behave as @prashaantt expected. I was also confused by the behavior until I read the code. What do you think of making the function passed to inject return an object that is merged into the props, rather than return the new props? This is how the Redux @connect decorator works. It reduces verbosity by pushing the assign logic up into the HOC's render function, and I think it may be desirable to narrow the stated purpose of the function to only inject props, not map props.
With this proposal, there's a question of which order the props should be resolved. One the one hand, if injected props are copied to the new props first, props passed directly to the component would override them, allowing for example easy mocks in tests and giving more control to parent components. On the other hand if injected props are copied after the new props, the injector function is afforded the same power that the current design has.
Here's what it currently looks like:
interface InjectedStores {
  store?: MyStore;
}

interface Props extends InjectedStores {
  otherProp: string;
}

@inject((stores: Stores, nextProps: Props): Props => {
  return assign({store: stores.myStore}, nextProps);
})
@observer
export default MyComponent extends React.Component<Props, {}> {
    ...

Here's what the proposal would look like in the common case where the current props are not needed:
interface InjectedStores {
  store?: MyStore;
}

interface Props extends InjectedStores {
  otherProp: string;
}

@inject((stores: Stores): InjectedStores => ({store: stores.myStore}))
@observer
export default MyComponent extends React.Component<Props, {}> {
    ...

Here's the code right now:
function createStoreInjector(grabStoresFn, component) {
  var Injector = React.createClass({
    displayName: "MobXStoreInjector",
    render: function() {
      var newProps = {};
      for (var key in this.props)
        newProps[key] = this.props[key];
      newProps = grabStoresFn(this.context.mobxStores || {}, newProps, this.context);
      return React.createElement(component, newProps);
    }
    ...

The proposal would look like this:
function createStoreInjector(grabStoresFn, component) {
  var Injector = React.createClass({
    displayName: "MobXStoreInjector",
    render: function() {
      var newProps = {};

      // The injected props could be copied first.
      // This would give parent components more control over the props.
      var injectedStores = grabStoresFn(this.context.mobxStores || {}, this.props, this.context);
      for (var key in injectedStores)
        newProps[key] = injectedStores[key];

      for (var key in this.props)
        newProps[key] = this.props[key];

      // Or the injected props could be copied afterwards.
      // This would give the injector function more control over the props.
      var injectedStores = grabStoresFn(this.context.mobxStores || {}, newProps, this.context);
      for (var key in injectedStores)
        newProps[key] = injectedStores[key];

      return React.createElement(component, newProps);
    }
    ...

Thanks!

@ryanatkn I agree, I think this would be a better design. Having to copy each prop inside the inject feels a little non-standard and couples the code very tightly to MobX.
In fact, your first solution was the earlier default behaviour (props > injected), and could be left intact in an improved inject that automatically copies over the parent props, while the flexibility to override that behaviour by the current method should also be allowed. That would give the full power back for each component's customisation requirements.

Although one could argue that the other API for inject: inject(...varargs) achieves the same result, and I had begun to favour that for its much less verbosity.
The other thing I would really like to have is some way to make the store names more type-safe, something like inject(userStore: IUserStore, postStore: IPostStore).

@ryanatkn @prashaantt I agree, this is a bit unexpected. I'll change it in the next version.
@prashaantt not sure how to make it strong types as you proposes, because we are on the call site and not on the definition side of things?

@prashaantt the best I could do for strong typing is I think: https://github.com/mobxjs/mobx-react#strongly-typing-inject. It is a bit boilerplaty but the compiler can follow this at least :)

the best I could do for strong typing is I think: https://github.com/mobxjs/mobx-react#strongly-typing-inject

I know, that ensures that you're passing the right store type to props. But that's not automatically in sync with the component's actual props as supplied via the interface generic. I agree, there's no way to fix this.
Nevertheless, huge "props" to you for such an awesome library already. Looking forward to the next release. 👍

Released as 3.5.4, the returned props from the function are now mixed in (and override) the original nextProps props before being passed to the child.


NatDex STAAAB: Ban Slaking

It seems to be continuing on the same branch as PR #64, so I span off the Slaking change into a separate commit:-
https://github.com/TheNumberMan/OperationTourCode/commit/cee0a6e3aed17f66ee9fa2a17f52499cb92d81a0


SILE cannot read from a named pipe

For some reason the  Lua file handler is refusing to process input from a named pipe. This is really quite a useful thing to be able to do and we should probable make whatever adjustments need to be made to allow this. (Note would also allow a document to be passed in on /dev/stdin which is also a named pipe.)
Example to pre-process an file with a macro engine.
sile -o out.pdf <(m4 source.sil)

This throws:

! /dev/fd/63 isn't a file, it's a named pipe! at /dev/fd/63

@rjmunro since you expressed a flicker of interest in this I would be curious if you had any input on my PR #441 and whether that covers your use cases and expected behavior or not.

I'm vaguely interested in sile, but don't have any actual use for it at the moment. I've moved further away from any design / publishing stuff in my recent work.

@rjmunro Fair enough, thanks for the feedback.


[Discussion] Simplify cross-validation rules and user-defined rules

Issue #, if available:
Targeting the implementation of cross-checking, such as
#2296 #1059 #816 #1439 ...
Description of changes:
This is an attempt to make cross-validation that depends on multiple fields easier, and potentially make custom rule more powerful. Consist of

A generic Match/Project/Validate pattern rule
YAML declared Match/Project/Validate parameters

In the code is a quickly hacked up implementation that can instantiate a new rule given rule_id and rule_yaml as below, and attempt to enforce the rule
Example below attempts to enforce that

if Lambda runtime is nodejs*
Take all values from Tags.Value
Environment.Variables.NODE_ENV is one of the above values collected from Tags.Value

Description: "MatchProjectValidateRule"
ShortDescription: "MatchProjectValidateRule"
ErrorMessage: "MatchProjectValidateRule failed"
ResourceTypes:
    - "AWS::Lambda::Function"
Conditions:
    - Fn::REGEX_MATCH:
        - Runtime
        - nodejs.*
Projection: Tags.Value
Validations:
    - Fn::IS:
        - Environment.Variables.NODE_ENV
        - DEFINED
    - Fn::IN:
        - Environment.Variables.NODE_ENV
        - Fn::Projection

For custom rule, one can provide a list of above yaml, and generate E9001+ rules from such list using the same Match/Project/Validate pattern.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I think some of this makes sense.  As we move to v1 and the registry provider schemas we are doing a lot more json schema validation as well.  In that approach we are actually building template scenarios that remove conditions and focus on the actual values.  We also modified how json schema validation works to handle the other intrinsic functions.
Why I say all of this is we can also write rules by extending the schema validation and writing json schemas.
https://github.com/aws-cloudformation/cfn-lint/pull/2685/commits/fefa8240e6b22beb31b9e6cc3d5c461581107768
I don't think all the linked scenarios will work with this approach.  I haven't written a mechanism for people to write their own json schemas at this point and this will not work across resources.

Surely will look into v1 preview. It is good to hear that these might be included in v1.
I much agree the v1 change that it is way better to focus on

(A) possible scenarios generated by conditions
(B) static value inference: !Ref AWS:NoValue (set it back to undefined!), !FindInMap, !Ref Parameter, !Ref AWS::PseudoParameters
(C) static type inference: !Ref X, !GetAtt X.Att
before rules are enforced.

We have used cfn for quite some years and definitely met some workarounds, issues that we want be able to configure the linters to check, and ended up arbitrary script that just load the yaml and check that.
Some use case and preliminary thoughts from experience using and contributing to cfn-lint v0.7 below in case it help
Please take it lightly in case it had been considered, since I have not dive into details of v1.
(A) Handling condition
My main concern is with linter performance if repeatedly evaluating parameter combinations on the whole template, which can be a pretty large if number of conditions are more than handful.
How condition can affect a template
1. By adding or removing resources
2. By choosing among different property values within a resources
It maybe possible to compute and aggregate <ConditionConsumed, [ResourceConsumedByRefOrGetAtt]> for each resources, and check against <Scenario, AvailableResource>, so 1. is solved, and 2. can be done locally only considering possible values of that particular condition.
(B) Static value inference
The current API seem to leave static value inference to rule implementation by check_find_in_map etc, it is definitely better to handle centrally by having concrete value at the rule
In this issue I've specifically added "Projection" for these use case I can think of

#2296, the list of origin id are arbitrarily named by user
#2619 Where StartAt Next etc must be one of the states which we name it arbitrarily

(C) Static type inference
cfn-lint v0.7 will miss on mismatched !Ref / !GetAtt, for example, !Ref LogicalName instead of !GetAtt LogicalName.Arn when an arn is actually required and !Ref returns only the logical name, prominently in IAM policy, role, SNS subscription etc.
The susceptibility to human error, for this Arn case, is probably due to the fact that it is quite arbitrary for each resource type that
Does !Ref return an ARN or logical name?: my guess is majority is for logical name, and substantial minority returns arn

Arn in !Ref https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#aws-resource-secretsmanager-secret-return-values
Logical name in !Ref https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#aws-resource-iam-role-return-values

Does !GetAtt X.Arn is available: most resources has, but one can always find exception

No Arn attr.: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#aws-resource-secretsmanager-secret-return-values

When arn is required by some field not explicitly naming someArn

AWS::Serverless::Function.Role: Role is (almost?) always an Arn, although it is not named RoleArn as in AWS::Lambda::Function
AWS::SNS::Subscription.Endpoint: Is either email, url or arn, never a logical name
AWS::ECS::TaskDefinition.ExecutionRoleArn/TaskRoleArn: Surprisingly, I am able to find one instance, where it is named Arn, but you can actually use !Ref https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-taskrolearn

Generally the returns will fall into several types, being one of url, ip, hostedZoneId, cidr, arn, string (usually logical names) etc. I am not sure if return values are available in cfn spec, if so, return value can then be checked against the requirement of that field to catch the above !Ref/GetAtt confusion
Some additional use cases
(D: suggestion) a stage for simple string substitution to dynamic references from downloaded values: !ImportValue,  {{resolve::ssm::*}}, !Sub {{resolve:ssm:*}}
I guess there is no solution for a linter to check against external value, where everyone is happy and still lightweighted. I would suggest allowing to provide a string substitution file so we can pull samples from dev/uat to check against, there is only limited ability with string substitution, but it can be better than nothing.
(E: suggestion) includes non-Properties into check, Metadata, DeletionPolicy those sometimes matters
Met this when dealing with stack deployed with changeset, end up having to put arbitrary metadata around

https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/844

It is also useful to enforce some deletion policy config on IaC source code level.

@kftsehk merge conflict on this one. Do we still need this PR?

@kddejong any rule to assign rule id? I think I only miss that here. The conflict can be solved.

Need to rework this to handle it in v1


refactor: remove unused code (eventlog)

Description of the changes
This PR is about removing unused code regarding to EventLog (first iteration of winlog)
PR Review Checklist
Author

[x] the PR should focus on a single subject. Change only relevant files to the problem you’re working on
[x] clean and format the code
[x] add unit tests for your changes and make sure all unit tests are passing
[x] add a risk label after carefully considering the "blast radius" of your changes
[x] describe the intent of your changes in the description. don't just rewrite your code in prose
[x] assign at least one reviewer
[x] address the feedback
[x] add a "ready for review" label. Only PRs with this label will be reviewed.

Pull Request Test Coverage Report for Build 265101323

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 58.389%

Files with Coverage Reduction
New Missed Lines
%

pkg/integrations/v4/logs/cfg_watcher.go
4
67.5%

Totals

Change from base Build 264799522:
-0.03%

Covered Lines:
11070

Relevant Lines:
18959

💛  - Coveralls


Add better organization/repository settings

Summary
We need a way to configure default settings for users of ICF. Taking this issue as an example: https://github.com/github-community-projects/internal-contribution-forks/issues/71
We should use something like https://github.com/github/safe-settings for managing the input and behavior of these settings.
Team

Role & Responsibility
Username

DRI
@ajhenry

Engineering
@sutterj

Corresponding Work

[ ] Investigate github/safe-settings and see what it would take to integrate
[ ] Investigate other alternatives to safe-settings
[ ] Add sensible defaults for the settings
[ ] Add documentation for setting up settings

Supporting Documentation
https://github.com/github/safe-settings
https://github.com/apps/settings

After chatting with @decyjphr on the github/safe-settings project. He informed us the data format they use maps nearly one-to-one with the github REST inputs API and we should expose that format to users to set the defaults for a repo.
We are going to make the config file part of the deployment of the app. Users can then use safe-settings alongside icf if they want additional protections in their organization.

Gonna close this one out, I think we focused on just disabling actions and left safe-settings out of the picture to avoid scope creep.


Add brightness option

Adds command line option to allow the user to set the brightness of the matrix. Closes #8.

Confirmed to work on Raspberry Pi


Incomplete Projects

@nsoch the following projects were not added as they are not complete in the old version:

photography
artist books
ritual of giving
not black and white
the DNA of memory
american hispana

I didn't add a gallery in the case of not having images. I suspect you have other images/ text to add here , so please feel free to make changes and submit a PR with the updates!

I am at my iPad right now so can’t add the stuff I have in my desktop but will try it tomorrow as it is close to 11pm now


feat: Added analytics events on themes

Description
This PR adds analytics events on different actions on themes - save, customize, delete, apply.
Fixes #11397
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Manually

Checklist:

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

/ok-to-test sha=acfe7e8


Issue with Django 1.11 and DAL 3.2.7, Jquery is not loaded properly

I cannot seem to have dal 3.2.7 work with django 1.11. There is an issue with Jquery, when the page tries to load Select2 in the admin it does not find the jquery library.
Screenshot of the error given by select 2:

Screenshot of script tags of the django admin page.

Note that I did include dal and dal_select2 before django.contrib.admin in the installed apps.

Ok, I know what the problem is:
I tried upgrading to dal 3.2.8 and it did not work, I tried to downgrade to django 1.10 and it still did not work.
BUT when I tried with another browser (Firefox) it worked like a charm, same with chrome incognito window. I concluded chrome probably hadn't refreshed it's cache or something. I refreshed the page with ctrl + SHIFT + R and everything seems to be working fine now.
TL; DR;
It was not a problem with DAL but a problem with the google chrome cache.


Add Group Policy Docs

Addresses https://github.com/microsoft/terminal/pull/18095 and https://github.com/microsoft/terminal/pull/18009

Thanks for the comments and guidance @htcfreek and @lhecker! I updated my PR with your suggestions. Let me know what you think! :D

The docs for PowerToys and Edge containing additional information about the policy and their corresponding registry key.
I not sure if the additional policy info (file name, id, display name, category) are required with this small set. But the registry information would be very helpful for people that can't use the admx for some reasons.

Thanks for the suggestions @htcfreek! I added in your commit suggestions and sections for Group Policy information and Registry information :)
I think we should be good to go now!

I committed your suggestions! Thanks for taking the time to help on this @htcfreek <3


problem with phpunit  with model relation on diferrent database

Laravel Version: 5.1.45
PHP Version:7.0.8, 5.6.27
Database Driver & Version: mysql v5.7.16

Description:
i have two model like this
the function that store relation is
$secondModel = SecondModel::where(...)->first();
$firstModel = FirstModel::create([...]);
$secondModel->firstModels()->attach($firstModel);

when i try to test this function it block
output with phpdbg when canceling the test:
[Current opline: in internal function execute]
>00390:             return $me->getPdo()->prepare($query)->execute($bindings);
 00391:         });
 00392:     }

Please provide steps to reproduce, I don't actually understand what the issue is.

ping @icfr

i've tried to create a project to show the problem  but it work fine on an empty project ...
so i have to search what goes wrong


Resolve /raw/ route redirection where possible

Description
This requests comes in three parts:

Make the Raw button links to raw.githubusercontent.com

Use raw.githubusercontent.com in our feature like more-file-links

Change /raw/ links to raw.githubusercontent.com in shorten-links

All these should only be applied to github.com links because of GHE.
Motivation: avoiding unnecessary redirection makes requests faster, and save the need to manually resolve redirection in some tools (e.g. pass --location/-L to curl), not to mention some programs simply doesn't consider redirection a thing.
Cons: github.com links are guaranteed to be usable, but raw.githubusercontent.com may change (however I don't think this is a concern in foreseeable future).
Screenshot
No response
Example URL
https://github.com/refined-github/refined-github/blob/main/.gitattributes

This would be good but I'm a little hesitant because it could break. I suppose these links haven't changed in forever so it should be pretty safe.
GHE and private repos can't use this

While I like the idea, I'd rather not mess with links just for a micro optimization like this one


Agree on a pagination strategy for the Public API

👀 What?
We currently have the ListResource schema in place to handle paginated resources. However, there is currently no parameter to control this pagination, we always return the entire list of objects.
We should agree on a strategy so we have a common way to paginate resources across the Public API
📓 Decision log
What parameters should we expose?
Different flavors can be seen in the wild; personally, I like the limit (number of items on a page) and skip (where to start from) pattern. It mirrors the way SQL DB works for paginating.
For example, here is how we can get the page 3 when having 10 items per page: https://api.polar.sh/api/v1/resources/?limit=10&skip=20
What is the default and max size of a page?
We should have a good balance between usability and resource-saving. Personally, I would recommend a default of 10 or 20 items and a hard limit of 100 items.

I think this is great and agree with the proposal. I know cursors are popular too and there are a lot of pros with them, but I do find that the limit/skip pattern is more intuitive, readable and predictable.

@birkjernstrom @zegl If we all agree here, I would like to move forward on this. I'll need this to fix #1374 properly.

@frankie567 Yes, I think that limit/skip or limit/page as query parameters makes sense. It doesn't really matter which one tbh, page might be more intuitive for the user as it's easier to loop (for page in range(0, 10): ...) than keeping track of the offset.
You can pick which one!

+1. Fully supportive of this effort, nice to get in-place and completely
trust your judgement Francois re: choice between limit/page limit/skip
On Fri, Oct 06, 2023 at 09:29:13, Gustav Westling @.***>
wrote:

@frankie567 https://github.com/frankie567 Yes, I think that limit/skip
or limit/page as query parameters makes sense. It doesn't really matter
which one tbh, page might be more intuitive for the user as it's easier
to loop (for page in range(0, 10): ...) than keeping track of the offset.
You can pick which one!
—
Reply to this email directly, view it on GitHub
https://github.com/polarsource/polar/issues/1357#issuecomment-1750114847,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACEY44FC2XNWY2KQUUHN3TX56XMTAVCNFSM6AAAAAA5SKS2EKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJQGEYTIOBUG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

I've implemented the tooling for this! There'll still be an ongoing effort to integrate it to existing endpoints but we at least have common tools for this. A few highlights!
The polar.kit.pagination module
Everything related to pagination is now in polar.kit.pagination, including ListResource and Pagination schemas that I moved here.
PaginationParams and PaginationParamsQuery dependency
PaginationParams is a named tuple with two values: page and limit. This structure stores the values passed by the user in the API.
A FastAPI dependency is implemented to retrieve them easily from an API endpoint, with proper OpenAPI documentation, defaults (page 1 and limit 10) and validation. It's worth to note that limit has a hard limit set by the env var API_PAGINATION_MAX_LIMIT, which defaults to 100 currently.
To use this dependency in an endpoint, we just need to add it in parameter with the PaginationParamsQuery annotation:
@router.get("/list")
async def get_paginated_list(pagination: PaginationParamsQuery):
    print(pagination.page, pagination.limit)

Paginate items
How we actually paginate items is left to the service implementation.
However, to handle common cases, I've added a paginate function which takes a SQLAlchemy statement and pagination params. It's capable of limit/offset the query and return us the total count in one query. For example:
statement = select(Resource).where(Resource.user_id == user.id)
items, total_count = await paginate(session, statement, pagination=pagination)

Build `
ListResource` schema
When we're ready to return the API data, we can build a ListResource + Pagination schema. I've added a class method helper to build it:
return ListResource.from_paginated_results(items, total_count, pagination_params)

where pagination_params is the original limit/page named tuple. It's used to return the maximum page number to the user.

This is really nice! Love the design choices here of the API this offers internally for implementation. Great work on this @frankie567 – it's awesome to have in-place.


The Embeding "EPUB Check Logo" into XHTML

Hi @tofi86
I will be suggestion for EPUB check new features. -> https://github.com/IDPF/epubcheck/wiki/WorkPlan#new-features
If it's validated after EPUB check proccess "EPUB Check Logo" can embed into "toc.xhtml" file. So that the each epubs will be reliable and readers can be check to this epub with specific QR code.
Example use case:
App: EPUB Check application.
Logo: EPUB Check Logo (like a at example picture)

EPUB3 folder drag into app.
That's all OK. No errors or warnings.
App creates dynamic QR code and logo.
App embeds the logo into "toc.xhtml" file.
And ".epub" is ready.

Objective

To certify EPUB files according to the standards.
Encourage the use of EPUB Check.
Encourage designers to make EPUB output conforming to the standards (metadata should be the designer's name in the information)
Online verification with log QR code and get metadata information.
Other logs

Hi @teytag,
thanks for your feature proposal and the clarification, but I think this is out of scope of the EpubCheck project.
EpubCheck does not provide any mechanism to alter or update the validated EPUB file, and IMHO it also should never do that as it could cause unexpected side effects in the otherwise correct EPUB file.
This could be done by a third party App or an Editor, but not with EpubCheck.
From what I know of EPUB distribution, in Germany you cannot publish an EPUB file commercially in one of the big shops without passing EpubCheck. So every EPUB would have this logo attached.
Also I think, the customers don't care or just don't know what EpubCheck is.
Adding the logo to the ZIP, toc.xhtml and OPF, generating a QR code from whatever URL and re-packaging the ZIP seems to be too much development effort for what you want to achieve.
I'm going to close the issue, mainly because EpubCheck will never ever alter the EPUB file. Sorry.
Cheers,
Tobias