Unable to install / upgrade to  IDE 2.0 error  Addon a0d7b954_ide not supported on armhf

Problem/Motivation
Unable to install / upgrade to  IDE 2.0 error  Addon a0d7b954_ide not supported on armhf
Expected behavior
Expected add-on to install / be supported on regular RASPBERRY PI 3 MODEL B not the plus
Actual behavior
Nothing in the GUI really, just the error "ERROR (MainThread) [hassio.addons.addon] Addon a0d7b954_ide not supported on armhff" in the system log
Steps to reproduce
Attempt to install the add on.
Hardware
serial:
/dev/ttyAMA0
/dev/ttyACM0
input:
disk:
gpio:
gpiochip0
gpiochip100
audio:
0:
name: bcm2835 - bcm2835 ALSA
type: ALSA
devices:
0: digital audio playback
1: digital audio playback
Version | 103.3
Latest version | 103.3

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

was just coming here to report the same issue (or a feature request) - arm support (both -hf and -64) is missing.

I noticed support for armhf and aarch64 was recently droped:
https://github.com/hassio-addons/addon-ide/commit/f274771052850bd035eda6c7a672b4319f928dec
I have to use official addon "Configurator".

Hi there,
Support for ARM-based architectures has been dropped.
Please read the official announcement for more information:
https://community.home-assistant.io/t/community-hass-io-add-on-ide-based-on-cloud9/33810/57?u=frenck


Change wrong context-type "application/text" to "text/plain"

We have a bunch of places using wrong context-type. Need to change them to correct values.
Add more test cases for utils.FormatObject. Output is not expected for some scenarios where format is yaml.

So far we don't have users leverage this function.


Foscam no longer works after upgrade to 0.87.0b0

Home Assistant release with the issue:
0.87.0b0
Last working Home Assistant release (if known):
0.86.3
Operating environment (Hass.io/Docker/Windows/etc.):
Hass.io on Ubuntu 18.04.1 LTS (qemuarm-64)
Component/platform:
camera.foscam
Description of problem:
After upgrade to 0.87.0b0, the Foscam platform no longer loads and throws a traceback error to the log (see below).
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
camera:
  - platform: foscam
    name: Camera
    ip: !secret secret_foscam_camera_ip
    username: !secret secret_foscam_username
    password: !secret secret_foscam_password

Traceback (if applicable):
2019-01-31 19:33:08 ERROR (MainThread) [homeassistant.components.camera] Error while setting up platform foscam
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 128, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/camera/foscam.py", line 38, in setup_platform
    add_entities([FoscamCam(config)])
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/camera/foscam.py", line 46, in __init__
    from foscam import FoscamCamera
  File "/usr/local/lib/python3.6/site-packages/foscam/__init__.py", line 1, in <module>
    from foscam import FoscamCamera
ImportError: cannot import name 'FoscamCamera'
2019-01-31 19:33:08 ERROR (MainThread) [homeassistant.components.camera] Error while setting up platform foscam
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 128, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/camera/foscam.py", line 38, in setup_platform
    add_entities([FoscamCam(config)])
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/camera/foscam.py", line 46, in __init__
    from foscam import FoscamCamera
  File "/usr/local/lib/python3.6/site-packages/foscam/__init__.py", line 1, in <module>
    from foscam import FoscamCamera
ImportError: cannot import name 'FoscamCamera'

It seems caused by #20419
Could you try to execute pip freeze | grep foscam

pyfoscam==1.2
You are using pip version 18.0, however version 19.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

@davidlie

@davidlie, Can you please put in a PR to revert your changes? Github won't let me create one automatically from your original PR.

New PR: https://github.com/home-assistant/home-assistant/pull/20727


adding csd.py to netpyne/analysis -- Issue #304

This PR fails in Python 2 (but not 3) with the error message:
The command "python cell_lfp.py -nogui" exited with 1.
https://travis-ci.org/github/Neurosim-lab/netpyne/jobs/708356627
@ericaygriffith , would you mind fixing this?  We're ready to release a new netpyne version as soon as we get this PR merged.


RemoteSystemSessionCreationStatus.SessionLimitsExceeded

Not an issue yet; I can't find documentation for the connection limit.  I'd like to use RemoteSystems for messaging on IOT devices in our manufacturing plant, but before I spend a ton of time I'd like to know what the limit is.  Does anyone know what the limit is?
Thanks!

@SeanGahan I do not believe there is a connection limit.  The maximum number of sessions that can be hosted is 255.

@cmknox Thanks for the reply!


src/scala/com/github/johnynek/bazel_deps/CoursierResolver.scala:147: error: File name too long

I am trying to run this:
cd /tmp/
git clone https://github.com/johnynek/bazel-deps.git
cd bazel-deps
bazel run //:parse -- generate -r `pwd` -s 3rdparty/workspace.bzl -d dependencies.yaml

And getting this error:
INFO: Analysed target //:parse (0 packages loaded).
INFO: Found 1 target...
ERROR: /tmp/bazel-deps/src/scala/com/github/johnynek/bazel_deps/BUILD:38:1: scala //src/scala/com/github/johnynek/bazel_deps:coursier_resolver failed (Exit 1)
src/scala/com/github/johnynek/bazel_deps/CoursierResolver.scala:147: error: File name too long
This can happen on some encrypted or legacy file systems.  Please see SI-3623 for more details.
              val serverId = serverFor(artifacts.head).fold("")(_.id)
                                                            ^
src/scala/com/github/johnynek/bazel_deps/CoursierResolver.scala:147: error: File name too long
This can happen on some encrypted or legacy file systems.  Please see SI-3623 for more details.
              val serverId = serverFor(artifacts.head).fold("")(_.id)
                                                                  ^
two errors found
two errors found
java.lang.RuntimeException: Build failed
        at io.bazel.rulesscala.scalac.ScalacProcessor.compileScalaSources(ScalacProcessor.java:230)
        at io.bazel.rulesscala.scalac.ScalacProcessor.processRequest(ScalacProcessor.java:67)
        at io.bazel.rulesscala.worker.GenericWorker.run(GenericWorker.java:114)
        at io.bazel.rulesscala.scalac.ScalaCInvoker.main(ScalaCInvoker.java:41)
Target //src/scala/com/github/johnynek/bazel_deps:parseproject failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 6.648s, Critical Path: 6.34s
INFO: 0 processes.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully

I dont know why that could be, I am using a modern linux distribution (Ubuntu) and it seems to happen wherever I  try to run (even /tmp/ with no encryption)

We can set a flag for scalac to use hashed names to shorten them. I think the issue is that bazel uses he Home directory even if you start in tmp (using symlinks). I could be wrong, but that’s my guess.

ok, let me see if I have encryption enabled on my home directory and see if I can disable it

See this stack overflow:
https://stackoverflow.com/questions/28565837/filename-too-long-sbt
We can possibly set the same scalac flag. You shouldn’t need to disable encryption


[FLINK-20144][docs] Change link format in docs/ops dir

What is the purpose of the change
Change link format from:
{{ site.baseurl }/... }
to:
{% link ... %}
Brief change log
Change all link format in docs/ops dir.
Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Execute ./build_docs.sh normally.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@flinkbot run azure

Hi, @sjwiesman
Could you help to review at your convenience ?
Thanks.

@Shawn-Hx Thank you for doing this! Can you please rebase your branch and resolve the conflict?

@sjwiesman Thanks for reminder. Have resolved the conflict. PTAL.

Grazi, merging . . .


Fix source range computation of regex literals for diagnostics

Start recording the locations of regex literals on the SourceManager, and using this information to re-lex them as regex literals. This is unfortunately needed to ensure we correctly compute source ranges for diagnostic logic.
rdar://92469692

@swift-ci please test


Unable to open the documentation

Unable to open the documentation. It says 'error establishing database connection' http://rubymotionquery.com/

Thanks for the issue, I fixed it and it's back up now.


fix: verify transaction-manager

Dependence

https://github.com/ckb-js/lumos/pull/486

Changed
sendTransaction with TransactionManager
Involves deposit / L1 transfer/ get test token
Related

fix #274
fix #271

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@ba9ea9d). Click here to learn what that means.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@            Coverage Diff             @@
##             develop     #275   +/-   ##
==========================================
  Coverage           ?   65.28%
==========================================
  Files              ?       39
  Lines              ?     6164
  Branches           ?      235
==========================================
  Hits               ?     4024
  Misses             ?     2137
  Partials           ?        3

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 ba9ea9d...9f879ca. Read the comment docs.

This PR is no longer applicable because Lumos has completely rewritten the Transaction Manager.


$Network request failed

Not sure what I am doing wrong. Forked the project, ran an npm install and ran npm start- pre-rendered content loads fine but the Apollo data does not. Instead the error variable spits out "$Network request failed". Tried changing API's aswell incase that was the issue. Same out come. Would appreciate any help or guidance- I really want to master Apollo + Gatsby.
(Please let me know what data I can share to make my problem more clear)

Try running yarn instead of npm install.


Token not resolved in pseudo elements

Description
When I pass the token to component and reference it in base styles of css() function, it's working just fine.
// This is working just fine
export const FormattedMessageA = ({
  children,
  backgroundColor = "magenta",
}: React.PropsWithChildren<FormattedMessageProps>) => {
  return (
    <StyledSpan
      className={css({
        backgroundColor: backgroundColor,
      })}
    >
      {children}
    </StyledSpan>
  )
}

But when I reference it in pseudo element styles, it's not working. Also, notice that if you simply don't pass the value, it resolves to default prop backgroundColor = "magenta" and then it's working again.
// This is NOT working
export const FormattedMessageB = ({
  children,
  backgroundColor = "magenta",
}: React.PropsWithChildren<FormattedMessageProps>) => {
  return (
    <StyledSpan
      className={css({
        _before: {
          backgroundColor: backgroundColor,
        },
      })}
    >
      {children}
    </StyledSpan>
  )
}

What am I doing wrong?
Link to Reproduction
https://play.panda-css.com/S4vWjd9xUA
Steps to reproduce

Go to '...'
Click on '...'
Scroll down to '...'
See error

JS Framework
React (TS)
Panda CSS Version
0.42.0
Browser
Version 127.0.6533.89 (Official Build) (arm64)
Operating System

[X] macOS
[ ] Windows
[ ] Linux

Additional Information
No response

This is a static limitation of Panda since the compiler cannot know that the backgroundColor  is used inside of _before .
We recommend keeping the prop mapping as simple as possible. Consider using a css prop to style components from the outside.

@segunadebayo Why isn't it mentioned anywhere in the docs, for example in the Using pseudo props section? Seems to me like a common use case.


[Cross Platform]: Working on Ubuntu, not on macOS

