Error reported as Info

I was testing svlangserver with Emacs and lsp-mode and saw an error that was reported as an Info. I'm not sure if it's a problem with lsp-mode for Emacs, or svlangserver. The error/info occurs after restarting Emacs if I delete the .emacs directory with Emacs running. But the server still seem to start up fine and linting works too.
Command "/usr/bin/svlangserver" is present on the path.
Command "/usr/bin/svlangserver" is present on the path.
Found the following clients for /home/cbs/etc/example_code/systemverilog/copy/common_pkg.sv: (server-id svlangserver, priority -1)
The following clients were selected based on priority: (server-id svlangserver, priority -1)
This server does not support foldingRangeProvider
INFO: INFO: settings[systemverilog.includeIndexing] = copy/**/*.{v,vh,sv,svh}
INFO: INFO: settings[systemverilog.excludeIndexing] = mytest/**/*.{v,vh,sv,svh},copy/mytest/**/*.{v,vh,sv,svh}
INFO: INFO: settings[systemverilog.launchConfiguration] = /usr/bin/verilator -sv --lint-only -Wall
INFO: INFO: settings[systemverilog.defines] =
INFO: INFO: settings[systemverilog.lintOnUnsaved] = true
INFO: INFO: settings[systemverilog.formatCommand] = /usr/bin/verible-verilog-format
INFO: INFO: settings[systemverilog.disableCompletionProvider] = false
INFO: INFO: settings[systemverilog.disableHoverProvider] = false
INFO: INFO: settings[systemverilog.disableSignatureHelpProvider] = false
INFO: INFO: settings[systemverilog.disableLinting] = false
INFO: INFO: Indexing 4 files ...
INFO: Error: ENOENT: no such file or directory, open '/home/cbs/etc/example_code/systemverilog/.emacs/svlangserver/index.json'

INFO: INFO: Done indexing 4 files!!!
INFO: INFO: Took<PHONE_NUMBER>0021124 milliseconds

Emacs: 28.0.50
lsp-mode: 20210612.1839
svlangserver: 0.3.4

Thanks for reporting this.
Do you see this only the first time the language server is used, or on repeated invocations? I left this in to indicate that the cache could not be loaded as there is no cache file, hence it is an INFO message. But that should happen only on the first invocation. Post that the cache file should get created and this error should disappear.

The info/error occurs only the first time when the .emacs directory does not exist. After the language server starts, .emacs is created again and I don't see the message next time.
So it sounds like it's intended behavior but I just wanted to check if it was a bug somewhere. I'm seeing a lot of other cryptic errors for larger projects so I'm trying to figure out if they are a result of other errors.

What kind of errors?
If the defines aren't correctly provided via settings, I have seen the parser complain with errors.

It is for example errors like these:
ERROR: Parsing failed for token `uvm_component_param_utils in file /home/cbs/etc/example_code/systemverilog/environment_packages/vip_axi4_env_pkg/src/vip_axi4_environment.svh

ERROR: TypeError: Cannot read property 'start' of undefined

ERROR: TypeError: Cannot read property 'start' of undefined
ERROR: TypeError: Cannot read property 'start' of undefined

ERROR: TypeError: Cannot read property '0' of null
ERROR: TypeError: Cannot read property '0' of null
ERROR: TypeError: Cannot read property '0' of null

The first one about uvm_component_param_utils is trivial since the macro is not defined anywhere in the source files, but the following does not seem to have anything to do with that file. So I'm thinking they might be a consequence of earlier errors and I should just start fixing the errors reported first.
For a larger project I get the errors in the lsp-log buffer you see below. The stacktrace at the end is probably just a result of trying to parse too much source code and I can probably exclude some unused code. The other errors about failed tokens are the ones I referred to as cryptic errors but I just realized they might come from trying to parse encrypted .sv files. I can't detect that from the filename so I'll have to find some other way to exclude them.
ERROR: Parsing failed for token `� in file /mnt/storage/projects/intel/iofs-clean/bbs/design/hbm/stratix10/pac_lc/ip/hbm_bot_ctrl_ed/qii/ip/ed_synth/ed_synth_hbm_bot_ctrl_example_design/altera_abstract_uib_191/synth/altera_hbm_arch_nd_hbmc.sv

ERROR: Parsing failed for token `f;�Qkw�Q�ugx��j]����h�w]�U_P�j^���1��Q�&m[HN�(B�E��uaֵw�k�/��Yc��V��A0*9C@Ĩ�V ���3L�$���Y�q*��L���3GFo_YIZ���C�!��g�[���2�o���S&�y�j�4)^%ּ�A������[d�.��5�Q��- in file /mnt/storage/projects/intel/iofs-clean/bbs/design/hbm/stratix10/pac_lc/ip/hbm_bot_ctrl_ed/qii/ip/ed_synth/ed_synth_hbm_bot_ctrl_example_design/altera_abstract_uib_191/synth/altera_hbm_arch_nd_hbmc.sv

ERROR: Parsing failed for token `�� in file /mnt/storage/projects/intel/iofs-clean/bbs/design/hbm/stratix10/pac_lc/ip/hbm_bot_ctrl_ed/qii/ip/ed_synth/ed_synth_hbm_bot_ctrl_example_design/altera_abstract_uib_191/synth/altera_hbm_arch_nd_hbmc.sv

ERROR: Parsing failed for token ` in file /mnt/storage/projects/intel/iofs-clean/bbs/design/hbm/stratix10/pac_lc/ip/hbm_bot_ctrl_ed/qii/ip/ed_synth/ed_synth_hbm_bot_ctrl_example_design/altera_abstract_uib_191/synth/altera_hbm_arch_nd_hbmc.sv

ERROR: Parsing failed for token `KQ in file /mnt/storage/projects/intel/iofs-clean/bbs/design/hbm/stratix10/pac_lc/ip/hbm_bot_ctrl_ed/qii/ip/ed_synth/ed_synth_hbm_bot_ctrl_example_design/altera_abstract_uib_191/synth/altera_hbm_arch_nd_hbmc.sv

ERROR: Parsing failed for token `O in file /mnt/storage/projects/intel/iofs-clean/bbs/design/hbm/stratix10/pac_lc/ip/hbm_bot_ctrl_ed/qii/ip/ed_synth/ed_synth_hbm_bot_ctrl_example_design/altera_abstract_uib_191/synth/altera_hbm_arch_nd_hbmc.sv

ERROR: Parsing failed for token `dj in file /mnt/storage/projects/intel/iofs-clean/bbs/design/hbm/stratix10/pac_lc/ip/hbm_bot_ctrl_ed/qii/ip/ed_synth/ed_synth_hbm_bot_ctrl_example_design/altera_abstract_uib_191/synth/altera_hbm_arch_nd_hbmc.sv

ERROR: Parsing failed for token `E in file /mnt/storage/projects/intel/iofs-clean/bbs/design/hbm/stratix10/pac_lc/ip/hbm_bot_ctrl_ed/qii/ip/ed_synth/ed_synth_hbm_bot_ctrl_example_design/altera_abstract_uib_191/synth/altera_hbm_arch_nd_hbmc.sv

ERROR: Parsing failed for token `�� in file /mnt/storage/projects/intel/iofs-clean/bbs/design/hbm/stratix10/pac_lc/ip/hbm_bot_ctrl_ed/qii/ip/ed_synth/ed_synth_hbm_bot_ctrl_example_design/altera_abstract_uib_191/synth/altera_hbm_arch_nd_hbmc.sv

<--- Last few GCs --->

[31285:0x55ead81c5390]    61921 ms: Mark-sweep 1595.8 (1682.3) -> 1595.7 (1685.8) MB, 454.1 / 0.0 ms  allocation failure GC in old space requested
[31285:0x55ead81c5390]    62400 ms: Mark-sweep 1595.7 (1685.8) -> 1595.7 (1647.8) MB, 478.7 / 0.0 ms  last resort GC in old space requested
[31285:0x55ead81c5390]    62870 ms: Mark-sweep 1595.7 (1647.8) -> 1595.7 (1647.8) MB, 470.2 / 0.0 ms  last resort GC in old space requested

