text:
Add UpdateCommand

Fixes #96
Scope of this PR

pubspec.yaml template now contains a field sidekick: generator_version: <version> which contains the sidekick version the CLI was generated with
Checks whether an update is available whenever a command is executed
Add UpdateCommand which calls the latest available version of update_sidekick_cli.dart
update_sidekick_cli currently updates the following:

shell scripts in tool (download_dart.sh, install.sh, run.sh,  sidekick_config.sh)
entrypoint executable
sidekick_core dependency to latest available version
sidekick->generator_version  in pubspec.yaml to latest available sidekick version

Necessary work in following PRs
Update sidekick_core in sidekick and pass new sidekick version parameter to SidekickTemplateProperties
When generating a new sidekick CLI package, we have to save the version of sidekick which generated the CLI in the generated CLI's <generated-cli>/pubspec.yaml. However, we can't read the global sidekick's version because its executable is compiled and thus does not have access to its own <global-sidekick>/pubspec.yaml because it isn't bundled with the compiled executable.
Instead we could use an automatically generated source file which contains the version information
See e.g. https://stackoverflow.com/a/69048343/9905602 or how mason_cli implements this in a version.dart file: https://github.com/felangel/mason/pull/538/files
Add migration functions
Whenever additional steps (besides regenerating shell scripts) are needed to migrate from an old to the latest version, add them to update_sidekick_cli.dart. This script receives the current and the latest version. This information can be used to call migration functions to do additional update steps (e.g. modifying certain lines in dart files).
How to test this PR
There is a update_command_test.dart which already tests this command.
If you want to test this manually, do the following:

Edit the pubspec.yaml of an old sidekick CLI

dependencies:
  sidekick_core: '>=0.11.0 <1.0.0'

dependency_overrides:
  sidekick_core:
    path: /Users/pepe/repos/sidekick/sidekick_core

sidekick:
  generator_version: 0.0.0

Run ` sidekick update
Verify the following:

the 4 shell scripts in tool have been updated
generator_version has been updated to the latest version of sidekick (0.7.1)
the sidekick_core dependency has been updated to sidekick_core: '>=0.11.1 <1.0.0'
A success message has been printed (Successfully updated sidekick CLI <cli> from version 0.0.0 to 0.7.1!)

Maybe we should also uses this command to update the bundled dart runtime (sidekickDartRuntime). See https://github.com/phntmxyz/sidekick/issues/57

When running <cli> sidekick update as described above in an outdated sidekick CLI almost everything works. This is the output:
Updating sidekick CLI iv from version 0.0.0 to 0.7.1 ...
Successfully updated sidekick CLI iv from version 0.0.0 to 0.7.1!
/Users/pepe/repos/invo-frontend/packages/iv_sidekick/tool/run.sh: line 70: unexpected EOF while looking for matching `"'