Hi Everyone,
Like the title suggests, my simple proxy example works on my Ubuntu laptop, but not on my Macbook.
I've created demo repo, but essentially I have an Express app listening on port 9000 serving { "message": "hello world" } on the /api route.
On port 8000, I have another Express app using http-proxy-middleware.
My use case is setting up a local development environment for Netlify Lambda (serverless functions) and Create React App. I've isolated the issue to the middleware. Once I can get this example working, I'll then attempt to get it working with Webpack and Netlify.
Thanks in advance for your time :smile:
Expected behavior
# Ubuntu 18.04
curl http://localhost:8000/api
# {"message":"hello world"}

Actual behavior
# macOS High Sierra
[HPM] Error occurred while trying to proxy request /api from localhost:8000 to http://localhost:9000 (ECONNRESET) (https://nodejs.org/api/errors.html#errors_common_system_errors)

Setup

http-proxy-middleware: 0.18.0
server: express 4.16.3
other relevant modules: none
node: 10.5.0 (both machines)

proxy middleware configuration
// Settings from create-react-app
const target = 'http://localhost:9000';

app.use(
  '/api',
  proxy({
    target,
    logLevel: 'debug',
    secure: false,
    changeOrigin: true,
    ws: true,
    xfwd: true,
    context: (_, req) =>
      req.method !== 'GET' ||
      (req.headers.accept && req.headers.accept.indexOf('text/html') === -1),
    onProxyReq: req => {
      if (req.getHeader('origin')) {
        req.setHeader('origin', target);
      }
    },
    onError: (err, req, res) => {
      const host = req.headers && req.headers.host;
      if (res.writeHead && !res.headersSent) {
        res.writeHead(500);
      }
      res.end(`Proxy error: Could not proxy request ${req.url} from ${host} to ${target} (${err.code}).`);
    },
  })
);

server mounting
app.listen(8000, () => {
  console.log('Proxy server listening on port 8000...');
});

Demo
https://github.com/adamelliotfields/express-proxy-demo

Thanks for the quick reply, @chimurai. Mind if I keep this open for a day or two? Perhaps another member of the community will know some macOS settings I need to tweak. I'll post back and close it if I figure it out.

Found the culprit...
php-fpm (FastCGI Process Manager) runs on port 9000. I had installed PHP recently to play around with Wordpress only on this computer.
brew services stop php fixed it. I'm not a PHP developer so I didn't realize it auto-started a daemon.
Sorry for the bother and thanks for the great library 🍻


Find best approximated size supported by clfft

Hello
Given a certain size, I would like to find the best approximation of it that is supported by clfft.
Do you have any suggestion for that?
Thanks a lot!
Fabio Gibiino

Though clFFT supports any size that is any combination of power of 2,3,5,7,11,13, it is best to choose sizes that is power of 2 for perf reasons.


Updated readme to point to the specific youtube api

Description
Point to the specific api instead of having to search for it
Screencast

Checklist

[X] I read the extension guidelines
[X] I read the documentation about publishing
[X] I ran npm run build and tested this distribution build in Raycast
[X] I checked that files in the assets folder are used by the extension itself
[X] I checked that assets used by the README are placed outside of the metadata folder

This Extention is impressive. There is one point that could fit better with our needs. Just search after typing Enter. Check the amount of usage of the live searching feature: 10% of the usage in the current day


Integrate PagerDuty to AWS cloud watch logs for the ERT lambdas.

Summary
Add pagerDuty to AWS CloudWatch logs generated by ERT lambdas so that it can be used to notify devops for any alerts.

https://console.aws.amazon.com/sns/v3/home?region=us-east-1#/topics
SNS topics created and added to appropriate alarms to notify when triggered.

https://console.aws.amazon.com/sns/v3/home?region=us-east-1#/topics
SNS topics created and added to appropriate alarms to notify when triggered.


Empty string search returns Afghanistan because it is a very first value in country list

There is a bug in the lookup method https://github.com/thephpleague/iso3166/blob/main/src/ISO3166.php#L163-L165
Look at https://3v4l.org/evSRJ this shows that the second part of the if condition is true for empty string input, this is effectively always true causing the lookup to always return Afghanistan when searching by empty string.
I haven't checked if this works for all fields, but I guess it could, because why not?!

Aside from name(), the other public methods implement guards. Perhaps the same could be done for name(). Although I am not sure if this is really an issue to begin with. There is no contract or definition for what should be returned if you search for an empty string. Since name() functions somewhat like an autocomplete, returning the first result from the set for an empty search string could be considered a graceful way to "fail".

@alcohol so if I search for a string, should I also make sure that the country I end up with is actually the one I was looking for?
I'm afraid that approach seems like a recipe for messing things up without really trying.

I do not follow. If you search for a string through the name() method, you can expect a result in an autocomplete like manner. If you want to be sure of the returned value, I suggest working with alpha 2 or 3 codes instead. They always map 1:1 to their designated value.

@alcohol sorry but I don't follow, what autocomplete? This is not a JS frontend library we would use for autocompletion, instead we use it in integration systems to lookup for appropriate country details based on user input. Therefore you can't just state that this is not a but rather a feature, this is at least inappropriate!

@alcohol
Following description of method.

@throws \League\ISO3166\Exception\OutOfBoundsException if key does not exist in dataset

I believe empty string is non-existing key, also any one letter key should then end up on that exception, as I'm quite sure it does not exist same as empty string. It should be strict behaviour.


Add all sample book data

add all the book objects and their data to the projectData.json file in the 'seed' folder.

added.  feel free to add if you like


window.addListener()

Should this be covered? It is used with window.matchMedia(), which is covered.

I assume this should be MediaQueryList.addListener(), then?

I'm not sure. I'm not an expert in this area. This source
https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryListListener doesn't
refer to it specifically, and is more than vague about browser support
for |MediaQueryList|.
addListener() is associated with Window.matchMedia(), described here
https://developer.mozilla.org/en/docs/Web/API/Window/matchMedia. The
way I use addListener() is as follows:
var mql = window.matchMedia('(min-width : 990px)');
mql.addListener(/callback_function_name/);
matchMedia appears on caniuse http://caniuse.com/#search=matchMedia,
but addListener doesn't. Since addListener is an important element in
setting up media queries in Javascript I though it should be mentioned.
It works in any browser that supports matchMedia. I have used it to
build a lightweight Javascript media query manager.
On 17/10/2015 2:39 PM, Alexis Deveria wrote:

I assume this should be |MediaQueryList.addListener()|, then?
—
Reply to this email directly or view it on GitHub
https://github.com/Fyrd/caniuse/issues/2037#issuecomment-148885324.

While I think of it, iOS9 has dropped support for flexbox. canIuse shows
flexbox as being supported on iOS9.
Flexbox is supported on iOS8 and OSX, but not on iOS9. I've reported the
issue to Apple in Australia.
I'm attaching 2 screenshots taken on an iPhone to illustrate the problem.
On 17/10/2015 2:39 PM, Alexis Deveria wrote:

I assume this should be |MediaQueryList.addListener()|, then?
—
Reply to this email directly or view it on GitHub
https://github.com/Fyrd/caniuse/issues/2037#issuecomment-148885324.

Another discovery I made today is that Opera Mini supports the JavaScript matchMedia API, including event listeners, contrary to what appears on the caniuse website at http://caniuse.com/#search=matchMedia
I tested Opera Mini and Opera Mini beta 5.2 on an android tablet against a website that uses matchMedia and it worked fine.

👍

Available at https://caniuse.com/#feat=mdn-api_mediaquerylist_addlistener


Update Graph.py

I've written Quick Sort implementation and doing Fenwick trees now. Will create a PR soon. Do you want me to do Dijkstra algo?

Okay sure. I'm also halfway through Dijkstra. You too go ahead, no problem.


feat(toggle): add ng checkbox attributes support

An angular input checkbox supports the use of ng-change,
ng-true-value and ng-false-value. The toggle component
now supports these attributes.
Closes #289

Coverage increased (+0.2%) to 98.606% when pulling 53f2b3aca6911cdf97685571db8f95a7e4c679b5 on sjclemmy:toggle-issue-289 into 7f1fd86a2c68418526339c1ae9dd05207809247d on ngOfficeUIFabric:dev.

Good job. I've added comments for 3 minor issues, please have a look.

I made the changes and squashed the commit with the previous - I hope that's the right thing to do in this instance.

Coverage remained the same at 98.455% when pulling 1c08657e3c6ec9251d6378fac817e083b246a1a1 on sjclemmy:toggle-issue-289 into 7f1fd86a2c68418526339c1ae9dd05207809247d on ngOfficeUIFabric:dev.

Good stuff @sjclemmy . Looks good to me now!


[PE-D][Tester A] Long inputs are not visible on the GUI

Labels: severity.Medium type.FunctionalityBug
original: RoeReRe/ped#11

enable text wrapping

As discussed, we will allow text-wrapping since there are no other ways users can currently view long inputs


Create custom 4x4 and 2x2 linalg operations (matmul, kron, determinant)

Closes #12120
This is an alternative to #12193, where instead of using faer for matrix multiplications, we have a new module with some functions implemented by hand to calculate the kronecker product, determinant, and matmul using ndarray data types.
In the new module we can find the following functions:

kron_matrix_x_identity(): A kron function that performs the product of a given matrix and the identity
kron_identity_x_matrix(): A kron function that performs the product of the identity and a given matrix.
matrix_multiply_2x2(): A 2x2 matmul completely unrolled
matrix_multiply_4x4(): A 4x4 matmul using three for loops which I think are easily vectorizable/unrolled for the compiler
determinant_4x4(): A function to calculate the determinant of a 4x4 matrix
change_basis(): The same function previously living on convert_2q_block_matrix.rs and moved here to be reused in more scripts

Running the transpiler benchmarks we can see how the performance has increased:
Benchmarks that have improved:

| Change   | Before [9d03b4bf] <main>   | After [a650f588] <AC/custom-linalg>   |   Ratio | Benchmark (Parameter)                                                                                |
|----------|----------------------------|---------------------------------------|---------|------------------------------------------------------------------------------------------------------------|
| -        | 126±0.8ms                  | 109±0.7ms                             |    0.86 | transpiler_qualitative.TranspilerQualitativeBench.time_transpile_time_cnt3_5_179(2, 'sabre', 'dense')      |
| -        | 161±1ms                    | 125±0.4ms                             |    0.78 | transpiler_qualitative.TranspilerQualitativeBench.time_transpile_time_cnt3_5_179(3, 'sabre', 'dense')      |
| -        | 158±0.4ms                  | 133±0.3ms                             |    0.84 | transpiler_qualitative.TranspilerQualitativeBench.time_transpile_time_cnt3_5_179(3, 'sabre', 'sabre')      |
| -        | 249±0.4ms                  | 212±0.9ms                             |    0.85 | transpiler_qualitative.TranspilerQualitativeBench.time_transpile_time_cnt3_5_179(3, 'stochastic', 'sabre') |
| -        | 264±0.7ms                  | 222±3ms                               |    0.84 | transpiler_qualitative.TranspilerQualitativeBench.time_transpile_time_cnt3_5_180(2, 'sabre', 'dense')      |
| -        | 302±0.2ms                  | 264±0.5ms                             |    0.87 | transpiler_qualitative.TranspilerQualitativeBench.time_transpile_time_cnt3_5_180(2, 'sabre', 'sabre')      |
| -        | 564±2ms                    | 512±0.8ms                             |    0.91 | transpiler_qualitative.TranspilerQualitativeBench.time_transpile_time_cnt3_5_180(2, 'stochastic', 'sabre') |
| -        | 347±0.7ms                  | 259±0.4ms                             |    0.75 | transpiler_qualitative.TranspilerQualitativeBench.time_transpile_time_cnt3_5_180(3, 'sabre', 'dense')      |
| -        | 391±0.5ms                  | 306±0.5ms                             |    0.78 | transpiler_qualitative.TranspilerQualitativeBench.time_transpile_time_cnt3_5_180(3, 'sabre', 'sabre')      |
| -        | 719±0.9ms                  | 599±0.2ms                             |    0.83 | transpiler_qualitative.TranspilerQualitativeBench.time_transpile_time_cnt3_5_180(3, 'stochastic', 'sabre') |