<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0x5b8bf518fe1 <JSObject>
    1: tokenize [/usr/local/lib/node_modules/@imc-trading/svlangserver/lib/grammar_engine.js:~199] [pc=0x9c3a300e029](this=0x2994cd429f39 <GrammarEngine map = 0x2b9e9b20b3c1>,text=0x2b3542382201 <Very long string[1147553]>,initScopeStack=0x5b8bf502241 <undefined>)
    2: arguments adaptor frame: 1->2
    3: tokenize [/usr/local/lib/node_modules/@imc-trading/svlangserver/lib/svparser.js:~336] [pc=...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

 1:
node::Abort() [/usr/bin/node]
 2:
0x55ead6044011 [/usr/bin/node]
 3:
v8::Utils::ReportOOMFailure(char const*, bool) [/usr/bin/node]
 4:
v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [/usr/bin/node]
 5:
v8::internal::Factory::NewUninitializedFixedArray(int) [/usr/bin/node]
 6:
0x55ead5c30add [/usr/bin/node]
 7:
v8::internal::Runtime_GrowArrayElements(int, v8::internal::Object**, v8::internal::Isolate*) [/usr/bin/node]
 8: 0x9c3a30040bd

The language server definitely has trouble with verification constructs as mentioned in the README. I plan to re-write the parser to make it robust, but until then, I would recommend not indexing verification files.

Yes and Verilator doesn't support UVM yet anyway so I'll exclude verification files, but the errors above are from a synthesizable example design so for now I'll also exclude the parts of the design that I know have encrypted files.
But I think I got my questions answers so I'll close this issue again.


Class or Interface for Output Metadata

Is there a class or interface that describes this metadata? I want to reading this output file programatically from azure storage and parsing the string contents to an object. It would be helpful if there were already a defined type I could use when parsing the file. Otherwise, I'll have to create the interface myself.

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

ID: 98e0d77a-515e-4521-86b0-7cefbec66218
Version Independent ID: 47290aa0-6748-9e52-afbd-deed0f4c5c31
Content: Azure Media Services output metadata schema - Azure Media Services v3
Content Source: articles/media-services/latest/output-metadata-schema.md
Service: media-services
Sub-service: rest-v3
GitHub Login: @Juliako
Microsoft Alias: juliako

Hi @haydenbr, thank you for the detailed question. We are currently investigating and will update you when we have accurate information to provide.

Hello @haydenbr, thank you so much for your patience! As of right now, there isn't a class or interface that describes this metadata so you do have to create an interface on your own. I have shared this valuable feedback with the engineering team and they are now aware of this limitation.
We will close this out for now but if you feel you need more information please just let us know. Thanks again for raising this great feedback!


Check version

Enough to close https://github.com/googlei18n/glyphsLib/issues/64?

Sgtm. Thanks.

Maybe it would be a good idea to test that version number is at least 895. That marks the stable version of 2.3. Before that, there where some problems with auto alignment.

But if you know that the file came from a stable 2.2, it should be fine. Only that there is no easy way to fine out.


PodSecurity Violation

Working on a module for trust-manager I've hit a possible nice to have, I installed my cert-manager module which sets up a restricted PodSecurity on the cert-manager namespace, I then install trust-manager but get a warning from timoni about violating the PodSecurity:
9:33AM INF would violate PodSecurity "restricted:latest": host namespaces (hostNetwork=true), hostPort (container "trust-manager" uses hostPorts 6443, 9402) logger=KubeAPIWarningLogger

Timoni continues on with the apply, would it be better to kill the apply at this point rather then have it eventually timeout?

Timoni can't break the execution on warning messages, PodSecurity does not fail the apply like a validation webhook would do, it just issues a message. Warning messages are issued by the API for all sorts of situations, for example deprecated fields, so stopping the apply would be a mistake,

Ah so it'd need to parse the message and that is definitely not something we'd want to do. Grand.

We can't parse the warning, these get logged by the underling client-go logger, these are not errors retuned by the SSA operations.


DNS-01 challenges for multi-domain cert

It would be nice if instead of processing domains one at a time it would hand the txt challenge for ALL the domains to me at once, then I could create all the txt records at once, and it would plow through them all.  As it is it is taking about an hour for each to propagate, so my 9 domain cert is going to take all day.  That would save me a LOT of time.

Imagine when u have 2500 domains, 5 dns servers and most of the domains
hosted via on private cdn;s or geo located servers
.    https://eXtremeSHOK.com     .
On 20-May-16 8:15 PM, captainwasabi wrote:

It would be nice if instead of processing domains one at a time it
would hand the txt challenge for ALL the domains to me at once, then I
could create all the txt records at once, and it would plow through
them all. As it is it is taking about an hour for each to propagate,
so my 9 domain cert is going to take all day. That would save me a LOT
of time.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/lukas2511/letsencrypt.sh/issues/203

Imagine when u have 2500 domains, 5 dns servers and most of the domains
hosted via on private cdn;s or geo located servers.
.    https://eXtremeSHOK.com     .
On 20-May-16 8:15 PM, captainwasabi wrote:

It would be nice if instead of processing domains one at a time it
would hand the txt challenge for ALL the domains to me at once, then I
could create all the txt records at once, and it would plow through
them all. As it is it is taking about an hour for each to propagate,
so my 9 domain cert is going to take all day. That would save me a LOT
of time.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/lukas2511/letsencrypt.sh/issues/203

I wouldn't do that with dns-01 then unless I could write an automatic hook script to add it to the bind server.  I'm currently only having to go through this because I'm currently using a wildcard cert that it won't use.  It would be faster if network solutions (I hates em but it ain't my call) propagated faster.  "A" and CNAME records don't seem to take this long to get out there.

@captainwasabi @extremeshok Take a look at: https://github.com/lukas2511/letsencrypt.sh/blob/master/docs/hook_chain.md .  That should allow you to deploy all the challenges at once, instead of one at a time.

AHH! trying it

hmm, when my hook prints the deploy challenge it's just showing the first domain listed in domains.txt
domain.txt is like:
domain.com cloud.domain.com mail.domain.com smtp.domain.com imap.domain.com ....
Am I doing something wrong?
This is my config.sh
CA="https://acme-v01.api.letsencrypt.org/directory"
CHALLENGETYPE="dns-01"
HOOK="./hooks/hook"
HOOK_CHAIN="yes"
<EMAIL_ADDRESS>My hook script:
#!/bin/bash
if [ "$1" == "deploy_challenge" ] ; then
echo $1
echo $2
echo $4
echo '-----'
fi

Please read https://github.com/lukas2511/letsencrypt.sh/blob/master/docs/hook_chain.md again. X*Y paramters are provided to your hook script if you use HOOK_CHAIN
Add echo "$@" to your script and you will see all parameters.
HTH!

ah, duh.  Thanks!

sigh. I don't get it.  Well, I got all we're talking about here. But while I wait for the TTL to time out again I wrote a script to watch the dns entries.  Most of them are rock solid but one of them returns "Not Found" almost half the time. Tried to go forward anyway and of course it failed on that one (which was the last one).  So I'm trying one more time. It's very weird as the TTL times out, the challenge txt strings start bouncing between the two values rather than just flipping to the new one like I'd expect.
Does anyone know what dns server the letsencrypt server is using to check? I'd prefer to check against that server if possible and only go forward once they are stable there.
I need this to work because not all the services I want to use this cert with use https :(

See: https://community.letsencrypt.org/t/dns-challenge-is-in-staging/8322/18
If the responses are "bouncing" between values, there are most likely multiple servers involved which are not (yet) in sync. If you can access all servers directly you have to check all servers with your script. If the servers are behind some kind of load balancer you are out of luck. You can only guess how long it takes until all servers have the new information.

Yup, using google's dns. gonna change my script to use the dig command.
Thanks again!

I'm also having intermittent failure with DNS-01 and Cloudflare DNS. I am using the hook:
https://github.com/RoliSoft/LetsEncrypt-CloudFlare-Hook
which doesn't support HOOK_CHAIN="yes" so it deploys the challenges one by one and waits for each challenge to propagate before returning to letsencrypt.sh. Problem is that the TXT record occasionally has not propagated to the LE server when the letsencrypt.sh calls to do the challenge. The domain I am trying to generate the certs for has 69 alt names so I have been unable to get completely through all 69 challenges before the script encounters a problem.
The best solution would be for the hook.sh script to support HOOK_CHAIN="yes", deploy all challenges and them wait for the challenges to propagate to my server and then maybe wait a little longer to increase the odds that the LE server sees the challenges and doesn't error out.
But, maybe you could make a change in the letsencrypt.sh script to repeatedly call the deploy_challenge hook even if HOOK_CHAIN="no", wait an optionally number of seconds, and then re-loop through the challenges sending them to LE server (possibly retrying the challenge if the challenge wasn't propagated to the LE resolver).
Also, I ran the letsencrypt.sh script multiple times to generate this 70 name cert and it error'd out so many times that I must have hit some pending challenges limit so I can no longer run this script (I guess I will have to wait a week or so to see if the LE server clears out those pending challenges so I can generate new ones and finally make it through to the end and get a cert for my domain).
It would be nice if the script cleared out those pending challenges before it exits with an error.

I used the hook from this Gist: https://gist.github.com/nneul/76a38010313f55db0f7a
It doesn't directly support the hood_chain but to does print out all the return values, the last one in each set is the deploy challenge, then it waits until you hit return to move forward.
Good luck.
I used this command to check propagation for each domain:
`
dig -t txt _acme-challenge.domain.com +trace | grep _acme | grep -v DiG
`

This is what I'm using now.
https://gist.github.com/captainwasabi/8622e485a70ae4345c0f727e93eab006

From what I see your problem is solved, so I'm closing this issue.


Try pyhive poll() to prevent cxn timeout

Fixes #24
@drewbanin and I spent some time today investigating the timeout issue where dbt would drop its connection to the thrift server at exactly 300 seconds, even as the query continues running in Spark.
We're still not sure where the 300s config is set, but pyhive offers a few methods for pinging a running query to check its status.
This PR implements poll(), using the default _poll_interval value of 1 s.
There is a higher-level function, pyhive.hive.fetchone(), that implements poll() as a means of returning the first row of a query result. I couldn't manage to get this working, receiving errors like Expected state FINISHED, but found RUNNING.
Crucially, this fix works:
dbt run -m my_big_table
Running with dbt=0.13.0
Found 25 models, 18 tests, 0 archives, 1 analyses, 211 macros, 0 operations, 1 seed files, 56 sources

13:39:15 | Concurrency: 1 threads (target='dev')
13:39:15 |
13:39:15 | 1 of 1 START table model jerco.my_big_table................. [RUN]
14:09:27 | 1 of 1 OK created table model jerco.my_big_table............ [OK in 1812.85s]
14:09:28 |
14:09:28 | Finished running 1 table models in 1816.60s.

Completed successfully

Done. PASS=1 ERROR=0 SKIP=0 TOTAL=1

thanks @jtcohen6 :)
Ideally we'd be able to use _fetch_while but that looks internal, so let's just re-implement it on our end. I think this is a good start! I  buy that fetching a query that doesn't produce results leads to an error. Oh well.
Let's sync offline about how to get this to a place where we can merge it. @beckjake we looped you in here because we were doing tcp_keepalive things on sockets (bad) earlier, but i think this is a lot more sane. Would love to hear your thoughts if you have any here though!

Issues this code introduces, probably because of setting execute to _async:

hanging queries
ineffective interrupts (ctrl + c)

Oh, one other thing - I would not use _poll_interval as it also looks internal, I'd just set it to 1 explicitly, or something.

reopened in https://github.com/fishtown-analytics/dbt-spark/pull/26


Release on pypi

releases this library on pypi. To release a new version to pypi, do the following:

bump the version in setup.cfg
go to https://github.com/hpi-epic/manm-cs/releases and create a new release (and a git tag for it) with the same name as the version
a github action will run on release and first test this deployment on testPyPi and the publish to pypi

I still need to try out the last two steps when this PR is merged.

I'm not 100% sure that everything works correctly with the changed imports because the tests don't cover much. It would be great if you could check that the experiments still work

Suggestion: let's move the experiments folder into a separate branch. It is not relevant for the actual manm-cs, but rather an example on how to use it in the interplay with mpcsl. What do you think?

@ChristopherSchmidt89 @benrobby a separate branch to present the interplay with MPCSL is a good idea. In particular, as most examples are outdated.


QRcode logo

How Can I branded the qrcode , put image or logo on qrcode

You have to do it yourself. It's not too difficult:

Load the generated PNG into a canvas
Draw your image into the exact center with a width and height of at most 1/3 of the QR code size

Hi! I want to use it in WeChat small program;and i want to Setting the style of the icon，Is there any good way to do it，

@AyrA did you have any example to do this .... Thanks

Something similar to this:
function imgQR(qrCanvas, centerImage, factor) {
	var h = qrCanvas.height;

	//Center size
	var cs = h * factor;
	//Center offset
	var co = (h - cs) / 2;

	var ctx = qrCanvas.getContext("2d");
	ctx.drawImage(centerImage, 0, 0, centerImage.width, centerImage.height, co, co, cs, cs);
}

this a small example,  hope it can help to you
`

`


on-select not working in bower version

on-select works in your codepen.io but not working through bower installation in my project.
is it paid feature?

hi @voznik , there are no difference between "paid" and "free" versions.
that should work with bower.
see if #6 resolves your issue


Catch Local: Broker transport failure and continue consuming

Catch the Kafka Local: Broker transport failure (error -195) error when consuming, this happens sometimes when consuming messages. When we restart the consumer everything is just OK.
Settings for connection with Kafka:
enqueue:
    kafka:
        transport:
            global:
                group.id: XXX
                metadata.broker.list: XXX
                enable.auto.offset.store: 'false'
                socket.keepalive.enable: 'true'

@makasim

Thanks for your pull request! We love contributions.
However, this repository is what we call a "subtree split": a read-only copy of one directory of the main enqueue-dev repository. It is used by Composer to allow developers to depend on specific Enqueue package.
If you want to contribute, you should instead open a pull request on the main repository:
https://github.com/php-enqueue/enqueue-dev
Read the contribution guide
https://github.com/php-enqueue/enqueue-dev/blob/master/docs/contribution.md
Thank you for your contribution!

Thanks! Will create a MR via this contribution guide :-)


feat: revert previous change and add src files to NPM package

Overview
This pull request reverts my previous changes and adds the /src directory to the NPM package.
Explanation
I'm currently working on a Nuxt application. Since it's a universal/isomorphic app, Webpack generates both server-side and client-side bundles, so all of my application code must be capable of running in both Node and in the browser.
Unfortunately, my previous pull request fixed some but not all of the JavaScript errors that I was experiencing in IE11. After some additional experimentation, I was able to fix all of the remaining issues by changing the Babel build target from Node:
"@babel/preset-env", {
  "targets": {
    "node": "4"
  }
}

to a list of browsers (with useBuiltIns defined, to ensure that the required polyfills are included):
"@babel/preset-env", {
  "targets": {
    "browsers": [
      "ie 11",
      "last 2 versions"
    ]
  },
  "useBuiltIns": "usage"
}

However, I didn't create a pull request because I was concerned that changing the build target from Node to browserlist could potentially affect other developers who rely on the posthtml-beautify package, and I'm no expert on NPM publishing best practices, so I wasn't 100% confident in what I had done.
I'm also uncertain whether package authors should be expected to transpile their distributed code for older browsers, or whether the apps that consume the packages should be responsible for doing so on their end. After doing some research and discussing this with my colleagues and some of the core Nuxt team members on Discord, there seem to be differing opinions in the JavaScript community regarding this issue.
Some NPM package developers distribute separate builds: one for Node and another for browsers:
package.json
{
  "main": "dist/the-package.server.js",
  "browser": "dist/the-package.client.js"
}

But which version would I import into a universal/isomorphic app? I'm not sure.
Then there's the question of which module formats to publish (UMD, CommonJS, ESM, etc.). This gets pretty complicated too.
I don't claim to know the answers to these questions, but I do know that I'm having trouble importing posthtml-beautify/lib/index.js into my Nuxt application and transpiling it for IE11. Some people in the Nuxt Discord chat rooms were of the opinion that NPM package authors should distribute the source code alongside their bundled code (i.e. publish both the /src as well as the /lib or /dist directories). That way, apps that consume the package can import the source files directly and bundle/transpile them however they like.
Using this fork, I've been able to transpile the package via Webkack in my nuxt.config.js, like this:
export default {
  mode: "universal",
  build: {
    transpile: "posthtml-beautify/src"

Then import it into my Nuxt components like this:
import beautify from "posthtml-beautify/src";

This method is working for me and it seems like the simplest solution, but I'd love to know what everyone else thinks!

@markplewis Hi, I have created a small example that may help you. Please write me any possible problems you may have with this example.

@Scrum I've updated this PR now.


[TRIVIAL] Update rippled-example.cfg docs to clarify usage of ssl_cert vs ssl_chain

High Level Overview of Change
Update rippled-example.cfg docs to clarify usage of ssl_cert vs ssl_chain
Context of Change

Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor (non-breaking change that only restructures code)
[ ] Tests (You added tests for code that already exists, or your new feature included in this PR)
[x] Documentation Updates
[ ] Release

it's strange that the CI tests failed in the previous PR but there is no problem with this PR (the change list is the same)
LGTM 👍

it's strange that the CI tests failed in the previous PR but there is no problem with this PR (the change lis

@ckeshava would it be possible to get a formal approval of the PR so that it could be merged?

@manojsdoshi I think this would be ok to consider for 1.12.0-rc2 because it is only a trivial comment - no code change


⚠ Jenkins Plugins Artifactory has degraded performance

In eebe28b, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 2687 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 6b0f3d0 after 3 hours, 44 minutes.


Change storage url

All golang sources from https://golang.org/dl/ placed in: https://stortage.googleapis.com/golang/...

I can't get curl to download anything from storage.googleapis.com. Can you paste an example of goenv installing an old go version with this URL?

Example of curl request:
curl -I https://storage.googleapis.com/golang/go1.2.2.linux-amd64.tar.gz
HTTP/1.1 200 OK

The minimal version is 1.2.2 and current is 1.5.1
Installation:
$ goenv install 1.3
...
Installed 1.3
$ goenv versions
1.2.2
1.3
1.5
1.5.1

Won't go >= 1.2 get downloaded from golang.org?

I understood:
$ curl -I https://golang.org/dl/go1.2.2.linux-amd64.tar.gz
HTTP/1.1 302 Found
Location: https://storage.googleapis.com/golang/go1.2.2.linux-amd64.tar.gz

But if I checkout my changes I see:
goenv install 1.5.1

curl: (22) The requested URL returned error: 404 Not Found
goenv: unable to install Go `1.5.1' from binary, download not available at https://go.googlecode.com/files/go1.5.1.linux-amd64.tar.gz

It seems like error in vercomp function. Please try to install 1.5.1 version.

I see problem:
$ goenv help install
Usage: goenv install <version>

Versions should be in the form of N.N.N

And after I try 1.5.1 as it written in documentation, func vercomp returns "1 1" instead "1"

It seems like error in vercomp function.

And after I try 1.5.1 as it written in documentation, func vercomp returns "1 1" instead "1"

Ah ha! I'm fine with dropping support for the really old versions of go (1.0, 1.1), which means that this part of the install script could avoid doing vercomp at all and just download from golang.org. What do you think?

Hi! I missed your comment :) I think is good idea to support new versions. Can I do anything to help you?

I mean, instead of this:
rtn=$(vercomp ${version} 1.2)
# URL to download from
if [ "$rtn" == "1" ]
then
    download="http://golang.org/dl/go${version}.${platform}-${arch}${extra}.tar.gz"
else
    download="https://storage.googleapis.com/golang/go${version}.${platform}-${arch}${extra}.tar.gz"
fi

would this work?
download="http://golang.org/dl/go${version}.${platform}-${arch}${extra}.tar.gz"

Yes, it works!
lukashes@lukashes-pc:~/src/goenv$ goenv install 1.3.1
####################################                                      50,7%^C
lukashes@lukashes-pc:~/src/goenv$ goenv install 1.5.1
#########                                                                 13,4%^C

Yes, it works!

Great! Can you try out #22 and make sure I didn't break something on that branch?

Hey. is this brach merged master?

goenv-install is it arrived failed to pull this request in darwin.
But storage is like are extra also lost other than the url.
What both modified and I have to pullrequest.
https://github.com/wfarr/goenv/pull/23

@ryurock this pull request is still open, so it hasn't been merged. #23 looks like it'd be equally important. I'd rather merge #22 + #23 than this PR.

@spraints
I along with your intention.
Pull this request to close


env_parsing.py treated as a directory, then failing.

Hi, I receive this error when running app.py:
[CRITICAL] The .env file cannot be created [[Errno 20] Not a directory: '/home/jusko/huawei/libs/env_parsing.py/../../.env']
I opened reddit thread.
https://www.reddit.com/r/learnpython/comments/123l1mj/issues_with_installing_python_app_from_github/
I've been redirected here. One of the replies was:
"
Digging into the code a bit, it is treating env_parsing.py as a directory and failing.
This line specifically seems to be causing the problem. As for a solution, I'd create an Issue on GitHub to see if the creator can assist further. This seems like something they should know about.
https://github.com/yoratoni/huawei-router-sms-forwarding/blob/aa5278703dde065fa4d2c3cfd9b3e8af2c256709/src/libs/env_parsing.py#L114
"

Hi! Sorry about that, I never really updated the code, I made that when I was a beginner so yeah, a lot of mistakes ^^
I'm gonna update the whole thing today and i'll come back to you to see if everything works fine.

Great! No need to be sorry :-) I will test as soon as you make changes...

It is not working for me :(
jusko@pihole:~/huawei $ python app.py
Traceback (most recent call last):
File "/home/jusko/huawei/app.py", line 1, in
from libs import HuaweiWrapper, EnvParsing, AppHistory
File "/home/jusko/huawei/libs/init.py", line 3, in
from libs.env_parsing import EnvParsing
File "/home/jusko/huawei/libs/env_parsing.py", line 11, in
class EnvParsing:
File "/home/jusko/huawei/libs/env_parsing.py", line 131, in EnvParsing
def get_formatted_env() -> dict[str, str | int | list[str]]:
TypeError: unsupported operand type(s) for |: 'type' and 'type'
This is my enviroment:
jusko@pihole:~/huawei $ python --version
Python 3.9.2
jusko@pihole:~/huawei/ $ pip list
Package        Version
certifi        2020.6.20
chardet        4.0.0
colorama       0.4.6
colorzero      1.1
distro         1.5.0
dotenv         0.0.5
gpiozero       1.6.2
huawei-lte-api 1.6.11
idna           2.10
numpy          1.19.5
picamera2      0.3.9
pidng          4.0.9
piexif         1.1.3
Pillow         8.1.2
pip            20.3.4
pycryptodomex  3.9.7
pyostra        0.1.4
python-apt     2.2.1
python-dotenv  1.0.0
python-prctl   1.7
requests       2.25.1
RPi.GPIO       0.7.0
setuptools     52.0.0
simplejpeg     1.6.4
six            1.16.0
spidev         3.5
ssh-import-id  5.10
toml           0.10.1
urllib3        1.26.5
v4l2-python3   0.3.2
wheel          0.34.2
xmltodict      0.12.0
jusko@pihole:~/huawei $ pwd
/home/jusko/huawei
jusko@pihole:~/huawei $ ls -la
-rw-r--r-- 1 jusko jusko 1047 Mar 29 08:18 app.py
-rw-r--r-- 1 jusko jusko 1066 Mar 29 08:23 .env
drwxr-xr-x 4 jusko jusko 4096 Mar 29 08:30 libs
jusko@pihole:~/huawei/libs $ pwd
/home/jusko/huawei/libs
jusko@pihole:~/huawei/libs $ ls -la
-rw-r--r-- 1 jusko jusko  3451 Mar 29 08:27 app_history.py
-rw-r--r-- 1 jusko jusko  6509 Mar 29 08:27 env_parsing.py
-rw-r--r-- 1 jusko jusko 12952 Mar 29 08:28 huawei_wrapper.py
-rw-r--r-- 1 jusko jusko   126 Mar 29 08:27 init.py
drwxr-xr-x 3 jusko jusko  4096 Mar 29 08:30 logger
drwxr-xr-x 2 jusko jusko  4096 Mar 29 08:30 pycache
jusko@pihole:~/huawei/libs/logger $ pwd
/home/jusko/huawei/libs/logger
jusko@pihole:~/huawei/libs/logger $ ls -la
-rw-r--r-- 1 jusko jusko 1164 Mar 29 08:29 init.py
drwxr-xr-x 2 jusko jusko 4096 Mar 29 08:30 pycache
-rw-r--r-- 1 jusko jusko 9560 Mar 29 08:29 pyprint.py

Oh I see, you're using Python 3.9 which does not support the new "|" operand, let me change that so it's compatible with previous Python versions.

Great job! Works as expected 👍
jusko@pihole:~/huawei $ python app.py
[INFO] Trying to connect to the router..
[INFO] Successfully connected to the router
[INFO] No new SMS found..
[INFO] No new SMS found..
[INFO] No new SMS found..
[INFO] No new SMS found..
[INFO] No new SMS found..
[INFO] No new SMS found..
[DATA] (2023-03-30 09:03:33) New SMS received from +386_xxxxxxxx_
[SUCCESS] SMS correctly forwarded to +386_xxxxxxxx_
[INFO] No new SMS found..
[INFO] No new SMS found..
[INFO] No new SMS found..
[INFO] No new SMS found..

Perfect! Don't hesitate if you have any suggestion!

Well, I have an idea, but not sure if it this Huawei API provides that option. Is it possible for me to send SMS back to my LTE router which would then forward this SMS to specific number, or let's say to a number from which the SMS was originally sent??
Explanation:

LTE router I have is Huawei B535-232 and it is my only internet router at home.
My provider limits internet speed after 20GB daily use, and I receive SMS from provider that speed is reduced.
But the data package is not limited. I just have to send SMS to specific number with specific word = NADALJUJ (in Slovene language this means CONTINUE) and then I get additional 20GB. And I can send unlimited SMSes...
ATM I will be at least notified on my phone when the speed is reduced - which is great!
But I will still need to login to my router and send SMS back to the provider from Huawei WebUI.

I am sorry to write herein. I am not sure where to give a "feature-request".

The thing that I could do is to add a better config system with a YAML file instead of the .env file which is not the best practice. It will allow me to make a new config dict where I'll add something like an auto-reply system, it detects when a specific message is received and replies something else to a specified number.
It would be like:
autoReply: {
    "message": "YOUR_INTERNET_PROVIDER_MESSAGE",  // If the message is fix, or I could find another way kile the number to detect from
    "replyTo": "+386_xxxxxxxx_",
    "replyMsg": "NADALJUJ"
}

I think the best would be to detect messages from a specific number.
This is the SMS that my provider sends from their number 7070:
"Obvescamo vas, da ste presegli celotno kolicino dnevnega prenosa podatkov po najvisji razpolozljivi hitrosti v vasem narocniskem paketu, zato je hitrost zmanjsana na 64/64 kbps. Za nadaljnjo uporabo podatkovne storitve pri najvisji razpolozljivi hitrosti, ki ne predstavlja dodatnih stroskov, posljite SMS s kljucno besedo NADALJUJ na stevilko 7070. stevilo podaljsanj ni omejeno. Vas Telemach."
This is direct translation (just for you understanding):
"We inform you that you have exceeded the total amount of daily data transfer at the highest available speed in your subscription package, so the speed is reduced to 64/64 kbps. To continue using the data service at the highest available speed, which does not represent additional costs, send an SMS with the keyword CONTINUE to the number 7070. The number of extensions is not limited. Your Telemach."
https://ibb.co/nfRbjsb
I do not mind if this is achieavable via YAML 😋

So, I updated the whole code again:

I changed the old logger that I made a long time ago, that was totally inefficient, to a logging library used by everyone
I also replaced the .env config by the YAML one.
Updated the README
Added your replier feature!

You can test it and tell me if everything works fine!
Don't hesitate to add a star to my repo if you like my work, it's already so cool that someone actually uses that code lol

Hi,
I have tested the app... and I have some issues.
Python libraries were updated via "pip install -r requirements.txt"
jusko@pihole:~/lte_sms $ pip list
Package            Version

argcomplete        2.0.0
certifi            2022.12.7
chardet            4.0.0
charset-normalizer 3.1.0
click              8.1.3
colorama           0.4.6
colorzero          1.1
distro             1.5.0
docopt             0.6.2
dotenv             0.0.5
Flask              2.2.3
gpiozero           1.6.2
huawei-lte-api     1.6.11
idna               3.4
importlib-metadata 6.1.0
itsdangerous       2.1.2
Jinja2             3.1.2
MarkupSafe         2.1.2
numpy              1.19.5
packaging          21.3
picamera2          0.3.9
pidng              4.0.9
piexif             1.1.3
Pillow             8.1.2
pip                20.3.4
pipreqs            0.4.11
pipx               1.1.0
pycryptodomex      3.17
pyostra            0.1.4
pyparsing          3.0.9
python-apt         2.2.1
python-dotenv      1.0.0
python-prctl       1.7
PyYAML             6.0
requests           2.28.2
RPi.GPIO           0.7.0
setuptools         52.0.0
simplejpeg         1.6.4
six                1.16.0
spidev             3.5
ssh-import-id      5.10
toml               0.10.1
urllib3            1.26.15
userpath           1.8.0
v4l2-python3       0.3.2
Werkzeug           2.2.3
wheel              0.34.2
xmltodict          0.13.0
yarg               0.1.9
zipp               3.15.0
Folder situation:
jusko@pihole:~/lte_sms $ pwd
/home/jusko/lte_sms
jusko@pihole:~/lte_sms $ ls -la
total 24
drwxr-xr-x 3 jusko jusko 4096 Apr  2 09:32 .
drwxr-xr-x 7 jusko jusko 4096 Apr  2 08:32 ..
-rw-r--r-- 1 jusko jusko 1199 Apr  2 08:56 app.py
-rw-r--r-- 1 jusko jusko 1794 Apr  2 09:18 config.yaml
drwxr-xr-x 4 jusko jusko 4096 Apr  2 09:19 libs
-rw-r--r-- 1 jusko jusko  418 Apr  2 08:50 requirements.txt
jusko@pihole:~/lte_sms/libs $ pwd
/home/jusko/lte_sms/libs
jusko@pihole:~/lte_sms/libs $ ls -la
total 48
drwxr-xr-x 4 jusko jusko  4096 Apr  2 09:19 .
drwxr-xr-x 3 jusko jusko  4096 Apr  2 09:32 ..
-rw-r--r-- 1 jusko jusko  3224 Apr  2 09:00 app_history.py
-rw-r--r-- 1 jusko jusko  6699 Apr  2 09:01 config_parser.py
-rw-r--r-- 1 jusko jusko 14141 Apr  2 09:01 huawei_wrapper.py
-rw-r--r-- 1 jusko jusko    38 Apr  2 08:59 init.py
drwxr-xr-x 3 jusko jusko  4096 Apr  2 09:19 logger
drwxr-xr-x 2 jusko jusko  4096 Apr  2 09:19 pycache
If I run as "normal" user I get CRITICAL error (yaml not found)
jusko@pihole:~/lte_sms $ python app.py
[2023-04-02 09:42:32] [CRITICAL] The config.yaml file cannot be found, please, check that you renamed the file 'example.yaml' to 'config.yaml'
If I run sudo I get 'no module yaml':
jusko@pihole:~/lte_sms $ sudo python app.py
Traceback (most recent call last):
File "/home/jusko/lte_sms/app.py", line 1, in
from libs.huawei_wrapper import HuaweiWrapper
File "/home/jusko/lte_sms/libs/huawei_wrapper.py", line 7, in
from libs.config_parser import ConfigParser
File "/home/jusko/lte_sms/libs/config_parser.py", line 4, in
import yaml
ModuleNotFoundError: No module named 'yaml'

For the normal user, it could be because the script don't have the right to access the config file, for the YAML error, it's strange.
The module is normally named PyYAML and you have it:
https://bobbyhadz.com/blog/python-no-module-named-yaml

I was tshooting and I can't solve it. I now get same results with suso as well. Problem with sudo before was the pip packages were installed just for user jusko not for sudo. After I ran sudo pip install -r requirements.txt and then sudo python app.py I now also get: [CRITICAL] The config.yaml file cannot be found, please, check that you renamed the file 'example.yaml' to 'config.yaml'

Also the permissions for yaml file are correct:
jusko@pihole:~/lte_sms $ ls -l
-rw-r--r-- 1 jusko jusko 1199 Apr  2 08:56 app.py
-rw-r--r-- 1 jusko jusko 1794 Apr  2 09:18 config.yaml → jusko has read/write permissions
drwxr-xr-x 4 jusko jusko 4096 Apr  3 22:55 libs
-rw-r--r-- 1 jusko jusko  418 Apr  2 08:50 requirements.txt
Additional tshoot:
jusko@pihole:~/lte_sms $ pip show pyyaml
Name: PyYAML
Version: 6.0
Summary: YAML parser and emitter for Python
Home-page: https://pyyaml.org/
Author: Kirill Simonov
Author-email<EMAIL_ADDRESS>License: MIT
Location: /home/jusko/.local/lib/python3.9/site-packages
Requires:
Required-by:

I temporarily added print("yaml_path:", yaml_path) before the if os.path.exists(yaml_path) line in config_parser.py in 'load_yaml' method to see if it matches the expected path.
jusko@pihole:~/lte_sms $ python app.py
yaml_path: config.dev.yaml
[2023-04-03 22:52:49] [CRITICAL] The config.yaml file cannot be found, please, check that you renamed the file 'example.yaml' to 'config.yaml'

This is all my punny brain is capable off... I am not a sw developer and I am quite struggling with all if this :sweat_smile:

Oops, I think I know why lol, I forgot to turn off development mode before pushing to GitHub..
Just committed, you can try now!
For your information config = ConfigParser.get_config(True) at the beginning of the app.py file try to search for config.dev.yaml instead of config.yaml, I was using that for development and I forgot to remove the True lol

Okayyyy, now it should work !

This is what I see now

jusko@pihole:~/sms_lte $ python app.py
Traceback (most recent call last):
File "/home/jusko/sms_lte/app.py", line 11, in
AppHistory.load_history()
File "/home/jusko/sms_lte/libs/app_history.py", line 92, in load_history
AppHistory.save_history()
File "/home/jusko/sms_lte/libs/app_history.py", line 67, in save_history
with open(AppHistory.HISTORY_PATH, "w+") as history_file:
FileNotFoundError: [Errno 2] No such file or directory: 'logs/history.json'

So, it creates the history file but not the /logs directory, so, if the directory is missing, it returns an error.
I added a function to create the directory in case it is missing, and a fallback that simply disables the history if there's a permission error.

Application now runs! 👍🏼
Router also forwards the SMS to a specified number in yaml file.
But the router doesn't reply to a filtered text.
See prtscr:
https://ibb.co/3mKHh6y

I tried to reproduce it but I don't have that issue on my side, what the does the code prints inside the console ?
Normally, it prints this:
[2023-04-05 16:03:16] [INFO] New SMS received from +336XXXXXXXX
[2023-04-05 16:03:16] [INFO] SMS correctly sent to +336XXXXXXXX

I tried with the same message and a second filter to see if there is any issue, but I don't have any.

This is what the console prints when I run app.py

jusko@pihole:~/sms_lte $ python app.py
[2023-04-05 19:55:20] [INFO] Loading config.yaml
[2023-04-05 19:55:20] [INFO] Trying to connect to the router..
[2023-04-05 19:55:20] [INFO] Successfully connected to the router
[2023-04-05 19:55:20] [INFO] New SMS received from +386xxxxxxxx
[2023-04-05 19:55:20] [INFO] SMS correctly sent to +386xxxxxxxx
[2023-04-05 19:55:22] [INFO] No new SMS found..
[2023-04-05 19:55:22] [INFO] No new SMS found..
[2023-04-05 19:55:22] [INFO] No new SMS found..
^C
[2023-04-05 19:55:35] [INFO] Successfully disconnected from the router

This is fine.  Router forwards SMS, but it doesn't reply...  :man_shrugging:

Is the code updated with the latest push i've made ? It should print a bunch of other stuff

I ran the updated code:
jusko@pihole:~/sms_lte $ python app.py
[2023-04-07 08:29:30] [INFO] Loading config.yaml
[2023-04-07 08:29:31] [INFO] Trying to connect to the router..
[2023-04-07 08:29:31] [INFO] Successfully connected to the router
[2023-04-07 08:29:33] [INFO] No new SMS found..
[2023-04-07 08:29:35] [INFO] New SMS received from +3863xxxxxxx
[2023-04-07 08:29:35] [INFO] SMS correctly sent to +3865xxxxxxx
SMS Replier: +3865xxxxxxx
Repliers: {'7070': [{'filter': 'posljite SMS s kljucno besedo NADALJUJ na stevilko 7070', 'reply': 'NADALJUJ'}], '+3863xxxxxxx': [{'filter': 'test123', 'reply': 'test 123 dela'}], '+3865xxxxxxx': [{'filter': 'test456', 'reply': 'test 456 dela'}]}
Replier: [{'filter': 'test456', 'reply': 'test 456 dela'}]
SMS Content: test456
Message Filter: test456
[2023-04-07 08:29:35] [ERROR] SMS cannot be sent to +3865xxxxxxx
113004: Unknown
Is the SMS properly sent: False
[2023-04-07 08:29:37] [INFO] No new SMS found..
[2023-04-07 08:29:39] [ERROR] Last SMS received by the router cannot be returned
125003: Wrong Session Token
[2023-04-07 08:29:41] [ERROR] Last SMS received by the router cannot be returned
100003: No rights (needs login)

This is yaml config:
# The parameters of the router that you're using.
router:
  # Router IP address (generally <IP_ADDRESS>)
  ip_address: "<IP_ADDRESS>"

  # The phone number of the router.
  phone_number: "+386 7x xxx xxx"

  # Account details (the same one used to identify yourself on the local Huawei router website).
  username: "xxxxxx"
  password: "xxxxxxxxxxx"

  # Delay between iteration of the loop, checks if a SMS has been received (in seconds).
  loop: 2

# (For the forwarders only) Allows to link a phone number to a contact name.
contacts:
  - phone_number: ""
    name: ""
# - phone_number: ""
#   name: ""

# A forwarder allows the SMS received by the router to be sent to a phone number.
# A whitelist of international phone numbers can be added, if empty, the whitelist is disabled.
forwarders:
  - phone_number: "+386 5x xxx xxx"
    whitelist: []
# - phone_number: ""
#   whitelist: []

# A replier allows to reply something to a phone number in the case of a received filter message.
# The filter should be the first words to appear inside the message that you want to reply to.
repliers:
  - phone_number: "7070"
    messages:
      - filter: "posljite SMS s kljucno besedo NADALJUJ na stevilko 7070"
        reply: "NADALJUJ"
  - phone_number: "+386 3x xxx xxx"
    messages:
      - filter: "test123"
        reply: "test 123 dela"
  - phone_number: "+386 5x xxx xxx"
    messages:
      - filter: "test456"
        reply: "test 456 dela"

So, the issue seems to come from the API, I added a bit more code for error-handling, could you retry ?
[2023-04-07 08:29:35] [ERROR] SMS cannot be sent to +3865xxxxxxx
113004: Unknown

This should now also return the response from the Huawei API directly, so we can see what's going on

I ran the updated code and it is pretty much the same.
jusko@pihole:~/sms_lte $ python app.py
[2023-04-07 16:06:03] [INFO] Loading config.yaml
[2023-04-07 16:06:03] [INFO] Trying to connect to the router..
[2023-04-07 16:06:03] [INFO] Successfully connected to the router
[2023-04-07 16:06:07] [INFO] No new SMS found..
[2023-04-07 16:06:09] [INFO] New SMS received from +3865xxxxxxx
[2023-04-07 16:06:09] [INFO] SMS correctly sent to +38651xxxxxxx
[2023-04-07 16:06:09] [ERROR] SMS cannot be sent to +3865xxxxxxx
113004: Unknown
API response: UNKNOWN
[2023-04-07 16:06:11] [INFO] No new SMS found..
[2023-04-07 16:06:13] [ERROR] Last SMS received by the router cannot be returned
125003: Wrong Session Token
[2023-04-07 16:06:16] [INFO] Trying to connect to the router..
[2023-04-07 16:06:16] [INFO] Successfully connected to the router
[2023-04-07 16:06:28] [INFO] No new SMS found..
[2023-04-07 16:06:29] [INFO] Successfully disconnected from the router
jusko@pihole:~/sms_lte $

So, yeah, it seems like the problem comes from the Huawei API then, it's a bit strange because I don't have that particular issue myself, at least, I added some code that restarts the bot if it happens.
It's even more strange because the forwarding works but not the replier, maybe because the two requests are too close to each other ?

On my side, it just sends both SMS one after the other..

I suppose that, yeah, the issue could be from the fact that it requests to send two SMS too quickly ? Try removing the forwarder maybe but I doubt that it solves the issue.

Well actually that is it!  :rocket: After I removed forwarder, the replier sent SMS!
I will be a bit in the dark, but hey I will monitor for few days and I'll see how it goes...
jusko@pihole:~/sms_lte $ python app.py
[2023-04-07 17:12:28] [INFO] Loading config.yaml
[2023-04-07 17:12:28] [INFO] Trying to connect to the router..
[2023-04-07 17:12:29] [INFO] Successfully connected to the router
[2023-04-07 17:12:29] [INFO] No new SMS found..
[2023-04-07 17:12:31] [INFO] No new SMS found..
[2023-04-07 17:12:33] [INFO] No new SMS found..
[2023-04-07 17:12:35] [INFO] New SMS received from +38651380875
[2023-04-07 17:12:35] [INFO] SMS correctly sent to +38651380875
[2023-04-07 17:12:37] [INFO] No new SMS found..
[2023-04-07 17:12:39] [INFO] No new SMS found..

I will add a 1 second delay between  the two functions so the forwarder also works!

Yeah boi ! It works :grinning:
Thanks a lot :thumbsup:
jusko@pihole:~/sms_lte $ python app.py
[2023-04-07 19:46:01] [INFO] Loading config.yaml
[2023-04-07 19:46:02] [INFO] Trying to connect to the router..
[2023-04-07 19:46:02] [INFO] Successfully connected to the router
[2023-04-07 19:46:02] [INFO] No new SMS found..
[2023-04-07 19:46:05] [INFO] No new SMS found..
[2023-04-07 19:46:08] [INFO] No new SMS found..
[2023-04-07 19:46:11] [INFO] New SMS received from +3863xxxxxxx
[2023-04-07 19:46:11] [INFO] SMS correctly sent to +3865xxxxxxx
[2023-04-07 19:46:12] [INFO] SMS correctly sent to +3863xxxxxxx
[2023-04-07 19:46:14] [INFO] No new SMS found..
[2023-04-07 19:46:17] [INFO] No new SMS found..


[storage] Fix a lint error due to missing test attribute.

Since nobody is fixing this.

Thanks @changyonghu
@changyonghu @metajack do we want to catch those problems in CI, so that we don't have to manually fix unrelated files?

@bors-libra /land

/land

:exclamation: Invalid command

Bors help and documentation

Bors is a Github App used to manage merging of PRs in order to ensure that CI is always green. It does so by maintaining a Merge Queue. Once a PR reaches the head of the Merge Queue it is rebased on top of the latest version of the PR's base-branch (generally master) and then triggers CI. If CI comes back green the PR is then merged into the base-branch. Regardless of the outcome, the next PR is the queue is then processed.
General

This project's Merge Queue can be found here.
This project requires PRs to be Reviewed and Approved before they can be queued for merging.
Before PR's can be merged they must be configured with "Allow edits from maintainers" enabled. This is needed for Bors to be able to update PR's in-place so that Github can properly recognize and mark them as "merged" once they've been merged into the upstream branch.

Commands
Bors actions can be triggered by posting a comment which includes a line of the form /<action>.

Command
Action
Description

Land
land, merge
attempt to land or merge a PR

Cancel
cancel, stop
stop an in-progress land

Help
help, h
show this help message

Priority
priority
set the priority level for a PR (high, normal, low)

Options
Options for Pull Requests are configured through the application of labels.

          Option
Description

Indicates that the PR is high-priority. When queued the PR will be placed at the head of the merge queue.

Indicates that the PR is low-priority. When queued the PR will be placed at the back of the merge queue.

Before merging the PR will be squashed down to a single commit, only retaining the commit message of the first commit in the PR.

@bors-libra /land

...

Bors understood the original command and queued the build. It will land the code when this PR is up in the queue.

@bors-libra /land

...

Don't prefix your command with @bors-libra. The new system does not require that.

Bors understood the original command and queued the build. It will land the code when this PR is up in the queue.

FYI, you can tell it did this because of the rocket ship emoji bors put on the original /land command.

Bors understood the original command and queued the build. It will land the code when this PR is up in the queue.

ahaha, Acked, Bors is running reinforcement learning

Bors understood the original command and queued the build. It will land the code when this PR is up in the queue.

FYI, you can tell it did this because of the rocket ship emoji bors put on the original /land command.

thx for the new feature, just replaced a new laptop without slack during shipment, lost some context about bors change

:broken_heart: Test Failed - commit-workflow

@metajack Seems ValidatorSet is auto imported, so we don't need to import twice.

/land

:lock: Merge Conflict


Update documentation for ingresses and running PRs

This commit updates documentation for ingresses:

to provide GKE examples
to point to proxying docs
to clarify where to find more information on setting up your ingress

It also clarifies where PipelineRun configuration must be stored, and how PipelineRuns from pull requests can be run.
Submitter Checklist

[ ] ♽  Run make test lint before submitting a PR (ie: with pre-commit, no need to waste CPU cycle on CI
n/a 📖 If you are adding a user facing feature or make a change of the behavior, please verify that you have documented it
n/a 🧪 100% coverage is not a target but most of the time we would rather have a unit test if you make a code change.
n/a 🎁 If that's something that is possible to do please ensure to check if we can add a e2e test.
[ ] 🔎 If there is a flakiness in the CI tests then don't necessary ignore it, better get the flakyness fixed before merging or if that's not possible there is a good reason to bypass it. (token rate limitation may be a good reason to skip).

/ok-to-test

Make test lint fails for me:
$ make test lint
make: *** No rule to make target `test'.  Stop.

@lbernick  it definitively should work, do you run in the repo ?
you can just disable that rule (it's an annoying one) :
diff --git a/.vale.ini b/.vale.ini
index abd196fe..0c892601 100644
--- a/.vale.ini
+++ b/.vale.ini
@@ -28,6 +28,8 @@ RedHat.ConfigMap = NO
 # Styles to load, located in the `StylesPath` folder:
 BasedOnStyles = RedHat

+RedHat.CaseSensitiveTerms = NO
+
 # Ignore code surrounded by backticks or plus sign, parameters defaults, URLs.
 TokenIgnores = (\x60[^\n\x60]+\x60), ([^\n]+=[^\n]*), (\+[^\n]+\+), (http[^\n]+\[), (\[[^\n]+\])

seems to works more :
% make lint-md
Linting markdown files...
Grammar check with vale of documentation...

Oh sorry I posted the wrong error! (ran from the wrong dir)
$ make test lint
Cleaning test cache
Running unit tests...
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/acl	1.161s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/adapter	0.970s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/cli/webhook	0.920s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/cmd/tknpac/completion	0.751s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/cmd/tknpac/create	0.756s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/cmd/tknpac/describe	1.256s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/cmd/tknpac/generate	1.387s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/cmd/tknpac/list	1.054s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/cmd/tknpac/logs	1.924s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/cmd/tknpac/resolve	3.362s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/cmd/tknpac/webhook	1.229s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/consoleui	1.912s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/events	1.011s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/formatting	1.981s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/git	2.304s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/hub	1.084s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/kubeinteraction	0.677s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/kubeinteraction/status	1.295s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/matcher	0.823s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/params/clients	1.328s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/params/settings	0.779s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/pipelineascode	1.158s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/provider	0.588s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/provider/bitbucketcloud	1.271s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/provider/bitbucketserver	1.417s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/provider/gitea	1.195s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/provider/github	0.791s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/provider/gitlab	1.091s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/random	0.928s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/reconciler	1.225s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/resolve	1.501s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/sort	0.523s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/sync	1.189s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/templates	1.228s
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/webhook	0.902s
Linting go files...
make: golangci-lint: No such file or directory
make: *** [lint-go] Error 1

Codecov Report

Merging #997 (c9f365c) into main (f7caef3) will increase coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #997      +/-   ##
==========================================
+ Coverage   61.17%   61.22%   +0.05%
==========================================
  Files          98       98
  Lines        5993     6007      +14
==========================================
+ Hits         3666     3678      +12
- Misses       1978     1979       +1
- Partials      349      350       +1

Impacted Files
Coverage Δ

pkg/git/git.go
74.35% <0.00%> (+6.35%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Oh sorry I posted the wrong error! (ran from the wrong dir)
$ make test lint
Cleaning test cache
Running unit tests...
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/acl	1.161s
<truncated>
ok  	github.com/openshift-pipelines/pipelines-as-code/pkg/webhook	0.902s
Linting go files...
make: golangci-lint: No such file or directory
make: *** [lint-go] Error 1

is golangci-lint ci installed in your machine?

Thanks!
/lgtm

is golangci-lint ci installed in your machine?

my bad, I probably could have tried a bit harder to debug that one, thanks for your help!


SIL: Fix lowering for 'var's whose types contain local archetypes

A mutable 'var' becomes a SILBoxType, and we need to plumb the correct generic signature through here too.
Fixes https://github.com/apple/swift/issues/71921.

@swift-ci Please smoke test

@swift-ci Please test source compatibility


Refactor document specific URN resolver

Based this on docname value ingested from ANNIS.

The document URN code is now based on the docname ingested from ANNIS instead of the native URN resolver slug.  These can be edited in the future by editing the titles of ingested Texts by a site administrator.

I don't understand the implications of the change.  I understand only "The document URN code is now based on the docname ingested from ANNIS "

This ticket was mostly for myself just to say that I got the docname from ANNIS and used it in the URN.  This part of the URN can be easily edited by an administrator anytime in the future.

Ok, yeah, we need to go through those.  (Sorry to be a broken record, but it's helpful to me to put it everywhere it's relevant so I know I saw this issue and also know the next step.)


Lottie for iOS when using uri always autoplays

I am on the most recent version and no matter what I do, it autoplays once on ios when using uri source. With a local source, or a direct json animation, it doesn't only when I use uri source does it do this.
<LottieView
style={{height: '100%', width: '100%'}}
source={makeNull ? 'nothing' : asset}
enableMergePathsAndroidForKitKatAndAbove
ref={attackRef}
autoPlay={false}
loop={false}
resizeMode="contain"
progress={progress}
/>

Hi Nicholas
Can you please install next version and send us feedback if the issue is resolved?
You can install it by running:
``
yarn add lotti-react-native@next

any idea when these fixes are going to be released? I want to wait to update my app, but only if it won't be too long.

@NicholasNations Even after merging, it will be available under rc release which I won't recommend using that version. Try to use patch-package.

Posting in case this is helpful for anyone who comes across this autoPlay issue in iOS.
I ended up controlling the progress of the Lottie animation via the Animated API.
In my example below, I needed to pause the animation a specific frame (65), and continue after the user taps.
const TOTAL_FRAMES = 184
const FRAME_RATE = 30

export default function MySweetAnimation({route}) {
    const lottieStage = useRef(0)
    const animationProgress = useRef(new Animated.Value(0))

    useEffect(() => {
        Animated.timing(animationProgress.current, {
            toValue: 65 / TOTAL_FRAMES, // <-- frame at which to pause on / total frames
            duration: 65 / FRAME_RATE * 1000, // <-- frame at which to pause on, in milliseconds
            easing: Easing.linear,
            useNativeDriver: true
        }).start();
    }, [])

    const handlePress = () => {
        if (lottieStage.current < 2) {
            Animated.timing(animationProgress.current, {
                toValue: 1,
                duration: ((TOTAL_FRAMES - 65) / FRAME_RATE) * 1000, // <-- remainder of the animation
                easing: Easing.linear,
                useNativeDriver: true
            }).start(() => {
                lottieStage.current++
            });
        }
    }

    return (
        <ScrollView>

            <Pressable onPress={() => handlePress()}>

                <LottieView
                    loop={false}
                    autoPlay={false}
                    autoSize={true}
                    progress={animationProgress.current}
                    source={require('assets/animations/my-sweet-animation.json')}
                />

            </Pressable>

        </ScrollView>
    );
}


how to limit selected count?just like,if choose count more than max enable count ,the first choice will be cancel

Hi there! Here's an example that you might find inspiring:
https://github.com/davigmacode/flutter_choice/blob/main/example/lib/form/inline.dart

Hi there! Here's an example that you might find inspiring: https://github.com/davigmacode/flutter_choice/blob/main/example/lib/form/inline.dart

i noticed this example，but i want to disabe choose . this example allows continue to choose , it just validate when submitted

Hi there! Here's an example that you might find inspiring: https://github.com/davigmacode/flutter_choice/blob/main/example/lib/form/inline.dart

oh,i found this ,and it solved my problem。i show it to anyone need:onSelected:(value){               if (_selecteds!.length<=3){                 state.onSelected(widget.selects[i])(value);               }             },


Automatically cherry-pick #157

CNI is moving its plugins to new repo, we should install via released
packages instead.

This change is


feat: add BlockchainTreeViewer::block_by_hash

Add helper function to get matching block from tree.
Required when building a payload:

state after parent
env after parent (need parent.block.header)

Codecov Report

Merging #2168 (df51edd) into main (d83c07c) will decrease coverage by 12.54%.
The diff coverage is 0.00%.

: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             @@
##             main    #2168       +/-   ##
===========================================
- Coverage   72.21%   59.68%   -12.54%
===========================================
  Files         459      459
  Lines       55322    55335       +13
===========================================
- Hits        39950    33024     -6926
- Misses      15372    22311     +6939

Flag
Coverage Δ

integration-tests
18.87% <0.00%> (+0.01%)
:arrow_up:

unit-tests
53.78% <0.00%> (-13.31%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

crates/executor/src/blockchain_tree/mod.rs
89.67% <0.00%> (-0.86%)
:arrow_down:

crates/executor/src/blockchain_tree/shareable.rs
32.14% <0.00%> (-1.82%)
:arrow_down:

crates/interfaces/src/blockchain_tree.rs
100.00% <ø> (ø)

crates/storage/provider/src/chain.rs
53.30% <0.00%> (-37.24%)
:arrow_down:

... and 149 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Drop down interaction

The dropdown menu is not closed when the mouse leaves the initial element containing the menu:

This is surprisingly hard to fix properly. I tried multiple approaches, but all of them have some drawbacks.
Firstly we have to react to the dropdown closing: I'm currently using the :hover css pseudo-element on desktop and it turns out that the behavior of js mouseenter/mouseleave events does not perfectly match. I re-wrote the Dropdown component to use js events instead to avoid some pitfalls there.
Next, we need to close <select> dropdowns on mouseleave: emiting a blur event works great!... On Firefox. There's no clean way to do this in Chrome afaik. That's pretty much a dead end in Chrome apart from some really hackish ways to hide (not close) the dropdown.
Then I realized that hovering the <select> dropdown will trigger a mouseleave event on Firefox, closing it immediately because of our previous 'fix' and making it unusable. I can filter these events, but then we re-open some edge cases where the dropdown won't close properly.
As I didn't find a proper way to fix it and it's a really minor annoyance, I'll close this as won't fix for now.


OLS-40: Avoiding KeyError exception in favor of our error

Description
Avoiding KeyError exception in favor of our error.
This needs to be rebased after https://github.com/openshift/lightspeed-service/pull/184
Type of change

[X] Refactor

TODO

[ ] questions solved
[ ] rebased
[ ] test updated

Closed in favor of https://github.com/openshift/lightspeed-service/pull/200


Tournament edition - 2 new lin alg functions

functions added seem pretty self documenting. I tested, they're accurate and work as intended. linear algebra script seemed like the most ideal place to include these. Hopefully it's acceptable.

thanks :)


nixos/hardware/printers: stop cupsd when unneeded

Description of changes
If socket activation is enabled (the default) and printers are configured
declaratively, the ensure-printers service will always start cupsd and
leave it running, thus defeating the point of socket activation.
With this change ensure-printers continues to start the cups.service at
boot, but automatically stops it afterwards if socket activation is
enabled.
Note: Later restarts of ensure-printers will also restart cupsd, but
it's not an issue since it will be reactivate, if necessary.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
Tested hardware.printers.ensurePrinters

[x] with socket activation
[x] without socket activation

[ ] Tested compilation of all packages that depend on this change (mass rebuild!)
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Looks good: do we have NixOS test for cupsd? It would be nice to introduce one to test this kind of things.

Looks good: do we have NixOS test for cupsd? It would be nice to introduce one to test this kind of things.

There is (un)fortunately. I've been banging my head against it trying to figure out why it breaks.
For some very mysterious reason the socket-activated server (but not the client) loses its printers after restarting the service.

Ok, I figured it out: there's a dumb "stateless" mode that just wipes all cups directories on starting the service. I tried a bunch of hacks, including wrapping cupsd and hijacking sd_notify communication, to try to set up the printers during socket activation, but it's not possible. With the stateless mode the service must be left running, as it currently does.


does not work on Teensy 3.2/3.5/4.1

hi,
the library works excellent on ESP32, uno, mega, but not on teensy boards.
I tried using teensy since some cards have 6 hardware serial ports, but the build throws a lot of warnings and finally it doesn't work.
Is there hope of supporting these cards?
best.

What error messages are you getting?

compiling "MicroOsc_Demo_SLIP" returns:
In file included from /tmp/.arduinoIDE-unsaved202413-2546-px17m1.z0ta/microosc_slip_led-pot-photo-but_nano/microosc_slip_led-pot-photo-but_nano.ino:36: /home/science/Arduino/libraries/MicroOsc/src/MicroOscSlip.h: In instantiation of 'MicroOscSlip<MICRO_OSC_IN_SIZE>::MicroOscSlip(Stream*) [with unsigned int MICRO_OSC_IN_SIZE = 64]': /tmp/.arduinoIDE-unsaved202413-2546-px17m1.z0ta/microosc_slip_led-pot-photo-but_nano/microosc_slip_led-pot-photo-but_nano.ino:41:36:   required from here /home/science/Arduino/libraries/MicroOsc/src/MicroOscSlip.h:140:15: warning: 'MicroOscSlip<64>::slip' will be initialized after [-Wreorder]   140 |     MicroSlip slip;       |               ^~~~ /home/science/Arduino/libraries/MicroOsc/src/MicroOscSlip.h:152:65: warning:   base 'MicroOsc' [-Wreorder]   152 |     MicroOscSlip(Stream * stream) : slip(stream), MicroOsc(&slip) {       |                                                                 ^ /home/science/Arduino/libraries/MicroOsc/src/MicroOscSlip.h:152:5: warning:   when initialized here [-Wreorder]   152 |     MicroOscSlip(Stream * stream) : slip(stream), MicroOsc(&slip) {       |     ^~~~~~~~~~~~ /home/science/Arduino/libraries/MicroOsc/src/MicroOsc.cpp: In member function 'bool MicroOsc::getNextMessage()': /home/science/Arduino/libraries/MicroOsc/src/MicroOsc.cpp:295:39: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]   295 |   if ((bundle.marker - bundle.buffer) >= bundle.bundleLen) return false;       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ /home/science/Arduino/libraries/MicroOsc/src/MicroOsc.cpp: In member function 'float MicroOscMessage::nextAsFloat()': /home/science/Arduino/libraries/MicroOsc/src/MicroOsc.cpp:391:12: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]   391 |   return *((float *) (&i)); // HARD CAST TO FLOAT

sorry I was wrong.
Despite the warnings, the library does work :)

In the next release the warning messages will be solved. They are annoying.


hide  navigation  menu on desktop

fix for: https://github.com/kubernetes/kubernetes-bootcamp/issues/20 @pwittrock please review.

This change is

CLA not needed since jocatalin owned this repo originally and is maintaining it.


"Featured Image" box not working

The "featured image" meta box is empty in the sites other than the main. If I change the site ID with the add_filter, the new main site will show the "featured image", but the other sites will show an empty box.

Thanks for the report. Can you send a screenshot and let me know a bit about how your Multisite installation is set up? Are there any PHP notices or warnings showing up in your error log?

Hi John,
I've created a subfolder network with only 2 sites: a spanish and an english blog.
This is the meta box on the spanish version with no PHP nor JS errors.

I'm seeing the same issue. Here are the steps to recreate the issue:

Add "image.png" to the "parent" media library (in my case the main blog not ID 2)
Add post to "blog b" (any child blog) and set it's featured image to "image.png"
Switch back to the main blog and delete "image.png" from the media library
Switch back to "blog b" and the feature image is gone (as expected) but so is the link to set the featured image. The link is actually in the source code but the  is empty so there's nothing to click.

So basically when you delete an image from the main media library that's being used / referenced as a featured image somewhere else (i.e. in another blog) the "Set Featured Image" link breaks.

p.s. admin_post_thumbnail_html() seems to be the culprit

Thanks for the details. I'll try to find some time to look into this.

Ok I have a solution. Not sure how solid the code is but it's working for me. When you delete an image from the main library that's used as a featured image on a subsite the post doesn't know that the image has been deleted. So has_post_thumbnail still returns as true. So I added a tiny bit of code in your admin_post_thumbnail_html() function to check for the existence of a feature image URL at around line 204
`	if ( $has_thumbnail_url == false ) {
$search  = 'class="thickbox">';
$replace = 'class="thickbox">' . esc_html( $post_type_object->labels->set_featured_image ) . '';
} else {
	$search  = '
SEARCH
';
	$replace = '
REPLACE' . esc_html( $post_type_object->labels->remove_featured_image ) . '
';
}

$content = str_replace( $search, $replace, $content );

`


build-error

Hi,
please add a check that the path is already absolute and exists before doing the path concat in:  https://github.com/jaredallard/nexe/blob/master/bin/nexe#L67
otherwise it will fail if you use it through grunt shell over networkshares. it somehow creates the cwd + abs path which fails

Honestly, I wonder if it's even needed as I use path.join for mostly everything anyways. Does path.join  do this automatically?

OHHH. Disregard that, I see what you're saying.

Sure! I'll implement this by tonight and most likely release it in 1.1.1

and it only happens on windows...
ok, you close this.
thanks

I think this is fixed in master branch, let me know!

thanks a lot, works!


Black screen and freezes

There is an issue in v1.3
After closing adrenaline or any custom ABM bubble and trying to use Onemenu or Vitashell, or Retroarch the vita goes to a black screen and freezes, only way to turn it off is by holding power button to force the reebot.
PD: In v1.2 everything works fine
CFW 3.65 Enso
Add my config.txt
config.txt

Fixed in v1.4


Unpack 7z archive fails if it contains folder/directory

If 7z archive already contains folder/directory it fails while reading metadata

throws InvalidDataException exception in ArchiveMetadataReader.

Class: ArchiveMetadataReader
Method: ReadSectionDetails()
System.IO.InvalidDataException: 'Found invalid data while decoding.'
I created folder & archive using managed-lzma/sandbox-7z/Program.cs
Just added *ABCfolder* (before line 116)  while creating archive, 7z file created successfully
I checked 7z by unpacking using other tools.

I'll have a look, but it'd help if you can be more detailed on what you changed to produce this file (alternatively fork the repo and point me to your changes)

Thank you weltkante!
Fork repo: ninad2110 / managed-lzma
Summary of changes

Added sample folder in /sandbox-7z/
Example/
Sample/ => Contains files to be archived
Pack/   => Sample folder will be archived to trial.7z  pack = true => Success
Unpack/ => Unpack trial.7z here pack=false, unpacking fails
sandbox-7z is set as startup project
Modified \sandbox-7z\Program.cs
pack = true calls CreateArchieve() ==> success
pack = false calls UnpackArchive() ==> fails with InvalidDataException exception

Note: Changed Compression\Lzma\EncoderSettings.cs to set level=1 (LZMA:16), but not related to above changes

Checked by adding contents to empty file(s), and it worked.

I have another 7z which isn't working, actually I tried to create similar 7z. To me, looks like some other issue with archived 7z file. I will do more tests and analyze and get back on this.

To me, looks like some other issue with archived 7z file.

The stack trace of the exception may be useful to classify it

System.IO.InvalidDataException
HResult=0x80131501
Message=Found invalid data while decoding.
Source=managed-lzma
StackTrace:
at ManagedLzma.SevenZip.FileModel.ArchiveFileModelMetadataReader.ReadMetadata(Stream stream, PasswordStorage password) in D:\github\ninad2110\managed-lzma\shared\SevenZip\ArchiveFileModel.cs:line 303
at sandbox_7z.Program.UnpackArchive(String archiveFileName, String targetDirectory, PasswordStorage password) in D:\github\ninad2110\managed-lzma\sandbox-7z\Program.cs:line 146
at sandbox_7z.Program.UnpackArchive(String archiveFileName, String targetDirectory, String password) in D:\github\ninad2110\managed-lzma\sandbox-7z\Program.cs:line 132
at sandbox_7z.Program.Main() in D:\github\ninad2110\managed-lzma\sandbox-7z\Program.cs:line 43

The second exception is due to containing attribute metadata for a directory in a way which would not have been generated by the codebase I ported. In other words its a genuine "this data is not supposed to be here" exception. I'd have to investigate how newer versions of the 7zip codebase would treat it, but thats not going to happen anytime soon.


Horizontal Secondary Menu Buttons

Is there a way to arrange the Secondary menu buttons horizontally without text, just use icons.
Example will be the Mail app which has Settings, Mail, Calendar and Feedback buttons arranged horizontally at the bottom.

This is actually relatively easy to do, here is how I made the Secondary menu buttons horizontal in the minimal project, with just a few lines of code changed.
first you need to change the ItemsPanelTemplate in the HamburgerMenu control.
from the original
<ItemsControl Grid.Row="1" ItemTemplate="{StaticResource NavButtonTemplate}" ItemsSource="{Binding SecondaryButtons, ElementName=ThisPage}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel BorderBrush="{Binding SecondarySeparator, ElementName=ThisPage, FallbackValue=White}" BorderThickness="0,1,0,0" />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>

    <!--  designtime  -->
    <local:HamburgerButtonInfo>
        <StackPanel Orientation="Horizontal">
            <SymbolIcon Width="48" Height="48" Symbol="Setting" />
            <TextBlock Margin="12,0,0,0" VerticalAlignment="Center" Text="Settings" />
        </StackPanel>
    </local:HamburgerButtonInfo>

</ItemsControl>

to this
<Border Grid.Row="1" BorderBrush="{Binding SecondarySeparator, ElementName=ThisPage, FallbackValue=White}" BorderThickness="0,1,0,0">
    <ItemsControl ItemTemplate="{StaticResource NavButtonTemplate}" ItemsSource="{Binding SecondaryButtons, ElementName=ThisPage}">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapGrid Orientation="Horizontal"  ItemWidth="48"/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>

        <!--  designtime  -->
        <local:HamburgerButtonInfo>
            <SymbolIcon Width="48" Height="48" Symbol="Setting" />
        </local:HamburgerButtonInfo>

    </ItemsControl>
</Border>

Then in the Minimal project views folder I changed the SecondaryButtons like this
From the oginal button
<Controls:HamburgerButtonInfo PageType="views:SettingsPage">
    <StackPanel Orientation="Horizontal">
        <SymbolIcon Width="48" Height="48" Symbol="Setting" />
        <TextBlock Margin="12,0,0,0" VerticalAlignment="Center" Text="Settings" />
    </StackPanel>
</Controls:HamburgerButtonInfo>

to this
<Controls:HamburgerButtonInfo PageType="views:SettingsPage">
    <SymbolIcon Width="48" Height="48" Symbol="Setting" />
</Controls:HamburgerButtonInfo>

now you can add more buttons like this and they will be arranged horizontally
But this it only one way, maybe not the best?
So I tried a second method, as described below, but don't have enough time to iron out all the bugs, but this is another way you should be able to achieve your desired result
The other method would be to create a new DataTemplate & Style for the SecondaryButtons (e.g. copy the NavButtonTemplate & NavButtonStyle) and set the widths to 48 to match the icon width, then set the StackPanel Orientation="Horizontal" in the SecondaryButtons ItemsControl...
But when I tried this the buttons were arranged horizontally, but they were not arranged next to each other, they were spread evenly across the SecondaryButtons section with gaps which I could not workout how to remove.
Or you could do a combination of both e.g. make the new DataTemplate and Style for the SecondaryButtons and then change the StackPanel to a WrapGrid as in the above example

I think this feature could actually be added into the HamburgerMenu as an option relatively easily?
With and extra Property to select the SecondaryButtons style e.g. Vertical or Horizontal and depending on that property the ItemsPanelTemplate could be set via a TemplateSelector class ???

I have partially implemented this feature in "Search (and Login)" sample. But am struggling to figure out why the width of the button is not constrained by MaxWidth. Would you two get latest and take a look? I think we can add this feature if we can figure out that one thing.

I had the same problem when I did it via creating a new DataTemplate and Style and manually setting all the Width values to 48, the buttons were still wide, I was not able to find out why.
Which is why I tried the WrapGrid and set the ItemWidth to 48 which worked
I will try to take another look later when I have some spare time

The default RadioButtonStyle defines a MinWidth of 120. Set it to zero in the NavButtonTemplate and it will work.
 <DataTemplate x:Name="NavButtonTemplate">
                <RadioButton Width="{Binding PaneWidth, ElementName=ThisPage}"
                              MaxWidth="{Binding MaxWidth}" VerticalAlignment="Stretch"
                             HorizontalAlignment="{Binding HorizontalAlignment}"
                             Command="{Binding NavCommand, ElementName=ThisPage}"
                             CommandParameter="{Binding}" GroupName="Nav"
                             IsChecked="{Binding IsChecked, Mode=TwoWay}"
                             MinWidth="0"
                             IsEnabled="{Binding IsEnabled, Mode=TwoWay}" Loaded="NavButton_Loaded"
                             Tag="{Binding Content}" Tapped="NavButton_Tapped"
                             Visibility="{Binding Visibility, Mode=TwoWay}">
                    <RadioButton.Template>
                        <ControlTemplate>
                            <ToggleButton
                                          MaxWidth="{Binding MaxWidth, Mode=TwoWay, RelativeSource={RelativeSource Mode=TemplatedParent}}"
                                          HorizontalAlignment="{Binding HorizontalAlignment, Mode=TwoWay, RelativeSource={RelativeSource Mode=TemplatedParent}}"
                                          Command="{Binding Command, Mode=TwoWay, RelativeSource={RelativeSource Mode=TemplatedParent}}"
                                          CommandParameter="{Binding CommandParameter, Mode=TwoWay, RelativeSource={RelativeSource Mode=TemplatedParent}}"
                                          Content="{Binding Tag, Mode=TwoWay, RelativeSource={RelativeSource Mode=TemplatedParent}}"
                                          IsChecked="{Binding IsChecked, Mode=TwoWay, RelativeSource={RelativeSource Mode=TemplatedParent}}"
                                          Style="{StaticResource NavButtonStyle}" />
                        </ControlTemplate>
                    </RadioButton.Template>
                </RadioButton>
            </DataTemplate>

Perfect. Thanks. Done.

Hello Friends, Thank you very much for such a fast implementation.
I spent almost 4-5 hours yesterday going through the Template 10 code to figure out how this can be done. Modified the NavButton template and style but faced the same issues as you guys described.
Finally posted this on GitHub and called off the day.
Today when I woke up and saw the emails that its already fixed. And it just worked in my project.
Appreciate your efforts in implementing this feature just in time.
Thanks Again. You Guys Rock!


add VaporScope

Project Name: VaporScope
Project URL: Myoland/VaporScope
Project Description: A library to use Scope in Vapor.
Why it should be added to awesome-vapor: It is a great example for customizing authentication based on JWTPayload  and Authenticatable. And, it is great to use VaporScope in vapor project.
[ ] Project has at least 15 stars (if it’s a GitHub project)
[x] Project supports at least Vapor 3
[x] Project supports at least Swift 5
[x] I used correctly sized dash and ended the entry with a full stop 🤓

Still a bit away from 15 stars, but working on it.


Bad file descriptor: nw_path_close_fd Failed to close

What happened (or feature request):
I see the following error running when DDEV-UI is running in console
nw_path_close_fd Failed to close guarded necp fd 29 [9: Bad file descriptor]
What you expected to happen:
How to reproduce this:
On Mac OS, launch DDEV-UI and launch console > Errors and faults
Version: Please include the output of ddev version, docker version and the project's .ddev/config.yaml.

ddev_macos.v1.1.1
Docker: Version 18.06.0-ce-mac70 (26399)
DDEV UI: Version 0.4.0

Anything else do we need to know:
Related source links or issues:
Grab attached

Please use a complexity rating of 1-5 (5 is high) for a feature request. (High complexity implies more PR planning)

Hi there @dclear . I'm having this issue on another Mac OS App. Actually, I'm not sure if it's an UI problem, our a python daemon problem (I'm using a python daemon to make requests to an API which then connects to the UI through a socket). Did you got to solve the problem? Thank you in advance.

@nffdiogosilva sorry to hear you're having this problem, but ddev-ui is currently unmaintained.

Hello @nffdiogosilva: we haven't solved this error yet, sorry. We do intend to circle back here and resume work at a future date but I don't have a timeline for that.
If / when we solve it, we'll be sure to ping you and let you know.

@nffdiogosilva : could be related to an outstanding electron update

I'm not using electron. I have the feeling is something related with Mojave. But the error doesnt give much information and I don't find any info on the internet


Cannot open Xterm for switch at the mininet CLI

I'm trying to run the test for INT Reference Application described on routing-fail-over-test
The mininet topology has the following nodes:
mininet> nodes
available nodes are:
h1 h2 h3 h4 leaf1 leaf2 spine1 spine2

I can open an Xterm terminal for h1 by typing
mininet> xterm h1

However, by typing
mininet> xterm leaf1

The mininet prompt returned without any error message, but I cannot see any Xterm popup window.
What might be the problem in this case?

Can you send me your environment information? I use Ubuntu 14.04. Also, run the following on the host operating system to see if this opens an xterm on the Docker node.

sudo docker exec mininet-leaf1 xterm


chore: upgrade go dependencies

from: https://github.com/jenkins-x/jx3-versions

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign rawlingsj
You can assign the PR to them by writing /assign @rawlingsj in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jenkins-x-bot-test: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
ff1b9d0ba296067957aa3a25644cbcf1be777176
link
/test

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


Crash after changing TOKEN_SECRET

https://github.com/nosduco/nforwardauth/blob/main/src/main.rs#L238
forward-auth-1  | Loaded configuration.
forward-auth-1  | Listening on http://<IP_ADDRESS>:4000
forward-auth-1  | thread 'tokio-runtime-worker' panicked at src/main.rs:238:70:
forward-auth-1  | called `Result::unwrap()` on an `Err` value: RustCryptoMac(MacError)

Fixed by renaming the cookie

Nice catch! Thank you for reporting, will fix this up


Compatibility with curb 1.0.0

Hello,
we are using curb 1.0.0 and webmock 3.14.0 and are getting the following warning when running tests:
"You are using Curb 1.0.0. WebMock is known to work with Curb >= 0.7.16, < 0.10, except versions 0.8.7. It may not work with this version"
I did not notice any issues so far, though. What would be required to establish compatibility with curb 1.0.0 and update the supported version range?

Will there ever be compatibility with current versions of Curb? Or can we get rid of the nagging warning message? I am using  Curb 1.0.6 in my Rails project and webmock seems to be working just fine.


add authorize.net SIM + tests

Here's a fork that adds a new gateway--authoriz.net SIM (tested--see news groups).
Thanks!

I'd be happy to shepherd this through to merge if you can update it to merge cleanly against master. Thanks!

Superseded by #280.

My repo is a fork of rdp's, and I periodically sync with the shopify/master branch.
I've re-based with shopify's master and submitted a pull request.
https://github.com/Shopify/active_merchant/pull/280
Does that help?

Definitely - I'll provide additional feedback there.


md-button text not vertically aligned - (Chrome on Android)

Bug, feature request, or proposal:
md-button text is just slightly misaligned. Notice in the screenshot 'RAISED' is maybe 3px higher than mid center. I can only verify this misalignment on Chrome (54.0.2840.68) I'm on Android 7.1.1; Nexus 6P Build/NPF10C

What is the expected behavior?
Text should be vertically aligned.
What is the current behavior?
Text is not vertically aligned.
What are the steps to reproduce?
View the demo site (https://material2-app.firebaseapp.com/) on Chrome using Android N.
Which versions of Angular, Material, OS, browsers are affected?
Chrome: 54.0.2840.68
Android 7.1.1; Nexus 6P Build/NPF10C
Is there anything else we should know?

Looking at this now, but buttons look right to me on Android. Closing as not reproducible, feel free to open a new issue if there's still a problem.


More safe obstacle avoidance

Sometimes robot does quite dangerous moves near obstacle
todo:
discuss current impl of obstacle critic and possible rework. May be just change temperature/costs is enough ?

Local goal critic + tweaked params made controls more safe for now


rake ts:index | unknown type 'mysql'; skipping. | brew install sphinx --with-mysql

brew install sphinx --with-mysql

don't solve my problem
I don't know what I can do about this. :(

mysql --version
mysql  Ver 14.14 Distrib 5.6.41, for osx10.13 (x86_64) using  EditLine wrapper

I solved my problem installing old version of sphinx

Ah, sorry to hear about the problem. Which version of Sphinx did you end up installing?


Error running tasks04.CountPE

I'm running GATKSVPipelineSingleSample.wdl and I'm facing this error in Module04:

A USER ERROR has occurred: An index is required but was not found for file /tmp/scratch/xxxxx-gwf-core/cromwell-execution/GATKSVPipelineSingleSample/4e9e57d2-48ef-4b52-9cb8-5324c64cfddc/call-Module00c/Module00c/d2cdda29-616b-44ea-8e1a-9225c05e73da/call-EvidenceMerging/EvidenceMerging/c4f03868-e71b-452b-83f2-edf54f0f580b/call-MergePEShards/test_na12878.PE.txt.gz. Support for unindexed block-compressed files has been temporarily disabled. Try running IndexFeatureFile on the input.

However, Module00c is also outputting test_na12878.PE.txt.gz.tbi but is not being fed to this task. Is this correct?
Thanks in advance

Hi @henriqueribeiro,
On GCP, we use GATK to stream PE data directly from the bucket to avoid localizing the entire file. This won't work with any other backend (eg local or AWS). If you are running with another backend, you should just need to add the index as an input so that it localizes.

it makes sense. I will add it to the wdl file. After testing it, does it make sense to do a pull request?

@henriqueribeiro Yes a PR would be helpful. If you could find instances where localization_optional is used and add index inputs?

Just did a pull request. Can you please review it?
Thanks a lot

solved


DA code for observability agents

Description
DA code for observability agents
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content
Adds the deployable architecture code for observability agents.
Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

:tada: This PR is included in version 1.1.0 :tada:
The release is available on:

GitHub release
v1.1.0

Your semantic-release bot :package::rocket: