Feedback on Tutorial: Configure SAP HANA, express edition Security

I followed all the steps indicated. Everything seems to go ok, no errors after executing commands... but at the end of the job nothing works anymore.
As an ecample, if I use the command line ad launch "xs apps", instead of the list of apps with their current status I get this
FAILED to communicate with XS Controller:
Error executing request GET https://hxehost:30030/v2/spaces/577a0098-282f-4dc3-9bb3-9e47d8591cd0: java.net.ConnectException: errno: 111 (Connection refused), error: Connection refused (local port 52327 to address <IP_ADDRESS> (localhost), remote port 30030 to address <IP_ADDRESS> (hxehost.webdev.local))
This is the third time I restart from scratch, i.e. re-deploy the downloaded .ova template.
The only thing I do in addition to the instructions is using yast2 to reconfigure IP as static.

Hi Kranz, I'm not 100% sure if this will solve your problem, but:
I created a second ethane interface in vmware fusion (like player for mac) and had this one assigned a static Ip from within yast.
I added this same static IP in /etc/hosts on both my mac and within the vm and
restarted networking.
All went smooth from there.
Please try and feel free to get in contact with me if the error persists,

Thank you very much Chris for following up.
I am not sure I understand your deploy settings:

Do you have 1 or 2 active NICs?
When you say "I added this same static IP...", what do you mean by "this same"?
if you have two virtual NICS, SLES shoul be configured with eth0 and eth1: do you have eth0 set for DHCP and eth1 set for static IP?

There are too many important things that I do not know about this setup, and applying "monkey patch" methods to system configuration soon reaches its limit....

Hi.
I will try to explain my setup in more detail
I use VMWare Fusion on my Mac.
I configured the HXE VM with two virtual Ethernet interfaces.
The first one (eth0 in Linux) is configured for automatic bridging in the vm settings and set to dhcp in yast.
The second (eth1 in Linux) is set to private network in the vm settings and set to static in yast
This static ip is added to /etc/hosts in Linux and on my mac with the hostname of the Linux machine.
Hope that brings a bit more clarity.
If not, don't hesitate to ask,
Chris
Don't judge the code
Judge the vision
Christian Günther
Mobile: +49 1511 2240942
Twitter: @siliconchris

Am 15.11.2016 um 16:11 schrieb kranz<EMAIL_ADDRESS>Thank you very much Chris for following up.
I am not sure I understand your deploy settings:

Do you have 1 or 2 active NICs?
When you say "I added this same static IP...", what do you mean by "this same"?
if you have two virtual NICS, SLES shoul be configured with eth0 and eth1: do you have eth0 set for DHCP and eth1 set for static IP?

There are too many important things that I do not know about this setup, and applying "monkey patch" methods to system configuration soon reaches its limit....
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


Migrate PCL to NETFramework project

PCLs are no longer the recommended technique for cross platform libraries such as Snowplow.Tracker.PlatformExtensions. We should look to migrate this to NETFramework2.0.

Ensure that the Symbols which are published are also valid. Currently symbols published with the Extensions PCL fail with the error: The uploaded symbols package contains one or more pdbs that are not portable.


Unable to render map

Hi everybody,
I have successfully started both the backend and the map servers with no error shown in the terminal. Nevertheless I am trying to see the results on my localhost:8080 and only the rendering of static files from the title are shown. I have not initialized any other devices.

I'd be intrigued to know if there are any console log entries.

Hi, the same situation is happening to me. Follows the console log.

Hello I same problem with me. The map is not rendering somehow.

Has anyone managed to solve the map rendering problem? Is there any reason what might cause this at the time of setup?

@MattheusOliveira did you succeed in changing the firebase app name? Without Firebase correctly configured not much of anything is going to happen.
@micohalvarez You need to click on the Console tab in the lower pane to see console log error messages. Here's some documentation on how to use devtools: https://developers.google.com/web/tools/chrome-devtools/

I'm also having the same issue, I have enable my APIs, I think the map is not rendering on time and is halted when the page has completed loading?


Added docs for gpu support.

Related Issues

https://github.com/threefoldtech/info_grid/issues/156

Screenshots

Playground

Go, client,

tfgrid-cli

tf-chain

dashboard

@xmonader
Something is weird in general with this whole workflow:
we have docs/ in .gitignore but still files get added in PR in the docs folder.
This shouldn't happen.
For this one, I can just remove the files in docs and force a push, then merge the PR. But ideally, we can have the proper flow for .gitignore so writers can only push the /src files.

@Mahmoud-Emad
Could you remove the file changes in the directory docs? So we could merge only changes in src.
Thanks!

@Mik-TF, following up on this issue, it has been suggested to remove the docs directory from the development branch. The proposed approach is as follows: we remove the docs directory from the development branch, and subsequently, I will also remove it from my branch. When we merge the development branch into the master branch, the removal of the docs directory is expected to be reflected there. This aligns with the recommended course of action outlined in the issue. Please let me know your thoughts and if you have any additional considerations.

Thanks @Mahmoud-Emad
I removed docs in both dev branch and dev_gpu_support branch.
I will edit some small details on this PR then merge.


Add Ed Mendoza to Contributors list

I think this is an awesome first steps tutorial for getting started with contributing to other projects. Thanks for putting it together!

@Polyneue, I'm quite elated about your PR. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a PR and learned that I merged it?

@Roshanjossey, I thought the tutorial was really easy to follow and made it clear the steps to take from beginning to end. As far as the journey, I've been working on my own OS projects for awhile now and have had the pleasure of getting a couple of PRs sent my way. While it's been a great experience as a project maintainer to have someone interested in contributing, it's been intimidating to contribute to other projects.
A lot of that has to do with not wanting to make a mistake in your contribution. Seeing that some projects have labeled issues for beginners makes it a lot easier to jump in  and not worry about messing up.

@Polyneue, I’d urge you to continue contributing to other open source projects.
We also have a slack team to help/mentor people trying to contribute to open source projects.
You can join the team by going to https://firstcontributions.herokuapp.com


ja: remove docs/concepts/cluster-administration/controller-metrics.md

The English page for this was removed between release-1.16 and release-1.17 in #17578.

/assign @inductor

/lgtm
/approve


[PE-D] unclear behaviour declared on UG

the UG says the duration parameter can only take up to 4 decimal places. However, a comment like this
add n/testdur2 u/https://www.exmape.com d/03-04-2022 1500 dur/0.000000000001 m/4 r/n
works

Labels: type.DocumentationBug severity.Low
original: Cyolune/ped#8

Duplicate of #130


feat: add a identity slot for Slider Component

Add a slot for custom identification to the slider component
close #3005

ref #3010

Can you add a new demo for the prop?

i have already written demo in the #3010 . Do I need to migrate here?

Can you add a new demo for the prop?

i have already written demo in the #3010 . Do I need to migrate here?

Yep, if you are creating a new feature, you should write corresponding demo in the feature PR.

Can you add a new demo for the prop?

i have already written demo in the #3010 . Do I need to migrate here?

Yep, if you are creating a new feature, you should write corresponding demo in the feature PR.

done


[4.0][BUGFIX] Elfinder publish command error

Fixed the error.
Still strange why it break in windows and not other operating systems ... but well.

A new inspection was created.

A new inspection was created.

Pfiew! Thank you @pxpm ! Merged and tagged.
Anybody getting  The command "elfinder:publish" does not exist when installing Backpack 4.0.50 or lower, please do a composer update to get 4.0.51, then run php artisan backpack:install again.


Tracking performance of hashtag

I have a particular use case : Tracking performance of a list of hashtags
Scrape the hashtag (example #cats) :
-output the media (with username, amount of likes/comments of each post)
-string it all together, output to a log
Explanation:
When posting a photo with hashtag, I want to know if the hashtag i used has reached the top post. By going to https://www.instagram.com/explore/tags/cats/ I can see the top post, so I want to log the data for that hashtag with interval. over a period of time (preferably forever).
Can this be done somehow?

@dtdw in short: you should do it on your own.
I understand your use case and your needs, but this library just API to Instagram.


Add initial attempt at a plugin detector.

Here is an attempt at a writing a plugin detector (fixes #290). See foyer.plugins:collect_plugins()
Functions named foyer.forcefields.load_{plugin_name} are detected as plugins, but there is also a plugin_names argument to supply a list of plugin function names that don't fit that mold. The version, xml_file, and load_function are collected into a dict and returned.
I still don't know how to get the version. Maybe we could add it as an attribute of the plugin forcefield object when we load it up:
def load_OPLSAA():
    ff = get_forcefield(name='oplsaa')
    ff.version = "0.0.1"
    return ff

Ideally all of this information (like the xml file location and version) will be stored in the forcefield class, so we don't have to do any globbing. I think this is something @mattwthompson is working on


TypeError -  Unhandled Promise Rejection: Failed to fetch

Description
Page timing POST returns error, but NR script doesn't handle it properly.
Steps to Reproduce
New Relic server returns 500 for page timing POST.
Expected Behavior
Proper error handling in New Relic script.
Relevant Logs / Console output
TypeError: Unhandled Promise Rejection: Failed to fetch
  at e.<computed>(/profile/view/01857bcb-05fd-71e3-addf-3ddb486b4ce0:5:16380)
  at t(./node_modules/@sentry/utils/esm/instrument.js:142:28)
  at o(/async-api.30bd804e-1.236.0.min.js:2:1266)
  at C._send(/148.1a20d5fe-1.236.0.min.js:2:3697)
  at C.sendX(/148.1a20d5fe-1.236.0.min.js:2:1787)
  at s(/page_view_timing-aggregate.bd6de33a-1.236.0.min.js:1:1442)
  at ? (/page_view_timing-aggregate.bd6de33a-1.236.0.min.js:1:1555)
  at Array.forEach(<anonymous>)
  at c.runHarvest(/page_view_timing-aggregate.bd6de33a-1.236.0.min.js:1:1542)
  at c.unload(/page_view_timing-aggregate.bd6de33a-1.236.0.min.js:1:596)
  at HTMLDocument.<anonymous>(/profile/view/01857bcb-05fd-71e3-addf-3ddb486b4ce0:5:13714)
  at sentryWrapped(./node_modules/@sentry/browser/esm/helpers.js:90:17)
  at HTMLDocument.nrWrapper(/profile/view/01857bcb-05fd-71e3-addf-3ddb486b4ce0:5:14381)

Your Environment
Latest Chrome on Mac
New Relic PHP Agent v<IP_ADDRESS> with browser auto instrumentation enabled.
No idea what the browser agent version is, but I guess latest as of today. The inserted code mentions nr-loader-spa-1.236.0.min.js.LICENSE.txt.

@gndk We recently released version 1.237.1 of the browser agent. Could you please let us now if this issue is persisting with that version? You may need to restart your APM applications for it to pickup the new browser agent version.

Closing as resolved for now. Please let us know if this issue persists.


Add documentation & sample usage for svgo.browser.js

Reworded based on https://github.com/svg/svgo/issues/1050#issuecomment-1111706921

@Glandos I think to use the es module file with webpack or rollup would need one sample,
and to import this file from TypeScript with correct type would be another sample config,
both can be complex depending on how everyone's repo/IDE is configured.
For your use case in TypeScript the types from @types/svgo is for the main svgo code (usage like import .. from 'svgo').
'svgo/dist/svgo.browser.js' is plain bundled JavaScript and without corresponding .d.ts, so some type patch from the user side should be required (maybe borrow types from @types/svgo can work).

That's what I did for now:
declare module 'svgo/dist/svgo.browser.js' {
    import svgo from 'svgo'
    export const optimize: typeof svgo.optimize
}


Start adding documentation

Convert the README to a MkDocs website, basic for this PR.
Also, in this PR, I'm changing the tooling/ linting to use Ruff instead of Flake8 et al, and fixing any linting issues
I will add an explanation and walkthrough the code in the next PR

Merging now as there are code changes included to fix breaking issues


Made icon nullable for link menu items

Added ability to make icon null for link menu items. This allows users to override the default icon with text.

It is handled a separate PR. (https://github.com/figma/figma/pull/73519 in widget_controls.tsx)
This PR just allows users to set the icon to null.

It is handled a separate PR. (figma/figma#73519 in widget_controls.tsx)
This PR just allows users to set the icon to null.

Oh duh, I didn't realize this was for typings my bad.


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add the capability to open Github Repository inside app #28

This PR solves issue #28 and add improvements to CodeSymbolView

@fredmurakawa Can you do a pull from the dev branch and push again, there is a conflict due to the color changes.

Also, the text in the Open Github repo is too light and hard to read, do fix that too 👍🏻

Good job @fredmurakawa Merged the code. 😄👍🏻


make package fails on Ubuntu 17.10

Error is:
cp -r /lib/python2.7/site-packages/. dist/
cp: cannot stat '/lib/python2.7/site-packages/.': No such file or directory

Here's the Python paths that exist on Ubuntu 17.10:
$  python -c "import sys; print('\n'.join(sys.path))"
/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/home/mark/.local/lib/python2.7/site-packages
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/gtk-2.0

I'm not sure which directory or directory should be used instead.
Since I didn't run make install as root, it seems most files got installed into:
  /home/mark/.local/lib/python2.7/site-packages

Fix is at: https://github.com/renanivo/lambda-s3-sftp/pull/4


Using images with just 1 channel instead of RGB

Hi, I am interested in trying out your model for analyzing some measurement data that has only one channel. How can I customize your model and training code to work for single channel inputs? I don't think it's a good option to just store the same data on three channels...

Hello, you can use the modified backbone for single-channel image.
Please refer to the single channel Swin-transformer https://github.com/GuHuangAI/DDM-Public/blob/main/unet/swin_transformer_for_sci.py.

Thank you very much, I was able to modify the network and training code for 1D and will start training now.


Hpe icsp fix

HPE-ICSP
Status

bugfix

Description
Corrected typo in "icsp_multi_server_attribute_add.yaml" work flow for inner flow name.
Addition of "name" in attribute set api call otherwise Display name becomes blank which causes build plans to later fail.
Checklist (tick everything that applies)

[x] Metadata: pack.yaml, icon, structure (required for new packs)
[x] Version bump (required for changed packs)
[x] Code linting (required, can be done after the PR checks)
[ ] Tests (not required but really recommended)

Merged, thanks.


[Enhancement] Toggle formatting of Discord emotes

Checks

[X] I confirm that I have searched for existing issues before reporting to avoid duplicate reporting.

Description
Hi, sorry to bother you but I am the author of issue #50.
While the support for unicode emojis is nice, I was actually referring to Discord server emotes. I apologize for the confusion.
The added feature correctly does not format unicode emojis, but it still adds yellow formatting to Discord server emotes in messages received from the Discord server.
As previously mentioned, it would be good to have a toggle to disable this function.
Thanks for your time.

Try the new build...


Entry sensors not updating

I've noticed lately that the entry sensors (doors, windows) aren't updating in Homekit.  Not sure what it could be do to.  Any way to diagnose what the issue might be?  All I can think of is a recent software update from SimpliSafe...

Hi @lucanaut , Im not seeing this. I have automations that depend on entry sensors (e.g. windows open turn off AC) and they are working OK, see screenshot. As the issue template states, sometimes config, logs etc. might be helpful if you think there's a bug. And in general restarting things can often help!

I admit I am pretty new at the whole reporting issues thing so I need to look into the template and how to do that properly!  Thank you


trunk serve is broken

The trunk configuration from #90 is a proper solution to issues with absolute URLs in web builds but broke trunk serve, which doesn't like paths starting with a dot. Overwriting the URL in the serve section of Trunk.toml doesn't work since Trunk will add a leading "/" to the path. This should get fixed with trunk-rs/trunk#674
Find a setup that doesn't require ugly sed commands like before #90 but works out of the box with trunk build and trunk serve.

Changing the path from ./ to / in Trunk.toml fixes the issue for me (and assets still work - i.e. /assets/audio/flying.ogg). Am I missing something?

Using / instead of ./ will break asset loading in scenarios where the app is hosted at a path other than root. This is the case for itch.io for example.

That might work if you know the path, yes. In the case of itch you would first have to deploy a broken build to get the path (e.g. html/5082781/), manually fix the html file and then re-deploy. With this kind of solution, your build is only going to work on a single platform/path.
If you are OK with manual fixes, it's easier to make a search and replace to use ./ in my opinion.

Fair enough, I've never deployed to Itch.io before.
IMO / is still a better default, with documentation RE: Itch.io deployment, rather than the other way round.
But it's up to you!

It seems Trunk has recently fixed this. Using version 0.19.0-alpha.3 (cargo install trunk --version 0.19.0-alpha.3) with the following Trunk.toml file:
[build]
public_url = "./"

The serve command works properly and trunk build will link assets with ./ :partying_face:
I guess this was fixed in trunk-rs/trunk#717

I'll close this issue by updating the Trunk.toml file once a full Trunk release works.

Resolved with Trunk 0.19


How To Fix ?

node:events:491
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use :::8080
at Server.setupListenHandle [as _listen2] (node:net:1432:16)
at listenInCluster (node:net:1480:12)
at Server.listen (node:net:1568:7)
at Function.listen (C:\Users\ACER\Desktop\BocchiBot\node_modules\express\lib\application.js:635:24)
at start (C:\Users\ACER\Desktop\BocchiBot\index.js:29:9)
at C:\Users\ACER\Desktop\BocchiBot\index.js:169:23
at processTicksAndRejections (node:internal/process/task_queues:96:5)
Emitted 'error' event on Server instance at:
at emitErrorNT (node:net:1459:8)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: 'EADDRINUSE',
errno: -4091,
syscall: 'listen',
address: '::',
port: 8080
}

node:events:491 throw er; // Unhandled 'error' event ^
Error: listen EADDRINUSE: address already in use :::8080 at Server.setupListenHandle [as _listen2] (node:net:1432:16) at listenInCluster (node:net:1480:12) at Server.listen (node:net:1568:7) at Function.listen (C:\Users\ACER\Desktop\BocchiBot\node_modules\express\lib\application.js:635:24) at start (C:\Users\ACER\Desktop\BocchiBot\index.js:29:9) at C:\Users\ACER\Desktop\BocchiBot\index.js:169:23 at processTicksAndRejections (node:internal/process/task_queues:96:5) Emitted 'error' event on Server instance at: at emitErrorNT (node:net:1459:8) at processTicksAndRejections (node:internal/process/task_queues:83:21) { code: 'EADDRINUSE', errno: -4091, syscall: 'listen', address: '::', port: 8080 }

Restart ur pc

node:events:491 throw er; // Unhandled 'error' event ^
Error: listen EADDRINUSE: address already in use :::8080 at Server.setupListenHandle [as _listen2] (node:net:1432:16) at listenInCluster (node:net:1480:12) at Server.listen (node:net:1568:7) at Function.listen (C:\Users\ACER\Desktop\BocchiBot\node_modules\express\lib\application.js:635:24) at start (C:\Users\ACER\Desktop\BocchiBot\index.js:29:9) at C:\Users\ACER\Desktop\BocchiBot\index.js:169:23 at processTicksAndRejections (node:internal/process/task_queues:96:5) Emitted 'error' event on Server instance at: at emitErrorNT (node:net:1459:8) at processTicksAndRejections (node:internal/process/task_queues:83:21) { code: 'EADDRINUSE', errno: -4091, syscall: 'listen', address: '::', port: 8080 }

Please update the repository to latest version. Thanks.


markdown: replace new line in usage

follow-up https://github.com/docker/cli/pull/3924#discussion_r1051966907
Signed-off-by: CrazyMax<EMAIL_ADDRESS>

Codecov Report
Base: 64.36% // Head: 64.49% // Increases project coverage by +0.12% :tada:

Coverage data is based on head (6de4bc9) compared to base (77abede).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #33      +/-   ##
==========================================
+ Coverage   64.36%   64.49%   +0.12%
==========================================
  Files           4        4
  Lines         550      552       +2
==========================================
+ Hits          354      356       +2
  Misses        138      138
  Partials       58       58

Impacted Files
Coverage Δ

clidocstool_md.go
76.50% <100.00%> (+0.28%)
:arrow_up:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Latest updates

hey 👋
Google have now built out alot more good stuff for v2 so worth trying it out and if we can update this.
they still have some components not done in v2. Data picker etc.
—-
The other bit - yes I know it should be in another issue but anyways ..
I am really liking go-app and I think it’s possible to integrate with some of the OS level autofill too. To get an idea of what I mean:

login user name using .well-known standards
Address using the same .well-known
Credit card usingbssne …

these autofill make things smooth for a user.
I have gotten sone of these auto gills working and so would like to Par these to this repo.

@gedw99  This was an experiment that I took on at the time to learn a bit more about starting an open source library and mainly to learn something more than a go-app "hello world".
There are probably many things that I would do differently if I wrote this today based on what I've learned. Feel free to fork this and test out MDC V2 updates. I don't think it would be to difficult to adapt what changes have occurred to this codebase.

integrate with some of the OS level autofill

I'm not sure what you mean here?

Yea I would probably avoid OS specific code in this library, since it is intended to run on all web platforms and across mobile and desktop.  Feel free to reach out via email if you have any questions.

No worries. I can upgrade it .
Will close then ..


Question about softmax_lse in flash_attn_varlen_func

In the case of varlen input, the shape of the returned softmax_lse is [batch, num_head, seqlen], does this seqlen refer to max_seqlen_q?https://github.com/Dao-AILab/flash-attention/blob/main/flash_attn/flash_attn_interface.py#L1052

Yes.


tar: bash-4.3.046-1/depends: Not found in archive

When I try to install a ArchLinux chroot using the command in the README, I get the following error:
tar: bash-4.3.046-1/depends: Not found in archive

The full log:
$ sudo sh -xe installer/main^Ch -r arch -t xfce
WARNING: USB booting is enabled; consider disabling it.
WARNING: Signed boot verification is disabled; consider enabling it.
You can use the following command: sudo crossystem dev_boot_usb=0 dev_boot_signed_only=1
Installing arch-x86_64 chroot to /usr/local/chroots/arch
Fetching repository packages list...
Fetching core...
######################################################################## 100.0%
Fetching community...
######################################################################## 100.0%
Fetching extra...
######################################################################## 100.0%
Downloading and extracting packages...
Downloading and installing bash...
######################################################################## 100.0%
tar: bash-4.3.046-1/depends: Not found in archive
tar: Exiting with failure status due to previous errors
tar: bash-4.3.046-1/depends: Not found in archive
tar: Exiting with failure status due to previous errors
Downloading and installing gawk...
######################################################################## 100.0%
Downloading and installing grep...
######################################################################## 100.0%
tar: .BUILDINFO: Cannot open: File exists
tar: Exiting with failure status due to previous errors

The issue is that the bash-4.3.046-1/depends file does not exists in the code.db database (a tar archive).

It seems some packages do not have a depends file. Perhaps this is because there is no dependency. The getdbfield function in installer/arch/bootstrap should perhaps be modified for that specific case

This is the same as the problem fixed in #107
You should use https://github.com/elkangaroo/chroagh which works way better


Add tooltips to Hide comment type settings where necessary

Previously, this setting was pretty confusing for users, especially the difference between "reference" and "issue reference".
Related: #21321.

Review hint: Hide whitespace changes.

The position of the tooltip is wired.

I didn't change the positioning of the tooltip.
As far as I know, tippy automatically detects whether to position on the top or the bottom depending on where you hover over the box.
Meaning when you enter the box from the bottom and then hover there, it should be positioned on the bottom.
Or it positions it on the top otherwise.

Tippy may sometimes try to be smart about positioning, but you can add data-tooltip-placement="top" to force it on top.

ping for maintainers.
This PR is up to date, and would be nice to have as it helps against the current confusion.

Codecov Report

Merging #21306 (4264d3a) into main (f521e88) will decrease coverage by 0.09%.
The diff coverage is 30.70%.

:exclamation: Current head 4264d3a differs from pull request most recent head b630240. Consider uploading reports for the commit b630240 to get more accurate results

@@            Coverage Diff             @@
##             main   #21306      +/-   ##
==========================================
- Coverage   47.14%   47.05%   -0.09%
==========================================
  Files        1149     1163      +14
  Lines      151446   153652    +2206
==========================================
+ Hits        71397    72304     +907
- Misses      71611    72835    +1224
- Partials     8438     8513      +75

Impacted Files
Coverage Δ

cmd/dump.go
0.64% <0.00%> (-0.03%)
:arrow_down:

cmd/mailer.go
0.00% <0.00%> (ø)

cmd/manager.go
0.00% <0.00%> (ø)

cmd/manager_logging.go
0.00% <0.00%> (ø)

cmd/migrate_storage.go
5.76% <0.00%> (-0.12%)
:arrow_down:

cmd/restore_repo.go
0.00% <0.00%> (ø)

cmd/web.go
0.00% <0.00%> (ø)

models/actions/run.go
1.63% <0.00%> (-0.10%)
:arrow_down:

models/actions/runner.go
1.44% <ø> (ø)

models/organization/org_user.go
80.51% <0.00%> (-12.02%)
:arrow_down:

... and 64 more

... and 120 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.

I couldn't know why we need a tooltip here. Maybe just some text on top of all checkboxes is good enough?

Like this

Related: https://github.com/go-gitea/gitea/issues/21321.

That's exactly my point why I opened this issue.
There's simply no guideline yet on when to use what.
I agree, for the topmost tooltip, a static help text is probably the best.
But not for the ones below.

@lunny applied.

@wxiaoguang @lunny all done.


Fix break caused by AEL behavioral change in v4.10

Related Issue
Fixes https://github.com/microsoft/AdaptiveCards/issues/5100
Description
Works around a behavioral change in AEL introduced in version 4.10 which causes single expressions such as ${age} to be generated as concat and produce strings instead of the actual type of the expression.
Test card
{
    "type": "AdaptiveCard",
    "$data": {
        "title": "Not empty"
    },
    "body": [
        {
            "type": "TextBlock",
            "size": "Medium",
            "weight": "Bolder",
            "text": "Test card"
        },
        {
            "type": "TextBlock",
            "text": "Should be visible only if title isn't empty",
            "wrap": true,
            "$when": "${title != ''}"
        }
    ],
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.3"
}

Without this fix, the "$when" clause will incorrectly evaluate to the string "true". With the fix, it will correctly evaluate to the boolean value true.
How Verified
Verified manually in adaptivecards-designer-app
Microsoft Reviewers: Open in CodeFlow

It looks OK. If change back to the original model is more convenient,  we will also consider it.


Rate limiting options not filtered based on users selection

Describe your problem(s)
It will be good if we can customize what rate limiting options a user sees when they select "Event based" or even disable the options that are not relevant.
Currently, when a user selects "Event Based" they even see the GraphQL option.

It was decided to leave the UI unchanged. Though some fields are relevant only to certain types due to the complexity involved in changing the UI it will be not changes.
However, we can consider this change in 4.1.0 release or later.


Issue when executing RDP session is in Console mode

Hi All,
i have an application built using pywinauto/cx_freeze that does keystroke send to application. this works perfectly fine when i take the remote desktop session and manually trigger the utility. when i try to schedule the utility and keep the RDP session disconnected (but active using the tscon ... /dest:console command), my utility is getting launched (which i can confirm by the logs generated) but fails with below error and nothing happens

Traceback (most recent call last):
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_86\lib\site-packages\cx_Freeze\initscripts_startup_.py", line 14, in run
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_86\lib\site-packages\cx_Freeze\initscripts\Console.py", line 26, in run
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_86\lib\site-packages\pywinauto\controls\hwndwrapper.py", line 1310, in set_focus
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_86\lib\site-packages\pywinauto\mouse.py", line 232, in move
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_86\lib\site-packages\pywinauto\mouse.py", line 125, in _perform_click_input
pywintypes.error: (0, 'SetCursorPos', 'No error message is available')

Update:
the line thats failing is
app.top_window().set_focus()

@irajeshr, since you mentioned tscon.exe you may have seen it already, but if not please have a look at our Remote Execution Guide. Also, as mentioned by @vasily-v-ryabov , other possible reason could be "UAC" dialog: https://stackoverflow.com/questions/46505942/python-win32api-setcursorpos-error

@airelil  thanks for the feedback.
Remote Execution guide link seems to be not working.
Regarding the UAC -- it doesnt prompt any UAC box as we have disabled it completely.

@airelil Thanks for your inputs. Unfortunately i dont have any control over the type of remote client to use. we are permitted to use the windows default mstsc only :( having said that, is there anything else that can be done using some module to keep the remote session active and not getting itself locked up due to inactivity?

.type_keys(...) works the same way as keyboard.send_keys() except it calls .set_focus() for the target control before typing.
By the way, Remote Execution Guide suggests some "Tricks to run automation on a locked machine" which includes 2 other methods for a wrapper object. These methods are available for backend="win32" only.
Did you try 2 links to TestComplete docs in the Remote Execution Guide for your RDP? Is it applicable?

And mentioned docs for type_keys has link to keyboard module with some code snippets: https://pywinauto.readthedocs.io/en/latest/code/pywinauto.keyboard.html

.type_keys(...) works the same way as keyboard.send_keys() except it calls .set_focus() for the target control before typing.
By the way, Remote Execution Guide suggests some "Tricks to run automation on a locked machine" which includes 2 other methods for a wrapper object. These methods are available for backend="win32" only.
Did you try 2 links to TestComplete docs in the Remote Execution Guide for your RDP? Is it applicable?

Yep I already have tested the 2 steps. it works. the problem that i am facing is that when i sort of schedule the utility to execute, it fails even though i have disconnected using the option 2 suggested in that documentation. my assumption is that after some inactivity, the policy is such that it locks the remote machine and hence the issue.

If it's impossible to change auto lock policy, it makes sense to schedule every few minutes some fake task that performs one click somewhere if main task is not running (for example, by checking some signal file or another Python process).

By the way, method .set_edit_text() can be a good candidate for locked machine. It uses .set_value() for UIA backend and WM_SETTEXT message for Win32 backend.

@vasily-v-ryabov : Thanks for the updates, can you please some more info and documentation on how to use the above said function?

It's dead simple: app.DialogSpec.SomeControlSpecification.set_edit_text("something with spaces") That's it. There are optional arguments to replace some part of edited text: startpos and endpos.


How to express intersection types?

A quick vanilla example:
type T1<F> = {field: F}
type T2 = {label: 'stringy'}
type X = T1<string> & T2

I want to do this in valita... I expected this to work:
import {Type, Infer, object, string, literal} from '@badrap/valita';
const T1 = <FT extends Type>(F: FT) => object({field: F});
const T1s = T1(string());
const T2 = object({label: literal('stringy')});
const X = T1s.chain(T2.parse);
type X = Infer<typeof T1s> & Infer<typeof T2>;

(Note: in this example the X type is correctly inferred)
but tsc doesn't accept .chain(T2.parse) maybe there should be a .isect(T2) that just accepts the type?

As far as I can tell this goes a bit against the use case valita was designed for. The main idea behind this library is that you define your schema to validate data and can automatically derive types form that.
In the example posted it seems like the opposite is the case. It tries to express TS types and then somehow turn them into a schema.

Yeah, it's a bit tricky. We've avoided introducing intersection types, as we haven't figured out a way for them to work nicely (to some arbitrary definition of "nice") with transformed types. Let's assume there's a v.intersection(...) function for creating intersections. In such case we could do something like this:
const T1 = v.object({ field: v.string().map((x) => (y: string) => x === y });
const T2 = v.object({ field: v.string().map((x) => (z: string) => x === z });
const T = v.intersection(T1, T2);

Maybe somewhat contrived, but I think it gets the point across 🙂 What should the result of T.parse({ field: "test" }) be?
AFAIK some other libraries solve this problem by first parsing the input with both T1 and T2 and then comparing the two results with a deep equality check and merge them if everything seems ok. It's a perfectly valid and pragmatic approach. However, in this case T would look fine on the type level, but won't ever parse anything succesfully at runtime as it'd be pretty hard to determine that the resulting functions are essentially the same.
If it's ok for you that T2's overlapping field(s) overwrite T1's overlapping fields then I recommend trying out T1.extend(T2.shape).
T1.chain(T2) could work, and in fact we've been thinking about having something like that in the future. That approach would make the relation between overlapping object fields more explicit: overlapping fields get parsed with T1 first and the result then gets parsed with T2.

If it's ok for you that T2's overlapping field(s) overwrite T1's overlapping fields then I recommend trying out T1.extend(T2.shape)

Thanks! This is a very workable solution as long as we are careful/intentional about the order.
In this example:
const T1 = v.object({ field: v.string().map((x) => (y: string) => x === y });
const T2 = v.object({ field: v.string().map((x) => (z: string) => x === z });
const T = v.intersection(T1, T2);

I'm afraid I have a philosophical gripe, as I don't really think a validation function should transform the objects it's validating.

I agree with your philosophical gripe, and that's exactly why valita is described as "validation & parsing library" and the parsing method is called parse instead of validate (as well as paying homage to Zod 🙂)
Valita does not mutate its inputs, instead it constructs new objects when necessary. For example the following always creates a new object as output (without modifying the input):
const t = v.object({ field: v.string().map((x) => `a${x}b` });
const input = { field: "test" };
const output = t.parse(input);
input.field;       // "test"
output.field;      // "atestb"
output === input;  // false

When Valita can determine that the input isn't transformed in any way then it avoids constructing new instances:
const t = v.object({ field: v.string() });
const input = { field: "test" };
const output = t.parse(input);
input.field;       // "test"
output.field;      // "test"
output === input;  // true

So, in effect you can do pure validation if you so wish.
However, Valita was originally constructed for our JSON-oriented APIs that can ingest things like IP addresses or base64 encoded binary data. In such cases it made sense to make IP validation and normalization or base64 validation and string-to-Buffer transformations atomic parts of the same pipeline (including error reporting).
const b64 = () => {
  return v
    .string()
    .assert((x) => isBase64(x), "expected a base64 encoded string")
    .map((x) => Buffer.from(x, "base64"));
};

// Then later...

const t = v.object({ data: b64().assert(isPNG, "expected PNG data") });
t.parse({ data: "ååååå" });
// Uncaught ValitaError: custom_error at .data (expected a base64 encoded string)


Pixel Gun 3D Crash

Describe the issue
The app crashes after I get pass the loading screen cause of bad memory access
"vmRegionInfo" : "0x1569ac000 is in 0x1569ac000-0x15e9ac000;  bytes after start: 0  bytes before end: 134217727\n      REGION TYPE                 START - END      [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL\n      VM_ALLOCATE (reserved)   14e9ac000-1569ac000 [128.0M] rw-/rwx SM=NUL  ...(unallocated)\n--->  mapped file              1569ac000-15e9ac000 [128.0M] r--/rw- SM=COW  ...t_id=dda5b7ed\n      MALLOC_LARGE             15e9ac000-15ea74000 [  800K] rw-/rwx SM=PRV  ",
"exception" : {"codes":"0x000000000000000a, 0x00000001569ac000","rawCodes":[10,5747949568],"type":"EXC_BAD_ACCESS","signal":"SIGBUS","subtype":"KERN_MEMORY_ERROR at 0x00000001569ac000"},
"termination" : {"flags":0,"code":10,"namespace":"SIGNAL","indicator":"Bus error: 10","byProc":"exc handler","byPid":17612},
"ktriageinfo" : "CL - cluster_pagein past EOF\nVM - Filesystem pagein returned an error in vnode_pagein\nVM - Page has error bit set\nCL - cluster_pagein past EOF\nVM - Filesystem pagein returned an error in vnode_pagein\n",
"vmregioninfo" : "0x1569ac000 is in 0x1569ac000-0x15e9ac000;  bytes after start: 0  bytes before end: 134217727\n      REGION TYPE                 START - END      [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL\n      VM_ALLOCATE (reserved)   14e9ac000-1569ac000 [128.0M] rw-/rwx SM=NUL  ...(unallocated)\n--->  mapped file              1569ac000-15e9ac000 [128.0M] r--/rw- SM=COW  ...t_id=dda5b7ed\n      MALLOC_LARGE             15e9ac000-15ea74000 [  800K] rw-/rwx SM=PRV  ",
"faultingThread" : 54,
Instructions to reproduce
Let the app load
What version of LiveContainer are you using?
1.0
Other
No response

Please send the complete report and where you got the ipa.


Update MAINTAINERS.md

Updating @utkarsh-pro's status.

@utkarsh-pro thank you for all of your time spent on this project. 👏

@leecalcote today is my last day away from the community and the projects. In regard to our previous discussion as to not have me present myself with a false sense of availability, I have tried not to involve in the projects until I am back for good.
I am sure I would be able to continue my role here as maintainer and steward initiatives in and around the project.

@navendu-pottekkat adding you back in. Please note the updated governance.md requirements for maintainers.


compiler warnings on CentOS 7

When building another project (Gobetween LoadBalancer), I hit this issue:
# github.com/lxc/lxd/shared
In file included from vendor/src/github.com/lxc/lxd/shared/network_linux.go:19:0:
./../shared/netns_getifaddrs.c: In function 'get_packet_address':
./../shared/netns_getifaddrs.c:489:2: error: 'for' loop initial declarations are only allowed in C99 mode
  for (unsigned char i = 0; i < n; i++) {
  ^
./../shared/netns_getifaddrs.c:489:2: note: use option -std=c99 or -std=gnu99 to compile your code

My build machine is CentOS 7 with the stock packages
# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

Oh this is lxd. Well then this is even the wrong repo to fix it. :)

Sorry, the repo was correct. Too early in the morning for me. :)

so finally what is it? the change is acceptable or not? 😄
I tried exporting "CC = 'gcc -std=gnu99'" but that doesn't help!!!

That won't help you I think. I have a PR open that passes the required options across the code base. You can try and see if that fixes the issue for you:
https://github.com/lxc/lxd/pull/5068


Not playing

why

https://github.com/lavalink-devs/youtube-source
Add this plugin to your lavalink


BZ1310893: Full Text search returns only 10 results even if it hits more than 10

See https://bugzilla.redhat.com/show_bug.cgi?id=1310893
The issue was that we did not consider "start index" or "page size" when building the response.

+1


Update connection.py

Test server 'apitest.dataverse.org' returns HTTP code 200 when dataverse is successfully created. Updating this code to prevent error in creation being reported.

update wrong


Plan details page - data contact person to be empty rather than ticket

Currently on the plans details page the data contact person is ticket as 'same as principal investigator'

It was suggested that it will be better to be empty by default.

ToDo: Think about this ticket in the context of the new contributors model.

Going to close this one out as the new contributors model covers it


Add Jankbench workload

Jankbench simulates user interaction with Android UI components and records
frame rendering times and 'jank' (rendering discontinuity) in an SQLite
database. This  is believed to be a good proxy for the smoothness of user
experience.
This is essentially implemented by copy-pasting from the Jankbench support in
LISA[1] and the GlbCorb benchmark already in WA.
Some notes:

Jankbench is not currently publicly available, but it is in use by multiple
organisations.
This doesn't include code for analysing the result.

Given the two bullet points in your notes, this seems of limited use. Is this worth merging at this stage?

OK, closing for now


the github for azure-synapse-spark doesn't contain sample.

Type of issue
Typo
Description
https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/synapse/azure-synapse-spark/azure/synapse/spark
done by 3yr ago, though.
Page URL
https://learn.microsoft.com/en-us/python/api/overview/azure/synapse-readme?view=azure-python
Content source URL
https://github.com/MicrosoftDocs/azure-docs-sdk-python/blob/main/docs-ref-services/latest/synapse-readme.md
Document Version Independent Id
1674e232-8243-cca1-c351-d374ce298fb3
Article author
@azure-sdk
Metadata

ID: a7232bab-2ca9-213f-1217-a539b57a5f7d
Service: synapse-analytics
Technology: azure

Hi @mxu-ccmlp - Thanks for opening an issue!
@msyyc - Would you be able to take a look?

It seems that @xiangyan99 owns the package

@wonner can you take a look?


chore: run template copying last in synthtool

Running synthtool on the current node10 branch results in some protos being generated. In this PR, I took the following steps:
0. Modify update.sh to point to my remote repo with BatchWrite protos.

Run synthtool on the base node10 branch.
Move template copying to the end of synth.py.
Re-run synthtool.
Revert manual changes that we make after synthtool is run.


Error right after installation.

After the installation is complete I get redirected to the admin login page which returns this error:

Is there an easy fix to this?

do you find any solution for it

Man, just go to the file: "packages/Webkul/Core/src/Eloquent/Repository.php" and change line 88 (count method) to make it compatible with "vendor\prettus\l5-repository\src\Prettus\Repository\Eloquent\BaseRepository.php" line 346.
The problem is exactly there, the child class method has the number of different parameters of the parent class.
Just copy count function from vendor and paste them inside of the core of Webkul.
This is a workaround, but it works!

@wasiqaftab If you make the change I mentioned above, it will work for you too.

@ilson-nobrega thanks but issue is i have that repository in the following path

@wasiqaftab It was situation mayhem yesterday and its official that all releases except current master will not be installed properly due to dev dependencies present in Bagisto's composer.json.
Although this should not hurt as our current master has curbed all the dev dependencies and that can be used in production as well as development.
Regards,
Bagisto Team.

@prashant-webkul Thanks yes i try to run master branch it works fine. now the new issue which i see is when we npm install on windows it works fine but when we do npm run dev it gives error or inProduction variable. but i test this on mac its working fine

Framework Version: 0.1.6

Fixed


Why use the classnames package？

You have had styled-components, but I am confused why the classnames is be used?

Smooth UI takes advantage of Styled Components but also use CSS classes to simplify overriding. classnames package is used as an utility to compose classes.


FIX: Hotfix for somato dataset

A workaround for #6770 until someone corrects the dataset itself.

Also now contains fixes for weekly linkcheck failures


support struct and ref/out on them

I m trying to port my game engine to webgl using saltarelle but the first think that stopped me were not completed struct support and i have lot of methods supporting ref and out struct params, ie: Matrix.Multiply etc

Support for ref/out parameters that are not locals is supported in Bridge2


Prepare a Docker image \w Jupyter and Spark API

This would allow:

something, that everyone can run, to get the latest state of Spark API
consists of a docker image \w hostPath mounted siva files
has 1 notebook \w example of PySpark using Spark API

Make dockerfile
make a versioned image on tag by CI
include notebook, but it needs to be updated manually

Recent work has been tracked in SparkAPI repo under https://github.com/src-d/spark-api/pull/38

This is done, right?

Closed by https://github.com/src-d/spark-api/pull/38


Return reference type values from calls.

Implement changes to call to allow returning reference-type values.
Uses an auxiliary 'out' parameter to receive the value, uses mem_copy to set it and then returns the pointer itself.

I'm not 100% happy with this change as it's needed to be a bit hacky.  In particular, the ambiguity around IR pointers, which will be fixed by #2819 soon, means that we're sometimes using explicit pointers for values and sometimes they're implicit pointers for ref-types.
e.g.,
// Original code.
fn foo() -> b256 { ... }

// New code, after this PR.
fn foo(__ret_value: mut ptr b256) -> b256 {
    ...
    mem_copy(__ret_value, calculated_value, 32)
    ret b256 __ret_value
}

The return type is b256 but it's actually returning a mut ptr b256.  But they work out to be the same thing.  Ugh.  Implicit pointers for ref types was used in the IR originally because that's what we do in Sway, but that needs to change with #2819.

@mohammadfawaz Any idea why the JSON ABI log IDs changed in 2fb1b53 after changing storage reads to be from the heap in bac53fd?

@mohammadfawaz Any idea why the JSON ABI log IDs changed in 2fb1b53 after changing storage reads to be from the heap in bac53fd?

Yeah because type IDs changed probably, and I'm using them as proxies for log IDs. There's an issue to clean that up - just remapping the IDs really but that's a bit annoying to do because the bytecode contains those IDs as well.

Is the source of the bytecode size increase just the extra move and memcopy ops around returning references? That bloat is more than I would have expected.

Yeah I'll look into it.  It could just be that, or something more nefarious and fixable.  We can always make the inlining more aggressive again if it's the former.

@sezna Yep, I've had a look at the asm and the growth in binary size is pretty much the bytecode needed to set up addresses and then to perform the mem_copy for the returned values.
This is done before inlining, so my idea that making inlining more aggressive would help was incorrect.  The problem is that these new mem_copys are mostly redundant, as we already have implicit copying of ref types anyway.  They used to be leaked onto the stack, but they're stricter now.
So the we really need to add a pass for fixing memory use, probably something like LLVMs memcpyopt, just to reduce the copying.  That is, on top of fixing pointers in general (#2819) so that we don't have implicit copying any more.
And it is probably possible to improve the ASMgen for these things.  Overripe for some improvements in general.


Is there any way to use PostCSS?

I have a project made with NextJs and styled components, but now I'm facing a issue with flexbox gap on old safari iOS version (<14), I found a polyfill on npm that solves this, is there any way I could use post css and styled components?

Hello, is there any update on this issue?

Hello any news about that please?


Dimmer Percent as Decimal(Float) to support INT

Currently there is a bug with Home Assistant that doesn't allow remapping values on payloads and only supports integers for dimming. Does OpenHAB or other systems want this in decimal? If so would it be worth putting in a flag or option to determine format? Looking at Homie Convention, It doesn't look like it would support same property with different formats stored in MQTT.
I currently have this fixed by removing the multiply and divide by 100 lines. Leaving dimming set to use 0-100 instead of 0.0-1.0.
I do feel decimals are better for fractions/percents but I think most home automation only use 0-100 or 0-255 integers for the devices.
https://github.com/mjcumming/homie4/blob/6338938c59e56d8ade4162bf23a75fa43405ab6a/homie/node/property/property_dimmer.py#L42
https://github.com/mjcumming/homie4/blob/6338938c59e56d8ade4162bf23a75fa43405ab6a/homie/node/property/property_dimmer.py#L48

I completely agree, I do not like the decimal convention at all, especially since the property uses % as a unit of measure. But this a Homie issue and we should probably take it up over there. The library here simply follows the spec.....

However, for your use case, it would be easy to adjust the value before sending to HA

I had read it before but might have missed something. Just to confirm your referring to this homie convention https://homieiot.github.io/specification/#
My questions are I didn't see anything mentioned about percents or dimming. I noticed the format explains percents but doesn't go into data types about percents.
One other confusion (might be me :-) ) is the float datatype and using formats
Shouldn't the format be "0:1" or does float always indicate values under 1.0?
homie/dimmer-XYZ/dimmer/dimmer b'0.0' homie/dimmer-XYZ/dimmer/dimmer/$unit b'%' homie/dimmer-XYZ/dimmer/dimmer/$datatype b'float' homie/dimmer-XYZ/dimmer/dimmer/$format b'0:100'
Sorry for all the trouble just trying to get a better understanding of this

Yes, that is the correct link to homie.
The float data type is described in the spec. The format property describes allowed values for the float property.
The Unit property attribute is where the % is used. In my opinion, in this case the format should be 0:100 not 0:1.
I don't like the way % is implemented and its being discussed on the homie github.

In the sense of IOT leaving Percents at the resolution (0.0-1.0) gives more precision and makes sense to me. I don't think there would be a good point in changing that with with Homie Convention as its correct. Its the right design choice for you to pick percent since different vendors are using their dimmer values. I think I'll build this project from the form the fork for the time being(until HASS data template bug is fixed) using INT range 0-100 representative of the percent since the resolution in Homie4(Dimmers) module is already rounding this off with round() function. Thanks for the insight and great a project!

FYI, the Homie spec has been corrected to use numbers 0-100 for 0 to 100%


hotfix(vue-app): ReferenceError error passed with routeChanged

Types of changes

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

Description

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly. (PR: #)
[ ] I have added tests to cover my changes (if not applicable, please state why)
[x] All new and existing tests are passing.

Codecov Report

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

@@          Coverage Diff           @@
##             2.x    #4444   +/-   ##
======================================
  Coverage       ?   91.56%
======================================
  Files          ?       56
  Lines          ?     1896
  Branches       ?      472
======================================
  Hits           ?     1736
  Misses         ?      151
  Partials       ?        9

Continue to review full report at Codecov.

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


"headless" support for VMs (non-desktop linux instances) Issue #15

DEPS : check out https://github.com/tonymet/oauth2-noserver/commits/feature/headless first
Addresses Issue #15 -- gphotos-uploader-cli will now run on a standard linux vm without gnome installed (tested on ubuntu & chromium)

tests for dbus, and uses main leveldb (key = credential_USERNAME ) for credentials if dbus is not running .  Otherwise uses zolando/go-keyring as before.
allows redirectURL to be set in config as APIAppCredentials.RedirectURL (needs tonymet/feature/headless branch of oauth2-noserver)

Example config
{
  APIAppCredentials: {
    ClientID:     "XXXX"
    ClientSecret: "YYYYYY",
    RedirectURL:  "http://myserver.tonym.us/oauth/callback"
....
}

If I'm not mistaken, this will not work for me for the same reason that I don't think this is the best approach for general use.
Also, for easier reviewing and integration, I think it would help @nmrshll if you could do multiple pull requests with individual features instead of merging a bunch into a single PR. The way I see it, this PR could at least be separated into two different things (token storage for one, headless authentication as another).
My 2 cents.

@rfgamaral good feedback.  I'd still appreciate your help testing if you have a few min.
The work should be a step in the right direction -- there's no clear path to spinning up an external server that I'm aware of.  This will at least let you configure your own--which helped me a lot.
Let's chat with @nmrshll and see if he cares to split.  I'm ok either way, but the value as a story is better bound up this way IMO.

I'd still appreciate your help testing if you have a few min.

I don't have a local server, publicly exposed, running on my NAS. I can't help you test your full approach.

The work should be a step in the right direction

Please don't take this in the wrong way but I only partially agree. Yes, storing the token in a more cross-platform way (at least not tied to gnome) is a step in the right direction. But I don't agree with the other bit, setting up a local server (exposed and accessible externally). I don't think that's the way forward.

Let's chat with @nmrshll and see if he cares to split. I'm ok either way, but the value as a story is better bound up this way IMO.

I think both features bring value individually and I'm personally more interested in getting that token work merged into master than the other bit (for the reasons mentioned above). One thing does not invalidate the other, the token work as a lot of value as a standalone feature.

It's all good.
About the nas, I've done this before by giving your nas a hostname (even in your hosts file or your domain) . Only your browser needs to reach it (not google).  the RedirectURL support will help facilitate this (e.g. use nas.rfgamaral.net ).
I'm pretty sure the merge will be smooth since the RedirectURL changes are backward compatible and don't change the config (the default will use the old url).
Moreover, the token storage is backward compatible as well.
Long story short the new code will help you, and we can work on helping you with the external server if it's still needed.

@rfgamaral btw i pinged you on skype to help discuss the solution skype=tonymetzynga

You misunderstood me. I know how to setup a domain and an external server on my NAS and how to point that domain to my NAS. It's just something that I don't want to do, especially not for something like this.
This is a tool for uploading and just that. Uploading from my server to my Google Photos account.  You have to understand this is not supposed - at least from my point of view - to just you and me or technically savvy people. We should cater to all types of users.
With that in mind, it's not about making things backwards compatible just for the sake of it. If it makes sense (for some reason), sure. If not, and if we can have one good solution that works for most (if not all) use cases we should go with that. Otherwise, we're just adding up to the code base, making it more complex and harder to maintain because we'll have multiple solutions to to achieve the same end result. That's usually not a very good idea.
As for "helping me", that's why (but not only of course) I suggested to make two separate PRs 😁
For my Docker image to be 100% usuable I need a few things:

Access token needs to be stored with your code and not in gnome keyring. If this were a separate PR it would be better for me so I wouldn't need to maintain my own fork of this project. It would also be better from a code review point of view and we could focus on discussing that implementation and perhaps discuss the possibility of replacing the token storage completely with your code instead of still relying on gnome keyring first. But as you see, with two changes in a single PR we have cross discussions of two features that bring value individually.
It needs an automated mechanism for renewal of the access token (by using the refresh token that it's not currently stored anyway as far as I know). I'm not sure if @nmrshll is working on this or has plans to but this is something required not only for my Docker image but for anyone that wants to run this on a headless server (otherwise periodical and manual authentication will be required).
A more seamless authentication process is required (the other bit you're working on this same PR). The way I see it, we really need to research and think this more thoroughly to come up with a more elegant and reliable solution that's as user friendly as possible. I'm personally "happy" with the current manual solution I've detailed on the README of my Docker image.

Oh, and I'm not sure who you pinged but I don't use Skype 😆

Hi guys,
I don't really understood what you are doing
I have a Raspberry Pi used as headless server.
I allready use this scripts :
https://github.com/odeke-em/drive
https://github.com/thebigmunch/google-music-scripts
https://github.com/tokland/youtube-upload
https://github.com/andreafabrizi/Dropbox-Uploader

And the only thing to do is to copy OAuth Address to my browser and copy back token or credential to my headless server.
It's should be same simpler for google photo
Please help me to do this script work without docker

@rfgamaral I think we should chat on skype it'll be more constructive. I think we can come up with a solution.
About the nas, it doesn't have to be public, just have a name. e.g. "nas.rfgamal.com" in your hosts file on your laptop where you auth.
The refresh token is saved in both cases.  If you are not seeing it, you'll have to de-auth the app (go to google->my account-> 3rd party apps -> delete).  Refresh tokens are only offered on the first auth and not subsequent auths.  The uploader uses golang's standard oauth lib which refreshes properly.
@ManuCart the crux of the problem is that photoslibrary is different and doesn't support the copy-paste flow like those other tools.  It's a newer api and google is restricting the allowed flows in oauth2.  If someone wants to test this to double check my work please do and I'm happy to implement the copy-paste flow.

@rfgamaral saw the note i'll try keybase

Ok, I will try.
What the way to install your work

@ManuCart
go get github.com/nmrshll/gphotos-uploader-cli
cd $GOPATH/src/github.com/nmrshll/oauth2-noserver
git remote add tonymet	git@github.com:tonymet/oauth2-noserver
git checkout feature/headless
cd $GOPATH/src/github.com/nmrshll/gphotos-uploader-cli
git remote add tonymet	git@github.com:tonymet/gphotos-uploader-cli.git
git checkout feature/headless-complete
make build

Update your config to add RedirectURL (use your hostname--this url must be added to your oauth credentials in your GCP account
{
  APIAppCredentials: {
    ClientID:     "XXXX"
    ClientSecret: "YYYYYY",
    RedirectURL:  "http://myserver.tonym.us/oauth/callback"
....
}

@nmrshll this feels pretty stable and backward compatible.  part of the discussion focused on other ways to make headless easier, but this patch should definitely help people running non-desktop linux (e.g. ubuntu on a vm, or a nas installation).
Could I ask for your feedback and help to get it merged in I think it's good work :D  .
Thanks for all the support.

@tonymet Not trying to diminish your work, it's awesome that some one with Go skills is helping fixing important issue like the headless one but I'm still a bit skeptical about this implementation. Please answer me this:
How can a user, without owning a domain like your tonym.us, can use this implementation to successfully authenticate this on headless server? Honest question, I'm not seeing how it works.

Happy to answer questions always good to have feedback.
First off the goal here is just to improve compatibility to make sure gphotos-uploader can run anywhere -- when I ran on docker or a vm it would crash due to 1. lack of dbus and (2) unable to launch a new window.  So now any linux can run.
About running without DNS it is tricky but doable.  Of course the easiest would be to buy a $2 domain and then put your VM's public IP on gphotos.mydomain.com .   In lieu of that, since <IP_ADDRESS>:8080/oauth/callback is allowed, one could ssh -L8080:localhost:14656  ec2-user@vm-public-ip  in order to forward the oauth redirect to gphotos-uploader-cli on a remote vm.
I'm happy to write this up and add to the documentation as a possible workaround.

@tonymet Tried to cherry-pick your credentials related changes from this PR into my own fork (that I use on my Docker image) and got the following error compiling gphotos-uploader-cli:
# github.com/nmrshll/gphotos-uploader-cli/upload
../../upload/folderUploadJob.go:49:5: undefined: tokenstore
../../upload/folderUploadJob.go:51:3: undefined: tokenstore
../../upload/folderUploadJob.go:54:3: undefined: tokenstore
../../upload/folderUploadJob.go:68:16: undefined: tokenstore
../../upload/folderUploadJob.go:91:8: undefined: tokenstore

At first I thought I forgot to cherry-pick something important but looking at the changes on this PR itself, it looks to me that you're missing an import statement on folderUploadJob.go to use tokenstore? After adding that change to my fork I was able to compile successfully, is this the right way to fix this problem?

@rfgamaral thanks for checking.  It seems like it may be an issue with the cherry pick. I did a clean checkout and reviewed the diff (see the files tab).  There are a couple commits here so they may have been applied out of order.

@rfgamaral to help you out I went ahead and squashed this branch down to one commit.  You'll need to reset your local branch here's how.  then you can cherry-pick more easily
git checkout feature/headless-complete
git reset --hard tonymet/feature/headless-complete
# double check
git log -1
4d36ae0 - (HEAD -> feature/headless-complete, tonymet/feature/headless-complete) configure RedirectURL in config.hjson. add TokenStoreLevelDB -- support running w/o dbus (2 minutes ago) <Anthony Metzidis>

Well, I'm not sure what's going on, I have most of your code on my fork, the only two files I didn't picked were:

.gitignore
config.go

I still don't understand why I wasn't able to compile your branch without adding the import statement I mentioned above.

rebased to latest origin/master

Issue #46 -- could be fixed here.
@nmrshll I'd like to get your thoughts on this one any feedback could help

This PR can't be merged due to the changes of the code... and the project. Most of the problems that were rised were either fixed here or fixed on @rfgamaral docker fork.


Can the @denormalized become a true replacement for @property including property.setter ?

Hi. Is that hard to change @denormalized decorator to allow this?
class SomeModel(models.Model):
    # the other fields

    @denormalized(models.CharField,max_length=100)
    def some_computation(self):
        # your code
        return some_value

    @some_computation.setter
    def some_computation(self, new_value):
        # your code which let self.some_computation == new_value after the denormalization cleanup
        assert self.some_computation == new_value
        return

If this can be done, than it will really replace @property, as @property.deleter makes almost no sense for a Django field

On Fri, Nov 18, 2011 at 8:36 PM, Alan Justino da Silva
<EMAIL_ADDRESS>wrote:

Hi. Is that hard to change @denormalized decorator to allow this?
class SomeModel(models.Model):
   # the other fields

   @denormalized(models.CharField,max_length=100)
   def some_computation(self):
       # your code
       return some_value

   @some_computation.setter
   def some_computation(self, new_value):
       # your code which let self.some_computation == new_value after the denormalization cleanup
       assert self.some_computation == new_value
       return

If this can be done, than it will really replace @property, as @property.deleter makes almost no sense for a Django field

i don't really understand. what is the use case for this?
i think setting the denormalized field to a value by hand kind of
defeats it's purpose.

It can be used to port from @property directly, and allows a cleaner API.
For now, it works like a read-only property, which let me get a computed value from that instance attributes. But sometimes you can use a read-write property, which allows to do some computation to achieve the desired value.
(toy) example:
class BankAccount(models.Model):
    client = models.ForeighKey('BankClient')
    base_interest = models.DecimalField(u"monthly interest rate", default=Decimal('0.10'),
                                        blank=True, null=True, max_digits=4, decimal_places=2)
    interest_discount = models.DecimalField(u"discount for this client", default=Decimal('0.00'),
                                            blank=True, null=True, max_digits=4, decimal_places=2)

    @denormalized(models.DecimalField, max_digits=4, decimal_places=2)
    def final_interest_rate(self):
        return self.base_interest - self.interest_discount

    @final_interest_rate.setter
    def final_interest_rate(self, new_value):
        self.interest_discount = self.base_interest - Decimal(new_value)
        return

As "some computation" needs to occur to get the value, "some computation" can occur to set the value. In this toy example, the interest_discount can be set per-account based, and the base_interest can be set globally by .update() to a group of clients. But this is only a toy example...
Technically, is expected that, after "set" operation the denormalized field needs to be computed on all later "get" calls before the denorm_flush, to mimic the @property behavior. I dont know if it is easy, and if is hard I think that is acceptable to just set the field manually to new_value at the loaded instance, and let the denorm_flush to fix it later.


[question] Custom form layout

Maybe I'm not reading the docs well enough but I'm wondering how customize the form layout. For instance, how would you structure a 2-column layout? How would you tell backback that these elements go in col 1 and the others go in col 2?

i think the best way to do that is to create some column divs (bootstrap's col-xx-*) by using "custom html" fields in which you add the other fields you want. The other way i can think about now would be to create a custom template that contains those two/three/etc. columns, in which you would set a section for each column and then add it to the field's parameters, though it sounds quite complicated.

Hi @gavinhewitt ,
Yes, this feature isn't that well documented, if at all. On any field you can declare "wrapperAttributes", which will place those attributes on the field's wrapper element.
For example, this would make two fields show up on the same row, in two columns:
$this->crud->addField([
   'name' => 'start_date',
   'type' => 'date',
   'label' => 'Date',
   'wrapperAttributes' => [
        'class' => 'form-group col-md-6'
   ]
]);
$this->crud->addField([
   'name' => 'end_date',
   'type' => 'date',
   'label' => 'Date',
   'wrapperAttributes' => [
        'class' => 'form-group col-md-6'
   ]
]);

Thanks for the quick replies.
@tabacitu Ok, so you can control the width of a form element by attaching an extra col-* class, but this is not what I meant. What I meant is a way to make a basic layout and 'instruct' the fields what col they should hook in to. For instance, imagine 2 columns where col-1 has the form inputs to edit a user, and next to that a preview/upload button for his userimage. Sure, I can set the wrapper classes so they are shown nicely together, but it doesn't wrap those 2 cols in a row (not tested yet), needed to start the next section. Understand what I mean?

Oh. Then I think @AurelDragut's solution would fit you better. Cheers!

Yes, I thought so :)

Hi @gavinhewitt ,
Yes, this feature isn't that well documented, if at all. On any field you can declare "wrapperAttributes", which will place those attributes on the field's wrapper element.
For example, this would make two fields show up on the same row, in two columns:
$this->crud->addField([
   'name' => 'start_date',
   'type' => 'date',
   'label' => 'Date',
   'wrapperAttributes' => [
        'class' => 'form-group col-md-6'
   ]
]);
$this->crud->addField([
   'name' => 'end_date',
   'type' => 'date',
   'label' => 'Date',
   'wrapperAttributes' => [
        'class' => 'form-group col-md-6'
   ]
]);

This definitely needs to be documented, so helpful!

It does not fit correctly
https://prnt.sc/phxp8g
$this->crud->addField([ // select_from_array
'name' => 'no_processo',
'label' => "Numero do Processo",
'type' => 'number',
'wrapperAttributes' => [
'class' => 'form-group col-md-6',
]
// 'allows_multiple' => true, // OPTIONAL; needs you to cast this to array in your model;
]);
    $this->crud->addField([ // select_from_array
        'name' => 'no_processo_ant',
        'label' => "Numero do Processo Anterior",
        'type' => 'number',
        'wrapperAttributes' => [
            'class' => 'form-group col-md-6',
        ]
        // 'allows_multiple' => true, // OPTIONAL; needs you to cast this to array in your model;
    ]);

@samuk190 I've just added the col-md-6 class to two adjacent fields in the backpack demo and it looks right to me. I copied and pasted your wrapperAttributes code:

@samuk190 I've just added the col-md-6 class to two adjacent fields in the backpack demo and it looks right to me. I copied and pasted your wrapperAttributes code:

did you paste inside a tab? because inside a tab it works. but without a tab it doesnt work.


Responses in operationComplete missed

First of all, thank you very much for this library. I think it’s very promising and the only one I’ve seen that uses http2 for apns connection.
I need to change my old connector, implemented with javapns and I’m testing pushy with two different behaviours: synchronous and asynchronous.

Test 1. Sending 10 notifications (for loop):
+No problem detected with synchronous version, resolving future with .get().
+With asynchronous version, i.e, resolving future with a listener, multiple responses are not fired in operationComplete or exceptions, but all notifications are delivered to the device.

Test 2. Sending 1000 notifications (for loop):
+No problem detected with synchronous version.
+With asynchronous version (listener) multiple notifications are delivered to device, but  multiple responses are not fired in operationComplete and during execution, in log appears this error (several times):

mar 24, 2016 3:46:30 PM io.netty.util.concurrent.PromiseNotifier operationComplete
WARNING: Failed to mark a promise as failure because it's done already: DefaultChannelPromise@7cbb6f2(failure: javax.net.ssl.SSLException: SSLEngine closed already)
io.netty.handler.codec.http2.Http2Exception$StreamException: Stream closed before write could take place
	at io.netty.handler.codec.http2.Http2Exception.streamError(Http2Exception.java:144)…

In addition, there are multiple connection problems.
It’s mandatory to detect if notifications have been rejected, accepted or any connection problem with apns for each notification. With synchronous behaviour I have all this information, but the performance is much less.
Using liteners, I’m not sure if I have detected a bug or I’m coding something wrong, but the testing code it’s very simple. Let me now if the information enclosed it’s enough to understand the problem and thank you very much in advance.
Platform and dependences:

Jdk 1.8.0_74
Pushy-0.5.2
Netty -*-4.1.0CR2
Slf4j-api-1.7.6
alpn-boot-8.1.7.v20160121
alpn-api-1.1.2.v20150522
gson-2.5

Code:
public static void main(String[] args) {
...
apnsClient = new ApnsClient<>(new File(appleKeystore),
					passAppleKeystore, new NioEventLoopGroup(10));
Future<Void> connectFuture = apnsClient
					.connect(ApnsClient.DEVELOPMENT_APNS_HOST);

for (int i = 0; i < 1000; i++) {
		sendNotificationAsync(apnsClient, pushNotification, counter, i);
		// sendNotificationSync(apnsClient, pushNotification, counter, i);
}
}

private static void sendNotificationAsync(
			ApnsClient<SimpleApnsPushNotification> apnsClient,
			SimpleApnsPushNotification pushNotification, final Counter counter,
			int i) {

	try{
	final Future<PushNotificationResponse<SimpleApnsPushNotification>> sendNotificationFuture = apnsClient					.sendNotification(pushNotification);
sendNotificationFuture	.addListener(new ListenerWrapper<Future>(i) {
		@Override
public void onOperationComplete(final Future future, Object params) throws Exception {
			if (future.isSuccess()) {
PushNotificationResponse< > pushNotificationReponse = future.get();
				if (pushNotificationReponse.isAccepted()) {
					System.out.println(params + " Success");
				}
}else {
System.out.println("Notification rejected: "+ pushNotificationReponse.getRejectionReason());
				}
			}
			 else {
				System.out.println(params + " Failed!!!");
			}});

		} catch (final Throwable t) {
			counter.addFailure();
			System.err.println("Failed to send push notification.");
			// e.printStackTrace();
		}
		}
	}

public abstract class ListenerWrapper<F extends Future<?>> implements GenericFutureListener<F>{
	Object params;

	public ListenerWrapper(Object params){
		this.params=params;
	}

	@Override
	public void operationComplete(F arg0) throws Exception {
		this.onOperationComplete(arg0, params);

	}

	public abstract void onOperationComplete(F arg0, Object params) throws java.lang.Exception;
}

I think maybe it's because you don't wait all sendNotificationAsync finish.
Why not add a CountDownLatch and countDown it in sendNotificationFuture's listener. In this way you can count every response from apns and wait this latch down to 0. At that time you can quit the test safely.

Thank you very much for your attention!
Really I have a counter and I wait 30 seconds before finishing the test. I've collected traces:
Test 1. 10 notifications with async send and wait 30 seconds (timeout) before finishing the test. Traces:
9 Success --> I only see the last success. Success or error 0 to 8 missing.
After 30 seconds of test:
Counter tentative: 10
Counter success: 1
Counter failure: 0
If I wait 1 second before sending a notification in for loop I see 0 to 9 success.
¿Is it possible that sendNotificationFuture..addListener(new ListenerWrapper... override the last listener and lose references to other listeners?  I always use the same instance of ApnsClient, but I create a new Listener for each future returned by sendNotification.

I added a unit test to make sure listeners are working in 0af8295. The test does pass, so I don't think we're dealing with a bug in Pushy.
That said, I tried to build your code and had a little trouble (looks like there are a few bonus } characters floating around). Reading through it, though, I can't help but notice that you're not waiting for the connection attempt to complete before you start sending notifications. What happens if you change this:
Future<Void> connectFuture = apnsClient.connect(ApnsClient.DEVELOPMENT_APNS_HOST);

…to this?
 Please note that sendNotification doesn't actually throw exceptions (so I'd never expect that catch block to fire); if something goes wrong, the Future returned by sendNotification will return false from isSuccess, and future.cause() will return the exception that caused the failure. I think if you move counter.addFailure(); into the future listener, you might find your missing failures (which, again, I suspect are caused by trying to send notifications before the connection is established).
Hope that helps!
Since this doesn't appear to be a bug in Pushy, I'm going to close this issue (but will happily re-open it if we discover that something else is going wrong).

…and where are my manners?
We would, of course, be happy to help you with things that aren't bugs on the mailing list.

I got it! You have helped me a lot. The problem wasn't the connection. I didn't give you the complete code to simplify the problem (sorry), but I was waiting for the connection. The problem is to try to send the same push notification. Let me explain. In your code, you first create each notification, then insert it in a list and then send every notification, like this (your test code):
for (int i = 0; i < notificationCount; i++) {
final String token = ApnsClientTest.generateRandomToken();
final String payload = ApnsClientTest.generateRandomPayload();
         this.server.registerToken(DEFAULT_TOPIC, token);
         pushNotifications.add(new SimpleApnsPushNotification(token, DEFAULT_TOPIC, payload));
     }

     final CountDownLatch countDownLatch = new CountDownLatch(notificationCount);

     for (final SimpleApnsPushNotification pushNotification : pushNotifications) {
         final Future<PushNotificationResponse<SimpleApnsPushNotification>> future =

331 +                     this.client.sendNotification(pushNotification);
If you change the line 331, and use pushNotifications.get(0) instead of pushNotification, to send always the same notification , you'll be able to see the same problem I had. With my code, if I create a different notification before sending, I have the expected beahaviour (only a logical too many request in development environment).
I think this is not a bug, because it's correct to create a different notification before sending, but it would be very interesting to understand why happen this (only curiosity :) ).
Thanks once again for your attention.

Ah—I see. Yeah, that's because of this (from ApnsClient):
private final Map<T, Promise<PushNotificationResponse<T>>> responsePromises = new IdentityHashMap<>();

When we send a notification we create a Promise so we can notify interested parties that the operation is complete. If we're using literally the same notification all the time, callers may think they've sent a thousand notifications, but that map will only contain one entry.
I'm… not really sure what to think about that. On one hand, this doesn't reeeeeeeally seem like a case where we want to build a whole lot of machinery to protect against this problem. On the other hand, it seems weird that callers could cause a bunch of internal exceptions by passing what looks like reasonable, legal input.
I guess we could check to see if notifications are already in the map before we send them. What do you think? Is it worth it?

From my point of view, the implementation must be responsible for detecting problems with inputs and reporting problems correctly. I would assume this like a minor bug, visible for other people. Probably, with a check in sendNotification method and a exception with the rejected information, could be enough.
We're working in a communication platform for 4 million of customers and we must change our old Apple push connector, because our old one has a lot of problems. Tomorrow we start with this development and we would be delighted to give you feedback. ¿Which would be the correct channel (email, mailing lists,...) for particular questions or good practices? (of course after reading documentation, reviewed mailing lists, etc.).

From my point of view, the implementation must be responsible for detecting problems with inputs and reporting problems correctly.

Yeah—I can get behind that. Reopening, reclassifying, and assigning this to v0.6.

Which would be the correct channel (email, mailing lists,...) for particular questions or good practices?

Probably the mailing list.
Looking forward to hearing how your integration goes! Please don't be shy with the feedback.

Resolved the underlying issue by checking for map membership when sending notifications.


Trading Security for Privacy With Firefox

Firefox has poor security, even "hardened" Firefox has far to many attack vectors. You should probably put a disclaimer that if you're using Firefox you're trading security for privacy (which Chromium browsers can match anyway).
Have a read of this:
[https://madaidans-insecurities.github.io/firefox-chromium.html]
Also turn on CRlite in Firefox as OCSP will leak your connections.

Hey, thanks for opening an issue.

You should probably put a disclaimer that if you're using Firefox you're trading security for privacy (which Chromium browsers can match anyway).

The table is not meant for that type of analysis.
With that said, even though I have open bias towards Gecko (not necessarily Firefox of itself), that source seems a little bit dated. I just want to highlight a couple of things.
For example, Win32k, x11, and untrusted font blocking issues have been fixed for at least a year or two. Fission addressed a lot of the documented sandboxing issues Gecko/Firefox had, though because of the sandboxing model difference (especially on Android), it is still weak on Android in particular. There, I would recommend against using Firefox or any Gecko-based browser.
But not here, as the table isn't really meant for that.
The JIT section confuses me. V8 (Chromium) is routinely exploited in the wild to leverage memory exploits.
The rewrites of certain components in Rust in Gecko/Firefox shouldn't be downplayed. Sure, Firefox isn't completely written in Rust but Rust is more memory safe than C++ and of the components that have been rewritten in Rust, they seem to carry their weight in mitigating potential vulnerabilities in the source. (Your source even links to Mozilla's Oxidation page in the argument about Rust, which kind of undermines their own point made in the section about memory safety. But again, it seems dated, so perhaps they haven't updated it.)
Google has admitted most of their security vulnerabilities derive from memory bugs. This tracks with the known exploited vulnerabilities (use-after-free, buffer overflow, out-of-bounds reading/writing) in Chromium found in the wild. But even because of this, I wouldn't go around saying "Chromium is insecure-by-design."
In the end, what I am trying to say that the analysis of using Firefox does not necessarily equal "less security" over Chromium. Are there things Chromium does better? Sure. Are there things Gecko does better? Sure.
Overall, that page seems to cite a lot of attack vectors that just aren't that common or observed in the real-world. This doesn't invalidate them, but it's important to keep threat model in mind.
If the downsides of any browser really break your threat model of give you that much concern - even if adhering to good security hygiene like not clicking on unsolicited links/downloading suspicious files, keeping your software updated, etc - then you may want to consider other methods such as using Tor (with good opsec) or using a VM to browse the internet.
If not these, then disabling JavaScript (because this is where many exploit attempts of the browser begin) - but that makes the web unusable for many people.

Firefox you're trading security for privacy (which Chromium browsers can match anyway).

Not necessarily true. Base Chromium's source code is heavily integrated with Google's infrastructure and requires extensive modification to "remove," unlike Firefox. Sure, Firefox comes with telemetry (and recently, PPA) enabled... but it can be disabled "easily" (typically poking around in the advanced about:config settings) Look at the arkenfox project.
A lot of this integration cannot be simply disabled by toggling controls in Chromium; it generally requires modifying the source code to either disable/modify certain options or features. Most Chromium browser forks are still heavily integrated with Google's infrastructure.
The only exceptions I am aware of that either manage to disable Google-dependent services/components are Brave, Microsoft Edge, and the Ungoogled Chromium project. This is all while integrating security fixes from upstream and addressing any regressions.

I think Cromite for Windows has google services disabled


Refactor MetadataFeature

https://github.com/iotaledger/tips/blob/tip38/tips/TIP-0038/tip-0038.md#metadata-feature

Closed by https://github.com/iotaledger/iota-sdk/pull/1764


No release available on github

Expected Behavior
I want to update my chrome plugin. So I want to download the latest release.
Current Behavior
No release is available.
Steps to Reproduce

Additional Information

OS + Version: N/A
Browser + Version: N/A
Country/Region: N/A

Duplicate/Result of #248


"ESLint: TypeError: this.libOptions.parse is not a function" at aws-s3-image-upload

"ESLint: TypeError: this.libOptions.parse is not a function" error shows up in the WebStorm when opening TS files.
This is related to the newest ESLint version 8.23.0
It works fine with 8.22.0

The reliable solution for now is to just set "eslint": "8.22.0" in package.json. I provided this fix in the linked PR.


Create rust.yml

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@0cc65bd). Click here to learn what that means.
Patch has no changes to coverable lines.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##             main       #1   +/-   ##
=======================================
  Coverage        ?   99.15%
=======================================
  Files           ?        6
  Lines           ?     2716
  Branches        ?     2716
=======================================
  Hits            ?     2693
  Misses          ?        7
  Partials        ?       16

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


The _at parameter should be instant type.

Describe the bug
According to the spec (http://hl7.org/fhir/http.html#history), the _at parameter should be instant type. We are currently accepting it as PartialDateTime.

Do you mean _since?. I briefly started to fix this one, but the spec specifies _at as a date, and _since as an instant.


Investigate Gitlabshell interaction with the proxy error

The change updates the http.new with an extra parameter nil toensure that the proxy is not used
The http.new automatically pick up the http_proxy setting (envvar) set for millicore and node components
JIRA:
refer to https://issues.jboss.org/browse/RHMAP-12500

@luigizuccarelli Looks like solution for all the pain :)
Please do not merge that change as fhcap is configured to automatically pick up master branch as base for provisioning. We would need to test it on fhcap vm.

@wtrocki - yes , the second param being proxy_addr and accriding to the Net docs if set to 'nil' will ensure the proxy settings wont be used (envar HTTP_PROXY)


Showing Barcode Reader Sample app on Android

Works great on iOS, but when installing on Android 2 apps are installed - the app itself, and then a Barcode Reader Sample app.
Why is there a second activity with the sample app?

Same here - any ideas?

I don't really have any time at all right now to diagnose or fix this stuff, especially without an android device in hand. Getting the simulators running consistently is tough where I'm at due to internet access.
I expect that this has something to do with this line in the plugin.xml file and the fact there is a second activity not referencing BarcodeCaptureActivity:
<activity android:label="@string/title_activity_main" android:name="com.dealrinc.gmvScanner.SecondaryActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

Note there are two sections with this activity tag, one for each AndroidManifest location since I was trying to maintain compatibility with both cordova-android@7 & @5/6.
If someone can try to remove these couple activities and verify functionality and then submit a pull request that would be great!

I discovered the problem, just delete the lines:

even without them the reader still works.

I forked it here: https://github.com/Untappd/cordova-gmv-barcode-scanner and it doesn't have this issue.

@brunoftmenezes There isn't a line in this entire project with that value, so it may be unrelated.

Will this be solved on the version installed through npm?

It will be once I get around to deploying it on npm I'm just absurdly busy nowadays so I haven't gotten to it.

If it's possible to find some time to publish a new version, please do so! Thanks for your efforts :)

I downloaded the ZIP version from repository and then I copy de files into de plugins folder, built the app again , but still having the secondary app at the screen.  What must id do ? Sorry about my english.

Ok now it is working
Just deleted the intent-filter section from plugin.xml at the node-module folder, in my case "C:\node\PreciosApp\src-cordova\node_modules\cordova-gmv-barcode-scanner\plugin.xml"
and from "C:\node\PreciosApp\src-cordova\platforms\android\android.json". Thanks


Add equality operator to ShipmentEvent and TrackingResponse

Useful for writing tests to compare ShipmentEvent and TrackingResponse objects and future use cases.
cc: @jonathankwok @MalazAlamir

Changed how distinct TrackingResponse and ShipmentEvent objects are created and tested for (objects as attributes do not copy when copying options hash, therefore deep copying was required). A private method compare_shipment_events was needed to compare :shipment_events between TrackResponse objects where order inside :shipment_events array doesn't matter. @jonathankwok @MalazAlamir

🔴  tests aren't your fault, remote APIs are being flaky. Merge when 💚  eventually.

LGTM 🚀