See this comment to see the benchmarks of all the operations and for more information about the other approach.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

308 of 359 (85.79%)  changed or added relevant lines in 3 files are covered.
7 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.01%) to 89.584%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/accelerate/src/two_qubit_decompose.rs
221
272
81.25%

Files with Coverage Reduction
New Missed Lines
%

crates/accelerate/src/two_qubit_decompose.rs
2
87.51%

crates/qasm2/src/lex.rs
5
92.11%

Totals

Change from base Build<PHONE_NUMBER>:
-0.01%

Covered Lines:
62534

Relevant Lines:
69805

💛  - Coveralls


Lupusec Alarmsystem 192.168.XXX.YYY is not reachable

Describe the bug
Trying to add a Lupus XT2 by IP-Adress and DNS-Name. ioBroker always shows:
Lupusec Alarmsystem 192.168.XXX.YYY is not reachable
Pinging Lupus within iobroker SSH is possible via IP and name.
Same problem with Beta 1.3.0, v1.2.7 and 1.2.6.
Versions:

Adapter version: 1.2.9
JS-Controller version: 3.1.6
Node version: 12.18.2
Operating system: Ubuntu 20.10

You ave to enter the IP-Address, Port 80 and https off. Did you do that? Please use the user admin and the password of admin of your XT2.
Did you try following:
ssh <user>@<iobroker-ip-address>
sudo -u iobroker ping <lupsec-ip-address>

You ave to enter the IP-Address, Port 80 and https off.
Yes.

Please use the user admin and the password of admin of your XT2.
Yes using the Admin User.

Did you try following:
ssh @
sudo -u iobroker ping
Yes that ist working.

Please try following:
ls -l `which ping`
sudo chmod u+s `which ping`

If this does not work, please send me a screenshot of your ioBroker Lupusec configuration. You can provide it here or send it to<EMAIL_ADDRESS>.

That helped and solved the problem.


The glob string //** fails to match a lot of things

const micromatch = require('micromatch');

// create a matcher that should return true for any
// file that's inside at least two nested directories...
const match = micromatch.matcher('*/*/**');

// it's correct for these paths:
match('a/b.txt'); // false
match('a/b/c.txt'); // true

// but it stops matching if you add more levels, despite double-star:
match('a/b/c/d.txt'); // false (expected true)
match('a/b/c/d/e.txt'); // false (expected true)

Live demo of this bug on Tonic

I'll take a look, I suspect this is because consecutive */*/ patterns are collapsed (and they shouldn't be)

Let me know if you have any more issues. thanks for reporting the bug


Please, allow relative path in json ConnectionStrings for AttachDbFilename when using update-database command

Although we can use string substitution in json file and replace with the string we want, it would be nice during the update-database command and if a AttachDbFilename start with a UNC like =\Data\aspnet-WebAppCoreDB.mdf, the possibility of your program get the path of the current project and successfully attach the DB to the server automatically.
Thanks.

The connection string is not always in the context of a project. If we instead considered CurrentDirectory, that can change over the course of an application's execution. Applications should simply expand the path when needed and provide the entire thing to SqlClient.
Closing this issue as not planned.


Failed build: collision_map_creator.cc:35:23 and collision_map_creator.cc:91:55:

catkin_make fails with the following error messages:
[...]collision_map_creator.cc:35:23: error: ‘class gazebo::physics::World’ has no member named ‘GetName’; did you mean ‘Name’?
node->Init(world->GetName());
^~~~~~~
[...]collision_map_creator.cc:91:55: error: ‘class gazebo::physics::World’ has no member named ‘GetPhysicsEngine’; did you mean SetPhysicsEnabled’?
gazebo::physics::PhysicsEnginePtr engine = world->GetPhysicsEngine();
^~~~~~~~~~~~~~~~

Refers to the cloned repository to create the PGM Map needed to localise the robot.

One way to solve this issue is to go to the collision_map_creator.cc file and make the following changes:

Line 35 reads node->Init(world->Name());. You should replace it with node->Init(world->GetName());
Line 95 reads gazebo::physics::PhysicsEnginePtr engine = world->Physics();. You should replace it with gazebo::physics::PhysicsEnginePtr engine = world->GetPhysicsEngine();

Both changes are implemented in this repository.


Dropdown: Adding cycling inside

Description
Add cycling for the dropdown menu using arrow up and arrown down. I wonder if this should be deactivated by default and activated by an option or not (feels weird using it on a nested dropdown for example) 🤔 Or if, as it's an option, we shouldn't add it at all ?

  <button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
    Dropdown button
  </button>

Action

      <button class="dropdown-item dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
        Dropdown button
      </button>

Action

Another action

Something else here

Something else here

Motivation & Context
It is mentionned by https://www.w3.org/WAI/ARIA/apg/patterns/menubar/ as optional.
Couldn't find any information in older PRs.
Type of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Refactoring (non-breaking change)
[ ] Breaking change (fix or feature that would change existing functionality)

Checklist

[x] I have read the contributing guidelines
[x] My code follows the code style of the project (using npm run lint)
[ ] My change introduces changes to the documentation
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] All new and existing tests passed

Live previews

https://deploy-preview-38828--twbs-bootstrap.netlify.app/docs/5.3/components/dropdowns

Related issues
Closes #38801.

👀

Accessibility by default, I like that :)
If possible, would be nice to add some unit tests here just to be sure that no regressions appear in the future (with and without the option).


Build hangs on external domain query

install -c -m 755 dmg2img vfdecrypt /usr/bin
--2024-11-25 09:43:34--  http://www.goffart.co.uk/s-record/download/srec_151_src.zip
Resolving www.goffart.co.uk (www.goffart.co.uk)... <IP_ADDRESS>
Connecting to www.goffart.co.uk (www.goffart.co.uk)|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response...

Why are we downloading this from some random domain and what makes sure that this file is secure? Even worse, it's served over insecure HTTP.

Why are we downloading this from some random domain

That is the site where the srec2bin source code is hosted.

what makes sure that this file is secure?

Not exactly sure what secure means in this context. I suppose it would have the same assurances as any piece of open source code downloaded from the internet.

Even worse, it's served over insecure HTTP

D'oh, that's a problem! I'll update the install script to use https.
That said, I think that srec_cat looks like an appropriate substitute, and can be installed with apt.

Removed source dependency on srec2bin, replaced with srec_cat (installed via apt).


SVG icons

I will try to make SVG icons for zoomin, out, etc...

https://github.com/boskar/openseadragon/blob/master/images/next_rest.svg what do You think? ; )

Looks beautiful! I look forward to seeing the whole set.

As I was looking into svg features and OSD code I noticed, that we could profit from svg responsiveness. On the other hand, that will obsolete some/most of https://github.com/openseadragon/openseadragon/blob/master/src/button.js code.
HOVER, DOWN and REST states can be easily achieved inside the svg file itself.
See https://github.com/boskar/openseadragon/blob/master/images/next_rest.svg  - It's already implemented. To test the effects You need to open the image in new tab, ( tag does not work here, You need to add them with .
On the other hand GROUP effect is impossible/unreasonable to achieve inside svg, across several files.
I think that at the moment the good compromise between total rewrite of button.js and making profit of  svg features is to keep state REST and state GROUP to fade them in and out (set CSS opacity on a group, whole parent div or separate elements), and use DOWN and HOVER states only in case they are needed for other purpose than icon animation.
Do We really want to keep all those effects? This orange/red on hover, and concave-like pressed button looks like late '90s ; )
I could even try to make them CSSable, if You let me redesign them a bit : )

Or maybe I could pick some nice shapes from https://icomoon.io/ or https://linearicons.com/free ?
As long as they are CC/GPL it should be fine?

I agree the old button styling is a bit outdated, and I like the idea of moving to your new flatter SVG buttons as the new default. However, I also want to continue to support PNG button sets (perhaps even demoting the current set to a plugin). You can see we already have one alternate icon pack here:
http://openseadragon.github.io/#plugins
...and many people already use custom PNG icons in their apps. Also, as long as we continue to support IE8, we'll need a non-SVG option.
So, nice as it might be to take advantage of the SVG capabilities, I don't want to do it at the expense of continued support for PNGs.
I also think the various states we support (such as group hover) are good, though they certainly could be styled in a more modern fashion.
As for the actual icons, I guess we could look into new options, though the current ones seem pretty timeless.

While you're at it, the rotate buttons don't quite convey the action. The current symbol for rotate right seems to be more like the modern convention for a SHARE action.

Google suggests this:

Source: https://design.google.com/icons/

@dwesty Awesome, thanks for gathering these!
@boskar Are you still working on this?

Yes, I'm... At least I try ; )
I hope to do it this week.

Sounds good!

@boskar Still planning to do those?
Or maybe replace them with fontawesome ?

We wouldn't want OpenSeadragon to take a dependency on Font Awesome (we currently depend on no libraries). Of course a Font Awesome plugin/icon pack would be fine.

Somewhat related to #50, #342, #747, #1134. Just wanted to link these issues together, don't mind me.
@dwesty I agree that the current rotate icons seem somewhat unintuitive. Perhaps a new issue should be opened for discussion? @hendriklammers has a PSD template for the PNG buttons. Perhaps it could be useful for creating new rotate icons?

Tom Brossman (not on GitHub) has made a set of SVG icons he's offering to us:
https://twitter.com/tombrossman/status/1399695381626228741
https://gitlab.com/tombrossman/openseadragon-svg-icons/
Here's a screenshot of them:

What do y'all think? The rotate buttons are definitely better. I think I'd like to explore other options for the flip button. But beyond that, what do you think of the overall style? It's a big change for us, going from round buttons with no background to icon buttons with a full square background. It seems pretty modern, but surely there are other options we could explore.
BTW, if we do this, we'll want to provide a mechanism for easily switching between PNG and SVG... at the moment you have to explicitly override every single file name via navImages.