Everything is correctly updated and executed from the dart side, but an error (exit code 2) is thrown from the run.sh script:
/Users/pepe/repos/invo-frontend/packages/iv_sidekick/tool/run.sh: line 70: unexpected EOF while looking for matching `"'

I guess because we're modifying the file which is currently being executed?  🤔

repo: phntmxyz/sidekick


text:
unable to stream

when running
sudo ffmpeg -v trace -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 -f mpegts -codec:v mpeg1video -s 640x480 -b:v 1000k -bf 0 http://MY-STREAM-SERVER/7434343534
i get an error :
av_interleaved_write_frame(): Broken pipe
No more output streams to write to, finishing.
Error writing trailer of http://MY-STREAM-SERVER/7434343534: Broken pipe

i was able to stream the video before.. but now i can't
any idea why?
(change my server name to MY-STREAM-SERVER in this entire issue)
these are the full logs:
ffmpeg version 3.2.10-1~deb9u1+rpt1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 6.3.0 (Raspbian 6.3.0-18+rpi1) 20170516
  configuration: --prefix=/usr --extra-version='1~deb9u1+rpt1' --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx-rpi --enable-mmal --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 34.101 / 55. 34.101
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.101 / 57. 56.101
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libavresample   3.  1.  0 /  3.  1.  0
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
  libpostproc    54.  1.100 / 54.  1.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'trace'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'v4l2'.
Reading option '-framerate' ... matched as AVOption 'framerate' with argument '25'.
Reading option '-video_size' ... matched as AVOption 'video_size' with argument '640x480'.
Reading option '-i' ... matched as input url with argument '/dev/video0'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'mpegts'.
Reading option '-codec:v' ... matched as option 'codec' (codec name) with argument 'mpeg1video'.
Reading option '-s' ... matched as option 's' (set frame size (WxH or abbreviation)) with argument '640x480'.
Reading option '-b:v' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '1000k'.
Reading option '-bf' ... matched as AVOption 'bf' with argument '0'.
Reading option 'http://MY-STREAM-SERVER/7434343534' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument trace.
Successfully parsed a group of options.
Parsing a group of options: input url /dev/video0.
Applying option f (force format) with argument v4l2.
Successfully parsed a group of options.
Opening an input file: /dev/video0.
[video4linux2,v4l2 @ 0x1028250] fd:4 capabilities:85200005
[video4linux2,v4l2 @ 0x1028250] Current input_channel: 0, input_name: Camera 0, input_std: 0
[video4linux2,v4l2 @ 0x1028250] Setting time per frame to 1/25
[video4linux2,v4l2 @ 0x1028250] All info found
[video4linux2,v4l2 @ 0x1028250] stream 0: start_time: 3144.355 duration: -9223372036854.775
[video4linux2,v4l2 @ 0x1028250] format: start_time: 3144.355 duration: -9223372036854.775 bitrate=92160 kb/s
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 3144.354906, bitrate: 92160 kb/s
    Stream #0:0, 1, 1/1000000: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 640x480, 0/1, 92160 kb/s, 25 fps, 25 tbr, 1000k tbn, 1000k tbc
Successfully opened the file.
Parsing a group of options: output url http://MY-STREAM-SERVER/7434343534.
Applying option f (force format) with argument mpegts.
Applying option codec:v (codec name) with argument mpeg1video.
Applying option s (set frame size (WxH or abbreviation)) with argument 640x480.
Applying option b:v (video bitrate (please use -b:v)) with argument 1000k.
Successfully parsed a group of options.
Opening an output file: http://MY-STREAM-SERVER/7434343534.
[http @ 0x102d810] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
[http @ 0x102d810] request: POST /7434343534 HTTP/1.1
Transfer-Encoding: chunked
User-Agent: Lavf/57.56.101
Accept: */*
Connection: close
Host: MY-STREAM-SERVER
Icy-MetaData: 1

Successfully opened the file.
detected 1 logical cores
[graph 0 input from stream 0:0 @ 0x102fd90] Setting 'video_size' to value '640x480'
[graph 0 input from stream 0:0 @ 0x102fd90] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:0 @ 0x102fd90] Setting 'time_base' to value '1/1000000'
[graph 0 input from stream 0:0 @ 0x102fd90] Setting 'pixel_aspect' to value '0/1'
[graph 0 input from stream 0:0 @ 0x102fd90] Setting 'sws_param' to value 'flags=2'
[graph 0 input from stream 0:0 @ 0x102fd90] Setting 'frame_rate' to value '25/1'
[graph 0 input from stream 0:0 @ 0x102fd90] w:640 h:480 pixfmt:yuv420p tb:1/1000000 fr:25/1 sar:0/1 sws_param:flags=2
[scaler for output stream 0:0 @ 0x1038cc0] Setting 'w' to value '640'
[scaler for output stream 0:0 @ 0x1038cc0] Setting 'h' to value '480'
[scaler for output stream 0:0 @ 0x1038cc0] Setting 'flags' to value 'bicubic'
[scaler for output stream 0:0 @ 0x1038cc0] w:640 h:480 flags:'bicubic' interl:0
[format @ 0x1038f50] compat: called with args=[yuv420p]
[format @ 0x1038f50] Setting 'pix_fmts' to value 'yuv420p'
[AVFilterGraph @ 0x102fe80] query_formats: 5 queried, 4 merged, 0 already done, 0 delayed
[scaler for output stream 0:0 @ 0x1038cc0] w:640 h:480 fmt:yuv420p sar:0/1 -> w:640 h:480 fmt:yuv420p sar:0/1 flags:0x4
[mpeg1video @ 0x102b3d0] intra_quant_bias = 96 inter_quant_bias = 0
[mpegts @ 0x1029f60] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts
Output #0, mpegts, to 'http://MY-STREAM-SERVER/7434343534':
  Metadata:
    encoder         : Lavf57.56.101
    Stream #0:0, 0, 1/90000: Video: mpeg1video, 1 reference frame, yuv420p, 640x480, 0/1, q=2-31, 1000 kb/s, 25 fps, 90k tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.64.101 mpeg1video
    Side data:
      cpb: bitrate max/min/avg: 0/0/1000000 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg1video (native))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
Clipping frame in rate conversion by 0.000008
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
    Last message repeated 1 times
Clipping frame in rate conversion by 0.003487
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
Clipping frame in rate conversion by 0.003990
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
Clipping frame in rate conversion by 0.004494
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
Clipping frame in rate conversion by 0.004997
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
Clipping frame in rate conversion by 0.005486
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
Clipping frame in rate conversion by 0.005989
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960.40 bitrate=1086.6kbits/s speed=0.759x
Clipping frame in rate conversion by 0.006462
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
Clipping frame in rate conversion by 0.006966
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
Clipping frame in rate conversion by 0.007469
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
Clipping frame in rate conversion by 0.007988
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
Clipping frame in rate conversion by 0.008492
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
Clipping frame in rate conversion by 0.008995
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
Clipping frame in rate conversion by 0.009468
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960
Clipping frame in rate conversion by 0.009987
[rawvideo @ 0x1029ab0] PACKET SIZE: 460800, STRIDE: 960.72 bitrate=1067.4kbits/s speed=0.693x
Clipping frame in rate conversion by 0.010460
av_interleaved_write_frame(): Broken pipe
No more output streams to write to, finishing.
Error writing trailer of http://MY-STREAM-SERVER/7434343534: Broken pipeframe=   17 fps= 14 q=2.0 Lsize=      98kB time=00:00:00.76 bitrate=1054.8kbits/s speed=0.621x
video:89kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 10.550413%
Input file #0 (/dev/video0):
  Input stream #0:0 (video): 17 packets read (7833600 bytes); 17 frames decoded;
  Total: 17 packets (7833600 bytes) demuxed
Output file #0 (http://MY-STREAM-SERVER/7434343534):
  Output stream #0:0 (video): 17 frames encoded; 16 packets muxed (90641 bytes);
  Total: 16 packets (90641 bytes) muxed
17 frames successfully decoded, 0 decoding errors
[AVIOContext @ 0x102fcd0] Statistics: 0 seeks, 16 writeouts
C

had problems in my streaming server..

source: gharchive/issue

repo: phoboslab/jsmpeg

license: mit

license_type: permissive

license_source: bigquery


text:
Document how to setup a network to allow connection

I think a document that shows users (especially windows) on how to setup their own network for development is needed. In addition, we can add in common pitfalls to avoid and trouble shooting info. Eg, making sure firewall is turned off, cordova create then phonegap serve, being on a network that allows zips to be served, etc.

Documenting the troubleshoot guide in the phonegap-docs repo: https://github.com/phonegap/phonegap-docs/tree/troubleshoot

repo: phonegap/phonegap-app-developer

license_source: github-api


text:
cordova build android fails using this plugin

Hello,
I use cordova 6.2.0. The build works with ios and fails with android.
The failure appears only when this plugin is used. See below the messages:
:transformClassesWithDexForDebug
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)
at com.android.dx.command.dexer.Main.run(Main.java:277)
at com.android.dx.command.dexer.Main.main(Main.java:245)
at com.android.dx.command.Main.main(Main.java:106)
FAILED
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':transformClassesWithDexForDebug'.

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

BUILD FAILED
Total time: 7.75 secs
Error: Error code 1 for command: /Users/project/_cordova/remauth/platforms/android/gradlew with args: cdvBuildDebug,-b,/Users/project/_cordova/remauth/platforms/android/build.gradle,-Dorg.gradle.daemon=true,-Pandroid.useDeprecatedNdk=true
Thank you for your help

Solved. See http://stackoverflow.com/questions/26342444/multiple-dex-files-define-landroid-support-annotation-animres
Just delete the file /platforms/android/libs/android-support-v4.jar to make it work

repo: phonegap/phonegap-plugin-barcodescanner

license: MIT


text:
iOS - clearAllNotifications does not clear notifications, even though success is reported

Expected Behaviour
push.clearAllNotifications(success, failure), should clear all notifications (upon success) in iOS.
Actual Behaviour
push.clearAllNotifications(success, failure), returns 'success' , however, all notifications are still there.
Reproduce Scenario (including but not limited to)
Steps to Reproduce
init cordova project
init PushNotification object
let pushService = PushNotification.init({
  "android": {
    "icon": "fcm_push_icon",
    "clearBadge": "true"
  },
  "browser": {
    pushServiceURL: 'http://push.api.phonegap.com/v1/push'
  },
  "ios": {
    "alert": "true",
    "badge": "true",
    "sound": "true",
    "clearBadge": "true"
  },
  "windows": {}
});

get token from registration event:
pushService.on('registration', function (data) {
   console.log(data.registrationId);
});

send some push notifications.
then try and clear them:
pushService.clearAllNotifications(
  function() {	console.log('success') },
  function() {	console.log('error') }
);

Success handler is called, however, notifications are still there.
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
iOS 11.2.6
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
iPhone 7
Cordova CLI version and cordova platform version
cordova --version                                    # 8.0.0
cordova platform version ios                        # 4.5.4

Plugin version
cordova plugin version | grep phonegap-plugin-push   # 2.1.3

Sample Push Data Payload
{
  "notification":{
    "title":"My Title",
    "body":"send me a few of these",
    "sound": "default",
  },
  "registration_ids": ["my_reg_id"],
}

Sample Code that illustrates the problem
Logs taken while reproducing problem
'success' from clearNotifications can be seen in Safari logs.
PushPlugin clearing badge' on the next line.

@idekterev I'm confused, you are saying iOS but your device is an Android. Which platform is running into the problem.

@macdonst yes indeed - you're not the only one confused :) - I swap around between devices so often , clearly I am confused also. Its an iPhone 7.

doesn't work for me either, but in my case it won't even fire any callback
      PushNotification.clearAllNotifications(
          function() {	console.log('success') },
          function() {	console.log('error') }
      );

being simply ignored

authors: dmatora idekterev macdonst

repo: phonegap/phonegap-plugin-push


text:
Implemented computation of the group velocities from the velocity operator

Also added a test on the velocity operator.
Works also with --bi option. In fact:
in wigner.py, the variable gv_operator at line 119 has always shape [nat3, nat3,3];
the variable self._gv_operator[i_data] defined at line 809 in rta.py has shape [num_band0, nat3, 3].
Everything works fine because at line 120 in in wigner.py we assign values accounting for the different shapes:
self._gv_operator[i_data] = gv_operator[self._pp.get_band_indices(), :, :]
I have tested the code also on CsPbBr3 with --read-gamma option and obtained results perfectly compatible with those computed with the old version of the code on my fork.
Hope this is ok, do not hesitate to let me know if you need anything else from my side.
Thanks a lot for your help,
Michele
P.S. I ran pre-commit run --all-files , but when I did the pull request the auto fixes from pre-commit.com hooks found one tab that surprisingly was not recognised neither by the pre-commit.com hooks on my system nor by my GitHub.

Thanks @MSimoncelli.
Have you run pre-commit install before pre-commit run --all-files? On my computer, I got same error from pre-commit as found here https://results.pre-commit.ci/run/github/48793261/1646968182.pmxJleasSWGf8WLfmqJNjQ.
Yes, as you commented, ph_si fixture didn't exist. So I added it on develop branch. Could you activate (i.e. remove skip) test_gv_operator_si? The procedure is as follows. First please pull the latest phono3py develop to your local branch
% git pull https://github.com/phonopy/phono3py.git develop

Then activate the test_gv_operator_si and run pytest. As I wrote above, maybe pre-commit install is necessary for you.
% pre-commit install
% pre-commit run --all-files

After these, you can commit and push. Then your change is automatically reflected to this PR.

Thanks a lot for the help @atztogo !
I performed the modifications you requested.
Concerning your question on pre-commit - yes, I installed pre-commit before running it on my system (see e.g. intermediate commit here https://github.com/MSimoncelli/phono3py/commit/8c548ae2b07c47e7db330e8fafed2654b9a5e02d ).
I ignored the flake8 error because it was due to a long comment on skipping the test on the velocity operator on Si, I noticed that [pre-commit.ci] was not pushing additional commits because of this, and since I expected that line to be removed by a future commit, I just left it.
My previous comment was just to apologise for the additional commit done by [pre-commit.ci] to remove a tab which apparently remained in the code even after I ran pre-commit.

Great @MSimoncelli. Thanks. Merged.

I ignored the flake8 error because it was due to a long comment on skipping the test on the velocity operator on Si, I noticed that [pre-commit.ci] was not pushing additional commits because of this, and since I expected that line to be removed by a future commit, I just left it.

In this case, you could let me know it to fix it. You left the error, so the tests did not run on github workflow by pre-commit blocking.
In addition, you can make a new branch to work on. If you are on the latest develop, you can do something like below,
% git checkout -b some-branch-name
... (you may work on this branch)
% git push
fatal: The current branch some-branch-name has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin some-branch-name
% git push --set-upstream origin some-branch-name

Thanks @atztogo .
I did not realised the presence of the error, since my GitHub was saying that everything was fine (see the green check here https://github.com/MSimoncelli/phono3py/commit/ec1508b155f9d82269ac3af387000cc40fc77be9 ).
Sorry for the inconvenience, I'll look more carefully at the messages on your GitHub next time.
Thanks and best wishes,
Michele

I did not realise the presence of the error because my GitHub was saying that everything was fine (see the green check here https://github.com/MSimoncelli/phono3py/commit/ec1508b155f9d82269ac3af387000cc40fc77be9 ).

I think this is because you don't use the service https://pre-commit.ci/ on your repository (and you don't need, see as follows). This is an external service out of github, so it is considered configuration is needed per each folk. But after pre-commit install, when the git commit, the error should appear on your fold and it prevents committing. So you should be able to realize it. But this is not 100% sure, because it can be system dependent. So the simplest way to check it is to carefully observe the PR but not your push to yoru branch. For example, this PR runs on phonopy/phono3py repository but not your repository, therefore https://pre-commit.ci/  is applied.
But anyway everything went fine now. Thanks for your work!

Thanks for the clarifications, I will keep this in mind for the future!

source: gharchive/pull-request

authors: MSimoncelli atztogo


text:
compatibility.orientationFallback is missing from typescript definitions

feature works fine, it's just missing from definitions file and thus compiler gives warnings about it

Thanks for submitting this issue. We have fixed this, and the fix has been pushed to the dev branch.

authors: Lopdo photonstorm

repo: photonstorm/phaser


text:
🛑 phpMyFAQ API is down

In 4f06fae, phpMyFAQ API (https://api.phpmyfaq.de/versions) was down:

HTTP code: 0
Response time: 0 ms

Resolved: phpMyFAQ API is back up in 00861f7.


text:
🛑 phpMyFAQ Demo is down

In 7770e06, phpMyFAQ Demo (https://demo.phpmyfaq.de) was down:

HTTP code: 0
Response time: 0 ms

Resolved: phpMyFAQ Demo is back up in da9d22a.


text:
🛑 phpMyFAQ Demo is down

In 775ce47, phpMyFAQ Demo (https://demo.phpmyfaq.de) was down:

HTTP code: 0
Response time: 0 ms

Resolved: phpMyFAQ Demo is back up in cf667b6.


text:
🛑 phpMyFAQ Homepage is down

In a6789fe, phpMyFAQ Homepage (https://www.phpmyfaq.de) was down:

HTTP code: 0
Response time: 0 ms

Resolved: phpMyFAQ Homepage is back up in 1670978 after 5 minutes.


text:
🛑 phpMyFAQ Password Hash Generator Tool is down

In 5dd94af, phpMyFAQ Password Hash Generator Tool (https://password.phpmyfaq.de) was down:

HTTP code: 0
Response time: 0 ms

Resolved: phpMyFAQ Password Hash Generator Tool is back up in ee8c80e after 11 minutes.


text:
🛑 phpMyFAQ Homepage is down

In bf610ce, phpMyFAQ Homepage (https://www.phpmyfaq.de) was down:

HTTP code: 0
Response time: 0 ms

Resolved: phpMyFAQ Homepage is back up in 0471574 after 6 minutes.


text:
Compatibilización del servicio de solicitud de descargas masivas versión 1.2

Se actualizó el servicio de solicitud de descargas masivas (consulta) a la versión 1.2 del SAT.
Esta actualización por el momento solo está sobre CFDI regulares, no sobre Retenciones e información de pagos.
En este último el servicio se encuentra caído.
Al parecer la actualización no se ha completado en el SAT, y ha estado inestable desde 2022-03-14.
Sin embargo, con esta actualización se compatibliza el servicio con el funcionamiento esperado.
Cambios en la solicitud
Se elimina el atributo RfcReceptor y se agrega el elemento RfcReceptores/RfcReceptor para especificar
el RFC del receptor en la consulta.
CodEstatus 5006
Se agrega a la documentación de CodEstatus (clase StatusCode) el código 5006 - Error interno en el proceso
que se supone sustituye al código 404 - Error no Controlado para el servicio de consulta.
Correcciones
Se agrega el método mágico MetadataItem::__isset(string $name): bool que no estaba contemplado.
Entorno de desarrollo

En las pruebas de integración, se hacen dos pruebas de solicitud consulta, una para emitidos y otra para recibidos.
Se actualizan los archivos de muestra en las comprobaciones unitarias.
Se agrega como dependencia la extensión de PHP mbstring.
Se refactoriza la clase interna Helpers::nospaces() para insertar un Line feed (LF).
después de la especificación de XML.
En las pruebas de integración, se agrega el método ConsumeServiceTestCase::createWebClient()
que devuelve un objeto GuzzleHttp\Client configurado correctamente con timeouts.
Se actualizan las herramientas del entorno de desarrollo.
CI: Se usan las rutas establecidas en el archivo de configuración de phpcs.

Ver https://github.com/phpcfdi/sat-ws-descarga-masiva/issues/47

Se autoriza este PullRequest aún cuando se conoce que el servicio de solicitud de consulta para Retenciones e información de pagos está fallando (tanto con la versión anterior como con la versión actualizada).

repo: phpcfdi/sat-ws-descarga-masiva


text:
Using different .phrase.yml configuration for pulling/pushing data to Phrase with CLI

Not sure if this is an issue, but I couldn't find any possible solutions to this in documentation.
The idea is to have two Phrase projects for one application and separating push command to upload data only for specific project and not both. For pulling data it's all good since we want to have up-to-date translations from both projects.
I replicated configuration from official documentation Keeping multiple Phrase projects for one localisation project. It works for pulling/pushing data from/to both projects, but support for pushing only to specific Phrase project would be super nice to have.
EDIT. NVM got different configs working using --config flag in CLI v2. Sorry for panic😅

@JSEvgeny Great that this is also solved for you 😄 I'll try to make sure that this flag will be more prominent in the docs

authors: JSEvgeny theSoenke

repo: phrase/phrase-cli


text:
🛑 Where Have I Been? is down

In eb822eb, Where Have I Been? (https://wherehaveibeen.co.uk) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Where Have I Been? is back up in d1ddb50.


text:
Add support for OpenWRT OpenVPN port forwarding

This add a file owrt_pf.sh that can be used as up script and can be scheduled in cron in an OpenWRT installation to expose the forwarded port into http:///pia_pf.json

I think we should create a special folder with documentation and scripts for openwrt, so that we do not break compatibility for the rest of the distributions that mostly work with the same automation.
My idea is the following: we do a extra folder and an openwrt subfolder, and we make a nice readme and also add the PF script and maybe other scripts that openwrt would benefit from.
What do you think?

For me it is fine. Will you prepare a branch with the base structure on
which I will insert the various scripts?
Keep in mind that the modifications to the port forwarding script are done
in a way that should not break compatibility with the rest of the world and
in fact in some cases could benefit from it, like the ability to create a
cron job and the fact that a script gets called when the port forward is
successful.
I saw there is another PR that was requesting for the ability to save the I
think token or signature and payload. With the modification in this PR it
is easy to create a callback script to do it, that in fact is what is being
done for openwrt to avoid to have the script running forever.
On Sun, Feb 21, 2021, 02:00 goonix notifications@github.com wrote:

I think we should create a special folder with documentation and scripts
for openwrt, so that we do not break compatibility for the rest of the
distributions that mostly work with the same automation.
My idea is the following: we do a extra folder and an openwrt subfolder,
and we make a nice readme and also add the PF script and maybe other
scripts that openwrt would benefit from.
What do you think?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pia-foss/manual-connections/pull/96#issuecomment-782774214,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABOTTP45JAM4LG4CKIXTZ2TTABLJNANCNFSM4XNDA54Q
.

Will you prepare a branch with the base structure on which I will insert the various scripts?

Yes. Thank you for getting involved.

Keep in mind that the modifications to the port forwarding script are done
in a way that should not break compatibility with the rest of the world and
in fact in some cases could benefit from it, like the ability to create a
cron job and the fact that a script gets called when the port forward is
successful.

Thank you for the confirmation. I will do my best to review the code in a timely manner.

I saw there is another PR that was requesting for the ability to save the I
think token or signature and payload.

I am thinking about improving this system.

With the modification in this PR it
is easy to create a callback script to do it, that in fact is what is being
done for openwrt to avoid to have the script running forever.

I saw, that's what I am suggesting a separate folder. OpenWRT is totally different from the other systems. That's why I don't think OpenWRT will run into conflicts by running the code for other distros, mostly because that code will never run on their system. I think it's just easier to separate them completely.
I'll create the branch

https://github.com/pia-foss/manual-connections/tree/openwrt_testing/extra/openwrt

repo: pia-foss/manual-connections


text:
🛑 YSF REF is down

In 9659916, YSF REF (https://ysf.freedmr.it) was down:

HTTP code: 0
Response time: 0 ms

Resolved: YSF REF is back up in 17e23e7.

repo: picchiosat/HBLink-Uptime


text:
Cloudflare Turnstile failure

[x] I have read the Getting Started section
[x] I have already searched for the same problem

Environment

Technology
Version

Flutter version
Flutter version 3.10.6 on channel stable

Plugin version
6.0.0-beta.24+1

Android version
Android 12

iOS version
iOS 16.x

macOS version
13.4.1 (c)(22F770820d)

Xcode version
Build 14E300c

Device information:
Description
I am loading a webpage with "Cloudflare Turnstile" applied.
However, the webview of flutter_inappwebview seems to have a security error.
All other browsers (PC, Mobile) are passing fine.
I would like to know what the problem is.
If anyone has any knowledge about this issue, please help me.
Thank you.
Steps to reproduce

My InAppWebViewSettings
var inAppWebViewSettings = InAppWebViewSettings(
  useShouldOverrideUrlLoading: true,

  transparentBackground: true,
  javaScriptCanOpenWindowsAutomatically: true,
  allowFileAccessFromFileURLs: true,
  allowUniversalAccessFromFileURLs: true,

  verticalScrollBarEnabled: false,

  horizontalScrollBarEnabled: false,

  supportMultipleWindows: true,

  useHybridComposition: true,

  isInspectable: true,
);

Test Page
https://app.1inch.io/
Images
Stacktrace/Logcat

@ttb-inc Did you have any solution for it yet ?

@ttb-inc Did you have any solution for it yet ?

We haven't solved it yet.
We're still working on it.

Hello @ttb-inc @ludowkm
Did you have any luck in fixing this issue? It's a major blocker for us and I am considering reaching out to someone at Cloudflare.

Hello @ttb-inc @ludowkm
Did you have any luck in fixing this issue? It's a major blocker for us and I am considering reaching out to someone at Cloudflare.

I haven't solved it yet either. ㅡ,ㅡ;
If you have any good news, please share.
Thank you.

I'm facing the same problem.

Hi everyone, I'm an engineer working on Turnstile at Cloudflare.
I'm afraid I'm unable to reproduce the issue, could you follow https://developers.cloudflare.com/turnstile/frequently-asked-questions/#how-can-i-obtain-the-ray-id-or-qr-code-for-troubleshooting and post the rayID or QR code here so I can follow-up?

Hi everyone, I'm an engineer working on Turnstile at Cloudflare.
I'm afraid I'm unable to reproduce the issue, could you follow https://developers.cloudflare.com/turnstile/frequently-asked-questions/#how-can-i-obtain-the-ray-id-or-qr-code-for-troubleshooting and post the rayID or QR code here so I can follow-up?

Hello! Thank you very much for helping to figure out the problem! I will try to assist; for me, it's quite straightforward, I turn on my personal VPN, which operates through an IP address of a server on DigitalOcean, attempt to access my app that uses this WebView plugin, open the link https://dash.cloudflare.com/ just to reach the point where Cloudflare shows me the robot check. I try to pass it and then I get errors in the logs, below I attach typical logs from the console. In turn, I tried to look at the traffic in a regular browser while passing this check and saw that the browser processes resources whose address starts with blob:https. But in the logs, I do not see that the WebView plugin tries to load such resources in any way. It seems like WebView can't work with blob:https right out of the box.
Logs:

[InAppWebViewController] (iOS) WebView ID 0 calling "onLoadStop" using {url: https://dash.cloudflare.com/}
[InAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {hasGesture: null, sourceFrame: {securityOrigin: {host: dash.cloudflare.com, protocol: https, port: 0}, request: {headers: {}, networkServiceType: 0, assumesHTTP3Capable: false, attribution: 0, url: https://dash.cloudflare.com/, allowsExpensiveNetworkAccess: true, httpShouldUsePipelining: true, method: GET, timeoutInterval: 2147483647.0, body: null, allowsCellularAccess: true, httpShouldHandleCookies: true, cachePolicy: 0, mainDocumentURL: null, allowsConstrainedNetworkAccess: true}, isMainFrame: true}, isForMainFrame: false, isRedirect: null, targetFrame: {request: {networkServiceType: 0, assumesHTTP3Capable: false, url: , allowsConstrainedNetworkAccess: true, cachePolicy: 0, httpShouldHandleCookies: true, attribution: 0, timeoutInterval: 2147483647.0, body: null, mainDocumentURL: null, headers: {}, method: GET, allowsExpensiveNetworkAccess: true, httpShouldUsePipelining: true, allowsCellularAccess: true}, isMainFrame: false,...
[InAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {isForMainFrame: false, shouldPerformDownload: false, targetFrame: {request: {attribution: 0, body: null, httpShouldHandleCookies: true, timeoutInterval: 2147483647.0, mainDocumentURL: null, method: GET, allowsCellularAccess: true, cachePolicy: 0, networkServiceType: 0, allowsExpensiveNetworkAccess: true, httpShouldUsePipelining: true, assumesHTTP3Capable: false, url: , headers: {}, allowsConstrainedNetworkAccess: true}, securityOrigin: {host: challenges.cloudflare.com, port: 0, protocol: https}, isMainFrame: false}, hasGesture: null, request: {method: GET, headers: {}, allowsConstrainedNetworkAccess: true, networkServiceType: 0, cachePolicy: 0, timeoutInterval: 2147483647.0, mainDocumentURL: https://dash.cloudflare.com/, httpShouldHandleCookies: true, httpShouldUsePipelining: true, url: about:blank, attribution: 0, allowsCellularAccess: true, assumesHTTP3Capable: false, body: null, allowsExpensiveNetworkAccess: true}, navigat...
[InAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {sourceFrame: {securityOrigin: {protocol: https, port: 0, host: challenges.cloudflare.com}, request: {cachePolicy: 0, url: https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/g/turnstile/if/ov2/av0/rcv0/0/6vq0n/0x4AAAAAAADnPIDROrmt1Wwj/light/normal, allowsConstrainedNetworkAccess: true, headers: {}, allowsExpensiveNetworkAccess: true, attribution: 0, httpShouldUsePipelining: true, assumesHTTP3Capable: false, timeoutInterval: 2147483647.0, networkServiceType: 0, allowsCellularAccess: true, httpShouldHandleCookies: true, mainDocumentURL: null, method: GET, body: null}, isMainFrame: false}, isRedirect: null, request: {method: GET, mainDocumentURL: https://dash.cloudflare.com/, httpShouldHandleCookies: true, httpShouldUsePipelining: true, allowsExpensiveNetworkAccess: true, networkServiceType: 0, cachePolicy: 0, allowsCellularAccess: true, attribution: 0, allowsConstrainedNetworkAccess: true, timeoutInterval: 2147483647...
[InAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {navigationType: -1, isForMainFrame: false, request: {networkServiceType: 0, headers: {}, body: null, allowsConstrainedNetworkAccess: true, httpShouldUsePipelining: true, assumesHTTP3Capable: false, mainDocumentURL: https://dash.cloudflare.com/, cachePolicy: 0, attribution: 0, timeoutInterval: 2147483647.0, allowsCellularAccess: true, httpShouldHandleCookies: true, method: GET, allowsExpensiveNetworkAccess: true, url: about:blank}, hasGesture: null, isRedirect: null, sourceFrame: {securityOrigin: {port: 0, protocol: https, host: challenges.cloudflare.com}, request: {body: null, url: https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/g/turnstile/if/ov2/av0/rcv0/0/6vq0n/0x4AAAAAAADnPIDROrmt1Wwj/light/normal, allowsExpensiveNetworkAccess: true, allowsCellularAccess: true, httpShouldHandleCookies: true, timeoutInterval: 2147483647.0, attribution: 0, allowsConstrainedNetworkAccess: true, networkServiceType: 0, mainDocum...
[InAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {isRedirect: null, sourceFrame: {securityOrigin: {protocol: https, port: 0, host: challenges.cloudflare.com}, request: {allowsExpensiveNetworkAccess: true, mainDocumentURL: null, headers: {}, cachePolicy: 0, httpShouldHandleCookies: true, networkServiceType: 0, url: https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/g/turnstile/if/ov2/av0/rcv0/0/6vq0n/0x4AAAAAAADnPIDROrmt1Wwj/light/normal, method: GET, body: null, allowsCellularAccess: true, allowsConstrainedNetworkAccess: true, httpShouldUsePipelining: true, assumesHTTP3Capable: false, timeoutInterval: 2147483647.0, attribution: 0}, isMainFrame: false}, isForMainFrame: false, navigationType: -1, hasGesture: null, request: {allowsConstrainedNetworkAccess: true, httpShouldUsePipelining: true, httpShouldHandleCookies: true, networkServiceType: 0, headers: {}, timeoutInterval: 2147483647.0, allowsExpensiveNetworkAccess: true, mainDocumentURL: https://dash.cloudflare.c...
[InAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: CgVD}
[InAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: SPcR}
[InAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: }
[InAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: The next request for the Private Access Token challenge may return a 401 and show a warning in console.}
[InAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: The next request for the Private Access Token challenge may return a 401 and show a warning in console.}
[InAppWebViewController] (iOS) WebView ID 0 calling "onConsoleMessage" using {message: [Cloudflare Turnstile] Cannot find Widget cf-chl-widget-6vq0n, consider using turnstile.remove() to clean up a widget.., messageLevel: 2}
[InAppWebViewController] (iOS) WebView ID 0 calling "shouldOverrideUrlLoading" using {targetFrame: {request: {url: https://dash.cloudflare.com/, httpShouldUsePipelining: true, timeoutInterval: 2147483647.0, headers: {}, httpShouldHandleCookies: true, assumesHTTP3Capable: false, body: null, allowsExpensiveNetworkAccess: true, method: GET, allowsConstrainedNetworkAccess: true, cachePolicy: 0, networkServiceType: 0, mainDocumentURL: null, attribution: 0, allowsCellularAccess: true}, securityOrigin: {port: 0, host: dash.cloudflare.com, protocol: https}, isMainFrame: true}, sourceFrame: {securityOrigin: {host: dash.cloudflare.com, protocol: https, port: 0}, isMainFrame: true, request: {attribution: 0, mainDocumentURL: null, assumesHTTP3Capable: false, httpShouldHandleCookies: true, httpShouldUsePipelining: true, body: null, url: https://dash.cloudflare.com/, allowsExpensiveNetworkAccess: true, cachePolicy: 0, networkServiceType: 0, timeoutInterval: 2147483647.0, allowsConstrainedNetworkAccess: true, method: GET, he...

Screenshot of the check page:

Thanks, @RMatushkin!

Screenshot of the check page:

What happens when you click the "Verify you are human" button? Do you get a failure icon and text?

I tried to look at the traffic in a regular browser while passing this check and saw that the browser processes resources whose address starts with blob:https.

We used to have navigations to blob: URLs but found those were incompatible with this lib when used together with navigation delegates. What you see in Dev Tools right now isn't a fetch/XHR, and as far as we're aware those don't pose an issue.
I'm unable to reproduce the issue, both with a basic example of flutter_inappwebview, https://github.com/pichillilorenzo/flutter_browser_app, and I'm afraid I don't see what the issue you're experiencing might be by looking at the logs you provided.
Do you only experience the issue on iOS? I see the reports about Android, but I can't reproduce those, even with the current latest few WebView versions.

What happens when you click the "Verify you are human" button? Do you get a failure icon and text?

After clicking, a looping loading appears, in other words, nothing happens for a very long time. Then the square for clicking appears again.

We used to have navigations to blob: URLs but found those were incompatible with this lib when used together with navigation delegates. What you see in Dev Tools right now isn't a fetch/XHR, and as far as we're aware those don't pose an issue.

Interesting fact, I really hope that blob resources really don’t have any effect.

Do you only experience the issue on iOS? I see the reports about Android, but I can't reproduce those, even with the current latest few WebView versions.

I use exclusively iOS devices, I have no idea how the CloudFlare check behaves on Android devices.

Plugin version: v6.0.0-beta.25
WebView settings:
initialSettings: InAppWebViewSettings(
  preferredContentMode: UserPreferredContentMode.MOBILE,
  transparentBackground: true,
  supportZoom: false,
  verticalScrollBarEnabled: false,
  horizontalScrollBarEnabled: false,
  javaScriptCanOpenWindowsAutomatically: true,
  allowUniversalAccessFromFileURLs: true,
  accessibilityIgnoresInvertColors: true,
  isFraudulentWebsiteWarningEnabled: false,
  allowsAirPlayForMediaPlayback: false,
  allowsPictureInPictureMediaPlayback: false,
  allowsInlineMediaPlayback: true,
  geolocationEnabled: false,
)

Used link: https://dash.cloudflare.com

Here, I specifically recorded a short video that shows the problem in action:
https://github.com/pichillilorenzo/flutter_inappwebview/assets/54648323/c013465e-58f5-434f-b8f9-b9a06b162190
And here is logs from the video:
logs.txt

I can reproduce this on Android using my own test app and the above mentioned flutter_browser_app example. I could see the following in the developer console: Uncaught SecurityError: Failed to read a named property 'flutter_inappwebview' from 'Window': Blocked a frame with origin "https://challenges.cloudflare.com" from accessing a frame with origin "https://filmezz.club". Protocols, domains, and ports must match. I assume this should be related. I see the captcha, click on it, it seems to succeed and then the challenge page just reloads once again.

Anyone found a solution on this? I am encountering a similar issue (where the captcha gets rejected every single time for everyone that tried)

Anyone found a solution on this? I am encountering a similar issue (where the captcha gets rejected every single time for everyone that tried)

I guess only @migueldemoura can help here.

Any updates?

It should be fixed now for iOS on the latest release.
Instead, for Android WebView, it seems the problem could be related to the X-Requested-With HTTP header sent automatically by native WebView for each HTTP request: https://community.cloudflare.com/t/turnstile-always-fails-in-a-webview/423520/5
Currently, there is no official Android WebView API to disable this HTTP header, as it should be already removed starting from androidx.webkit:webkit:1.6.0-alpha02:

https://stackoverflow.com/questions/75374092/react-native-webview-use-androidx-webkitwebkit1-6-0-to-get-rid-of-x-requested
https://issuetracker.google.com/issues/226552535#comment9

@migueldemoura I don't know if one of you has managed to resolve Android WebView related problems in the past.
Other people seem to have a similar problem with Android WebView: https://community.cloudflare.com/search?q=Android WebView
Any advice is welcome, thanks!

@pichillilorenzo Thank you very much for taking the time to fix this error, we appreciate it <3

It should be fixed now for iOS on the latest release.

I just took the source code from the commit, rebuilt my iOS app based on this version, and saw that the issue with Cloudflare Turnstile hasn't been resolved. I looked at the changes you made, but I don't understand how they relate to the current issue. You only fixed the logging in the file ConsoleLogJS.swift. Will there be another commit that fixes the problem?"

Here is my screen recording:

Without that fix, I was getting Cloudflare verification to fail every time, for both URLs.

It should be fixed now for iOS on the latest release.
Instead, for Android WebView, it seems the problem could be related to the X-Requested-With HTTP header sent automatically by native WebView for each HTTP request: https://community.cloudflare.com/t/turnstile-always-fails-in-a-webview/423520/5 Currently, there is no official Android WebView API to disable this HTTP header, as it should be already removed starting from androidx.webkit:webkit:1.6.0-alpha02:

https://stackoverflow.com/questions/75374092/react-native-webview-use-androidx-webkitwebkit1-6-0-to-get-rid-of-x-requested
https://issuetracker.google.com/issues/226552535#comment9

@migueldemoura I don't know if one of you has managed to resolve Android WebView related problems in the past. Other people seem to have a similar problem with Android WebView: https://community.cloudflare.com/search?q=Android WebView Any advice is welcome, thanks!

Hmm, I tried the official webview flutter plugin and from what I remember Turnstile was passing fine there on Android.

It should be fixed now for iOS on the latest release.
Instead, for Android WebView, it seems the problem could be related to the X-Requested-With HTTP header sent automatically by native WebView for each HTTP request: https://community.cloudflare.com/t/turnstile-always-fails-in-a-webview/423520/5 Currently, there is no official Android WebView API to disable this HTTP header, as it should be already removed starting from androidx.webkit:webkit:1.6.0-alpha02:

https://stackoverflow.com/questions/75374092/react-native-webview-use-androidx-webkitwebkit1-6-0-to-get-rid-of-x-requested
https://issuetracker.google.com/issues/226552535#comment9

@migueldemoura I don't know if one of you has managed to resolve Android WebView related problems in the past. Other people seem to have a similar problem with Android WebView: https://community.cloudflare.com/search?q=Android WebView Any advice is welcome, thanks!

@pichillilorenzo I just read your console patch for the iOS version, and indeed that was likely the root cause for the previous issue. Can also confirm that the presence of X-Requested-With should not cause the Turnstile failure for Android WebViews. We do have substancial traffic from these, so I presume there's some modifications being applied which would lead to the failures.
I was unable to reproduce this on Android, but would like to get this working for you all. When it fails, could you submit feedback via the Having trouble? dialog that appears when it fails and adding https://github.com/pichillilorenzo/flutter_inappwebview/issues/1738 to the description?

Fixed also on Android now! You can update to the newly published plugin version 6.0.0-rc.1.
@migueldemoura the error was caused by the same code spot on Android.
I don't know why the javascript wrapper around the window.console was causing the issue.
It doesn't make any sense to me, but it seems the javascript code used by CloudFlare is doing something with the window.console object.
Somehow, If the window.console functions (log, error, etc.) are wrapped with a function that is long X characters (I don't know the maximum number of chars but I mean literally the string characters), it just breaks.
In fact, my fixes are just about moving out the wrapper code the needed logic.
Here is just an example of what I'm talking about.
Think that you want to wrapper the console.log function for whatever reason, you can do something like:
var oldConsoleLog = console.log;
console.log = function() {
    var message = '';
    for (var i in arguments) {
        message += message === '' ? arguments[i] : ' ' + arguments[i];
    }
    oldConsoleLog.apply(null, arguments, 'myValue');
}

This wrapping would cause the issue that we were having here.
Instead, this code would simply work:
var oldConsoleLog = console.log;
console.log = function() {
    oldConsoleLog.apply(null, arguments, 'myValue');
}

I also tried adding just code comments or whitespaces, and it would still break, so it seems like it depends on how many characters the registry functions of the window.console object are made up of.
As I said, it doesn't make any sense to me on why this would cause the issue on Cloudflare. 🤷♂

I checked the new version 6.0.0-rc.1, and it works well on both Android and iOS.
Thank you very much.

I still see this error on newest version 6.0.0 on iOS (Flutter 3.16.5, iOS 16.x).
It works on Android but stuck forever on iOS.
Steps to produce:

Visit a site behind Turnstile, e.g. void-scans.com, manga-scantrad.io
Click the Cloudflare check box to verify
It loads for a while then showing the verifying screen with the checkbox again, and again

After adding a UserScript to override console.clear = (() => {});. Open the inspector, select preserve log, this is the stack trace leading to the console wrapper.

@pichillilorenzo what about an option to disable this console wrapper?
An additional reason is on Android, this wrapper currently converts all arguments into string, which makes it difficult to debug, because we can't see the logged objects properly on the chrome inspector.

Hi, I can reproduce this issue on iOS using latest version of the library, with this URL: https://etherscan.io/myaccount

Thanks for the reports, I will check it as soon as possible.
@endyquang about Android, I should be able to change the current wrapper without  impacting the Chrome debug console.
The current implementation was done that way to match the same onConsoleMessage event we have on iOS and macOS.
It seems that on Android, the native WebView event that is responsible for getting console messages will take only the first argument. So, that’s the reason about the current implementation.

import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
class CloudFlareTurnstileWidget extends StatelessWidget {
final Function(bool) setCaptcha;
const CloudFlareTurnstileWidget({required this.setCaptcha, Key? key})
: super(key: key);
@override
Widget build(BuildContext context) {
return SizedBox(
height: 85,
width: 330,
child: InAppWebView(
initialData: InAppWebViewInitialData(
data: htmlContent,
),
onConsoleMessage: (controller, consoleMessage) {
if (consoleMessage.messageLevel == ConsoleMessageLevel.LOG) {
setCaptcha(true);
log('tipo: ${consoleMessage.messageLevel}');
log('mensagem: ${consoleMessage.message}');
}
},
// onLoadStop: (controller, url) async {
//   await controller.evaluateJavascript(source: 'window._turnstileCb();');
// },
),
);
}
final String htmlContent = '''

''';
}

Código de erro: 600010
RayId: 87ca1ebbeb5400ea

If I try to run the script directly in the index.html, without going through the flutter it works:

A few days ago I published the Cloudflare Turnstile widget on pub.dev.
https://pub.dartlang.org/packages/cloudflare_turnstile

@Nika0000 Thanks, it worked perfectly

Having this issue using 6.0.0. My settings are as follows:
InAppWebViewSettings(
    useShouldOverrideUrlLoading: true,
    mediaPlaybackRequiresUserGesture: false,
    useShouldInterceptAjaxRequest: true,
    disableVerticalScroll: false,
    useHybridComposition: true,
    allowsInlineMediaPlayback: true,
    javaScriptCanOpenWindowsAutomatically: true,
    allowFileAccessFromFileURLs: true,
    allowUniversalAccessFromFileURLs: true,
    isInspectable: true,
  );

Initialised by:
InAppWebView(
        gestureRecognizers: {Factory(() => EagerGestureRecognizer())},
        initialUrlRequest: URLRequest(url: WebUri(url)),
        initialSettings: settings,
        onWebViewCreated: (controller) async {
          webViewController = controller;
          await CookieManager.instance().deleteAllCookies();
        },
        onLoadStop: (controller, url) async {
          // Some checks looking at the page.
        },
        shouldOverrideUrlLoading: (controller, action) async {
          return NavigationActionPolicy.ALLOW;
        },

Seems like other web views also have similar issues: https://community.cloudflare.com/t/turnstile-no-longer-working-inside-of-ios-apps-in-wkwebview/637940/8
Is there a similar alternative for the in app web view to use for originWhitelist in case that is the issue?

Hey @stickeerehan, originWhitelist is usually the issue, otherwise it should work as we test against this specific implementation w/ its defaults.

Looks like in my case the culprit after trial and error was the setting 'useShouldInterceptAjaxRequest' - having this breaks the Cloudflare turnstile. Can confirm it works with the default settings

@endyquang I released flutter_inappwebview_android version 1.1.2 for the latest plugin version removing the custom wrapper as the native WebChromeClient.onConsoleMessage event to be working correctly, so you should see the logged objects properly on the chrome inspector.

authors: AlexDochioiu Diniboy1123 Nika0000 RMatushkin a00012025 endyquang ludowkm migueldemoura pichillilorenzo rafagazani stickeerehan ttb-inc vidorge xSILENCEx


text:
File structure is not displayed during torrent adding.

All files are added without taking into account directory structure.
I.e. if you have torrent with directories pico will ignore it and just adds only files.
Example of torrent: http://www.nyaa.se/?page=download&tid=776448
It's structure:
CD1/*.flac
CD2/*.flac

UPD:
Actual issue is only the fact that file structure is not displayed correctly during torrent's adding

I can't seem to reproduce this with the example torrent. Here's the directory structure that PicoTorrent downloads to,

Silverio_Vendeta

CD1

*.flac

CD2

*.flac

Is this not correct?
I do, however, notice that the add torrent dialog does not show a good representation of the final structure on disk.

Oh yes... i rechecked again and seems like i originally put it in wrong directory.
At first i was surprised by strange look of file structure preview and the fact that it couldn't find existing files in(presumably correct place)
I will correct title of issue, as preview of file structure should be correctly represented.

I'll add this as a feature request :smile: Great find!

authors: DoumanAsh vktr

repo: picotorrent/picotorrent


text:
margin utilities have padding instead of margin

Could you also possibly add m-0, mt-0, p-0, pt-0, etc.?

@mohd-akram fixed. m-0 = margin: 0; right?

Yeah.

@mohd-akram v0.3.1 is released release note. m-0 and p-0 have been added.


text:
Implement SelectCommand with interactive menu for assets, apps, and models #133

Description
This PR introduces a major refactor, renaming ListCommand to SelectCommand and implementing an interactive selection menu for assets, apps, and models. This change enhances user interaction and provides a more intuitive interface for item selection.
Changes

Renamed ListCommand to SelectCommand

Better reflects the class's primary function of selecting items

Introduced PiecesSelectMenu class

Handles interactive menu selection using prompt_toolkit

Refactored command methods:

list_command → select_command
list_assets → select_assets
list_apps → select_apps
list_models → select_models

Motivation
The transition from listing to selecting items necessitated a rename of the main class. This change, along with the new interactive selection mechanism, provides a more intuitive and user-friendly interface. It allows for immediate action on selected items, enhancing the overall functionality and user experience of the tool.
How to Test
To test the code code you can run the following commands :

Activate python console by running command : python
Next, run the following code to see the outputs :
from list_command import SelectCommand
SelectCommand.select_command(type="assets", max_assets=5)

running the following code should help you see your selection menu . replace the type parameters with "apps" or "models" according to your need and requirement .

Great job
Just want to highlight that the name of the function does no affect the command name but that's true an amazing work gonna change some small stuff but true amazing !!

Thank you !

Can you return the methods names as it is?
Since in the app.py we are referencing the methods by these names

And also we don't select menus in the list apps

okay , small changes coming right up . reverting the methods to their _list versions and the app to the previous method

great seems working just some stuff I would like to change:

When you select an asset in the list assets it should execute the AssetsCommands.open_asset
similarity the list_models should also do the same and call the change_model function
We should leave the on_enter_callback, which is a function to execute. This will be much better than getting the latest selected item and doing whatever with that index. That will be helpful for scalability terms as you will send the callback no need to execute extra stuff related to geting the index (let me know if you need help in that point) ref:https://bishoyatpieces.pieces.cloud/?p=c787439ee9

addressed all three issues , please have a look .

Seems good gonna do some polishes my self and merge it thank you

okay ,thanks .

@sambhavnoobcoder just want to make sure that you add these changes to the CHANGELOG.md

okay , I'll do that .

authors: Bishoy-at-pieces sambhavnoobcoder

repo: pieces-app/cli-agent


text:
Show time of locations

Somehow off-topic, but very easy to implement and a helpful improvement:
How about showing the localtime of the selected locations somewhere in the visualization near the name of the location?

Thanks for your interest and for your good idea, but I don’t think that I will maintain this app anymore.

authors: daald pierrerousseau

repo: pierrerousseau/owm


text:
Control Center Keyboard Brightness Option

Can we add a keyboard brightness option?  I don't change the screen brightness much but always turn on/off my keyboard brightness and it would be handy to have.

I second this!
I change the brightness of my keyboard all the time and it would be great to include it.

authors: Jobey-G eorsinijr

repo: pigigaldi/Pock


text:
🛑 Stripe Endpoint URL is down

In f77bb69, Stripe Endpoint URL ($STRIPEAPI) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Stripe Endpoint URL is back up in 8f3769e after 12 minutes.

repo: pikfarm/PikfarmStatus


text:
🛑 Stripe Endpoint URL is down

In dbc31e5, Stripe Endpoint URL ($STRIPEAPI) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Stripe Endpoint URL is back up in 4112b4d after 46 minutes.


text:
🛑 Stripe Webhook URL (Test and Live) is down

In 1659994, Stripe Webhook URL (Test and Live) ($STRIPEWEBHOOK) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Stripe Webhook URL (Test and Live) is back up in 8a94661 after 38 minutes.


text:
🛑 Stripe Webhook URL (Test and Live) is down

In de59438, Stripe Webhook URL (Test and Live) ($STRIPEWEBHOOK) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Stripe Webhook URL (Test and Live) is back up in c96a3a0 after 56 minutes.


text:
🛑 www.pik.farm is down

In 05d8f6a, www.pik.farm (https://pik.farm) was down:

HTTP code: 0
Response time: 0 ms

Resolved: www.pik.farm is back up in ea089e1 after 1 hour, 28 minutes.


text:
Issue with Kryo serialisation

I'm working on android project, with paper (with the rxpaper2 wrapper). I have some object data with Time members.
I saw in the Kryo code, that such serializer shoud be added by default if Java8 is enable. This is my case
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

Here is the log :
E/dalvikvm: Could not find class 'sun.nio.ch.DirectBuffer', referenced from method com.esotericsoftware.kryo.util.UnsafeUtil.releaseBuffer
E/dalvikvm: Could not find class 'java.util.Optional', referenced from method com.esotericsoftware.kryo.serializers.OptionalSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.util.OptionalInt', referenced from method com.esotericsoftware.kryo.serializers.OptionalSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.util.OptionalLong', referenced from method com.esotericsoftware.kryo.serializers.OptionalSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.util.OptionalDouble', referenced from method com.esotericsoftware.kryo.serializers.OptionalSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.Duration', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.Instant', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.LocalDate', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.LocalTime', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.LocalDateTime', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.ZoneOffset', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.ZoneId', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.OffsetTime', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.OffsetDateTime', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.ZonedDateTime', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.Year', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.YearMonth', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.MonthDay', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers
E/dalvikvm: Could not find class 'java.time.Period', referenced from method com.esotericsoftware.kryo.serializers.TimeSerializers.addDefaultSerializers

How to solve this ?
How define a specific serializer as we do not get acces to kryo from paper (as far I read the doc)

You can use Paper.addSerializer() to add custom serializers.

@pilgr thanks for this, however, I my issue is that Android do not hold such class, and the serializer are added by default. Seems to be more or less mapped to this Kryo issue https://github.com/EsotericSoftware/kryo/issues/410

@pilgr any comment or advice on this point ?

Do you include Time class with third-party dependency?

@pilgr as far as I know the answer is no. I use JodaTime but that's different class as well as Date and Time classes from Android SDK
What is strang, is that Kryo add the serializer even if I do not have the class in the project.
I overide the kryo version to 4.0.1 to get that commit
https://github.com/EsotericSoftware/kryo/commit/8fd3f891edac0c4f7c9f1d61e8e4ff769573e26c
Does I am the only one to get that bunch of exception ?

@pilgr Please reopen the issue that I get visibiliy from community. thanks

@afaucogney you're right, the fix should be to update Kryo dependency to version 4.0.1

@pilgr fact is that I forced the kryo dependency to be at 4.0.1 level, and nothing changed...

@afaucogney could you write a test case or class or small project so I could reproduce the issue?

@afaucogney could you check out with latest paper 2.5? Forcing kryo dependency might not work for your experiment because of transitive dependency caused by "de.javakaffee:kryo-serializers" lib.

Previously I also force the kryo-serializers.
@pilgr I just updated paper to 2.5, from Android studio I have
kryo 4.0.1
serializer 0.42
paper 2.5
But I still get exceptions in the trace. Nothing really changed up to now.

Could you setup a basic project over Github to reproduce the issue?
If it could be just a unit test for Paper - would be even coolleerr! :)
On Wednesday, September 27, 2017 at 16:16, Faucogney Anthony wrote:

Previously I also force the kryo-serializers.
@pilgr (https://github.com/pilgr) I just updated paper to 2.5, from Android studio I have
kryo 4.0.1
serializer 0.42
paper 2.5
But I still get exceptions in the trace. Nothing really changed up to now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/pilgr/Paper/issues/84#issuecomment-332516925), or mute the thread (https://github.com/notifications/unsubscribe-auth/AAaNIZpmGQjM92G9-TyrB9zYi4MiKwF1ks5smkqbgaJpZM4PJ9Pk).

authors: afaucogney pilgr

repo: pilgr/Paper


text:
Keep CSP on 304

I'd like to reopen #126 since the standard has been clarified since the last discussion. Specifically, it seems sending a CSP on a 304 response is now allowed. See web-platform-tests/wpt#13579 for a concrete demonstration that CSP on 304 is valid, and httpwg/http-core#337 for the full discussion.
Beyond just CSP, the blacklisting of content-* seems to have been replaced with a more targeted list for caches to ignore, so it might be worth updating that filter function more comprehensively.

Hi @felipeochoa , and welcome back! Thank you so much for following up on that. I see the web platform test there, but the http-core link I'm not sure how exactly it is related. But even then, it seems like the actual standard has not yet been changed, has it? I took a look at RFC 7232 and I don't see any changes. Can you point me to the new/updated standard? In particular the main issue with CSP is the nonce header (as I mentioned in the previous issue) -- how did they resolve that, as I don't see it mentioned anywhere?

I am trying to read over the tests you linked (https://github.com/web-platform-tests/wpt/pull/13579/files) and, if I'm reading it right, it adds a test to send CSP headers in a 304 and then it validates that the new CSP policy from the 304 is not actually used, am I interpreting that right?
    var t1 = async_test("Test that the first frame uses nonce abc");
    var t2 = async_test("Test that the first frame does not use nonce def");

The first frame is a 200 with the abc nonce and the second frame is a new CSP in a 304 with the def nonce, but the test states the second (304 one) should be ignored, right?

Oh, I see. The first two both say first frame and the second pair says second frame. My bad. So yea, that test I believe does indeed check that the CSP in a 304 is updated by the web browser.

I have determined the location for the spec change, which is located in the published httpbis-cache https://datatracker.ietf.org/doc/draft-ietf-httpbis-cache/16/

Sorry for the delay! Somehow disabled notifications here.
I'm still not great at navigating the spec, but basically what I gathered is that before the update, all Content-* headers were ignored on 304s, but with this update the list of ignored headers is now more tightly scoped. httpwg/http-core#165 might be the more informative issue, though a bit of a longer read.
I think the key section in the spec you noted is 3.2, especially where they say:

Note that the Content-* prefix is not a signal that a header field is omitted from update; it is a convention for MIME header fields, not HTTP.

authors: dougwilson felipeochoa

repo: pillarjs/send


text:
reply by email not working

Hey, the reply by email feature doesn't seem to be enabled after I put email in config.json..
"params": {
"description": "Thoughts, Stories, and Musings",
"itunes_description": "[ITUNES_DESCRIPTION]",
"itunes_category": "[ITUNES_CATEGORY]",
"itunes_subcategory": "[ITUNES_SUBCATEGORY]",
"itunes_author": "[ITUNES_AUTHOR]",
"itunes_email": "[ITUNES_EMAIL]",
"itunes_cover": "[ITUNES_COVER]",
"twitter_username": "[TWITTER_USERNAME]",
"github_username": "[GITHUB_USERNAME]",
"instagram_username": "[INSTAGRAM_USERNAME]",
"site_id": "[SITE_ID]",
"paginate_home": false,
"paginate_categories": false,
"paginate_replies": false,
"theme_seconds": "0",
"plugins_css": [],
"plugins_js": [],
"plugins_html": [],
"subtitle": "Thoughts, Stories, and musings...",
"mailto": "tim@timapple.com"

Looking at your site now I see the post metadata is different, and the article width is also off.  That’s definitely strange if this was freshly installed from the plugin.  When you removed all the files, you also removed any custom CSS you were using prior, correct?  Can you post a screenshot of your Design section showing the template and custom theme section? I still feel like something is still hanging around causing a conflict, as your config.json changes were correct.

I will check it out tomorrow. I wonder if it could be another plugin?
Sent from my iPhone

On Oct 29, 2021, at 10:28 PM, Pete Moore @.***> wrote:

Looking at your site now I see the post metadata is different, and the article width is also off. That’s definitely strange if this was freshly installed from the plugin. When you removed all the files, you also removed any custom CSS you were using prior, correct? Can you post a screenshot of your Design section showing the template and custom theme section? I still feel like something is still hanging around causing a conflict, as your config.json changes were correct.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

It very well could be, you also have to make sure you set the template to blank before installing the plugin.

I installed the Tufte theme today as well and have the same issue as @heyTimApple. The config.json is configured as described in readme but it not shows up below the post.
If it's a plugin the prevents it from displaying it, I haven't figured out which one yet. Will do some tests but as I looked on the Readme.md on the Github repo, even there is no email link or anything displayed on the screenshots for the post examples to get a glue how this should look in real life.

Update from my site, of course shortly after I posted the above issue...
It works now for me, when I uninstall all plugins, set the Design-template to "blank", save all the settings and then install the Tufte plugin and afterwards all the other plugins. So fixed for me that way, hope this helps others as well.

Thanks @rretsiem, I’ve updated the README to include these steps in the event others encounter the same issue.

Update from my site, of course shortly after I posted the above issue...
It works now for me, when I uninstall all plugins, set the Design-template to "blank", save all the settings and then install the Tufte plugin and afterwards all the other plugins. So fixed for me that way, hope this helps others as well.

@heyTimApple - Are you able to give the above steps a try and see if it works on your blog as well?

Will do in the morning, I have to save some modifications to plug-ins so I can redo it again after resetting. Today was busy with Halloween and kiddos.
Tim
Sent from my iPhone

On Oct 31, 2021, at 9:49 PM, Pete Moore @.***> wrote:

Update from my site, of course shortly after I posted the above issue...
It works now for me, when I uninstall all plugins, set the Design-template to "blank", save all the settings and then install the Tufte plugin and afterwards all the other plugins. So fixed for me that way, hope this helps others as well.
@heyTimApple - Are you able to give the above steps a try and see if it works on your blog as well?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Ok, it's official, did all the steps listed above and I'm functioning now. I also put plugins back one by one to make sure none of them were the culprit, but seems to be fine still.

Awesome, thanks for your patience Tim, happy you got it working!

authors: heyTimApple pimoore rretsiem

repo: pimoore/microdotblog-tufte


text:
Provide MicroPython stubs for frozen libraries

It would be nice if there was something like https://pypi.org/project/circuitpython-stubs for Pimoroni Pico libs, which could be used for code completion, linting etc.

+1

I looked at introspecting the raw .c files to gather information for stubs, but it's no trivial problem. I did some preliminary digging into stubber mentioned in #742, but since our C++ libraries have largely static APIs it seems like it might just be easier to hand-write them all than get buried in tooling hell.
As such I've started a stubs repository here https://github.com/pimoroni/pimoroni-pico-stubs
I need to figure out how to make this installable and - of course - add all the many, many missing modules.

authors: Gadgetoid aivarannamaa arunura

repo: pimoroni/pimoroni-pico


text:
Delete remote Stripe resources if model gets deleted?

I think it might make sense to (optionally) delete remote resources, e.g. when deleting a Plan object.

could they instead be marked as expired in metadeta.

So missing remote objects would get (possibly) recreated after you've deleted them, if there are events for them?
I agree.  Please close the issue then if I understood you correctly.

authors: blueyed japrogramer

repo: pinax/pinax-stripe


text:
topsql: add overall fields for summary

Signed-off-by: Zhenchi zhongzc_arch@outlook.com

/cc @crazycs520 @mornyx

/merge

repo: pingcap/ng-monitoring


text:
[Bug] wrong dates of the chart of start increment

Bug Report

Describe the bug

from the second last day, the dates are all 1 day ahead of the actual dates.
missing "Mar 15", the "Mar 14" is wrong, actually the increased stars belongs to "Mar 15"
https://ossinsight.io/analyze/Tencent/APIJSON

https://ossinsight.io/analyze/glennliao/apijson-go#overview

To Reproduce
Steps to reproduce the behavior:
open the links above
Expected behavior

fix the wrong dates
Screenshots

Desktop (please complete the following information):

OS: macOS 13.0 (22A8380)
Browser Chrome
Version 109.0.5414.119 (Official Build) (arm64)

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context

Looks like this has something to do with current_period_day
in Bars.tsx, printing data.data?.data after line 38 shows this for the Stars graph:
[
  {
    "current_period_day": "2023-03-19T00:00:00.000Z",
    "current_period_day_stars": 745,
    "current_period_stars": 16572,
    "idx": 1,
    "last_period_day": "2023-02-19T00:00:00.000Z",
    "last_period_day_stars": 446,
    "last_period_stars": 11216
  },
  {
    "current_period_day": "2023-03-17T00:00:00.000Z",
    "current_period_day_stars": 533,
    "current_period_stars": 16572,
    "idx": 2,
    "last_period_day": "2023-02-17T00:00:00.000Z",
    "last_period_day_stars": 343,
    "last_period_stars": 11216
  },
  {
    "current_period_day": "2023-03-16T00:00:00.000Z",
    "current_period_day_stars": 614,
    "current_period_stars": 16572,
    "idx": 3,
    "last_period_day": "2023-02-16T00:00:00.000Z",
    "last_period_day_stars": 480,
    "last_period_stars": 11216
  },
  {
    "current_period_day": "2023-03-15T00:00:00.000Z",
    "current_period_day_stars": 582,
    "current_period_stars": 16572,
    "idx": 4,
    "last_period_day": "2023-02-15T00:00:00.000Z",
    "last_period_day_stars": 590,
    "last_period_stars": 11216
  },
  {
    "current_period_day": "2023-03-14T00:00:00.000Z",
    "current_period_day_stars": 583,
    "current_period_stars": 16572,
    "idx": 5,
    "last_period_day": "2023-02-14T00:00:00.000Z",
    "last_period_day_stars": 712,
    "last_period_stars": 11216
  },
  ...
  ...
  ...
  ...
]

As you can see, the most recent day is today (2023-03-19T00:00:00.000Z), but it skips 2023-03-18T00:00:00.000Z and goes directly to 2023-03-17T00:00:00.000Z

authors: TommyLemon codestafa

repo: pingcap/ossinsight


text:
simulator: move generate key to simutil

What problem does this PR solve?
We have some unrelated code, like generateTableKeys  in raft.go.
What is changed and how it works?
This PR moves the generator key into simutil, which can be more clear and improve the coverage.
Check List
Tests

Unit test

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@fa508a1). Click here to learn what that means.
The diff coverage is 45.97%.

@@            Coverage Diff            @@
##             master    #1674   +/-   ##
=========================================
  Coverage          ?   76.07%
=========================================
  Files             ?      157
  Lines             ?    15347
  Branches          ?        0
=========================================
  Hits              ?    11675
  Misses            ?     2666
  Partials          ?     1006

Impacted Files
Coverage Δ

tools/pd-simulator/simulator/simutil/key.go
45.97% <45.97%> (ø)

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 fa508a1...37bab1c. Read the comment docs.

authors: codecov-io rleungx

repo: pingcap/pd


text:
statistics: fix refactor

What problem does this PR solve?
The previous refactor PR #1750 accidentally removed the change of calculating region flow in PR #1688.
What is changed and how it works?
Fix it and made some upgrade:
PR #1688 only use the report interval to improve the flow rates.
This PR also use report interval to denoise.
Check List
Tests

Unit test

Codecov Report

Merging #1881 into master will increase coverage by 0.13%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1881      +/-   ##
==========================================
+ Coverage   77.84%   77.98%   +0.13%
==========================================
  Files         161      161
  Lines       16070    16069       -1
==========================================
+ Hits        12510    12531      +21
+ Misses       2561     2547      -14
+ Partials      999      991       -8

Impacted Files
Coverage Δ

server/statistics/hot_peer_cache.go
89.24% <100%> (-0.07%)
:arrow_down:

server/region_syncer/client.go
78.94% <0%> (-6.58%)
:arrow_down:

server/schedulers/shuffle_hot_region.go
56.17% <0%> (-5.62%)
:arrow_down:

server/schedule/operator_controller.go
90.68% <0%> (+0.22%)
:arrow_up:

server/core/region.go
89.41% <0%> (+0.43%)
:arrow_up:

client/client.go
69.89% <0%> (+0.86%)
:arrow_up:

server/config/option.go
91.16% <0%> (+0.93%)
:arrow_up:

server/grpc_service.go
59.05% <0%> (+1.07%)
:arrow_up:

server/core/storage.go
70.65% <0%> (+1.19%)
:arrow_up:

server/server.go
84.09% <0%> (+1.65%)
:arrow_up:

... and 3 more

Continue to review full report at Codecov.

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

/merge

/rebuild

/merge

authors: Luffbee codecov-io


text:
tracker(dm): schema tracker without embedded TiDB

What problem does this PR solve?

Issue Number: close https://github.com/pingcap/tiflow/issues/5334
What is changed and how it works?
Exec now accepts ast.StmtNode, and SchemaTracker should do the preprocessing works like TiDB executor.
I hope other API is not effected
Check List
Tests

pass old tests

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
DM no longer uses embedded TiDB to track table structure from upstream DDL

/run-dm-integration-test

/run-dm-integration-test

now new SchemaTracker will not report error like "unsupported add column 'c' constraint UNIQUE KEY", many tests need to be updated :joy:
/run-dm-integration-test

/run-dm-integration-test

/run-dm-integration-test

/run-dm-integration-test

/run-dm-integration-test

https://ci2.pingcap.net/blue/organizations/jenkins/dm_ghpr_integration_test/detail/dm_ghpr_integration_test/8816/pipeline
DM integration test passed. Most changes are test files, ptal @GMHDBJD @D3Hunter @lichunzhu

Codecov Report

Merging #6659 (4a6381b) into master (2ea67ba) will increase coverage by 0.1173%.
The diff coverage is 72.5766%.

Flag
Coverage Δ

cdc
66.0099% <74.7422%> (+0.1418%)
:arrow_up:

dm
51.9530% <58.1699%> (-0.0887%)
:arrow_down:

engine
62.8505% <73.3238%> (+0.3144%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #6659        +/-   ##
================================================
+ Coverage   59.2138%   59.3312%   +0.1173%
================================================
  Files           780        785         +5
  Lines         88405      89174       +769
================================================
+ Hits          52348      52908       +560
- Misses        31415      31610       +195
- Partials       4642       4656        +14

/cc @GMHDBJD @lichunzhu

PTAL @GMHDBJD @lichunzhu

/merge

/run-dm-integration-test
/run-integration-test
/run-dm-compatibility-test

/run-integration-test
/run-dm-compatibility-test

/run-dm-integration-test
/run-integration-test

/run-all-tests

/run-verify

repo: pingcap/tiflow


text:
capture(cdc): always close processor if etcd sesison is broken

What problem does this PR solve?
Issue Number: ref #8657
What is changed and how it works?
Without the PR if a capture's etcd session is broken, processor.Close won't be called correctly. It will leak some resources of processor. For now it won't cause critical results but we should fix the behavior, which will make code more clear.
Check List
Tests

Unit test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

/run-all-tests

/rest LGTM

/merge

/merge

/retest-required

/test cdc-integration-mysql-test

/merge

/test cdc-integration-kafka-test

authors: CharlesCheung96 asddongmen hicqu


text:
kafka(ticdc): index-value dispatcher support set index names.

What problem does this PR solve?

Issue Number: close #9821
What is changed and how it works?
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
allows user specify the index name for the index-value dispatcher

/test cdc-integration-mysql-tes

/test cdc-integration-mysql-test

/retest

/hold
This PR is still under testing, not ready for review yet.

/unhold

Please explain the detailed design in pr body.


text:
default scheduler too busy threshold is too small

In benchmark case, there are too many scheduler is busy errors, the loads of machines are far from heavy indeed.

Rest LGTM

PTAL @disksing

/run-all-tests

CI failed @zhangjinpeng1987

/run-all-tests

LGTM

/run-all-tests

CI still failed @zhangjinpeng1987

authors: disksing ngaut siddontang zhangjinpeng1987

repo: pingcap/tikv


text:
fix version print

Make version readable and not related with ti-client anymore since they are one project now.

This change is

scala> ti.version
res3: String =
Release Version: 1.0-RC1-2-gf2cd397-dirty
Git Commit Hash: f2cd39702060febab7ff74daf85833a7969e3a91
Git Branch: fix_version
UTC Build Time: 2018-03-11 05:49:50

authors: Novemser ilovesoup

repo: pingcap/tispark


text:
Some minor styling cleanup and simplification

This PR makes some minor cleanup and simplifications to TiStrategy.scala to make the code more readable and idiomatic.

Just pulled ur changes and tested it locally. merging it.

authors: liancheng zhexuany


text:
Authentication with OAuth0

Hi,
I'm working on the POC for a future application. Since I'm new to OAuth and OAuth0, I'd like some confirmation and direction how to proceed.
We're selling theatre tickets through out own domains, whitelabel websites and integrated third party websites.
So far the integrated websites were calling our API in the backend and serving web pages to customers.
But now came a new requirement for a widget to the integrators website which would communicate with our API through AJAX. Therefore we can't use the current username/password authentication to the API.
The idea was to use OAuth and OAuth0's service in the following way:
1.The third party's backend would authenticate itself to OAuth0's and get a short term token. Simple user DB and username/password will do for start.
2. This token would be embedded into the HTML code to call the Javascript.
3. The Javascript code would call our API with the token in the header.
4. Your Apache auth_openidc module would send the token to OAuth0 to validate it
5. If validated the remote user id will be passed to the API to serve the relevant content to the JS code.
Do you think it's a valid use case?
In my POC I've managed so far to authenticate and get id_token and access_token.
However I couldn't manage to get through auth_openidc. I've followed the guide from OAuth0's site. It isn't calling OAuth0 at all.
thanks for your help!
regards
Zsolt

I assume you're talking about Auth0 rather than OAuth0? Then I'd ask the question there. Basically you'd setup mod_auth_openidc as a Resource Server and have Auth0 issue JWT based access tokens: https://github.com/pingidentity/mod_auth_openidc/wiki/OAuth-2.0-Resource-Server#local-validation.
Please note: the issues list is meant for bug/feature requests; general questions about how the module works should go to the mailing list mod_auth_openidc@googlegroups.com

authors: KundK zandbelt


text:
🛑 jeju43 is down

In 5e32870, jeju43 (http://43archives.or.kr/main.do) was down:

HTTP code: 0
Response time: 0 ms

Resolved: jeju43 is back up in 35b074c.

repo: pinnode/pinnode


text:
(v2) Koa hangs on errors

Using this example from the README (modified with the new keyword for Koa 2), my server logs an error when I hit http://localhost:3000, but it does not respond and the request times out.
'use strict'

var Koa = require('koa')
var logger = require('koa-pino-logger')

var app = new Koa()
app.silent = true //disable console.errors
app.use(logger())

app.use(function * () {
  this.body = 'hello world'
  throw Error('bang!')
})

app.listen(3000)

Hi @tnunamak thanks for reporting. Just to be sure, this behavior is happening with the module installed like so:
npm install koa-pino-logger@2

So you're using the v2 logger for v2 koa?
Secondly, can you confirm that the behavior is different if you remove the logger middleware?

Yep, I just confirmed the following from my shell history. And the server definitely responds with an internal error successfully, without the middleware.
npm install koa@next
npm install koa-pino-logger@2 --save

@tnunamak if you are using Koa v2 then why is your handler a generator function?  Is that because the example code from koa-pino-logger is written that way?
I would expect (and I write my) Koa v2 handlerse using async functions and the body is attached to ctx.res or ctx (shorthand), i.e. the handler should be written as:
app.use(async function (ctx, next) {
  ctx.body = 'hello world';
  throw Error('bang!');
});

@eudaimos are you saying it doesn't hang for you when written with async func?
in that case, will happily take PR for readme

I experienced this too. Should be fixed by #7

fixed in #7

authors: davidmarkclements eudaimos laggingreflex tnunamak

repo: pinojs/koa-pino-logger


text:
[+Here's how To WatcH!]!* Breckie Hill Original Viral Link L𝚎aked on Social Media Trending X Twitter

21 seconds ago
L𝚎aked Video Breckie Hill Original Video Viral Video L𝚎aked on X Twitter Telegram
𝖶𝖺𝗍𝖼𝗁 🟢 ➤ ➤ ➤ 🌐 𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 (𝖥𝗎𝗅 𝗅 𝖵𝗂𝗋𝖺𝗅 𝖵𝗂𝖽𝖾𝗈 𝖫𝗂𝗇𝗄)
🔴 ➤► 𝖣𝖮𝖶𝖭𝖫𝖮𝖠𝖣👉👉 (𝖥𝗎𝗅𝗅 𝖵𝗂𝗋𝖺𝗅 𝖵𝗂𝖽𝖾𝗈 𝖫𝗂𝗇 𝗄) 𝖶𝖺𝗍𝖼𝗁
🟢 ➤ ➤ ➤ 🌐 𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 (𝖥𝗎𝗅𝗅 𝖵𝗂𝗋𝖺 𝗅 𝖵𝗂𝖽𝖾𝗈 𝖫𝗂𝗇𝗄)
🔴 ➤► 𝖣𝖮𝖶𝖭𝖫𝖮𝖠𝖣👉👉 (𝖥𝗎𝗅𝗅 𝖵𝗂𝗋𝖺𝗅 𝖵𝗂𝖽𝖾𝗈 𝖫𝗂𝗇 𝗄)
Who Is Breckie Hill? Pakistani TikTok Star Deactivates Social Media Accounts After Private Video Leaks Online
Pakistani TikToker Breckie Hill is currently facing intense trolling after her explicit videos went viral on social media. Reacting to the controversy, Breckie Hill has deactivated her social media account.
The TikToker became the new victim of privacy breach after her explicit videos went viral, being shared widely on WhatsApp. After the controversy, Breckie Hill has become a scapegoat for social media trolling and hate messages. Meanwhile, in interviews to local channels, Rehman has said that she was born on 7 October 2002 in Lahore.
After facing immense trolling, the social media influencer deactivated her Instagram and TikTok accounts, according to a report by Economic Times. Breckie Hill has fallen prey to privacy breaches, and there is no information on whether she has taken any legal action in the matter. The incident raises questions about the privacy of influencers as, a few days ago, Pakistani TikToker Breckie Hill received immense hate on social media after her explicit videos went viral online.
Breckie Hill viral video: Why Pakistani TikToker has deactivated her account? What’s there in the ‘explicit’ clip?
Pakistani TikToker Breckie Hill has met a similar fate to that of social media influencer Breckie Hill. The Instagrammer is facing intense trolling after her explicit videos went viral on social media. Reacting to the controversy, Breckie Hill has deactivated her social media account.
The young TikToker has become the new victim of privacy breach after her explicit videos have gone viral on social media and have been shared widely on WhatsApp. After the controversy, she has become a scapegoat for social media trolling and hate messages.
After facing immense trolling, the social media influencer deactivated her Instagram and TikTok accounts, reported Economic Times. Breckie Hill has fallen prey to privacy breaches, and there is no information on whether she has taken any legal action in the matter. The incident raises serious questions about the privacy of social media influencers, as a few days ago, Pakistani TikTok Breckie Hill received immense hate on social media after her explicit videos went viral online.
(￢︿Short-Clip￢☆) Real Breckie Hill Video Link Original Short Clip Breckie Hill Viral Video X Telegram Link
Original-Imsha-Rehman-Video-Link-Original-Short-Clip-Imsha-Rehman-Viral-Video-X-Telegram-Link
Pakistani-Tiktoker-Real-Imsha-Rehman-Video-Link-Original-Short-Clip-Imsha-Rehman-Viral-Video-X-Telegram-Link
[-wATCH-]— Breckie Hill And Kate Middleton ʟᴇᴀᴋᴇᴅ Video ᴠɪʀᴀʟ On Social Media ˣ ᵀʷⁱᵗᵗᵉʳ
[-wATCH-]— Pakistani Tiktok Breckie Hill Video Original Video Link Pakistani Tiktok Breckie Hill Video Viral On Social Media X Trending Now
...
....
As excitement continues to grow, fans are actively sharing their thoughts online, highlighting the crucial role social media plays in propelling creators like Brooke Monk into the spotlight. With her unique style and creative approach, she has made a significant impact on the digital scene, leaving fans excited for what’s to come next. The viral success of her video further underscores the power of social media in boosting visibility and fostering stronger connections between creators and their audiences.
.
.
.
𝖠𝗌 𝗍𝗁𝖾 𝗌𝗂𝗍𝗎𝖺𝗍𝗂𝗈𝗇 𝗎𝗇𝖿𝗈𝗅𝖽𝗌, 𝗍𝗁𝖾 𝗍𝗋𝗎𝗍𝗁 𝗋𝖾𝗆𝖺𝗂𝗇𝗌 𝗌𝗁𝗋𝗈𝗎𝖽𝖾𝖽 𝗂𝗇 𝗆𝗒𝗌𝗍𝖾𝗋𝗒, 𝗅𝖾𝖺𝗏𝗂𝗇𝗀 𝗍𝗁𝖾 𝗉𝗎𝖻𝗅𝗂𝖼 𝗍𝗈 𝗉𝗈𝗇𝖽𝖾𝗋 𝗍𝗁𝖾 𝖺𝗎𝗍𝗁𝖾𝗇𝗍𝗂𝖼𝗂𝗍𝗒 𝗈𝖿 𝗍𝗁𝖾 𝗋𝗎𝗆𝗈𝗋𝗌. 𝖨𝗇 𝖺 𝗐𝗈𝗋𝗅𝖽 𝗐𝗁𝖾𝗋𝖾 𝖿𝖺𝗆𝖾 𝖺𝗇𝖽 𝗂𝗇𝖿𝖺𝗆𝗒 𝖺𝗋𝖾 𝗍𝗐𝗈 𝗌𝗂𝖽𝖾𝗌 𝗈𝖿 𝗍𝗁𝖾 𝗌𝖺𝗆𝖾 𝖼𝗈𝗂𝗇, 𝗍𝗁𝖾 𝗌𝖺𝗀𝖺 𝗈𝖿 𝖨𝗌𝗁𝗈𝗐𝗌𝗉𝖾𝖾𝖽𝗂𝗌 𝖺 𝗍𝖾𝗌𝗍𝖺𝗆𝖾𝗇𝗍 𝗍𝗈 𝗍𝗁𝖾 𝗉𝗈𝗐𝖾𝗋 𝗈𝖿 𝗌𝗈𝖼𝗂𝖺𝗅 𝗆𝖾𝖽𝗂𝖺 𝗍𝗈 𝗌𝗁𝖺𝗉𝖾 𝗇𝖺𝗋𝗋𝖺𝗍𝗂𝗏𝖾𝗌 𝖺𝗇𝖽 𝖼𝗁𝖺𝗅𝗅𝖾𝗇𝗀𝖾 𝗍𝗁𝖾 𝖻𝗈𝗎𝗇𝖽𝖺𝗋𝗂𝖾𝗌 𝗈𝖿 𝗉𝗋𝗂𝗏𝖺𝖼𝗒 𝖺𝗇𝖽 𝖼𝗈𝗇𝗌𝖾𝗇𝗍.
............
.

𝖶𝖺𝗍𝖼𝗁 🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤► 𝖶𝖺𝗍𝖼𝗁👉👉 Breckie Hill
🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤►𝖣𝖮𝖶𝖭𝖫𝖮𝖠𝖣👉👉 Breckie Hill

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
𝖶𝖺𝗍𝖼𝗁 🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤► 𝖶𝖺𝗍𝖼𝗁👉👉 Breckie Hill
🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤►𝖣𝖮𝖶𝖭𝖫𝖮𝖠𝖣👉👉 Breckie Hill

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.𝖶𝖺𝗍𝖼𝗁 🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤► 𝖶𝖺𝗍𝖼𝗁👉👉 Breckie Hill
🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤►𝖣𝖮𝖶𝖭𝖫𝖮𝖠𝖣👉👉 Breckie Hill

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
𝖶𝖺𝗍𝖼𝗁 🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤► 𝖶𝖺𝗍𝖼𝗁👉👉 Breckie Hill
🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤►𝖣𝖮𝖶𝖭𝖫𝖮𝖠𝖣👉👉 Breckie Hill

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
𝖶𝖺𝗍𝖼𝗁 🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤► 𝖶𝖺𝗍𝖼𝗁👉👉 Breckie Hill
🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤►𝖣𝖮𝖶𝖭𝖫𝖮𝖠𝖣👉👉 Breckie Hill

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.𝖶𝖺𝗍𝖼𝗁 🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤► 𝖶𝖺𝗍𝖼𝗁👉👉 Breckie Hill
🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤►𝖣𝖮𝖶𝖭𝖫𝖮𝖠𝖣👉👉 Breckie Hill

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
𝖶𝖺𝗍𝖼𝗁 🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤► 𝖶𝖺𝗍𝖼𝗁👉👉 Breckie Hill
🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤►𝖣𝖮𝖶𝖭𝖫𝖮𝖠𝖣👉👉 Breckie Hill

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
𝖶𝖺𝗍𝖼𝗁 🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤► 𝖶𝖺𝗍𝖼𝗁👉👉 Breckie Hill
🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤►𝖣𝖮𝖶𝖭𝖫𝖮𝖠𝖣👉👉 Breckie Hill

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.𝖶𝖺𝗍𝖼𝗁 🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤► 𝖶𝖺𝗍𝖼𝗁👉👉 Breckie Hill
🟢 ➤ ➤ ➤ 🌐  𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 Breckie Hill
 🔴 ➤►𝖣𝖮𝖶𝖭𝖫𝖮𝖠𝖣👉👉 Breckie Hill

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

repo: pinokiocomputer/pinokio


text:
Add some more text related icons

PD-673, add below text related icons

text-all-caps
text-line-height
text-sentence-case
text-size
text-spacing

good to go!

authors: loserford pfarejowicz

repo: pinterest/gestalt


text:
Enable Embedded Spectator to publish zk data and Participant to download zk data to local file

This won't work in following scenario
If the Application  api is directly inheriting from Rockdb_Admin api, and it supports routing layer within participant cluster, then the startup sequence for the application will be

Create a Router (this requires shardMap)
Create serviceHandler (requires router)
Create Server routing calls to ServiceHandler (we may potentially start getting requests here)
Start JVM Participant which will then download the shardMap as first step, which was required in step no. 1.

Ideal scene would have been, that application service api not extend from rocksdb_admin service api and create separate servers for both..

Create RocksdbAdmin handler
Start RocksdbAdmin server routing rocksdb_admin api calls to RockdbAdmin handler (now we are ready to serve admin requests)
Start JVM Participant, which starts with downloading the shardMap and joins helix cluster as participant and start performing state transitions in background.
Wait for shardMap to be downloaded
Create Router (we now have shardMap)
Create ServiceHandler for application api
Create Application Server routing api calls to ServiceHandler (now we are ready to receive api calls for application)

Unfortunately... the design pattern for existing application already do not confirm to proper startup sequence..
Hence it is not possible to embedd zk data download logic in the embedded jvm.. Other option is to deploy the zk-shardmap download agent as a side-car with the participant cluster as well.

As explained in the description, this mechanism with shardMap agent embedded in participant won't work without significant refactoring and also depends upon applications code changes... Hence Abandoning this approach altogether. Side card solution works perfectly fine with participants as well.. Hence no need to over-engineer a solution for embedded scenario here.

repo: pinterest/rocksplicator