@iangilman From a design perspective, these have some issues:

Line weight is inconsistent
Icon size is inconsistent

Here's a screenshot with guide to illustrate the issue:

Note how the lines for the home and flip icons are thinner than average, and the lines for the full screen and next/previous arrows are thicker the average. Also note how the rotate left/right and flip icons are smaller than the others.
From a technical perspective, these would need to be optimized. Currently, they are exported directly from Inkscape. I don't think this has been mentioned in this thread yet, but regardless of what SVG icons are eventually used, it probably makes sense to do an optimization pass and remove unnecessary cruft from the SVG file.
Personally, I think this might be too big of a change. (Please treat this opinion as separate from the concerns expressed above.) Over the years, I've run across OpenSeadragon many times on the net, and the default icon set was used by many of those implementations. To some extent, I feels like these icons have become part of the OpenSeadragon "brand" alongside the excellent implementation of smooth zoom-and-pan. I do agree that it would be good to have SVG icons, but I think the new SVG icons should probably not depart quite so far from the established PNG icons. Maybe with a more gradual stylistic transition, over several versions!

@IllyaMoskvin thank you so much for the thoughtful analysis! I have to admit I too have that feeling of the current buttons being part of the OSD identity. I like the idea of exploring migrating to a new set gradually.

So, let's explore what modernizing the existing buttons might look like. Here's a complete set of states for the existing zoom-in button:

From left to right, that's the resting state (when the mouse is in the viewer, but not over any of the buttons), the "group hover" (when the mouse is over the group of buttons but not this specific button), the hover (when the mouse is over this button) and pressed (when the mouse button is held down on this button).
The most obvious thing to do, for starters, is to double the resolution so we are supporting HDPI screens. We may also want to pull back a little on the gloss (which, although nice, is probably the most dated aspect of the buttons). It might also be worth considering changing the hover colors to better match the OpenSeadragon logo… The current hover colors were designed to match the original Seadragon logo.
So, here's a rough stab at this:

What do y'all think?
BTW, I realize this issue is called "SVG icons", but I figure we should be exploring designs without concern for whether they are doable in SVG or not. Once we're happy with the design we can think about whether to render them as PNG or SVG. At any rate, there's enough history on this issue that I think it's worth continuing the discussion here rather than starting a fresh one.

It might be worth doing a little review of what other tech in the same space is doing in terms of buttons. Here are some quick snapshots of other zooming viewers:

That's Leaflet, OpenLayers, OpenStreetMap, and Google Maps (from left to right). They are all mapping, so it's not quite the same as OpenSeadragon, but there aren't a lot of non-map zooming viewers out there. There's Zoomify, but they seem a little old-fashioned at this point (no offense to them). Looks like their icons are styled very similar to OpenSeadragon, but with rounded rectangles instead of circles:

Of course we can look further afield at just buttons in general, though that's a huge space!
I don't know what there is to learn from these comparisons, but it's worth at least looking. I think we want to fit in with the modern milieu of buttons, while still being different enough to stand out and hold our own identity.
One thing for sure: the unadorned plus/minus (without magnifying glass) seems pretty standard.

I like them  a lot. They are intuitive.
I use OpenSeaDreagon to allow viewers to break the confines of their (usually cellphone sized) screens to better evaluate my artwork right down to the pencil sketches, brusk strokes and individual paint splatters in my virtual zoomable format web page.
Walt
Lakeshore Digital Art, LLC

We completely replaced the toolbar and the icons inside:

So I will comment on this issue but it doesn't really affect us.
I prefer the material flat style. The gradient icon style looks outdated for me.
Tom Brossmans icons look good but should be adjusted for the same height. Also they should have a border because the user should know where the click area is.
But I'm in no way a designer, just a regular OSD user.

I'd like to continue moving forward with this if we can, but I don't think we should hold up the 3.0.0 release for it, so I'm going to remove it from that milestone.

Hello everyone,
Well, I liked Tom Brossman's set of icons, and based on them, I made a more simple version of pngs . (at : https://github.com/Benomrans/openseadragon-icons ).
would be glad to see it used by someone else!
jsdeliver links :
https://cdn.jsdelivr.net/gh/Benomrans/openseadragon-icons@main/images/
<EMAIL_ADDRESS>

I just noticed the button icons used by @gasi on https://zoomhub.net/… they seem very nice.

I like the simplicity and the rounded corners (rather than circle or square). If we went this way we would probably want to pick different colors (these ones match the ZoomHub branding).
I assume you've only done the ones you need, @gasi? Would you mind us using your icons for inspiration?


Response [403] Forbidden

I am not sure why this error occurred i am facing this issue since morning when i am trying to use sat-search module.
<Response [403]>
Traceback (most recent call last):
File "funcSearch.py", line 736, in
handler(newjson, "Alex")
File "funcSearch.py", line 594, in handler
listfile, listtime = searchcomputing(satellitetype, inputjson, startday, timerange, endday, cloudfrom, cloudto)
File "funcSearch.py", line 105, in searchcomputing
listMRGS = search.GetMGRSpositionOverlap(inputjson)
File "/home/chaitanya/vultus/platform_core/adapters/search/docker/search.py", line 84, in GetMGRSpositionOverlap
items1 = search.items()
File "/home/chaitanya/vultus/sample_environment/lib/python3.6/site-packages/satsearch/search.py", line 118, in items
found = self.found()
File "/home/chaitanya/vultus/sample_environment/lib/python3.6/site-packages/satsearch/search.py", line 75, in found
results = self.query(**kwargs)
File "/home/chaitanya/vultus/sample_environment/lib/python3.6/site-packages/satsearch/search.py", line 86, in query
raise SatSearchError(response.text)
satsearch.search.SatSearchError: {"message":"Forbidden"}

Hello @chaitanya2ivvala , sorry that we broke this.
The problem lies in the DNS for the default STAC API that sat-search uses. We had to update the DNS to point to the new STAC API, which broke the old one.
To fix this on your end, just set the environment variable to the actual URL:
SATUTILS_API_URL=https://hb57pr2zof.execute-api.us-east-1.amazonaws.com/stage/
And it will work as it did before.
Note that there is a new API now using STAC 1.0.0-beta.1, but it does not yet contain Landsat or CBERS, it has Sentinel-2 L1C, L2A, and newly created L2A COGs for Africa.   It is located at:
https://earth-search.aws.element84.com/v0
There is a new sat-search in release candidate form, and the final release will happen in the next couple days.

Hello @matthewhanson, Thank you for the info its working as expected after adding the env variable.
nice looking forward for the new changes.


Collect Ingress Annotations (Move to NIC)

As a maintainer of NIC
I want to collect the annotations used in participating Ingress installations
So that I can prioritize enhancements to the most used annotations.
Acceptance

The names of the configured Ingress annotations are recorded in a list.
The values of the Ingress annotations are NOT recorded.

The NIC team have added our own version of this issue on our backlog here: https://github.com/nginxinc/kubernetes-ingress/issues/4884


Account for the fact that comments might get deleted while-or-just-before we process them

03:00:33.557 [on-spray-can-akka.actor.default-dispatcher-25523] ERROR com.jcabi.github.Comment$Smart - #url(): thrown java.lang.AssertionError(HTTP response status is not equal to 200:
404 Not Found [https://api.github.com/repos/twbs/bootstrap/issues/comments/136919469]

at com.jcabi.github.Comment$Smart.url
    (Comment.java:158) ~[server.jar:1.0]
at com.chrisrebert.lmvtfy.github.GitHubIssueCommenter$$anonfun$receive$1.applyOrElse
    (GitHubIssueCommenter.scala:44) ~[server.jar:1.0]


Do not attempt to override version if not devel

Signed-off-by: Scott Nichols<EMAIL_ADDRESS>So sorry, I missed a guard statement on the version from module info replace.
What type of PR is this?
/kind bug
What this PR does / why we need it:
If version is set to anything aside from "devel", we will use that. Or we attempt to load the debug module info and get version from there.
Followup to #29
Does this PR introduce a user-facing change?

NONE

/lgtm


Jh 20 location list

resolves location case for UI:
https://www.figma.com/file/GpatKfpfF7uNfnlV9XQKvt/jehlomat_app_design?node-id=0%3A1

The new endpoint is not described in the swagger file.

The new endpoint is not described in the swagger file.

Thanks for notice. I added it with new commit: 278b1ca708ff151b8568178687c02938882d4389


Created functionality for managing stacks in the inventory.

@AlmasB
I made a bit of changes to Inventory.kt to allow setting of maximum stack size. This included adding additional data structures, classes, and methods to manage the stacks. Such as:

Creating StackData class for keeping track of individual stacks.
Modifying incrementQuantity to dynamically create stacks.
Create data structures to store and access these stacks in Inventory and ItemData classes.
Added public methods incrementStack and removeStack to directly manage stacks.

The private data structures I added in Inventory.kt allow storing individual stacks which themselves have an ID. This ID, which is used as the key to stacksData, may be useful in the future when creating an improved default view for the inventory which would allow moving/splitting stacks by tracking each stack's current 'slot' in the inventory.
Let me know what you think!
Thanks,
Adam Bocco

Codecov Report

Merging #972 (a03afa0) into dev (1355346) will increase coverage by 0.18%.
The diff coverage is 85.48%.

@@             Coverage Diff              @@
##                dev     #972      +/-   ##
============================================
+ Coverage     64.83%   65.02%   +0.18%
- Complexity     2684     2710      +26
============================================
  Files           261      261
  Lines         12365    12469     +104
  Branches       1192     1209      +17
============================================
+ Hits           8017     8108      +91
- Misses         3897     3905       +8
- Partials        451      456       +5

Impacted Files
Coverage Δ
Complexity Δ

...om/almasb/fxgl/inventory/view/InventoryListView.kt
0.00% <ø> (ø)
0.00 <0.00> (ø)

...in/com/almasb/fxgl/inventory/view/InventoryView.kt
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...main/kotlin/com/almasb/fxgl/inventory/Inventory.kt
90.00% <86.88%> (-10.00%)
45.00 <18.00> (+25.00)
:arrow_down:

.../src/main/kotlin/com/almasb/fxgl/app/LoopRunner.kt
96.00% <0.00%> (+10.00%)
11.00% <0.00%> (+1.00%)

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 1355346...a03afa0. Read the comment docs.


when i run i find some wrong

Developed by @DogDeveloper. Show me your love here https://twitter.com/DogDeveloper
Error uploading bom Error: Request failed with status code 405
Review your settings ;)

Hi @yanxiaochuan
I probably need more details about your setup, but in any case I tried to reproduce the error in a fresh installation of Dependency Track. These are the steps I followed:

Install Dependency Track in a server using the latest version and based in Docker. Using the instructions of the documentation of Dependency Track

https://docs.dependencytrack.org/getting-started/deploy-docker/

If all it's right, you will be able to access to the following URL: http://localhost:8080 (change with the IP of your server)
Then, log in and go to the Teams section inside the administration. Edit the "Automation" Team with the following permissions

Make sure you have an API Key for the Automation Team, like the following (don't worry, this key is revoked ;))

Now, with the previous API Key, you will be able to use the dtrack-cli following the instructions provided, in my test using Gitlab CI/CD in a NestJS (NPM/NodeJS) project was as follows:

After the pipeline was executed, yeah! It's true, I got a 405 error

Then, I tried in my computer, and all gone right with the same code, and the same command and the same parameters

So I guess it's a network problem. I checked if the Dependency Track server has visibility inside the CI/CD, and they have visibility. Probably, the CI/CD servers has some restrictions of use?

Oh my goodness!!
Yeah, I found it...
If your server variable ends with a slash, you will take this error.
So your server address will be that:
http://localhost:8080    <---- RIGHT

instead of that:
http://localhost:8080/    <--- WRONG

I will change the code to have that into account, but for now you can apply this workaround.
Thanks for the issue!

Solved in 1.0.12


Add new excahnge: coinswitch kuber

Please add the coinswitch kuber excahnge rates.
You can find api url on https://coinswitch.co/
Goto dev tools and network tab, where you find a request named "coins"
That's the api url.....

I could not find an official public API for Coinswitch kuber.
Their web site (analized via DevTools) uses this link: https://coinswitch.co/proxy/in/api/v1/coins - but it contains too big size (all tokents and prices), and it is not official (may be changed at any time).
Using this link will result in huge traffic. For example if check every minute it is more than 2GB for month for every pair. This is not acceptable for the Bitcoin Checker.


Fix wheel generation

Wheel Generation for Packages with src folder
Fixes issue #391
Problem
Packages containing a src folder above the package folder won't have a working wheel package when building the packages with dephell build
Solution
Appending the found package dir to the project package path enables the converter to generate a working wheel package for packages with a src folder as well as for packages without one (when there is no src folder, this parameter contains the value '.' )
Misc
Also fixed a typo in the project_build file.

Oh, I totally missed that one :open_mouth:
Updated the retrieval of the key from the dict with using the get(...) method and a default value.

I think you can make a project structure in temp_dir fixture, dump it, and then open it with zipfile and check the dumped structure. Like in the tests I shared above.
Using the current dir as default is not correct. The project can be located somewhere else. I can't say for sure right now, I'm away from the laptop. However, you can make just tests, and I'll help you with the solution. I understand if you lost here, we definitely need more internal documentation. Right now I'm working on type annotations for everything, it should help a bit :)
Off topic: Hmm, why fasthub can't comment on threads?

@orsinium Thanks for the starting point. I'll try to implement some testcases for that.
I think I still need to dig into how to execute the wheel generation properly with as little as possible overhead.

While working on this new method to generate the wheel package, I might have encountered a different issue in dephell_discovery, but still some investigation is necessary.
Will look into that, the next days.


CFE_ES_WaitForStartupSync() -- behavior if timeout reached?

I'm a little confused by the CFE_ES_WaitForStartupSync() timeout, there's no way to determine if the timeout was reached (except looking at wall clock time elapsed) and what should the application do if the timeout is reached (if anything)? I'm guessing that the caller should just proceed assuming startup has completed even if the timeout was reached, but perhaps this can be made clear in the documentation for this function?
I plan to use this for SBN but perhaps I should be using CFE_ES_WaitForSystemState() instead? The comments imply CFE_ES_WaitForStartupSync() is a convenience and may be deprecated?
https://github.com/nasa/cFE/blob/1d3e4cdcb67be21032663f1227c8fbe81e9ff5a1/modules/core_api/fsw/inc/cfe_es.h#L460

Yes, CFE_ES_WaitForStartupSync() is a simplified API, it does not give any feedback.  The CFE_ES_WaitForSystemState() API is the more complete/generic version and it gives the feedback you are looking for (CFE_ES_OPERATION_TIMED_OUT if state was not reached, and CFE_SUCCESS if it was reached).


Relay hub reverts transaction because of Not enough gasleft()

Description
Relayer sends a transaction but relayHub reverts it with the reason Not enough gasleft(). This project was made to reproduce the issue. It does not use a real relayer, just the GSNDevProvider.
Notice that the withdrawViaRelayer test fails, inrease works fine, though.
Expected behavior
The tx should be relayed because canRelay allows that.
Actual behavior

Steps to reproduce the behavior

npm i
npx truffle compile
npx truffle test

Versions
Truffle v5.0.37 (core: 5.0.37)
Solidity v0.5.8 (solc-js)
Node v11.15.0
Web3.js v1.2.1
@openzeppelin/contracts-ethereum-package 2.2.3
@openzeppelin/gsn-helpers 0.2.0
@openzeppelin/gsn-provider 0.1.7

This issue may be related to Review call data estimation issue

@nventuro could you confirm that the relayer binary was updates after the Review call data estimation issue #33

It happens because RelayHub limits amount of gas spent before calling recipient.
[GasOverhead](https://github.com/tabookey/tabookey-gasless/blob/279cbb146405e084fc522ba5f18940ec5b37a991/contracts/RelayHub.sol#L38) currently is 48204. Call data and RelayHub checks has to fit into 48204 limit.
This is unfortunate limitation. I hope it will be addressed soon in RelayHub.

Dirty fix

Fixed at #37.


Segmentation violation using the gclip tool on Fedora

I have been using clipboard to build a small personal application as a replacement for xclip. The first time I built and tested the application, it threw this error:
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x0]

runtime stack:
runtime.throw({0x4bc05d?, 0x1?})
        /usr/local/go/src/runtime/panic.go:992 +0x71
runtime.sigpanic()
        /usr/local/go/src/runtime/signal_unix.go:802 +0x3a9

goroutine 1 [syscall, locked to thread]:
runtime.cgocall(0x4996f0, 0xc00006fde8)
        /usr/local/go/src/runtime/cgocall.go:157 +0x5c fp=0xc00006fdc0 sp=0xc00006fd88 pc=0x40521c
golang.design/x/clipboard._Cfunc_clipboard_test()
        _cgo_gotypes.go:93 +0x48 fp=0xc00006fde8 sp=0xc00006fdc0 pc=0x498028
golang.design/x/clipboard.initialize()
        /home/$USER/.go/pkg/mod/golang.design/x/clipboard@v0.6.2/clipboard_linux.go:60 +0x1d fp=0xc00006fe30 sp=0xc00006fde8 pc=0x49829d
golang.design/x/clipboard.Init(...)
        /home/$USER/.go/pkg/mod/golang.design/x/clipboard@v0.6.2/clipboard.go:102
main.init.0()
        /home/$USER/.go/pkg/mod/golang.design/x/clipboard@v0.6.2/cmd/gclip/main.go:47 +0x1a fp=0xc00006fe50 sp=0xc00006fe30 pc=0x49903a
runtime.doInit(0x546a00)
        /usr/local/go/src/runtime/proc.go:6222 +0x126 fp=0xc00006ff80 sp=0xc00006fe50 pc=0x4429e6
runtime.main()
        /usr/local/go/src/runtime/proc.go:233 +0x1d3 fp=0xc00006ffe0 sp=0xc00006ff80 pc=0x435a93
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1571 +0x1 fp=0xc00006ffe8 sp=0xc00006ffe0 pc=0x45ebc1

I thought it was an issue with my code, but the gclip reference tool throws the same error, so I must assume that the issue lies with the clipboard library. My /etc/os-release file (unsure if this helps):
VERSION="35 (KDE Plasma)"
ID=fedora
VERSION_ID=35
VERSION_CODENAME=""
PLATFORM_ID="platform:f35"
PRETTY_NAME="Fedora Linux 35 (KDE Plasma)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:35"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f35/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=35
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=35
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
VARIANT="KDE Plasma"
VARIANT_ID=kde```

Thanks for the report. Unfortunately, we do not have a fedora system to test this issue. We would have to rely on the community to tackle this issue.
Contributions are welcome.

this might depend by two things, either P_XOpenDisplay is NULL but doesn't get checked before being used here, or the $DISPLAY environment variable is not set (if the argument of XOpenDisplay is NULL as in this case, $DISPLAY is used instead).

Just did a quick test and if the function pointer is correctly initialized, it shouldn't crash even if $DISPLAY is not set ... so there's a good chance that this SIGSEGV is caused by the function pointer being NULL. I suggest to check for those pointers in the initX11 function and return 1 only if they are all set.

@changkun I confirm this bug is not specifically related to Fedora

@zangarmarsh Thanks for confirming the issue. Could you maybe share more details on how to reproduce the issue? More specifically, which environment, in which steps that you did?

@changkun It occurs in Ubuntu X11. I also tried in wayland and it works correctly.

@zangarmarsh Is the problem occurring on the latest commit?

@changkun I updated it to version 0.6.3 and it works! Thank you.


Allow //ignore comments to suppress static errors

In closing #27218 (I think for Dart 2.9) we changed the behavior of // ignore: comments such that they could no longer suppress "errors" or "warnings" (defined by the language specification); they could only ignore "hints" (like unused_import) or "lints."
The initial idea was that nothing good can come from // ignore-ing a compile-time error, and a user may be confused about what // ignore does if not suppress the error at runtime as well.
The change was ultimately made so that security-motivated lint rules could be written and could not be ignored. The SecurityLintCode class makes use of un-ignorability. Lint rules like unsafe_html use this. This feature means that developers cannot ignore a security-motivated lint rule inline.
The big problem which has arisen since closing #27218 is that the analyzer is not infallible. If the analyzer reports a false positive error diagnostic, the developer can do nothing inline to suppress that erroneous diagnostic. They can bulk ignore the diagnostic code in an analysis_options.yaml file, but not file-by-file. This problem is big because of CI systems. Generally a CI bot/queue/configuration is red or green. If a code repository has one false positive static analysis diagnostic, then the "analyze" bot/queue/configuration is just red.
I think the analyzer team should revisit un-ignorable errors, and likely reduce the concept to just un-ignorable security-motivated lints.

CC @pq @stereotype441
CC  @Hixie @jonahwilliams who ran into this in https://github.com/flutter/flutter/issues/70506 and https://github.com/flutter/flutter/issues/52899

This would fix https://github.com/dart-lang/sdk/issues/42977

I wrote https://github.com/dart-lang/sdk/issues/27218#issuecomment-729279811 and https://github.com/dart-lang/sdk/issues/42977#issuecomment-729280371 in support of allowing errors to be ignored.
I would also make security lints ignorable, FWIW. There's always going to be cases where a lint is wrong. For example, suppose someone wants to write a security tutorial, and wants to analyze their code. They might want to have code that shows the vulnerability, and so they're going to need to ignore the lint.

FWIW: I'm very much in favor of a revert.  There are other ways we can enforce a policy of unignorability internally and this has clearly turned out to be too big a hammer...

There needs to be a way to keep security lints un-ignoreable in google3, but I'm neutral on the other cases presented.

Allowing language errors to be ignored seems counter-productive. Only the analyzer will actually ignore them, the compilers will still refuse to compile the code. Language errors won't have "false positives". If it's an error, it's a compile-time error.
Ignoring language warnings seems fair to me, it's just a warning, it doesn't mean the code is necessarily wrong. But then I don't think there should be any "language mandated warnings" to begin with.

Anything which can have false negatives with no easy workaround (small, local rewrite) should probably be ignorable, but whether something is ignorable should perhaps itself be configurable instead of hard-coded.

Only the analyzer will actually ignore them, the compilers will still refuse to compile the code

This isn't true in practice. For example, people may be analyzing code that has known missing dependencies, e.g. the issue that led me to investigate this earlier today was that the analyzer was complaining about a missing import because the dart:ui it was analyzing against wasn't the dart:ui that I was going to run the code with. Or maybe the code will be preprocessed before compilation, but the analyzer is running against source because it's in the IDE. Or maybe the user is using an experimental compiler that implements a feature the analyzer doesn't know about.

If the program you are analyzing isn't the program you are compiling, or the analyzer and compiler are not using the same language, then obviously any connection between the results is tenuous at best. Those are the assumptions that makes it possible to have an analyzer separate from the compiler.
(And why having libraries with different signatures on different platform makes things hard for users, since the analyzer can only see one version at a time).

I mean, I get that in theory. In practice, there may not be an analyzer that matches the language/compiler in use. Having to abandon analysis entirely, or having to wrap the analyzer in code that post-processes the messages (something Flutter used to do), seems like a high cost compared to just being able to use an existing feature to silence analyzer output on a per-line basis.
This may be a philosophy vs pragmatism discussion. Pragmatic software tends to get more users than philosophically correct software, so I personally think pragmatism should always win, but I understand the attraction of making a philosophically-correct product as well.

the analyzer was complaining about a missing import because the dart:ui it was analyzing against wasn't the dart:ui that I was going to run the code with

For what it's worth, dart:ui was one of the reasons we pushed forward with this solution. Allowing errors to be easily ignored was an easy tool for users to use - it facilitated technical debt building up in the ecosystem. It was too easy to just ignore an error and push forward with a temporary solution, and then for that solution to become permanent. I see having two different public APIs for dart:ui being one of the pieces of technical debt that was allowed to build up.

If we want to allow a:
# analysis_options.yaml
analyzer:
  allow_ignoring_errors: true

... for a select few projects, I have no strong opinion there, but I agree with @devoncarew otherwise.

For what it's worth, dart:ui was one of the reasons we pushed forward with this solution.

I'm 100% behind removing technical debt. Unfortunately, making //ignore not work on errors didn't help at all here because we promptly added an exception for that very code. That's how I ran into this -- I was trying to move where the //ignore was from a package into autogenerated code (which seems like an improvement, if maybe only a minor one), and was unable to because while the package was exempt and could //ignore the problematic code, the autogenerated code was not and could not.

FYI
I recently used LinkedHashMap constructor to make URL cache.
The analyzer warned that I should use Map a literal instead of a constructor.
I new the default Implementation of Map is LinkedHashMap, but I'd like to write self-documenting code.
So, I use // ignore: prefer_collection_literals.

FYI
I recently used LinkedHashMap constructor to make URL cache.
The analyzer warned that I should use Map a literal instead of a constructor.
I new the default Implementation of Map is LinkedHashMap, but I'd like to write self-documenting code.
So, I use // ignore: prefer_collection_literals.

You are not only blocking ignore for errors, or compile issues, but also for security warnings, of totally normal codes (like unsafe_html)!

@bwilkerson has a great suggestion at https://github.com/dart-lang/sdk/issues/45230#issuecomment-792929140, something like an analysis option which says which codes are un-ignorable:
analyzer:
  cannot_ignore:
    - unsafe_html

This supports the original requirement of having _un_ignorable security codes internally at Google. This would change all compile-time errors to be totally ignorable (desired by Flutter and others). In theory, you could add compile_time errors to cannot_ignore but I don't really see anyone pro-actively doing that. Maybe internally at Google.

In theory, you could add compile_time errors to cannot_ignore but I don't really see anyone pro-actively doing that.

If that's a use case we want to support, then I'd propose that we have a way to specify "groups" of diagnostics (perhaps 'compile_time_errors' or even 'security-errors') as being un-ignorable. It isn't reasonable to expect any user to be able to maintain a list of compile time errors given that we typically add several with each new language feature.

I love it. It feels very pragmatic, helpful, and can be discoverable when we get more auto-complete / analysis working in analysis_options.yaml.


a crash in RCTImageLoader caused by nil response

the crash info is below and I find a similar issue at #1850
Thread 45 Crashed:
0   CoreFoundation                      CFRetain + 176
1   CFNetwork                           __CFCachedURLResponse::__CFCachedURLResponse(_CFURLResponse*, __CFData const*, void const*, CFURLCacheStoragePolicy) + 80
2   CFNetwork                           CFCachedURLResponseCreateWithUserInfo + 124
3   CFNetwork                           -[NSCachedURLResponse initWithResponse:data:userInfo:storagePolicy:] + 308
4   imeituan                            __93-[RCTImageLoader loadImageOrDataWithTag:size:scale:resizeMode:progressBlock:completionBlock:]_block_invoke_2178 (RCTImageLoader.m:324)

upgrade react-native 0.20+

Can you post the code which causes this error? Also try updating to the latest react-native version and see if it fixes the issue.

my crash is in 0.19.0
but the problem seems not fixed yet, the code below is copied from development branch
`
dispatch_async(_URLCacheQueue, ^{
    // Cache the response
    // TODO: move URL cache out of RCTImageLoader into its own module
    BOOL isHTTPRequest = [request.URL.scheme hasPrefix:@"http"];
    [strongSelf->_URLCache storeCachedResponse:
     [[NSCachedURLResponse alloc] initWithResponse:response
                                              data:data
                                          userInfo:nil
                                     storagePolicy:isHTTPRequest ? NSURLCacheStorageAllowed: NSURLCacheStorageAllowedInMemoryOnly]
                                    forRequest:request];
    // Process image data
    processResponse(response, data, nil);

    //clean up
    [weakSelf dequeueTasks];

`

Hey, would you mind clarifying a bit?

my crash is in 0.19.0 & but the problem seems not fixed yet

If you could try 0.24, that'd help! (as per @hufeng suggestion)

the code below is copied from development branch

We don't have development branch in react-native, did you mean your local repo?

sorry，the code is copied from master branch.
we have upgraded to 0.23 but the app have not uploaded to appstore.
I'm afraid that the issue will be occured again. so I post this issue here.

any more response?

crash mant times

I've received a number of separate crash reports from this file. Could this be the issue?
RCTImageLoader.m line 458 in __100-RCTImageLoader loadImageOrDataWithURLRequest:size:scale:resizeMode:progressBlock:completionBlock:_block_invoke.242

RCTImageLoader.m line 467 in __100-RCTImageLoader loadImageOrDataWithURLRequest:size:scale:resizeMode:progressBlock:completionBlock:_block_invoke.249

RCTImageLoader.m line 426 in __100-RCTImageLoader loadImageOrDataWithURLRequest:size:scale:resizeMode:progressBlock:completionBlock:_block_invoke.214

We are also experiencing this crash intermittently. Under what exact set of circumstances is unclear.
We've attempted to mitigate using this patch (mentioned higher in this issue): https://github.com/fadils/react-native/commit/de215d119da29c171a83f696eafa591689c8923d but we are still receiving crash reports.
Here is the stack trace:
Crashed: NSOperationQueue 0x175d3ce0 :: NSOperation 0x18888730 (QOS: USER_INITIATED) 0  libobjc.A.dylib                0x2375868a objc_retain + 9 1  Curse                          0x45011b __100-[RCTImageLoader loadImageOrDataWithURLRequest:size:scale:resizeMode:progressBlock:completionBlock:]_block_invoke.216 + 4317467 2  Curse                          0x456555 -[RCTNetworkTask URLRequest:didCompleteWithError:] + 4343125 3  Curse                          0x456dbb __50-[RCTFileRequestHandler sendRequest:withDelegate:]_block_invoke + 4345275 4  Foundation                     0x2479684d __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 8 5  Foundation                     0x246f787f -[NSBlockOperation main] + 146 6  Foundation                     0x246e9f8f -[__NSOperationInternal _start:] + 774 7  Foundation                     0x24798b0d __NSOQSchedule_f + 192 8  libdispatch.dylib              0x23b1de7f _dispatch_queue_drain + 1762 9  libdispatch.dylib              0x23b16e17 _dispatch_queue_invoke + 282 10 libdispatch.dylib              0x23b1f20d _dispatch_root_queue_drain + 400 11 libdispatch.dylib              0x23b1f07b _dispatch_worker_thread3 + 94 12 libsystem_pthread.dylib        0x23cb2e0d _pthread_wqthread + 1024 13 libsystem_pthread.dylib        0x23cb29fc start_wqthread + 8

same issue as @conover

I'm using RN 0.32 and I get these crashes all the time. It's so annoying, and because of this bug I cannot push this app into production. This is so unreliable.

It looks like this issue has become a bunch of related but not identical bugs, and at least some of them are fixed, ie https://github.com/facebook/react-native/pull/1852 . So I'm not sure how to make progress on this, and I think I should close this issue. If someone can reproduce this sort of crash on a small sample app then I do think we could make progress on it and in that case it would be great if people open a new issue with the information needed to reproduce.


Refactor examples

Currently examples are clunky. I would like to refactor them, any thoughts, suggestions, argument against?

Do you mean the argument parsing or is something else clunky?
I think the argument parsing is very useful, but it needs a lot of code.
I don't like to factor it out into a separate module, though, because I think the examples should be self-contained.
What are your thoughts and suggestions?

I don’t mind argument parsing. My concerns are that it is hard to understand what’s going on in the examples. My suggestion is to simply refactor code to make it more readable and unify structure of standalone examples to make structure transparent.

@mgeier As an example, here's how I would refactor play_file.py:
import argparse
import sys
import threading
from contextlib import suppress

import sounddevice
import soundfile

def get_callback(data):
    current_frame = 0

    def callback(outdata, frames, time, status):
        nonlocal current_frame

        if status:
            print(status)

        chunk_size = min(len(data) - current_frame, frames)
        outdata[:chunk_size] = data[current_frame : current_frame + chunk_size]

        if chunk_size < frames:
            outdata[chunk_size:] = 0
            raise sounddevice.CallbackStop

        current_frame += chunk_size

    return callback

def play_long_file(data, samplerate, device):
    event = threading.Event()
    callback = get_callback(data)
    stream = sounddevice.OutputStream(
        samplerate=samplerate,
        device=device,
        channels=data.shape[1],
        callback=callback,
        finished_callback=event.set,
    )
    with stream:
        event.wait()  # Wait until playback is finished

def parse_args(argv):
    parser = argparse.ArgumentParser(add_help=False)
    parser.add_argument(
        "-l",
        "--list-devices",
        action="store_true",
        help="show list of audio devices and exit",
    )
    args, remaining_args = parser.parse_known_args(argv)

    if args.list_devices:
        print(sounddevice.query_devices())
        parser.exit(0)

    parser = argparse.ArgumentParser(
        description=__doc__,
        formatter_class=argparse.RawDescriptionHelpFormatter,
        parents=[parser],
    )
    parser.add_argument(
        "filename", metavar="FILENAME", help="audio file to be played back"
    )

    def int_or_str(text):
        """Helper function for argument parsing."""
        try:
            return int(text)
        except ValueError:
            return text

    parser.add_argument(
        "-d",
        "--device",
        type=int_or_str,
        help="output device (numeric ID or substring)",
    )

    return parser.parse_args(remaining_args)

def main(argv):
    args = parse_args(argv)
    data, samplerate = soundfile.read(file=args.filename, always_2d=True)

    with suppress(KeyboardInterrupt):
        play_long_file(data=data, samplerate=samplerate, device=args.device)

    return 0

if __name__ == "__main__":
    raise SystemExit(main(sys.argv[1:]))

I think that is actually clunkier than before.
Now I have to jump around when reading the code.
I have the feeling that having the argument parsing in the middle makes things worse, because I always have to jump over it when figuring out how stuff works.
Regarding nonlocal vs global: I would in general prefer nonlocal but in this case it's just not worth moving into a function for that. Also, the usage of get_callback() seems a bit clunky to me. Limiting the scope of current_frame is a good idea, but in this case it's not worth it IMHO.
The suppress(KeyboardInterrupt) makes the code a bit simpler, but I think it's better to catch all exceptions to avoid displaying a traceback, which might intimidate new users (for example when an invalid file name is chosen).
I don't like using if __name__ == "__main__" just for the sake of it, this seems like cargo cult programming. There are cases where it makes sense (e.g. https://github.com/spatialaudio/python-sounddevice/blob/master/examples/asyncio_coroutines.py and https://github.com/spatialaudio/python-sounddevice/blob/master/examples/asyncio_generators.py), but here we have a simple script that isn't supposed to be used as a Python module.
The SystemExit thing seems a bit out of place, since main() only ever returns 0. Also, I normally prefer sys.exit(), but TBH I have forgotten the reason why.
Passing sys.argv[1:] to main() is an antipattern (that is unfortunately used a lot). You should just call main() with empty arguments, and define the function with a default argument argv=None, which you simply can pass on. There is no need to mention sys.argv at all (in this case; if you need it you can check if argv is None and then get sys.argv[1:] inside the function). But just to make it clear: in this case I wouldn't use a main() function at all.
The length of the code isn't the most important thing, but it's still worth mentioning that your refactored version is longer than the original version, even though it doesn't contain the help text.

The idea behind this issue is to make understanding example code easier. At first, when I encountered async examples I got confused. That’s why I proposed changes. I don’t mind getting rid of production noise (😃) like suppress or SystemExit to avoid confusion among beginners, but code is much clearer when we split it to functions.

make understanding example code easier

I'm very much for that.
But there might be individual differences in what people find "easy".

code is much clearer when we split it to functions.

I don't agree.
I think it's harder to read, because now I have to jump around all the time instead of seeing a (more or less) linear sequence of statements.

At first, when I encountered async examples I got confused.

I don't understand why you got confused by the async example, where the code is actually in functions, as you seem to prefer.
But in that case there is a good reason to put it into functions: they simply have to be functions, otherwise we couldn't use async.
And another reason: some of those functions are actually useful when the example is imported as a module. That's not the case in play_file.py.

I don’t mind getting rid of production noise (smiley) like suppress or SystemExit to avoid confusion among beginners

My comments above are not at all limited to beginners (except where explicitly noted), you should also (and especially!) consider them for production code.

@mgeier As I can see, changes I suggest is matter of preference. Since you don’t agree with my points, and that’s okay :) I will close the issue.


added UMD support

This wrapper enables usage of webgl-2d for the 3 most common dependency managers (requirejs/amd, commonjs/node, browser globals.)

:+1:


bats-core is looking for a bats-mock to adopt, why not yours?

bats-core has pulled in the other Bats helper code from the other contributors and adopted it into their organization on GitHub. Specifically, bats-support, bats-assert, and bats-file.
In one of the Wiki or README pages somewhere, I saw where they were contemplating pulling in bats-mock, but the repos they were looking at were what you're forked (and diverged) from and something else equally as unsupported.
Might I suggest you approach them and donate this more supported, more useful version of bats-mock to the bats-core organization?

References

https://github.com/search?q=repo%3Abats-core%2Fbats-core+"bats-mock"&type=code

https://github.com/bats-core/bats-core/issues/147
https://github.com/bats-core/bats-core/blob/e823c0bfac2838f8936ebf58e7a021ec13cda438/docs/source/writing-tests.md?plain=1#L611


Unnecessary dependencies

Is the commons-io dependency used for anything in the core and compiler modules?
I see it in the pom but find no usages of it. If possible the dependencies should be minimised for the result jars because it affects the cold-start times of the functions.
Also are the commons-* dependencies really necessary?

Fixed in 472f0e31b


Updated address.xml file with postal codes

address.xml file was missing postal code placeholder without that program will crash.

Great, do try to make Postal Code attribute optional if possible.


Stop moving graph when adding new equation

A team member will update this issue with more details soon.

This is your friendly Microsoft Issue Bot. I created this issue automatically as requested by a team member.


docs: new tutorial "generate code"

Description
This is the second part of the streetlights tutorial which describes how to "generate code" from the  specification document.
Related issue(s)
Fixes #1010

Hello @alequetzalli and @derberg , I would love your feedbacks.
Thank you!

@derberg Thank you for all the suggested changes. I just implemented them.
Kindly have a look.

pingy pongo @derberg 😬😬😬

Hey @Annysah, please review and make sure you resolve all comments in this PR when you address the feedback. It is confusing as it currently stands. 😄

Hey @Annysah, please review and make sure you resolve all comments in this PR when you address the feedback. It is confusing as it currently stands. 😄

Noted Alejandra!

Hi @alequetzalli & @derberg,
I just updated the requested changes, kindly help review.

so I need to add the new CLI installation info block here @Annysah, it's just that I can't do that until my CLI PR https://github.com/asyncapi/website/pull/1139 is merged... stay tuned and I will add it asap 😄✌🏽

Added some comments. Also, I've an advice, if you can add some indentations here.

Like the content inside that header should have an indentation of a tab in the left, so that it looks like the content resides in the header section.

sorry, what? 😄 I don’t understand the indentations feedback at all 😬

Also, the CLI command here is not rendering properly, as per the backtick used in the code.

oh nooooo ... groans* ... arrghhhh
better open a PR for the fragments file to see how to fix that >_>

opened a bug issue to look into it @akshatnema ✌🏽
https://github.com/asyncapi/website/issues/1308

also there are errors with formatting, look at https://deploy-preview-1025--asyncapi-website.netlify.app/docs/tutorials/generate-code
you see, the code snippet is "disconnected" from the number

oh yikes, I missed that! fixing O_O

ooookay so @derberg my findings...

the formatting differences you found are because some code blocks used <CodeBlock language="bash"> (those are the ones that you felt "looked right" and others used ``` (those are the ones that you felt had formatting spacing issues)
I tried to fix it and have them all be <CodeBlock language="bash"> , but now I am getting deployment errors and netlify won't generate the latest preview
yay -__- what do I do now?

yo @derberg, so I accepted your commit suggestion fix but it didn't fix the problem :(   cry
https://deploy-preview-1025--asyncapi-website.netlify.app/docs/tutorials/generate-code

/rtm


Rule searching by keywords

!rule search
It would look through existing rules list and pull up rules which contain mentioned keyword.

Could you assign it to me?

Sure! @A-Annan


Out of $$$ for CI

Since November, Cirrus has been limiting OSS projects' free compute time.  Nix just hit that limit.  So we need to either raise some cash, reduce our activity, or economize our CI pipeline.  Here are some ideas:

Maybe reduce the QEMU builds?
Set up some precommit scripting to take care of stuff like rustfmt?
Move the OSX/arm64 and Linux/x86_64 builds into Github Pipelines, leaving FreeBSD/x86_64 and Linux/arm64 on Cirrus?
  They don't work exactly like bors.  With bors, batching PRs together could reduce your CI load.  With github merge queues, it seems to increase it.
Merge #2149 .  By reducing merge conflicts, that should also reduce our CI builds.

https://cirrus-ci.org/blog/2023/07/17/limiting-free-usage-of-cirrus-ci/
https://cirrus-ci.com/settings/github/nix-rust
Originally posted by @asomers in https://github.com/nix-rust/nix/issues/2155#issuecomment-1750828498

First of all, I am familiar with GHA and would like to offer assistance for migration.

Here are my thoughts, from my perspective, which may be helpful for your decision:

Set up some precommit scripting to take care of stuff like rustfmt?

Jobs like rustfmt are simple and cheap but required, we can migrate them to GHA.

Move the OSX/arm64 and Linux/x86_64 builds into Github Pipelines

GHA's free plan doesn't provide OSX/arm64 support, we may need to pay for macos-latest-xlarge.
Some projects are using qemu for OSX/arm64 with free plan: SLOW, but works.

leaving FreeBSD/x86_64 and Linux/arm64 on Cirrus?

Maintaining workflows across different platforms can be challenging, so it's better for us to stick to the same one. I suggest maintaining a self-hosted FreeBSD runner instead. It may also be easier for us to find a sponsor of this runner!

First of all, I am familiar with GHA and would like to offer assistance for migration.

Set up some precommit scripting to take care of stuff like rustfmt?

Jobs like rustfmt are simple and cheap but required, we can migrate them to GHA. (I'm willing to help for this)

We could move that one into GHA.  But even better would be to force contributors to run it before opening a PR.  That's what saltstack does, although their setup is so fragile that I had to disable it.

Move the OSX/arm64 and Linux/x86_64 builds into Github Pipelines

GHA's free plan doesn't provide OSX/arm64 support, we may need to pay for macos-latest-xlarge.

Is GHA's default OSX runner still on x86_64?  Weird.  Cirrus discontinued that platform and replaced it with aarch64.  I thought that Apple was pushing people to move in that direction.  For our purposes, either would work.  Nix contains plenty of OSX-specific code, but none is specific to a certain architecture on OSX.

leaving FreeBSD/x86_64 and Linux/arm64 on Cirrus?

Maintaining workflows across different platforms can be challenging, so it's better for us to stick to the same one. I suggest maintaining a self-hosted FreeBSD runner instead. It may also be easier for us to find a sponsor of this runner!

Oh, I don't want to do that.  Back before #1003 we did use a self-hosted FreeBSD runner.  But it was a lot more work.  And much of the configuration didn't live within the Nix repository, so it was hard to manage.  Plus, it wasn't free, either, costing about $20/month even for a small VM.
I think that migrating some of the builds into GHA would likely have the biggest impact.  It would create some annoyance in that we'd have to manage two CI files, but that's doable.  Other projects do it, like https://github.com/tokio-rs/mio .

#2163 moves format check to a pre-commit script

Just gave a look at our CI configuration file, currently, we have 10 tasks:

FreeBSD Amd64/i386(cargo test)
Since GitHub Action does not provide FreeBSD instances, leave it on Cirrus.

There are some folks telling me that we can run FreeBSD test on GHA under macOS instances, haven't given it an investigation.

macOS aarch64(cargo test)

Nix contains plenty of OSX-specific code, but none is specific to a certain architecture on OSX.

Since we don't have arch-specific code on macOS, move it to GHA
From my experience, macOS instances on GHA can be really slow, we can consider move it back if this happens in the future.

Use cross(QEMU) to run cross test for the following targets on x86_64-unknown-linux-gnu

docker or podman is needed

arm-unknown-linux-gnueabi
armv7-unknown-linux-gnueabihf
i686-unknown-linux-gnu
i686-unknown-linux-musl
mips-unknown-linux-gnu
mips64-unknown-linux-gnuabi64
mips64el-unknown-linux-gnuabi64
mipsel-unknown-linux-gnu
powerpc64le-unknown-linux-gnu

Not sure if GH provides docker (or podman), friendly ping @Xuanwo, is this something GH can do?

Native Linux builds(cargo test)

aarch64-unknown-linux-gnu
x86_64-unknown-linux-gnu
x86_64-unknown-linux-musl

For the x86_64 parts, move them to  GHA, leaving aarch64 target in Cirrus

Latest Rust stable toolchain (cargo test)
Runs on x86_64-unknown-linux-gnu, move it to GHA

This task, seems to be the ONLY one task that runs with the toolchain other than our MSRV

cross-compiling(cargo check)
Run cargo check for the following targets on x86_64-unknown-linux-gnu

aarch64-linux-android
arm-linux-androideabi
armv7-linux-androideabi
i686-linux-android
x86_64-linux-android
arm-unknown-linux-musleabi
x86_64-unknown-fuchsia(tier3-nix, tier2-rust)
x86_64-unknown-illumos
aarch64-apple-ios
powerpc64-unknown-linux-gnu(tier3-nix, tier1-rust)
s390x-unknown-linux-gnu
x86_64-unknown-linux-gnux32(tier3-nix, tier2-rust)
x86_64-unknown-netbsd

Since the host is x86_64-unknown-linux-gnu, we can move it to GHA

Redox(cargo +nightly check)

Tier3
Run cargo +nightly check on x86_64-unknown-linux-gnu for the following targets

DragonFly BSD x86_64
OpenBSD x86_64
armv7-unknown-linux-uclibceabihf
Haiku x86_64

Host is x86_64-unknown-linux-gnu, move it to GHA

Minver
$ cargo update -Zminimal-versions
$ cargo check

runs on x86_64-unknown-linux-gnu, move it to GHA

Rust formatter
Move it to a pre-commit script

Most of them are running on x86_64-unknown-linux-gnu and thus can be migrated to GHA, our migration shouldn't be a problem :)

Some updates on this:
Our Cirrus configuration file uses Yaml Anchors to reuse the code so that duplicate code blocks can be avoided, however, GitHub Action does not support this feature. It seems that the most recommended way to reuse code would be to define your own actions.
But this is the GitHub way, Cirrus does not use it, if we go with this approach, then we have to manage two configurations, which increases our maintenance overhead.

#2166, our first try with GHA


NullPointerException in makeUpdatedSchema

Using version 0.0.7 I get:
Caused by: java.lang.NullPointerException                                                                                at com.redhat.insights.expandjsonsmt.ExpandJSON.makeUpdatedSchema(ExpandJSON.java:193)
        at com.redhat.insights.expandjsonsmt.ExpandJSON.makeUpdatedSchema(ExpandJSON.java:199)
        at com.redhat.insights.expandjsonsmt.ExpandJSON.applyWithSchema(ExpandJSON.java:91)                                                                                at com.redhat.insights.expandjsonsmt.ExpandJSON.apply(ExpandJSON.java:75)
        at com.redhat.insights.expandjsonsmt.ExpandJSON$Value.apply(ExpandJSON.java:222)

with config
    "transforms"                        : "expand",
    "transforms.expand.type"            : "com.redhat.insights.expandjsonsmt.ExpandJSON$Value",
    "transforms.expand.sourceFields"    : "text"

TransformationChain:
[2021-01-18 13:59:35,357] TRACE Applying transformation com.redhat.insights.expandjsonsmt.ExpandJSON$Value to SourceRecord{sourcePartition={}, sourceOffset={}} ConnectRecord{topic='networkrail_TRAIN_MVT_scrap', kafkaPartition=null, key=Struct{messageID=ID:opendata-backend.rockshore.net-39107-1609974717016-11:1:6:15:12375}, keySchema=Schema{io.confluent.connect.jms.Key:STRUCT}, value=Struct{messageID=ID:opendata-backend.rockshore.net-39107-1609974717016-11:1:6:15:12375,messageType=text,timestamp=1610978375306,deliveryMode=2,destination=Struct{destinationType=topic,name=TRAIN_MVT_EA_TOC},redelivered=false,expiration=1610978675306,priority=4,properties={},text=[{"header":{"msg_type":"0003","source_dev_id":"VDM0","user_id":"#QGP0170","original_data_source":"SDR","msg_queue_timestamp":"1610978368000","source_system_id":"TRUST"},"body":{"event_type":"ARRIVAL","gbtt_timestamp":"1610977860000","original_loc_stanox":"","planned_timestamp":"1610977740000","timetable_variation":"2","original_loc_timestamp":"","current_train_id":"","delay_monitoring_point":"true","next_report_run_time":"","reporting_stanox":"16201","actual_timestamp":"1610977620000","correction_ind":"false","event_source":"MANUAL","train_file_address":null,"platform":"","division_code":"20","train_terminated":"true","train_id":"161T33MM18","offroute_ind":"false","variation_status":"EARLY","train_service_code":"21732000","toc_id":"20","loc_stanox":"16201","auto_expected":"false","direction_ind":"","route":"0","planned_event_type":"DESTINATION","next_report_stanox":"","line_ind":""}},{"header":{"msg_type":"0003","source_dev_id":"","user_id":"","original_data_source":"SMART","msg_queue_timestamp":"1610978368000","source_system_id":"TRUST"},"body":{"event_type":"DEPARTURE","gbtt_timestamp":"","original_loc_stanox":"","planned_timestamp":"1610978400000","timetable_variation":"1","original_loc_timestamp":"","current_train_id":"","delay_monitoring_point":"true","next_report_run_time":"5","reporting_stanox":"16460","actual_timestamp":"1610978340000","correction_ind":"false","event_source":"AUTOMATIC","train_file_address":null,"platform":"","division_code":"20","train_terminated":"false","train_id":"361P25MJ18","offroute_ind":"false","variation_status":"EARLY","train_service_code":"21734000","toc_id":"20","loc_stanox":"16460","auto_expected":"true","direction_ind":"DOWN","route":"1","planned_event_type":"DEPARTURE","next_report_stanox":"16416","line_ind":"L"}},{"header":{"msg_type":"0003","source_dev_id":"VCJM","user_id":"#QGE7010","original_data_source":"SDR","msg_queue_timestamp":"1610978373000","source_system_id":"TRUST"},"body":{"event_type":"ARRIVAL","gbtt_timestamp":"1610978220000","original_loc_stanox":"","planned_timestamp":"1610978220000","timetable_variation":"0","original_loc_timestamp":"","current_train_id":"","delay_monitoring_point":"true","next_report_run_time":"2","reporting_stanox":"16232","actual_timestamp":"1610978220000","correction_ind":"false","event_source":"MANUAL","train_file_address":null,"platform":"","division_code":"20","train_terminated":"false","train_id":"161T68MN18","offroute_ind":"false","variation_status":"ON TIME","train_service_code":"21732000","toc_id":"20","loc_stanox":"16232","auto_expected":"false","direction_ind":"","route":"0","planned_event_type":"ARRIVAL","next_report_stanox":"16233","line_ind":""}},{"header":{"msg_type":"0003","source_dev_id":"VCJM","user_id":"#QGE7010","original_data_source":"SDR","msg_queue_timestamp":"1610978373000","source_system_id":"TRUST"},"body":{"event_type":"DEPARTURE","gbtt_timestamp":"1610978340000","original_loc_stanox":"","planned_timestamp":"1610978340000","timetable_variation":"0","original_loc_timestamp":"","current_train_id":"","delay_monitoring_point":"true","next_report_run_time":"8","reporting_stanox":"16232","actual_timestamp":"1610978340000","correction_ind":"false","event_source":"MANUAL","train_file_address":null,"platform":"","division_code":"20","train_terminated":"false","train_id":"161T68MN18","offroute_ind":"false","variation_status":"ON TIME","train_service_code":"21732000","toc_id":"20","loc_stanox":"16232","auto_expected":"false","direction_ind":"","route":"","planned_event_type":"DEPARTURE","next_report_stanox":"16233","line_ind":""}}]}, valueSchema=Schema{io.confluent.connect.jms.Value:STRUCT}, timestamp=1610978375306, headers=ConnectHeaders(headers=)} (org.apache.kafka.connect.runtime.TransformationChain)

📎 Debug SMT output: com.github.jcustenborder.kafka.connect.transform.common.Debug.txt

@Josca any suggestions on how to resolve this error? Thanks :)

@Josca any suggestions on how to resolve this error? Thanks :)

@maorfr It seems the source field is missing in your input data. Maybe only in one row.

@maorfr It seems the source field is missing in your input data. Maybe only in one row.

Ah, that might make sense, given the data. Do you think condition could be handled by the SMT?

Ah, that might make sense, given the data. Do you think condition could be handled by the SMT?

@rmoff definitelly could be. But someone would have to implement that :smile: . Feel free to create PR! Maybe we could add defaultValue for that case?

@rmoff definitelly could be. But someone would have to implement that :smile: . Feel free to create PR! Maybe we could add defaultValue for that case?

Feel free to create PR!

😁  I would love to but I'm not a Java coder. Shall we leave this issue open for now for others to help with if they can?

Feel free to create PR!

😁  I would love to but I'm not a Java coder. Shall we leave this issue open for now for others to help with if they can?

@rmoff sure, keep it open if you want

@rmoff sure, keep it open if you want

I'm just revisiting this now. I had been using this on a source connector, and getting the error reported above. If I stream that data into a topic and then use ExpandJSON in a sink connector I get
Schemaless records not supported

This makes sense with the data I'm working on. So could the NPE seen above be caused by a schemaless data in a source connector?