text:
Check if a given PHP Binary is actually valid

Fixes #12

You are using the wrong directory separator on windows, possibly causing is_executable to “always” return false.

You are using the wrong directory separator on windows, possibly causing is_executable to “always” return false.

Hmm, looking at this test:
https://github.com/php/php-src/blob/589cfbb24fde06836df9dbb50ee0093a69c6eeba/ext/standard/tests/file/windows_acls/bug44859_3.phpt#L13-L31
The commented-out tiny.bat suggests that the .bat workaround that I tried won't work. I think it would have to be a true executable on Windows. That suggests the doc:

On Windows, a file is considered executable, if it is a properly executable file as reported by the Win API GetBinaryType();

is correct, but:

for BC reasons, files with a .bat or .cmd extension are also considered executable.

is outdated.

I’m talking about the path you hardcoded in the test.

/ for Unix-based systems (Linux, macOS).
\ for Windows.
use DIRECTORY_SEPARATOR to automatically use the correct one for the platform at runtime.

The path: "z:\phpf\pie\test\unit\Platform\TargetPhp/../../assets/fake-php-windows.bat”
using both \ and / in the path.

The path: "z:\phpf\pie\test\unit\Platform\TargetPhp/../../assets/fake-php-windows.bat”
using both \ and / in the path.

Yes, I understand what you're saying, but I tried fixing the slashes since my earlier stream, and that is still not the issue. I explored the code some more, and the .bat/.cmd thing does not appear hold true.

I see, "normalizing" the path was just the first step.

… the .bat/.cmd thing does not appear hold true.

you are correct, it does not appear hold true in this case, but the code does reflect what is documented.
https://github.com/php/php-src/blob/PHP-8.3.11/win32/ioutil.c#L924-L940

My understanding was, and please correct me If i’m wrong, even if we change the file extension, on windows, if the file’s internal format is NOT recognized as executable, is_executable() will return FALSE (except for file paths with *.bat and *.cmd extension).
Executability is determined by:
Windows returns TRUE:

If the given file path exists and has a *.exe or *.com extension, with the PE format and internal structure that is recognized as executable usingGetBinaryTypeW.

or

If the given file path exists and has a *.bat or *.cmd extension

Unix-like Systems returns TRUE:

If the given file path exists and the file has the executable bit set.

I would not say outdated but there might be an undocumented behavior/s when we set the file type and permissions or when checking executable permission or on files with empty DACLs.
(empty DACL: no permissions explicitly granted or denied to anyone, effectively making the file inaccessible to all users, including the file's owner.)

P.S. Thanks for being patient and indulging my curiosity.

authors: asgrim ghostwriter

repo: php/pie


text:
🛑 NatAndruStudy is down

In 0e3cf0c, NatAndruStudy (https://natandrustudy.com) was down:

HTTP code: 523
Response time: 4474 ms

Resolved: NatAndruStudy is back up in 47fba51 after 29 minutes.

source: gharchive/issue

license: MIT

license_type: permissive

license_source: github-api


text:
🛑 FreeDMR IT Hotspots is down

In 646560e, FreeDMR IT Hotspots (https://hotspot.freedmr.it) was down:

HTTP code: 0
Response time: 0 ms

Resolved: FreeDMR IT Hotspots is back up in a0a70af.

repo: picchiosat/HBLink-Uptime


text:
Xcode 14 build error: Stored properties cannot be marked potentially unavailable with '@available'

[x] I have read the Get Started - Installation section
[x] I have read and done the Get Started - Setup Android section
[x] I have read and done the Get Started - Setup iOS section
[x] I have already searched for the same problem

Environment

Technology
Version

Flutter version
3.0.1

Plugin version
5.4.3+7

Android version
n/a

iOS version
16.0 DB1

Xcode version
14 B1

Device information:
Description
When attempting to compile with the new Xcode beta, the following error prevents us from completin.g the build
Expected behavior:
No error
Current behavior:
Throws build error: Stored properties cannot be marked potentially unavailable with '@available'
Steps to reproduce

Run flutter run on any project that depends on flutter_inappwebview

Images

After doing some experimentation, I believe the most straightforward approach would be to wrap the class around another class that will instantiate two different versions of the UserScript class, one specifically meant for iOS 14+ and the other for versions less than iOS 14.
This is because we need the ' @available(iOS 14.0, *)' header above the entire class in order to utilize WKContentWorld in this new build process

@pichillilorenzo is there any work around until the issue get fixed?

Code Eagle's open PR resolves this issue.

@mikhael28 Can you share PR link?

also exists on the Xcode 14.0 stable version

Exists in XCode 14.0 stable. My current fix is:
Update version in Podfile
platform :ios, '14.0'
Reset pods
cd ios && rm -rf Pods/ Podfile.lock && pod install --repo-update

I've simply fixed it by updating the platform to iOS 14 in Podfile.
https://stackoverflow.com/a/73699790/9779791

@mirkancal but this means that you only support iOS 14 and higher
I used another git repo wich already has the fix included as workaround
flutter_inappwebview:      git: https://github.com/CodeEagle/flutter_inappwebview

@riegersan yes. 7 years old iPhone 6s has iOS 14. I'm okay with it.

I fix update target 14 in file ios/Podfile
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0'

@blue492 it seems like the package is asking higher iOS target.
What's your target? It's in podfile, beginning of the file, in the line:
Probably commented out or less than 11.
platform :ios, 'X.0'
I'm also manually increasing with Podfile script.
    if Gem::Version.new('11.0') > Gem::Version.new(config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'])
       config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
     end

Released version 5.4.3+8 with pull request merged!

After updating Xcode to 14 version, I get this error and fixed it by changing in Podfile platform:ios to 14

open folder ios
open Podfile
in Podfile uncomment line number 2 and change "platform :ios, '14.0'"

I was getting the same error, and i had to update @stripe/stripe-react-native:

then i updated cocoapods with:
pod update
and change the platform :ios to '13.0'

@mirkancal but this means that you only support iOS 14 and higher
I used another git repo wich already has the fix included as workaround
flutter_inappwebview:   git: https://github.com/CodeEagle/flutter_inappwebview

this repo  not exits.

this was helpfull. Thanks:)


text:
Trying to get in touch with you regarding a security issue

Hi there,
I couldn't find a SECURITY.md in your repository and so am not sure how to best contact you privately to disclose the security issue.
Can you add a SECURITY.md file with your e-mail to your repository, so that I know who to contact? GitHub suggests that a security policy is the best way to make sure security issues are responsibly disclosed.
Once you've done that, please let me know so I can ping you the info.
Thanks! (cc @JamieSlome)

Done https://github.com/picocms/Pico/commit/d0f32c0a2b0ac841b0956d599ab7303c81e5fbc4
You can reach me via picocms.org@daniel-rudolf.de

Moved to #591

authors: PhrozenByte huntr-helper

repo: picocms/Pico

license: mit

license_source: bigquery


text:
Updated french translation

Based on the last English file, here is a french updated translation :)

Thank you! 🎆

source: gharchive/pull-request

authors: TechnoGreg vktr

repo: picotorrent/picotorrent


text:
Can't find Nginx at Localhost

Awesome repository, thanks for cataloging WordPress Multisite docker config!
I'm getting no response at localhost:8080 after bringing docker-compose up. All services are running. I have no custom settings or environment variables.
Any ideas?

Hi sorry for only reading this now. I'll be updating this weekend to address that issue.
The reason it wasn't working is because I was using wordpress.local (added to /etc/hosts).
Stay tuned

authors: offeringofpie robbyemmert

repo: pie-inc/docker-wordpress-multisite


text:
Support Simple Boxplots

If I only have x (group) and y(value) data, stat_boxplot does not work:
g=gramm('x',randi([1 2],50,1),'y',rand(50,1));
g.stat_boxplot();
g.draw

It should still generate a simple boxplot in this case, but the figure is blank.

I spent too much time testing box plots with different colors and didn't check if it worked when there was none... fixed now (as well as incorrect whisker length) !

authors: iandol piermorel

repo: piermorel/gramm


text:
Can we make Random overrideable?

We built against 0.9.3 and added our own implementation of "random" that is different.  We'd like to keep it. If it were overridable that would be ideal.

FYI: You did jump a major version, so I totally understand if you are wanting to leave it alone. It just requires us to do upgrade work for our save files.

I don't know if I really understand your question...but why don't you initialize JaceOptions with "DefaultFunctions" = false ?
The only trade-off it is if you use another default function you will need to register it too.

Yeah we want all of the default functions. But we had made our own "random" implementation on 0.9.3 (because one didn't exist), and our implementation is different.  So, there is no way for us to use our random, but keep the rest of the default functions.
It's fine, we decided to work around it by renaming ours, and converting existing random calls to use our custom method name.

authors: TyrenDe mrxrsd

repo: pieterderycke/Jace


text:
Override operators

Hi there, found this project by looking for alternative to NCalc.  Seems to work for me, but i am finding a very high memory issue with it and i see that performance on this project seems very good according to the readme and wiki pages.
One thing i need to know if that is it possible to override the operators?  I ask this because if i have + for example, i want to check first if one of the values is NULL, and if so return NULL.

Any news on this please?  Really want to change from NCalc and this looks good

Been a year and no answer? guess this project is not maintained?


text:
Support custom env variables in HTML

/cc @silverwind from https://github.com/pikapkg/snowpack/discussions/892

CRA support environment variables in HTML but it seems this feature is not yet implemented in Snowpack. For example:

<html lang="en" data-build-time="%SNOWPACK_BUILD_TIME%">
  <head>
    <title>%SNOWPACK_APP_NAME%</title>
  </head>
</html>

Compatibility with Create React App is a goal of the project, for easy migration of existing apps.

/cc @gr2m who wanted to take a look at this!

Thanks @FredKSchott looking at it now

repo: pikapkg/snowpack


text:
Qustion: systemjs

What difference between @pika/web and systemjs? Does @pika/web support IE 11?

@pika/web installs your ESM dependencies into single JS files.
SystemJS is a loader for ESM.
@pika/web is built for ESM, so IE 11 is not supported. (I should make this clear in the README)

authors: FredKSchott sandiiarov

repo: pikapkg/web


text:
No machine.h

我尝试编译一个小于32k的固件 使用的是1.35版本，裸内核时可以运行，实现串口交互，在添加上device，编译时缺少machine.h
requestment.txt 如下
pikascript-core==v1.3.5.1
PikaStdLib==v1.3.5.1
PikaStdDevice==v1.3.0
STM32G0==v1.3.1
还需要其他配置，或者跟换版本？

32k还得g0的时候外设驱动不现实
32k就是内核加标准库
缺少machine的解决方法是在调用是用 STM32G0 替换machine

authors: ARIYAWOW pikasTech

repo: pikasTech/pikascript


text:
🛑 Blog URL is down

In 2999d96, Blog URL (http://blog.pik.farm) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Blog URL is back up in 2e10590 after 12 minutes.

repo: pikfarm/PikfarmStatus


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

In bd0391d, 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 af3d059 after 10 minutes.


text:
🛑 Newsletter URL is down

In 9b2d6d0, Newsletter URL (https://news.pik.farm/sign-up) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Newsletter URL is back up in f031293 after 52 minutes.


text:
🛑 Stripe Test Endpoint URL is down

In be9bada, Stripe Test Endpoint URL ($STRIPETESTAPI) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Stripe Test Endpoint URL is back up in 9f55b5d after 25 minutes.


text:
Fixed error message returned by regex on field and index names

Overview
This PR fixes the error message regex returns on field and index names with leading digits.
Fixes #1972
Pull request checklist

[ ] I have read the contributing guide.
[ ] I have agreed to the Contributor License Agreement.
[ ] I have updated the documentation.
[ ] I have resolved any merge conflicts.
[ ] I have included tests that cover my changes.
[ ] All new and existing tests pass.
[ ] Make sure PR title conforms to convention in CHANGELOG.md.
[ ] Add appropriate changelog label to PR (if applicable).

Code review checklist
This is the checklist that the reviewer will follow while reviewing your pull request. You do not need to do anything with this checklist, but be aware of what the reviewer will be looking for.

[ ] Ensure that any changes to external docs have been included in this pull request.
[ ] If the changes require that minor/major versions need to be updated, tag the PR appropriately.
[ ] Ensure the new code is properly commented and follows Idiomatic Go.
[ ] Check that tests have been written and that they cover the new functionality.
[ ] Run tests and ensure they pass.
[ ] Build and run the code, performing any applicable integration testing.
[ ] Make sure PR title conforms to convention in CHANGELOG.md.
[ ] Make sure PR is tagged with appropriate changelog label.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Shaquille Wyan Que seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant hackskills

repo: pilosa/pilosa


text:
Fix missing URL for Evernote extension

I've tested without _Signature.plist. It worked as I expect. :)

Well caught, many thanks. I've updated the signed extension on the website too.

authors: gumpcha invariant

repo: pilotmoon/PopClip-Extensions


text:
Reduce Backlight when screen black

Monitor blacks out the screen when the light is low, but it doesn't do anything to the backlight, limiting its functionality.
This change sets the backlight to zero, and restores it back to 12 when the screen is in use
Related to https://github.com/pimoroni/grow-python/issues/16 and https://github.com/pimoroni/grow-python/issues/15
Note that this doesn't mean the display is unpowered, but hopefully it helps

Based on set_backlight in: https://github.com/pimoroni/st7735-python/blob/master/library/ST7735/init.py#L201

So it turns out the first batch of Pi grow hats had a diode soldered on back to front and were sold at a discount but now the sale is over some of them are still being sold without the warning.
I've looked up and confirmed on pinout.xyz that it's pin 12, and tested this directly with both wiringpi's gpio tool and with python directly, nothing turns off the backlight.
I suspect this PR does what's needed, perhaps a PR to the https://github.com/pimoroni/st7735-python repo to add sleep and power off methods would also help but it wouldn't impact the backlight sadly

After receiving a new grow hat with the diode fixed I tested the code and noticed I needed to set the backlight before rendering to the screen or it wouldn't display right, so I've redone my change and force pushed so it's in one nice commit.
I'm pretty happy with the result:
https://github.com/pimoroni/grow-python/assets/58855/701feb05-872f-44a4-b8d3-dc03309a7aed

Just merged and released ST7735 v0.0.5, which this library can now target!

@Gadgetoid this should work even before that, but are you suggesting I switch this over to the new sleep wake methods? Other than changing the code are there any other files to adjust?
I can program but I'm not super familiar with how Python dependencies/etc work, most of my personal experience is with things like composer and npm lock files with the odd dabble with ruby bundlers. If it's just switching set_backlight(GPIO.LOW) to .sleep() then that's easy enough

Ah it's a case of changing the st7735 line here:
https://github.com/pimoroni/grow-python/blob/3fff6ffea2b1e9a01735322e7e07bf49ee13ebe2/library/setup.cfg#L31-L36
To
st7735>=0.0.5

So when Grow is installed, it'll try to pull in v0.0.5 or greater ensuring the new things are available.

Thank you, I need to get this released :grimacing:

authors: Gadgetoid tomjn

repo: pimoroni/grow-python


text:
Does not search against tracked files in git repo unless searching from git root directory

Unless you search from the root directory of the git repo, it only searches 3 levels down instead of searching against all tracked files.

Thanks for reporting,
I just fixed a bug that prevent qfc from working as expected when searching from a git subdir. I think this is related to the issue you're seeing.

authors: barapa pindexis

repo: pindexis/qfc


text:
cannot import client

Is this a new bug?

[X] I believe this is a new bug
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
I have pinecone installed, (no errors or issues)
pip3 install pinecone-client
but following the readme here:
from pinecone import Client, Vector
ImportError: cannot import name 'Client' from 'pinecone' (/home/jupyter/.local/lib/python3.9/site-packages/pinecone/init.py)
i cannot find any reason for this error except that "client" doesn't exist.
Expected Behavior
i should be able to import Client
Steps To Reproduce
from pinecone import Client, Vector
Relevant log output
No response
Environment
Python 3.9.16
Version: 2.2.2

Additional Context
No response

Hi @studentdave
Note that correct install for this client is:
pip3 install pinecone-client==3.0.0rc2
Both clients are directing at the same Pypi project, with this being an experimental version (though much more performant)

authors: miararoy studentdave

repo: pinecone-io/pinecone-client


text:
parser: Add truncate all support

What problem does this PR solve?
add truncate all partition support
What is changed and how it works?
remove yacc warning
Check List
Tests

Unit test

/run-all-tests

/lgtm

/lgtm

/merge

authors: AndrewDi bb7133 kennytm xhebox

repo: pingcap/parser


text:
ast: add create role ast structure

What problem does this PR solve?
add CREATE ROLE support by using CreateUserStmt.
What is changed and how it works?
add boolean variable IsCreateRole to distinct CREATE ROLE with CREATE USER.
Check List
Tests

Unit test

Code changes

Has exported variable/fields change

Side effects
Related changes

Is there a TiDB PR? @imtbkcat

@tiancaiamao yes, here is : https://github.com/pingcap/tidb/pull/9461

LGTM

authors: imtbkcat tiancaiamao


text:
schedulers: fix hot region scheduler

Signed-off-by: lhy1024 admin@liudos.us

What problem does this PR solve?
Expectation filter store did not take effect

Check List

Tests

Unit test

Release note

No release note

LGTM

/run-all-tests

/run-all-tests

/merge

LGTM

/merge

authors: disksing lhy1024 rleungx sunzhuohang

repo: pingcap/pd


text:
histogram: remove Rc in LocalHistogram

We need LocalHistgram impl Send.remove the unnecessary Rc wrap.

LGTM
PTAL @overvenus

authors: nolouch siddontang

repo: pingcap/rust-prometheus


text:
FAP: failed to get deltamerge

Bug Report
Please answer these questions before submitting your issue. Thanks!
[2023/11/21 14:40:05.110 +00:00] [ERROR] [Exception.cpp:90] ["Failed when try to restore from checkpoint region_id=7177 new_peer_id=6307568 Can't get storage engine keyspace_id=4294967295 table_id=173: Code: 49, e.displayText() = DB::Exception: Can't get storage engine keyspace_id=4294967295 table_id=173, e.what() = DB::Exception, Stack trace:\n\n\n  0x56382240f0a3\tStackTrace::StackTrace() [tiflash+34316451]\n                \tdbms/src/Common/StackTrace.cpp:23\n  0x56382933c573\tDB::Exception::Exception<unsigned int&, long&>(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int&, long&) [tiflash+150893939]\n                \tdbms/src/Common/Exception.h:46\n  0x56382933a1bd\tDB::FastAddPeerImplTransform(DB::TMTContext&, unsigned long, unsigned long, std::__1::tuple<std::__1::shared_ptr<DB::CheckpointInfo>, std::__1::shared_ptr<DB::Region>, raft_serverpb::RaftApplyState, raft_serverpb::RegionLocalState>&&) [tiflash+150884797]\n                \tdbms/src/Storages/KVStore/MultiRaft/Disagg/FastAddPeer.cpp:291\n  0x56382933a504\tDB::FastAddPeerImpl(DB::TMTContext&, DB::TiFlashRaftProxyHelper*, unsigned long, unsigned long) [tiflash+150885636]\n                \tdbms/src/Storages/KVStore/MultiRaft/Disagg/FastAddPeer.cpp:356\n  0x56382933c2d1\tstd::__1::__function::__func<FastAddPeer::$_19, std::__1::allocator<FastAddPeer::$_19>, DB::FastAddPeerRes ()>::operator()() [tiflash+150893265]\n                \tdbms/src/Storages/KVStore/MultiRaft/Disagg/FastAddPeer.cpp:449\n  0x56382933dfa8\tstd::__1::__packaged_task_func<std::__1::function<DB::FastAddPeerRes ()>, std::__1::allocator<std::__1::function<DB::FastAddPeerRes ()>>, DB::FastAddPeerRes ()>::operator()() [tiflash+150900648]\n                \t/usr/local/bin/../include/c++/v1/__functional/function.h:512\n  0x56382933e355\tstd::__1::packaged_task<DB::FastAddPeerRes ()>::operator()() [tiflash+150901589]\n                \t/usr/local/bin/../include/c++/v1/future:1876\n  0x5638224bab22\tDB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false>>::worker(std::__1::__list_iterator<DB::ThreadFromGlobalPoolImpl<false>, void*>) [tiflash+35019554]\n                \t/usr/local/bin/../include/c++/v1/__functional/function.h:512\n  0x5638224bdc33\tstd::__1::__function::__func<DB::ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<bool DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false>>::scheduleImpl<bool>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::'lambda0'()>(bool&&)::'lambda'(), std::__1::allocator<DB::ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<bool DB::ThreadPoolImpl<DB::ThreadFromGlobalPoolImpl<false>>::scheduleImpl<bool>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::'lambda0'()>(bool&&)::'lambda'()>, void ()>::operator()() [tiflash+35032115]\n                \tdbms/src/Common/UniThreadPool.cpp:160\n  0x5638224b96f2\tDB::ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) [tiflash+35014386]\n                \t/usr/local/bin/../include/c++/v1/__functional/function.h:512\n  0x5638224bbb75\tvoid* std::__1::__thread_proxy[abi:v15007]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void DB::ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::'lambda0'()>>(void*) [tiflash+35023733]\n                \tdbms/src/Common/UniThreadPool.cpp:160\n  0x7fd4a28a1609\tstart_thread [libpthread.so.0+34313]\n                \t/build/glibc-BHL3KM/glibc-2.31/nptl/pthread_create.c:477\n  0x7fd4a26e6133\tclone [libc.so.6+1175859]\n                \t/build/glibc-BHL3KM/glibc-2.31/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95"] [source=FastAddPeerImpl] [thread_id=45]

1. Minimal reproduce step (Required)

2. What did you expect to see? (Required)
3. What did you see instead (Required)
4. What is your TiFlash version? (Required)

This issue is opened before the 2-phase FAP is implemented. Since the whole code base is already changed, so we close this issue.

repo: pingcap/tiflash


text:
Update proxy for support of UniPS and FAP on Proxy's part

Signed-off-by: 1 <1>
What problem does this PR solve?
Issue Number: close #xxx
Problem Summary:
What is changed and how it works?
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/run-integration-test

/run-integration-test


text:
check-task can't handle special character in identifier

What did you do?
https://github.com/pingcap/tiflow/blob/066e082998027f72a450a928ba6a0e7fd2cb9f68/dm/pkg/utils/db.go#L430-L432
forget to quote it.
What did you expect to see?
No response
What did you see instead?
No response
Versions of the cluster
v6.1.0
current status of DM cluster (execute query-status <task-name> in dmctl)
(paste current status of DM cluster here)

this bug also affects OpenAPI

repo: pingcap/tiflow


text:
after TiDB introduce concurrent DDL, creating mysql database is not written to history DDL

What did you do?
MySQL [(none)]> admin show ddl jobs 1000;

What did you expect to see?
MySQL [(none)]> admin show ddl jobs 1000;
+--------+---------+----------------------------------+---------------+--------------+-----------+----------+-----------+---------------------+---------------------+---------------------+--------+
| JOB_ID | DB_NAME | TABLE_NAME                       | JOB_TYPE      | SCHEMA_STATE | SCHEMA_ID | TABLE_ID | ROW_COUNT | CREATE_TIME         | START_TIME          | END_TIME            | STATE  |
+--------+---------+----------------------------------+---------------+--------------+-----------+----------+-----------+---------------------+---------------------+---------------------+--------+
...
|      6 | mysql   | user                             | create table  | public       |         3 |        5 |         0 | 2022-07-28 15:20:50 | 2022-07-28 15:20:50 | 2022-07-28 15:20:50 | synced |
|      4 | mysql   |                                  | create schema | public       |         3 |        0 |         0 | 2022-07-28 15:20:50 | 2022-07-28 15:20:50 | 2022-07-28 15:20:50 | synced |
|      2 | test    |                                  | create schema | public       |         1 |        0 |         0 | 2022-07-28 15:20:50 | 2022-07-28 15:20:50 | 2022-07-28 15:20:50 | synced |
+--------+---------+----------------------------------+---------------+--------------+-----------+----------+-----------+---------------------+---------------------+---------------------+--------+
34 rows in set (0.014 sec)

What did you see instead?
MySQL [(none)]> admin show ddl jobs 1000;
+--------+---------+----------------------------------+---------------+--------------+-----------+----------+-----------+---------------------+---------------------+---------------------+--------+
| JOB_ID | DB_NAME | TABLE_NAME                       | JOB_TYPE      | SCHEMA_STATE | SCHEMA_ID | TABLE_ID | ROW_COUNT | CREATE_TIME         | START_TIME          | END_TIME            | STATE  |
+--------+---------+----------------------------------+---------------+--------------+-----------+----------+-----------+---------------------+---------------------+---------------------+--------+
...
|      5 | mysql   | user                             | create table  | public       |         1 |        4 |         0 | 2022-07-28 15:18:18 | 2022-07-28 15:18:18 | 2022-07-28 15:18:18 | synced |
|      3 | test    |                                  | create schema | public       |         2 |        0 |         0 | 2022-07-28 15:18:18 | 2022-07-28 15:18:18 | 2022-07-28 15:18:18 | synced |
+--------+---------+----------------------------------+---------------+--------------+-----------+----------+-----------+---------------------+---------------------+---------------------+--------+
33 rows in set (0.018 sec)

So CDC's logic about history DDL is not compatible.
Versions of the cluster
Release Version: v6.2.0-alpha-453-g2a9350923
Edition: Community
Git Commit Hash: 2a935092309bb631a5453950f4e5a3f5e0d729a1
Git Branch: HEAD
UTC Build Time: 2022-07-21 07:08:35
GoVersion: go1.18.3
Race Enabled: false
TiKV Min Version: 6.2.0-alpha
Check Table Before Drop: false
Store: unistore

I'm not sure about CDC's execution path, will it really create an empty Snapshot rather than create it from meta? I choose major severity and let other developer decide it.
cc @liuzix @hi-rustin

/label affects-6.2


text:
puller(ticdc):  fix resolvedTs get stuck when region split and merge (hotfix)

…(#10488) (#10493)
ref pingcap/tiflow#10157

What problem does this PR solve?

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

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

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
Please refer to [Release Notes Language Style Guide](https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/release-notes-style-guide.html) to write a quality release note.

If you don't think this PR needs a release note then fill it with `None`.

/retest

/retest-required

/retest-required

/retest-required

/retest-required


text:
APIV2HelpersImpl(ticdc): remove the impossible condition in APIV2HelpersImpl.verifyCreateChangefeedConfig()

What problem does this PR solve?

Issue Number: close #11463
What is changed and how it works?
Removed the impossible condition in APIV2HelpersImpl.verifyCreateChangefeedConfig().
Check List
Tests

Unit test

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

/retest

/retest


text:
(WIP)upstream(ticdc): refine upstream manager

What problem does this PR solve?

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

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

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
Please refer to [Release Notes Language Style Guide](https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/release-notes-style-guide.html) to write a quality release note.

If you don't think this PR needs a release note then fill it with `None`.

/run-integration-tests

/run-integration-tests

/run-integration-tests

/run-integration-tests


text:
MOD: move config out of dir workflows

What problem does this PR solve?
Github would treat config.yml as a workflow and try to run it, which causes a notification Some jobs were not successful

/cc shiyuhang0

/cc birdstorm

/run-all-tests

/run-all-tests

LGTM

/merge

repo: pingcap/tispark


text:
Repair bug: Click more button redirect to 404 page when page number > 1

Repair bug: Click more button redirect to 404 page when page number > 1

Thanks!

the last page

我觉得可能是你的 markdown 语法问题

我刚才看了看没啥问题，但是有一页很奇怪，变成这样了。

突然发现的确有点markdown grammar errors

感觉太严格了～

不是语法错误的问题。刚才我把你的markdown文章

React 组件的生命周期

放进去还是出现乱码

已经解决，～本地环境的问题。

authors: edagarli leonewang pinggod

repo: pinggod/hexo-theme-apollo


text:
how to pass keycloak roles to upstream

Hi,
It is a great module. I managed to configure it with keycloak and our upstream app.
I can access profile into the the token upstream which is great.
I am wondering what do I need to do to be able to send the list of roles upstrewam?
in a heaader such as X-Auth-Roles or something.
if I add  the roles into the token. what do I need to do so that they get passed upstream ?
Thanks a lot!

Claims are passed in headers by default using a configurable header prefix:
https://github.com/pingidentity/mod_auth_openidc/blob/master/auth_openidc.conf#L562
How claims are passed is configurable as well:
https://github.com/pingidentity/mod_auth_openidc/blob/master/auth_openidc.conf#L590
Please ask these questions on the e-mail list mod_auth_openidc@googlegroups.com as indicated in the README.md instead of creating an Issue (unless there is an "issue"...).

authors: istvano zandbelt


text:
New resource: pingone_authorize_application_role

Change Description

New resource: pingone_authorize_application_role

Required SDK Upgrades

github.com/patrickcping/pingone-go-sdk-v2/authorize v0.5.0

Testing Shell Command

TF_ACC=1 go test -v -timeout 3000s -run ^TestAccApplicationRole_ github.com/pingidentity/terraform-provider-pingone/internal/service/authorize

Testing Results

Expand Results
=== RUN   TestAccApplicationRole_RemovalDrift
=== PAUSE TestAccApplicationRole_RemovalDrift
=== RUN   TestAccApplicationRole_NewEnv
=== PAUSE TestAccApplicationRole_NewEnv
=== RUN   TestAccApplicationRole_Full
=== PAUSE TestAccApplicationRole_Full
=== RUN   TestAccApplicationRole_BadParameters
=== PAUSE TestAccApplicationRole_BadParameters
=== CONT  TestAccApplicationRole_RemovalDrift
=== CONT  TestAccApplicationRole_NewEnv
=== CONT  TestAccApplicationRole_Full
=== CONT  TestAccApplicationRole_BadParameters
--- PASS: TestAccApplicationRole_BadParameters (7.57s)
--- PASS: TestAccApplicationRole_Full (21.05s)
--- PASS: TestAccApplicationRole_NewEnv (40.61s)
--- PASS: TestAccApplicationRole_RemovalDrift (44.56s)
PASS
ok      github.com/pingidentity/terraform-provider-pingone/internal/service/authorize   46.650s

Check failures to be resolved in #822

repo: pingidentity/terraform-provider-pingone


text:
🛑 jeju43 is down

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

HTTP code: 0
Response time: 0 ms

Resolved: jeju43 is back up in cac13d8.

repo: pinnode/pinnode


text:
+**[LIVE~FREe] 제이크 폴 대 마이크 타이슨 LIVE 2024년 11월 15일

몇 시에 시작하나요? 왜 넷플릭스인가요? 그리고 31세의 나이 차이는 어떨까요? 우리는 (대부분) 답을 알고 있습니다
마이크 타이슨이 금요일 밤 텍사스에서 거의 20년 만에 처음으로 프로 복싱에 복귀합니다. 58세의 전 무패 헤비급 챔피언은 유튜버에서 복서로 전향한 제이크 폴과 넷플릭스를 위해 만든 대결에서 맞붙습니다. 이 대결은 전 세계적으로 약 3억 명의 시청자를 모을 것으로 예상됩니다.
하지만 그게 정말 알아야 할 전부일까요? 규칙, 그들이 받는 돈, 그리고 수표 메모 31세의 나이 차이는 어떨까요? 모든 답을 읽어보세요...
7경기 카드는 댈러스에서 서쪽으로 약 20마일 떨어진 알링턴에 있는 NFL 카우보이의 홈 구장인 80,000석 규모의 AT&T 스타디움에서 열립니다. 메인 이벤트의 정확한 시간을 정하기는 어렵지만, 폴과 타이슨은 동부 표준시 기준 오후 11시(그리니치 표준시 오전 4시) 전에는 입장하지 않을 것입니다.
활발한 라이브 게이트가 예상되지만, 기사 작성 시점에 티켓이 많이 매진되었고 가장 저렴한 티켓은 수수료를 포함해 $67부터 시작합니다. 고액의 롤러는 MVP Owner's Experience라는 것을 구매하여 링 사이드에서 6피트 이내에 있는 두 사람을 고급 가죽 의자에 앉힐 수 있습니다. 또한 다음이 포함됩니다. 처음 두 줄에 8장의 추가 티켓, 타이슨과 폴과의 경기 전 라커룸 방문, 체중 측정 시 무대에 설 수 있는 기회, 두 선수의 사인이 있는 글러브, 일주일 내내 개인 컨시어지와 보안 서비스 등이 모두 $2m(£1.58m)의 왕자급 금액으로 제공됩니다. 그리고 계란 팽창이 나쁘다고 생각하셨죠?
이 방송은 동부 표준시 기준 오후 8시(그리니치 표준시 오전 1시)부터 Netflix에서 전 세계적으로 생중계되며 구독자에게는 추가 비용이 없습니다. 2022년 클래식의 기대작인 재경기에서 케이티 테일러와 아만다 세라노를 포함한 3개의 예선 경기가 TV로 중계되며, 메인 이벤트로 이어집니다. 이 스트리밍에서는 영어, 스페인어, 브라질 포르투갈어, 프랑스어, 독일어로 라이브 해설을 제공합니다.
Netflix 스트리밍에서 제공되지 않는 첫 3개의 언더카드 경기는 동부 표준시 오후 5시 30분(그리니치 표준시 오후 10시 30분)부터 Most Valuable Promotions의 YouTube, Netflix Sports YouTube 및 Tudum에서 무료로 제공됩니다.
TV 시청률이 전반적으로 떨어지는 미디어 환경에서 라이브 스포츠는 계속해서 이러한 추세에 역행하고 있습니다. 이는 구독을 촉진하는 스포츠 프로그램에 대한 수십억 달러 규모의 베팅 중 Amazon(NFL 인수) 및 Apple(메시 인수)과 같은 미디어 및 기술 거인의 관심을 끌었습니다. 폴 대 타이슨은 작년의 The Netflix Cup(F1 드라이버가 출연하는 골프 프로암)과 3월의 The Netflix Slam(라스베이거스에서 열린 Carlos Alcaraz와 Rafael Nadal의 테니스 시범 경기)에 이어 Netflix가 생중계 스포츠에 진출하는 세 번째 경기입니다.
작년 3분기에 Netflix가 전 세계 가입자 2억 8,270만 명을 기록했다는 점, 연령대에 따른 폴과 타이슨의 엄청난 인기, 일반적인 복싱 유료 시청 이벤트에 비해 비용이 엄청나게 낮다는 점(미국에서는 일반적으로 80달러)을 고려하면 수년 만에, 아니 그 어느 때보다 가장 많이 시청되는 경기가 될 것이 확실합니다.
2020년 프로로 전향하고 스포츠를 시작한 이후 유능한 복서로 성장한 27세의 폴은 대부분 퇴색한 MMA 선수와 유튜버를 상대로 11경기 중 10경기에서 승리하며 세계 타이틀을 따겠다는 기발한 목표를 향한 또 다른 발걸음이라고 주장하며 "저는 세계 챔피언이 되는 것을 목표로 삼았고, 이제 역대 최고의 헤비급 챔피언, 지구상에서 가장 나쁜 남자, 역대 가장 위험한 복서에게 제 자신을 증명할 기회가 생겼습니다."라고 말했습니다.
그것이 사실일지 몰라도, 돈이 부족하다는 것은 작은 인센티브가 아닙니다. 폴은 타이슨이 프레임에 들어가기 전에 다가올 경기 중 하나를 스트리밍하기 위해 작년 11월에 넷플릭스와 수익성 있는 계약을 맺었습니다. 관심(과 돈)은 2005년 6월 아일랜드의 여행가 케빈 맥브라이드와의 6라운드 이후 의자에서 기권한 이후로 공식 경기에서 싸운 적이 없는 전 헤비급 챔피언이 추가되면서 더욱 불어났습니다.
복싱 역사상 많은 비슷한 참신한 경기와 달리 폴과 타이슨의 싸움은 전시가 아닙니다. 선수들의 30년 나이 차이와 타이슨의 활동 부족, 건강 문제에 대한 기록에 대한 우려에도 불구하고 텍사스 면허 및 규제부(TDLR)는 전 챔피언의 신체 상태가 공식적으로 승인될 수 있는 기준을 충족한다고 결정했습니다. 즉, 링사이드에 심판이 3명 있고, 공식 승자가 선언되며, 결과는 그들의 기록에 따라 결정됩니다. (또한 스포츠북에서 베팅 조치를 취할 수 있지만, 최소 6개 미국 주에서는 이 이벤트가 베팅을 허용하기에는 너무 비전통적이라고 간주했습니다.)
텍사스 위원회는 몇 가지 예방 조치를 취했습니다. 이 경기는 일반적인 10~12라운드 대신 8라운드로 예정되어 있으며, 관례적인 3라운드 대신 2분 라운드가 예정되어 있습니다. 타이슨과 폴은 또한 펀치의 힘을 줄이기 위해 일반적인 10온스 대신 14온스 글러브를 사용할 것입니다.
TDLR de

💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?
💻Best for PC/MAC 1080p/720p 👇
🥊Link 1.🔴📺👉 Boxing: Jake Paul vs Mike Tyson Streams Live Free?
🥊Link 1.🔴📺👉 Boxing: Mike Tyson vs Jake Paul Streams Live Free?

vcbcv
ALLSPpp

.
.
.
.
.

.
.
.
.
.ALLSPpp

.
.
.
.
.

.
.
.
.
.ALLSPpp

.
.
.
.
.

.
.
.
.
.ALLSPpp

.
.
.
.
.

.
.
.
.
.ALLSPpp

.
.
.
.
.

.
.
.
.
.ALLSPpp

.
.
.
.
.

.
.
.
.
.ALLSPpp

.
.
.
.
.

.
.
.
.
.ALLSPpp

.
.
.
.
.

.
.
.
.
.ALLSPpp

.
.
.
.
.

.
.
.
.
.ALLSPpp

.
.
.
.
.

.
.
.
.
.cvcv

authors: groovapapazo jinahoga mdsohagfokir1234

repo: pinokiocomputer/pinokio


text:
Java application calls Python Flask  application API interface，the trace of python is not found

version
pinpoint: 2.5.3
pinpoint-c-agent:collector-agent:0.4.15
java application and python application have registry to pinpoint , i can see data on pinpoint web
but the trace from java application to python application is not show ;Not forming a complete call chain
testfyytcc call test.ockle's api (test.ockle is python application)

@testfyy
Thanks your report, I will check this problem .

@testfyy
Thanks your report, I will check this problem .
BYW, what's version of pinpointPy ?

same problem, pinpointPy==1.2.0 popint 2.3.3 pinpoint-c-agent 0.5.0

@testfyy
Thanks your report, I will check this problem .
BYW, what's version of pinpointPy ?

same problem, pinpointPy==1.2.0 popint 2.3.3 pinpoint-c-agent 0.5.0

@eeliu

@quicksandznzn
Which library used for http-client in java ?

@quicksandznzn
Which library used for http-client in java ?

I'm not sure about it , our testcase is fine

org.apache.httpcomponents
httpcomponents-client
4.5.5

@quicksandznzn
Which library used for http-client in java ?

I'm not sure about it , our testcase is fine

org.apache.httpcomponents httpcomponents-client 4.5.5

I'm testing it One More

Could you please share the test result , that could help me most .

Could you please share the test result , that could help me most .

It's fine, Could you please add my wechat Quicksand_ZN ,I would like to ask some questions.

authors: eeliu quicksandznzn testfyy

repo: pinpoint-apm/pinpoint


text:
Improve the performance of PINAnimatedImageView

Currently PINAnimatedImageView's performance is bad and it blocks the main-thread a lot especially when it's used on CollectionViewCell / TableViewCell.

@chuganzy Can you give more details? A sample project perhaps? I spent a lot of time getting performance to be acceptable specifically in collections. There are limitations of course, GIFs are not nearly as efficient as videos :(
There are other ways to improve performance (specifically, the animated image code used to decode GIFs to disk or even decoding to video on the fly) but they have their own drawbacks (need tons of disk space and / or take a long time to start).

I've noticed this too, particularly in the case where the gif is already in the cache.
It looks like the expensive part is [PINGIFAnimatedImage initWithAnimatedImageData]? Specifically, creating the gif object on the main thread.

authors: Jarred-Sumner chuganzy garrettmoon

repo: pinterest/PINRemoteImage


text:
TypeError: load() takes exactly 1 argument (2 given)

Hello, I set WORKSPACE and pod.workspace according to the tutorial
After I execute:
bazel run @rules_pods//:update_pods -- --src_root $PWD

PIC:

log:
[source-only][~/Documents/bazel/examples/PodToBUILD-master/aa]$ sudo bazel run @rules_pods//:update_pods -- --src_root $PWD                   rvm:
Password:
Starting local Bazel server and connecting to it...
DEBUG: Rule 'rules_pods' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "b523e1c567dce08f6afcde607fb9f62e1c33074891b1fcc1ee647aa2cc2f7e26"
DEBUG: Repository rules_pods instantiated at:
  /Users/mac/Documents/bazel/examples/PodToBUILD-master/aa/WORKSPACE:3:13: in <toplevel>
Repository rule http_archive defined at:
  /private/var/tmp/_bazel_root/65baa7e1beeb8bf9ba32b64053619473/external/bazel_tools/tools/build_defs/repo/http.bzl:353:31: in <toplevel>
INFO: Analyzed target @rules_pods//:update_pods (42 packages loaded, 272 targets configured).
INFO: Found 1 target...
Target @rules_pods//bin:update_pods up-to-date:
  bazel-bin/external/rules_pods/bin/update_pods
INFO: Elapsed time: 30.721s, Critical Path: 0.05s
INFO: 4 processes: 4 internal.
INFO: Build completed successfully, 4 total actions
INFO: Build completed successfully, 4 total actions
Updating pods in /Users/mac/Documents/bazel/examples/PodToBUILD-master/aa
Building PodToBUILD dependencies...
running: make release
skipping build..

Traceback (most recent call last):
  File "/private/var/tmp/_bazel_root/65baa7e1beeb8bf9ba32b64053619473/execroot/__main__/bazel-out/darwin-fastbuild/bin/external/rules_pods/bin/update_pods", line 528, in <module>
    main()
  File "/private/var/tmp/_bazel_root/65baa7e1beeb8bf9ba32b64053619473/execroot/__main__/bazel-out/darwin-fastbuild/bin/external/rules_pods/bin/update_pods", line 523, in main
    load("Pods.WORKSPACE")
  File "/private/var/tmp/_bazel_root/65baa7e1beeb8bf9ba32b64053619473/execroot/__main__/bazel-out/darwin-fastbuild/bin/external/rules_pods/bin/update_pods", line 492, in load
    exec(workspace_str, d, d)
  File "<string>", line 1, in <module>
TypeError: load() takes exactly 1 argument (2 given)

ERROR: TypeError: load() takes exactly 1 argument (2 given)

It's my fault。。。。

repo: pinterest/PodToBUILD


text:
ButtonToggle: New Component

Summary
What changed?
New Component - ButtonToggle was added.
Why?
ButtonToggle is only used for buttons that have a selected/unselected state. They should not be used as directional/navigation elements.
Links

Jira
TDD
Figma

Checklist

[ Yes ] Added unit and Flow Tests
[ Yes ] Added documentation + accessibility tests
[ Yes ] Verified accessibility: keyboard & screen reader interaction
[ Yes ] Checked dark mode, responsiveness, and right-to-left support
[ Yes ] Checked stakeholder feedback (e.g. Gestalt designers, relevant feature teams)

@eniomoura Can we get tests to pass?

Can we add a Controlled component variant? Exactly like https://gestalt.pinterest.systems/web/datefield#Controlled-component

authors: AlbertCarreras eniomoura

repo: pinterest/gestalt


text:
Improve development setup

Some improvements to the development workflow:

Add coverage, flake8 and tox in explicit dev-requirements.txt file;
Fix flake8 and coverage commands;
Bump flask to 0.11.1 for a better debug server;
Updates to the corresponding documentation.

Looks good to me

authors: nichochar samueldg

repo: pinterest/snappass


text:
Fix the test incorrectly failing

Fixes #49
Details are explained in the issue #49

Codecov Report

Merging #50 into master will decrease coverage by 0.16%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master     #50      +/-   ##
=========================================
- Coverage   75.87%   75.7%   -0.17%
=========================================
  Files          20      20
  Lines        1202    1202
=========================================
- Hits          912     910       -2
- Misses        233     235       +2
  Partials       57      57

Impacted Files
Coverage Δ

agent.go
79.33% <0%> (-0.56%)
:arrow_down:

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 14ec800...ec4ab92. Read the comment docs.

Thanks for fixing this! Now I remembered I looked into this in the past: https://gophers.slack.com/archives/CAK2124AG/p1556800113113800

authors: codecov-io enobufs hugoArregui

repo: pion/ice


text:
Performance regression with context introduction

Your environment.

Version: latest
Browser: n/a
Other Information -
#1560
https://github.com/pion/transport/pull/116

What did you do?

Run below bench on commit before and after ctx:
func Benchmark_TrackLocalStaticRTP_SendOnly_WriteRTP(b *testing.B) {
	offer, answer, err := newPair()
	assert.NoError(b, err)

	track, err := NewTrackLocalStaticRTP(RTPCodecCapability{MimeType: "video/vp8"}, "video", "pion")
	assert.NoError(b, err)

	_, err = offer.AddTrack(track)
	assert.NoError(b, err)

	assert.NoError(b, signalPair(offer, answer))
        ctx:=context.Background()

	buffer := make([]byte, 1000)
	for i := 0; i <= b.N; i++ {
		assert.NoError(b, track.WriteRTP(ctx, &rtp.Packet{Payload: buffer}))
	}

	assert.NoError(b, offer.Close())
	assert.NoError(b, answer.Close())
}

The results where:
# no ctx
Benchmark_TrackLocalStaticRTP_SendOnly_WriteRTP-6   	 1000000	      5021 ns/op
# with ctx
Benchmark_TrackLocalStaticRTP_SendOnly_WriteRTP-6   	  158377	      6653 ns/op

The performance loss is in line with the results obtained in https://github.com/pion/transport/pull/116
Solutions
1- Remove the context commit
2- Add two methods: read/write readCtx/writeCtx

@at-wat What do you think is best? I see pro and con for both, so I don't have a clear winner.

Expose SetReadDeadline and SetWriteDeadline allowing TrackLocal and TrackRemote to be cancellable
We can't use Context in the future to pass values into Interceptors or other interesting use cases.

Expose Write/WriteRTP and WriteContext/WriteRTPContext
We make the API more complicated and we have some ambiguity.

Is there any possibility that we are using context in a non-perfomant way? I personally haven't investigated.

Change in https://github.com/pion/transport/pull/116 makes Read behavior strange. (Read returns data even after the deadline is exceeded.)
If we decide to accept this behavior, we can also remove ctx.Done() check at the beginning of ReadContext.

These are my numbers when reverting locally.
# No Context
Benchmark_TrackLocalStaticRTP_SendOnly_WriteRTP-4         322759             12618 ns/op

# Context
Benchmark_TrackLocalStaticRTP_SendOnly_WriteRTP-4         116152              9672 ns/op

@OrlandoCo I believe this is fixed! If you are happy with how everything is performing go ahead and resolve.
If there is anything that still needs done I can take it! Also super interesting to see what further optimizations we can do :)

We can't use Context in the future to pass values into Interceptors

I would argue that context is the wrong way to pass values into interceptors.
Context does a well defined thing: it carries (nested) request-scoped data and implements (nested) request cancellation.  The inefficiency of context is partly due to its power: the ability to nest contexts relies on context propagation, which is essentially a tree walk.
Pion is essentially asynchronous, and does not have a heavy-weigth notion of request.  While some applications may desire to build request-response protocols over Pion, others prefer to remain asynchronous.  Imposing the cost of context on all users of Pion is, to put it mildly, a misunderstanding.

authors: OrlandoCo Sean-Der at-wat jech

repo: pion/webrtc


text:
Prevent invalid usage of Interceptors

Interceptors are being accidentally misused by users.
I have helped multiple users via GitHub and Slack debug
the same root cause with different behaviors. The issue
is that an Interceptor can be re-used between multiple
PeerConnections. Interceptors were designed to only be
single PeerConnection aware, so state is being corrupted.
The re-use looks like this.
m := &webrtc.MediaEngine{}
m.RegisterDefaultCodecs()
webrtc.RegisterDefaultInterceptors(m, i)

api := webrtc.NewAPI(webrtc.WithMediaEngine(m), webrtc.WithInterceptorRegistry(i))

a, _ := api.NewPeerConnection(config)
b, _ := api.NewPeerConnection(config)
c, _ := api.NewPeerConnection(config)

PeerConnection a, b and c all will use the same Interceptors. This will cause
Sender Reports, Receiver Reports, Transport Wide Congestion Control Feedback and NACKs
to be shared between them all.

These are some of the requirements.

pion/webrtc breakage should be avoided, I don't want to cut v4 just for this
We should support interceptors being scoped to one OR many PeerConnections.

We have three possible fixes. If anyone has different ideas I would
love to hear them!
Add Copy() to Interceptors
Adds an extra method to each Interceptor. When we start each PeerConnection
we call copy.
Add Sessions to Interceptors
Add sessionId to each function call in Interceptors. Allows an interceptor to be
multi-session aware.
Return an error from NewPeerConnection on Interceptor re-usage
We can detect that an InterceptorRegistry has been built twice. This allows us to throw
an error and people can refactor their code

@jeremija opened an API for an implementation that added sessions https://github.com/pion/interceptor/pull/38
We also discussed this somewhat in https://github.com/pion/webrtc/issues/1749. I was focused on the wrong part of the issue so wanted to start a new discussion here.

My vote is for Copy()

Keeps Interceptors simple. They don't have to be session aware
If users want to implement a 'Many Session' Interceptor Copy() can return a handle that gets added to the object getting copied.
We don't need to break the API

@at-wat @jeremija @jech @OrlandoCo @billylindeman @adamroach @davidzhao @mengelbart @zyxar
Thoughts/opinions. You all have done work around Interceptors/Media API so would love your input on this.

From the perspective of what makes Pion easier to develop on top of, I definitely support an approach that allows creation of multiple PeerConnections on top of the same interceptor registry without errors.
Among the three approaches described, I agree that Copy() is the most appealing; but I'd like to propose a fourth approach for consideration. Under the described scheme, you're creating prototypical instances of each interceptor that never actually get used. Among object creation strategies, usually you use prototypical instances only when creation is expensive but copying is cheap. For the interceptors we have right now, I don't think that's the case
So I think it would be cleaner if, instead of registering a set of interceptors, we instead register a set of interceptor factories that are invoked when a PeerConnection is created. To be clear, I haven't looked closely at this code, so there might be reasons this isn't ideal; but as a general software design strategy, that's the traditional approach.
But if that's not feasible for some reason, then the prototypical instance approach should work fine.

I think Copy works well in the sense that most users don't have to care that it exists. It could still cause confusion for folks developing interceptors, if they do want/expect some sort of shared state.
Another option is to make this all explicit by introducing a InterceptorFactory that is what the registry would use. This would make things much more explicit vs implicitly copying upon use.

@adamroach @davidzhao 👍 for me with Factory approach! That sounds even better.
I am going to start a PR now and will send it over to you two hopefully in the next day or so. Thanks for the feedback/ideas

Add Sessions to Interceptors
Add sessionId to each function call in Interceptors. Allows an interceptor to be multi-session aware.

My opinion about this: https://github.com/pion/webrtc/issues/1749#issuecomment-876104492

I'm late to the party, but I agree with the factory approach. If we ever want to use a single event loop to process the RTP/RTCP packets of multiple peer connections, that should probably come at a later point, as an upgrade.

Resolved by dce970438344727af9c9965f88d958c55d32e64d

authors: Sean-Der adamroach at-wat davidzhao jeremija


text:
"closePair timed out" & "Unexpected routines" in datachannel test

Your environment.

Version: 7f6c01d5bc8dfcb6f0aaa70d12c02d8049a3fb7b

What did you do?
Ran the tests on CI
What happened?
Unexpected goroutine found in TestDataChannelBufferedAmount/set_after_datachannel_becomes_open test.
    --- FAIL: TestDataChannelBufferedAmount/set_after_datachannel_becomes_open (20.21s)
        datachannel_test.go:21: closePair timed out waiting for done signal
        util.go:38: Unexpected routines:
            goroutine 153 [chan receive]:
            github.com/pion/transport/packetio.(*Buffer).Read(0xc0000cc640, 0xc00047a000, 0x2000, 0x2000, 0xc00025c120, 0xc0000e03f0, 0xc0000e03f0)
            	/home/travis/gopath/pkg/mod/github.com/pion/transport@v0.6.0/packetio/buffer.go:135 +0x99
            github.com/pion/ice.(*Conn).Read(0xc0000a44f8, 0xc00047a000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/transport.go:64 +0x107
            github.com/pion/webrtc/v2/internal/mux.(*Mux).readLoop(0xc0000cda90)
            	/home/travis/build/pion/webrtc/internal/mux/mux.go:105 +0x187
            created by github.com/pion/webrtc/v2/internal/mux.NewMux
            	/home/travis/build/pion/webrtc/internal/mux/mux.go:43 +0x235

            goroutine 151 [semacquire]:
            sync.runtime_SemacquireMutex(0xc0000d70e4, 0x900000000)
            	/home/travis/go/src/runtime/sema.go:71 +0x3d
            sync.(*Mutex).Lock(0xc0000d70e0)
            	/home/travis/go/src/sync/mutex.go:134 +0x149
            sync.(*RWMutex).Lock(0xc0000d70e0)
            	/home/travis/go/src/sync/rwmutex.go:93 +0x4a
            github.com/pion/sctp.(*Association).sendInit(0xc0000d70e0, 0x0, 0x0)
            	/home/travis/gopath/pkg/mod/github.com/pion/sctp@v1.5.0/association.go:282 +0x2a1
            github.com/pion/sctp.(*Association).init(0xc0000d70e0)
            	/home/travis/gopath/pkg/mod/github.com/pion/sctp@v1.5.0/association.go:254 +0x412
            github.com/pion/sctp.Client(0xc9c000, 0xc0000db440, 0xc8bf60, 0xc0002aa060, 0xc00048ae08, 0x490b52, 0xc000088f00)
            	/home/travis/gopath/pkg/mod/github.com/pion/sctp@v1.5.0/association.go:184 +0xad
            github.com/pion/webrtc/v2.(*SCTPTransport).Start(0xc0000e2cb0, 0x0, 0x0, 0x0)
            	/home/travis/build/pion/webrtc/sctptransport.go:92 +0x1bb
            github.com/pion/webrtc/v2.(*PeerConnection).SetRemoteDescription.func2(0xc000000001, 0xc000088f00, 0xc00002986a, 0x10, 0xc00002d598, 0x20, 0xc00003090c, 0x7, 0xc000030914, 0x5f)
            	/home/travis/build/pion/webrtc/peerconnection.go:1027 +0x758
            created by github.com/pion/webrtc/v2.(*PeerConnection).SetRemoteDescription
            	/home/travis/build/pion/webrtc/peerconnection.go:970 +0x169e

            goroutine 155 [chan send]:
            github.com/pion/dtls.(*Conn).handleIncomingPacket(0xc0000db440, 0xc00047c000, 0x3d, 0x2000, 0x0, 0x0)
            	/home/travis/gopath/pkg/mod/github.com/pion/dtls@v1.3.2/conn.go:387 +0x8c6
            github.com/pion/dtls.(*Conn).handleIncoming(0xc0000db440, 0xc00047c000, 0x55, 0x2000, 0x55, 0x0)
            	/home/travis/gopath/pkg/mod/github.com/pion/dtls@v1.3.2/conn.go:314 +0xd9
            github.com/pion/dtls.createConn.func1(0xc0000db440)
            	/home/travis/gopath/pkg/mod/github.com/pion/dtls@v1.3.2/conn.go:146 +0x175
            created by github.com/pion/dtls.createConn
            	/home/travis/gopath/pkg/mod/github.com/pion/dtls@v1.3.2/conn.go:131 +0x922

            goroutine 127 [chan receive]:
            github.com/pion/transport/packetio.(*Buffer).Read(0xc00047e190, 0xc000298000, 0x2000, 0x2000, 0xc000264f20, 0x46d3ec, 0x2000)
            	/home/travis/gopath/pkg/mod/github.com/pion/transport@v0.6.0/packetio/buffer.go:135 +0x99
            github.com/pion/webrtc/v2/internal/mux.(*Endpoint).Read(0xc00003f4b0, 0xc000298000, 0x2000, 0x2000, 0x0, 0xc00003e0a0, 0xc000264f90)
            	/home/travis/build/pion/webrtc/internal/mux/endpoint.go:34 +0x8b
            github.com/pion/srtp.(*session).start.func1(0xc00027a1c0, 0xc0001151b0, 0xc95d40, 0xc00027a1c0)
            	/home/travis/gopath/pkg/mod/github.com/pion/srtp@v1.2.1/session.go:124 +0xe6
            created by github.com/pion/srtp.(*session).start
            	/home/travis/gopath/pkg/mod/github.com/pion/srtp@v1.2.1/session.go:111 +0x334

            goroutine 128 [chan receive]:
            github.com/pion/transport/packetio.(*Buffer).Read(0xc00047e1e0, 0xc00029a000, 0x2000, 0x2000, 0xc000054f20, 0x46d3ec, 0x2000)
            	/home/travis/gopath/pkg/mod/github.com/pion/transport@v0.6.0/packetio/buffer.go:135 +0x99
            github.com/pion/webrtc/v2/internal/mux.(*Endpoint).Read(0xc00003f4c0, 0xc00029a000, 0x2000, 0x2000, 0x0, 0xc00003e840, 0xc000054f90)
            	/home/travis/build/pion/webrtc/internal/mux/endpoint.go:34 +0x8b
            github.com/pion/srtp.(*session).start.func1(0xc00027a230, 0xc000115210, 0xc95d00, 0xc00027a230)
            	/home/travis/gopath/pkg/mod/github.com/pion/srtp@v1.2.1/session.go:124 +0xe6
            created by github.com/pion/srtp.(*session).start
            	/home/travis/gopath/pkg/mod/github.com/pion/srtp@v1.2.1/session.go:111 +0x334

            goroutine 126 [chan receive]:
            github.com/pion/srtp.(*SessionSRTP).AcceptStream(0xc00027a1c0, 0xc000000001, 0x5, 0x0, 0xc0000a6f60)
            	/home/travis/gopath/pkg/mod/github.com/pion/srtp@v1.2.1/session_srtp.go:81 +0x7e
            github.com/pion/webrtc/v2.(*PeerConnection).drainSRTP.func1(0xc000089500)
            	/home/travis/build/pion/webrtc/peerconnection.go:1190 +0x12e
            created by github.com/pion/webrtc/v2.(*PeerConnection).drainSRTP
            	/home/travis/build/pion/webrtc/peerconnection.go:1182 +0x6c

            goroutine 164 [chan send]:
            github.com/pion/sctp.(*Association).handleChunk(0xc0000d70e0, 0xc000275f38, 0xc97e00, 0xc0004b2f00, 0x0, 0x0, 0x0, 0x0, 0x0)
            	/home/travis/gopath/pkg/mod/github.com/pion/sctp@v1.5.0/association.go:1625 +0x721
            github.com/pion/sctp.(*Association).handleInbound(0xc0000d70e0, 0xc0002de000, 0x30, 0x2000, 0x30, 0x0)
            	/home/travis/gopath/pkg/mod/github.com/pion/sctp@v1.5.0/association.go:387 +0x246
            github.com/pion/sctp.(*Association).readLoop(0xc0000d70e0)
            	/home/travis/gopath/pkg/mod/github.com/pion/sctp@v1.5.0/association.go:357 +0x131
            created by github.com/pion/sctp.Client
            	/home/travis/gopath/pkg/mod/github.com/pion/sctp@v1.5.0/association.go:183 +0x9f

            goroutine 142 [IO wait]:
            internal/poll.runtime_pollWait(0x7f46678d7650, 0x72, 0x0)
            	/home/travis/go/src/runtime/netpoll.go:182 +0x56
            internal/poll.(*pollDesc).wait(0xc00021e418, 0x72, 0x2000, 0x2000, 0x0)
            	/home/travis/go/src/internal/poll/fd_poll_runtime.go:87 +0xe5
            internal/poll.(*pollDesc).waitRead(...)
            	/home/travis/go/src/internal/poll/fd_poll_runtime.go:92
            internal/poll.(*FD).ReadFrom(0xc00021e400, 0xc00011c000, 0x2000, 0x2000, 0x0, 0x0, 0x0, 0x0, 0x0)
            	/home/travis/go/src/internal/poll/fd_unix.go:219 +0x232
            net.(*netFD).readFrom(0xc00021e400, 0xc00011c000, 0x2000, 0x2000, 0x42e5ed, 0xc000088600, 0x3, 0x42e350, 0x0)
            	/home/travis/go/src/net/fd_unix.go:208 +0x7a
            net.(*UDPConn).readFrom(0xc0000a40c0, 0xc00011c000, 0x2000, 0x2000, 0xc0004be2e0, 0x0, 0x0, 0x1)
            	/home/travis/go/src/net/udpsock_posix.go:47 +0x8e
            net.(*UDPConn).ReadFrom(0xc0000a40c0, 0xc00011c000, 0x2000, 0x2000, 0x55, 0x0, 0x0, 0x0, 0x0)
            	/home/travis/go/src/net/udpsock.go:121 +0x96
            github.com/pion/ice.(*Candidate).recvLoop(0xc0000ba2c0)
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/candidate.go:138 +0x164
            created by github.com/pion/ice.(*Candidate).start
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/candidate.go:127 +0x172

            goroutine 159 [chan receive]:
            github.com/pion/transport/packetio.(*Buffer).Read(0xc00047e140, 0xc0004b6000, 0x2000, 0x2000, 0x71, 0x487d2c, 0x0)
            	/home/travis/gopath/pkg/mod/github.com/pion/transport@v0.6.0/packetio/buffer.go:135 +0x99
            github.com/pion/webrtc/v2/internal/mux.(*Endpoint).Read(0xc00003f4a0, 0xc0004b6000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
            	/home/travis/build/pion/webrtc/internal/mux/endpoint.go:34 +0x8b
            github.com/pion/dtls.createConn.func1(0xc0000db680)
            	/home/travis/gopath/pkg/mod/github.com/pion/dtls@v1.3.2/conn.go:138 +0xcc
            created by github.com/pion/dtls.createConn
            	/home/travis/gopath/pkg/mod/github.com/pion/dtls@v1.3.2/conn.go:131 +0x922

            goroutine 163 [chan receive]:
            github.com/pion/srtp.(*SessionSRTCP).AcceptStream(0xc00027a310, 0xc000000001, 0x6, 0x0, 0xc0000a7320)
            	/home/travis/gopath/pkg/mod/github.com/pion/srtp@v1.2.1/session_srtcp.go:74 +0x7e
            github.com/pion/webrtc/v2.(*PeerConnection).drainSRTP(0xc000088f00)
            	/home/travis/build/pion/webrtc/peerconnection.go:1218 +0x16b
            created by github.com/pion/webrtc/v2.(*PeerConnection).SetRemoteDescription.func2
            	/home/travis/build/pion/webrtc/peerconnection.go:1024 +0x720

            goroutine 144 [IO wait]:
            internal/poll.runtime_pollWait(0x7f46678d7580, 0x72, 0x0)
            	/home/travis/go/src/runtime/netpoll.go:182 +0x56
            internal/poll.(*pollDesc).wait(0xc00021e798, 0x72, 0x2000, 0x2000, 0x0)
            	/home/travis/go/src/internal/poll/fd_poll_runtime.go:87 +0xe5
            internal/poll.(*pollDesc).waitRead(...)
            	/home/travis/go/src/internal/poll/fd_poll_runtime.go:92
            internal/poll.(*FD).ReadFrom(0xc00021e780, 0xc0004a0000, 0x2000, 0x2000, 0x0, 0x0, 0x0, 0x0, 0x0)
            	/home/travis/go/src/internal/poll/fd_unix.go:219 +0x232
            net.(*netFD).readFrom(0xc00021e780, 0xc0004a0000, 0x2000, 0x2000, 0xc000001d08, 0xc000001db8, 0xc000062e68, 0xc000062dc8, 0x7439c5)
            	/home/travis/go/src/net/fd_unix.go:208 +0x7a
            net.(*UDPConn).readFrom(0xc0000a40f8, 0xc0004a0000, 0x2000, 0x2000, 0xc00025cfc0, 0x7f4667a25008, 0xc000034ae0, 0xc000034c00)
            	/home/travis/go/src/net/udpsock_posix.go:47 +0x8e
            net.(*UDPConn).ReadFrom(0xc0000a40f8, 0xc0004a0000, 0x2000, 0x2000, 0x0, 0x0, 0xc00025ce70, 0x0, 0x0)
            	/home/travis/go/src/net/udpsock.go:121 +0x96
            github.com/pion/ice.(*Candidate).recvLoop(0xc0000ba580)
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/candidate.go:138 +0x164
            created by github.com/pion/ice.(*Candidate).start
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/candidate.go:127 +0x172

            goroutine 129 [chan receive]:
            github.com/pion/srtp.(*SessionSRTP).AcceptStream(0xc00027a2a0, 0xc000000001, 0x6, 0x0, 0x1)
            	/home/travis/gopath/pkg/mod/github.com/pion/srtp@v1.2.1/session_srtp.go:81 +0x7e
            github.com/pion/webrtc/v2.(*PeerConnection).drainSRTP.func1(0xc000088f00)
            	/home/travis/build/pion/webrtc/peerconnection.go:1190 +0x12e
            created by github.com/pion/webrtc/v2.(*PeerConnection).drainSRTP
            	/home/travis/build/pion/webrtc/peerconnection.go:1182 +0x6c

            goroutine 157 [chan receive]:
            github.com/pion/transport/packetio.(*Buffer).Read(0xc0000ccdc0, 0xc0004b4000, 0x2000, 0x2000, 0xc00025c600, 0xc0000e0480, 0xc0000e0480)
            	/home/travis/gopath/pkg/mod/github.com/pion/transport@v0.6.0/packetio/buffer.go:135 +0x99
            github.com/pion/ice.(*Conn).Read(0xc0000a4530, 0xc0004b4000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/transport.go:64 +0x107
            github.com/pion/webrtc/v2/internal/mux.(*Mux).readLoop(0xc00047e0f0)
            	/home/travis/build/pion/webrtc/internal/mux/mux.go:105 +0x187
            created by github.com/pion/webrtc/v2/internal/mux.NewMux
            	/home/travis/build/pion/webrtc/internal/mux/mux.go:43 +0x235

            goroutine 178 [chan receive]:
            github.com/pion/transport/packetio.(*Buffer).Read(0xc0000cdb30, 0xc0002a6000, 0x2000, 0x2000, 0xc000471720, 0x46d3ec, 0x2000)
            	/home/travis/gopath/pkg/mod/github.com/pion/transport@v0.6.0/packetio/buffer.go:135 +0x99
            github.com/pion/webrtc/v2/internal/mux.(*Endpoint).Read(0xc00003f2b0, 0xc0002a6000, 0x2000, 0x2000, 0x0, 0xc8bea0, 0x487ce2)
            	/home/travis/build/pion/webrtc/internal/mux/endpoint.go:34 +0x8b
            github.com/pion/srtp.(*session).start.func1(0xc00027a2a0, 0xc000115280, 0xc95d40, 0xc00027a2a0)
            	/home/travis/gopath/pkg/mod/github.com/pion/srtp@v1.2.1/session.go:124 +0xe6
            created by github.com/pion/srtp.(*session).start
            	/home/travis/gopath/pkg/mod/github.com/pion/srtp@v1.2.1/session.go:111 +0x334

            goroutine 145 [IO wait]:
            internal/poll.runtime_pollWait(0x7f46678d74b0, 0x72, 0x0)
            	/home/travis/go/src/runtime/netpoll.go:182 +0x56
            internal/poll.(*pollDesc).wait(0xc00021e818, 0x72, 0x2000, 0x2000, 0x0)
            	/home/travis/go/src/internal/poll/fd_poll_runtime.go:87 +0xe5
            internal/poll.(*pollDesc).waitRead(...)
            	/home/travis/go/src/internal/poll/fd_poll_runtime.go:92
            internal/poll.(*FD).ReadFrom(0xc00021e800, 0xc0004a4000, 0x2000, 0x2000, 0x0, 0x0, 0x0, 0x0, 0x0)
            	/home/travis/go/src/internal/poll/fd_unix.go:219 +0x232
            net.(*netFD).readFrom(0xc00021e800, 0xc0004a4000, 0x2000, 0x2000, 0x0, 0x203000, 0xc000065e68, 0x483a90, 0xc000065e40)
            	/home/travis/go/src/net/fd_unix.go:208 +0x7a
            net.(*UDPConn).readFrom(0xc0000a4338, 0xc0004a4000, 0x2000, 0x2000, 0xc000020300, 0x7f4667a256d0, 0xc000034ae0, 0xc000034c00)
            	/home/travis/go/src/net/udpsock_posix.go:47 +0x8e
            net.(*UDPConn).ReadFrom(0xc0000a4338, 0xc0004a4000, 0x2000, 0x2000, 0x0, 0x0, 0xc000020240, 0x0, 0x0)
            	/home/travis/go/src/net/udpsock.go:121 +0x96
            github.com/pion/ice.(*Candidate).recvLoop(0xc0000ba630)
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/candidate.go:138 +0x164
            created by github.com/pion/ice.(*Candidate).start
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/candidate.go:127 +0x172

            goroutine 180 [select]:
            github.com/pion/sctp.(*rtxTimer).start.func1(0x40a7700000000000, 0xc0002e0018, 0xc00047f1d0, 0xc0002e20c0)
            	/home/travis/gopath/pkg/mod/github.com/pion/sctp@v1.5.0/rtx_timer.go:150 +0x170
            created by github.com/pion/sctp.(*rtxTimer).start
            	/home/travis/gopath/pkg/mod/github.com/pion/sctp@v1.5.0/rtx_timer.go:143 +0x14c

            goroutine 160 [chan receive]:
            github.com/pion/srtp.(*SessionSRTCP).AcceptStream(0xc00027a230, 0xc000000001, 0x5, 0x0, 0x1)
            	/home/travis/gopath/pkg/mod/github.com/pion/srtp@v1.2.1/session_srtcp.go:74 +0x7e
            github.com/pion/webrtc/v2.(*PeerConnection).drainSRTP(0xc000089500)
            	/home/travis/build/pion/webrtc/peerconnection.go:1218 +0x16b
            created by github.com/pion/webrtc/v2.(*PeerConnection).SetRemoteDescription.func2
            	/home/travis/build/pion/webrtc/peerconnection.go:1024 +0x720

            goroutine 161 [chan receive]:
            github.com/pion/dtls.(*Conn).Read(0xc0000db680, 0xc0002e4000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
            	/home/travis/gopath/pkg/mod/github.com/pion/dtls@v1.3.2/conn.go:181 +0x87
            github.com/pion/sctp.(*Association).readLoop(0xc0000d6fc0)
            	/home/travis/gopath/pkg/mod/github.com/pion/sctp@v1.5.0/association.go:351 +0xde
            created by github.com/pion/sctp.Client
            	/home/travis/gopath/pkg/mod/github.com/pion/sctp@v1.5.0/association.go:183 +0x9f

            goroutine 179 [chan receive]:
            github.com/pion/transport/packetio.(*Buffer).Read(0xc0000cdb80, 0xc0002a4000, 0x2000, 0x2000, 0xc000471f20, 0x46d3ec, 0x2000)
            	/home/travis/gopath/pkg/mod/github.com/pion/transport@v0.6.0/packetio/buffer.go:135 +0x99
            github.com/pion/webrtc/v2/internal/mux.(*Endpoint).Read(0xc00003f2c0, 0xc0002a4000, 0x2000, 0x2000, 0xa50f68, 0xc0000cee60, 0xc0002bd440)
            	/home/travis/build/pion/webrtc/internal/mux/endpoint.go:34 +0x8b
            github.com/pion/srtp.(*session).start.func1(0xc00027a310, 0xc0001152e0, 0xc95d00, 0xc00027a310)
            	/home/travis/gopath/pkg/mod/github.com/pion/srtp@v1.2.1/session.go:124 +0xe6
            created by github.com/pion/srtp.(*session).start
            	/home/travis/gopath/pkg/mod/github.com/pion/srtp@v1.2.1/session.go:111 +0x334

            goroutine 146 [select]:
            github.com/pion/ice.(*Agent).taskLoop(0xc0000d6360)
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/agent.go:468 +0x18a
            created by github.com/pion/ice.NewAgent
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/agent.go:180 +0x9f4

            goroutine 141 [IO wait]:
            internal/poll.runtime_pollWait(0x7f46678d7720, 0x72, 0x0)
            	/home/travis/go/src/runtime/netpoll.go:182 +0x56
            internal/poll.(*pollDesc).wait(0xc00021e398, 0x72, 0x2000, 0x2000, 0x0)
            	/home/travis/go/src/internal/poll/fd_poll_runtime.go:87 +0xe5
            internal/poll.(*pollDesc).waitRead(...)
            	/home/travis/go/src/internal/poll/fd_poll_runtime.go:92
            internal/poll.(*FD).ReadFrom(0xc00021e380, 0xc00011a000, 0x2000, 0x2000, 0x0, 0x0, 0x0, 0x0, 0x0)
            	/home/travis/go/src/internal/poll/fd_unix.go:219 +0x232
            net.(*netFD).readFrom(0xc00021e380, 0xc00011a000, 0x2000, 0x2000, 0x0, 0x203000, 0xc000061e68, 0x483a90, 0xc000061e40)
            	/home/travis/go/src/net/fd_unix.go:208 +0x7a
            net.(*UDPConn).readFrom(0xc0000a40a8, 0xc00011a000, 0x2000, 0x2000, 0xc000477560, 0x7f4667a256d0, 0xc0000348a0, 0xc0000349c0)
            	/home/travis/go/src/net/udpsock_posix.go:47 +0x8e
            net.(*UDPConn).ReadFrom(0xc0000a40a8, 0xc00011a000, 0x2000, 0x2000, 0x0, 0x0, 0xc0004774a0, 0x0, 0x0)
            	/home/travis/go/src/net/udpsock.go:121 +0x96
            github.com/pion/ice.(*Candidate).recvLoop(0xc0000ba210)
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/candidate.go:138 +0x164
            created by github.com/pion/ice.(*Candidate).start
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/candidate.go:127 +0x172

            goroutine 150 [select]:
            github.com/pion/sctp.Client(0xc9c000, 0xc0000db680, 0xc8bf60, 0xc0002aa1c0, 0xc00048ee08, 0x490b52, 0xc000089500)
            	/home/travis/gopath/pkg/mod/github.com/pion/sctp@v1.5.0/association.go:186 +0x1aa
            github.com/pion/webrtc/v2.(*SCTPTransport).Start(0xc0000e2620, 0x0, 0x0, 0x0)
            	/home/travis/build/pion/webrtc/sctptransport.go:92 +0x1bb
            github.com/pion/webrtc/v2.(*PeerConnection).SetRemoteDescription.func2(0xc000000000, 0xc000089500, 0xc00002946a, 0x10, 0xc00002ced8, 0x20, 0xc00003060c, 0x7, 0xc000030614, 0x5f)
            	/home/travis/build/pion/webrtc/peerconnection.go:1027 +0x758
            created by github.com/pion/webrtc/v2.(*PeerConnection).SetRemoteDescription
            	/home/travis/build/pion/webrtc/peerconnection.go:970 +0x169e

            goroutine 143 [select]:
            github.com/pion/ice.(*Agent).taskLoop(0xc0000d6120)
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/agent.go:468 +0x18a
            created by github.com/pion/ice.NewAgent
            	/home/travis/gopath/pkg/mod/github.com/pion/ice@v0.2.1/agent.go:180 +0x9f4

Tracking with https://github.com/pion/webrtc/issues/642

authors: Sean-Der maxhawkins


text:
Add Archive button to Export Conversations dialog

Two weeks ago, OpenAI added archived chats to ChatGPT, which allows you to remove chats from the sidebar without deleting them. Archived chat sessions will disappear from the sidebar and can be managed in the archive conversations section of the settings page.

Considering that export and delete chats in bulk are now fully supported in Export Conversations, it would be greatly helpful to managing chats if a batch-archiving button could be added to the same dialog.

Good idea. I didn't notice there is a new feature.

Added. And I also fixed the color of upload icon 🙏

Released in v2.19.0

repo: pionxzh/chatgpt-exporter


text:
eth.accounts API

What was wrong?
See #323
How was it fixed?
Added a new Account sub-module to Eth. Using the eth_keys and eth_keyfile packages for underlying signing and keyfile generation.
Some hacks to get py2 working (for examlpe, py3 can use bytes or hex str, but py2 can only use hexstr)
This checklist is crossed off when there are sufficient first-pass tests, and they are green:

[ ] pass transaction signature from eth_test
[ ] use the curried hexstr_if_str & text_if_str
[x] create()
[x] create().address
[x] create().privateKey
[x] create().signTransaction
[x] create().sign
[x] create().privateKey
[x] create().encrypt
[x] privateKeyToAccount
[x] signTransaction
[x] recoverTransaction
[x] hashMessage
[x] sign
[x] recover
[x] encrypt
[x] decrypt
[x] accept hexstr for private key arguments (depends on #332 )
[x] docs

Cute Animal Picture

:shipit:

I added two transaction signing tests from ethereum/tests, which inspired me to support chain-naive transactions. It passes the first now, but still fails the second. The only apparently relevant difference in the second is that it has no to field and has a data field. I'm stalled on debugging it, at the moment.
In something that seems very weird to me: r matches exactly, but s and v differ. The unsigned parts of the transaction seem to be equal.
>       assert signed.rawTransaction == add_0x_prefix(expected_raw_txn)
E       AssertionError: assert '0xf87f8085e8...dc6e341c11426' == '0xf87f8085e8d...497a98e752d1b'
E         - 0xf87f8085e8d4a510008227108080af6025515b525b600a37f260003556601b596020356000355760015b525b54602052f260255860005b525b54602052f21ca05afed0244d0da90b67cf8979b0f246432a5112c0d31e8d5eedd2bc17b171c694a044efca37cb9883d1ee7a47236f3592df152931a930566933de2dc6e341c11426
E         + 0xf87f8085e8d4a510008227108080af6025515b525b600a37f260003556601b596020356000355760015b525b54602052f260255860005b525b54602052f21ba05afed0244d0da90b67cf8979b0f246432a5112c0d31e8d5eedd2bc17b171c694a0bb1035c834677c2e1185b8dc90ca6d1fa585ab3d7ef23707e1a497a98e752d1b

# web3's signed r, s, v:
r          = '0x5afed0244d0da90b67cf8979b0f246432a5112c0d31e8d5eedd2bc17b171c694'
s          = '0x44efca37cb9883d1ee7a47236f3592df152931a930566933de2dc6e341c11426'
v          = 28

# expected r, s, v:
r          = '0x5afed0244d0da90b67cf8979b0f246432a5112c0d31e8d5eedd2bc17b171c694'
s          = '0xbb1035c834677c2e1185b8dc90ca6d1fa585ab3d7ef23707e1a497a98e752d1b'
v          = 27

I read these lines as saying that the msg_hash and the private key are the same in the web3 implementation and the test data:
https://github.com/pipermerriam/ethereum-keys/blob/master/eth_keys/backends/native/ecdsa.py#L78-L80

eth_keys with native and coincurve backends both produce the same vrs, which doesn't match the test result. (except for r, which still seems to suggest that both the message hash and private key are being provided the same value.)

Decided w/ @pipermerriam that the signature is non-deterministic. They both recover to the right sender. Now it only evaluates recovery, and the r value. Will merge to master once the tests pass.

authors: carver pipermerriam


text:
Redis Manifest with Sentinel Job

Hi,
Does the latest release of cf-redis-release support sentinel feature of redis. If yes, could you please provide the sample manifest with sentinel Job sections.
Thanks,
Guru.

We only support a single node Redis, with no support for sentinel.

@benlaplanche Would a contribution adding add multiple node support to cf-redis-release be likely to be accepted ?
If so, is there recommendations/suggestions that could be used in designing such multi-node support ?
Thanks in advance,
Guillaume.

Hi Guillaume, no it wouldn't be as it's nothing something i want to offer or support in the product at the moment.

repo: pivotal-cf/cf-redis-release


text:
Adding own bosh-releases to MicroPCF, and e.g.: diego-release?

How do I add my own bosh-releases to MicroPCF?
Would be handy for sharing internal development environments around, and updating CF to the latest development (or stable, e.g.: v231) version.
Thanks for all suggestions
PS: Yes I have seen https://github.com/pivotal-cf/micropcf/blob/master/DEVELOP.md

I was about to ask the same question before I stumbled upon this. I would like to know about this too

Hi @SamuelMarks,
You cannot build an official version of PCF Dev (that includes services brokers) using this repo. However, you can fork this repo and modify its contents to build a version of PCF Dev that includes the Elastic Runtime along with your own BOSH-deployed components.
@mdelillo, could you explain what changes are now necessary to add new BOSH releases?

Hi @mdelillo , @sclevine ,
First off, I must say pcf-dev is really cool thing for developers.
Can you please share the steps to add new BOSH releases to pcf-dev?
Thanks

@SamuelMarks @abhikco the bosh releases used by PCF Dev are specified in the versions.json file in the root of the repo. We compile each bosh release and provide a URL to the resulting tgz on S3. If you want to add a release that exists on your local filesystem, you can use path instead of url. For example:
[
  {
    "name" : "cf",
    "url" : "s3://pcfdev/compiled-releases/cf-v235-1-ge9635da.tgz"
  },
  ...
  {
    "name" : "my-bosh-release",
    "path" : "/path/to/my-bosh-release"
  }
]

You then need to edit images/manifest.yml. Add your new release to the releases array, your release jobs to jobs.templates, and your job properties to properties. Then you should be able to build PCF Dev using images/build.

@mdelillo Hmm, so is there any real advantage to this approach, when compared with adding bosh-releases to the relevant files within bosh-lite/packer?

The advantage to our approach is that you don't need to spin up a BOSH director on the VM and deploy all the CF services to individual containers at runtime. (That's what people use BOSH-lite for.)
While it might be possible to do a BOSH deploy of CF to a BOSH-lite VM and packer-ize the result, the added complexity and resource consumption of that approach was less than ideal when I tried it. There's no reason to think that it wouldn't be possible to do this, but it's not the approach we're taking.

authors: SamuelMarks abhikco mdelillo sclevine

repo: pivotal-cf/pcfdev


text:
Type missing from product data?

With regular Craft Commerce products I can get the Product Type with {{ product.type }} but this seems to be missing from digital products. There is typeId but I would like to use the Product Type handle. Could this be added? Thank you.

There was always a .productType but have gone ahead and added a .type as an alias:
https://github.com/pixelandtonic/DigitalProducts/commit/0d977cbf0265002b7f5f4d481566af3291a9b3de
is in the latest 1.0.1 release.

authors: arthurdewolf lukeholder

repo: pixelandtonic/DigitalProducts


text:
How to update YgoMaster

Please tell me how to update the mod. I have the latest version, but I want to update the papers

You can find the updating instructions here https://github.com/pixeltris/YgoMaster/blob/master/Docs/Updating.md

I'm sorry to bother you, but I don't understand any of this. Can you make a video on how to do this so we can copy the method?

repo: pixeltris/YgoMaster


text:
Refactors the spritesheet, texture and bitmap font loaders

Overview
Externalizes the construction/parser code in the loader middleware to be use-able without the Loader or for use with another loader system.
Added

PIXI.Texture.fromLoader(source, imageUrl, name) Creates a texture and automatically adds it's contents to the BaseTextureCache and TextureCache.
PIXI.extras.BitmapText.registerFont(xml, texture) Register a bitmap font from XML data and a Texture.
new PIXI.Spritesheet(baseTexture, data) Parses the spritesheet JSON and asynchronously returns the map of textures.

Fixed

Fully documents PIXI.loaders.Resource and PIXI.loaders.parseBitmapFontData which previously were undocumented.

Preview

Documentation here
Build here

While there are the necessary two approvals for merging, please wait 24 hours to allow others to chime in.

Does this address #3635?

@staff0rd I wasn't explicitly trying to solve the Loader issue, but @Milewski should be able to do something like this instead of using the Loader:
const url = './build/spritesheet.json';
const data = require(url);
const texture = PIXI.Texture.fromImage(data.meta.image);
PIXI.loaders.parseSpritesheetData(url, data, texture, () => {
  // finished preparing spritesheet textures
});

Thanks @andrewstart

Can we not force parsing at constructor? So we can delay it or implement another parsing, like for spine?

Could also not enforce the parse function to obligatorily receive a callback? currently i just want to cache the sprite to be used later... and i end up doing something like this
new PIXI.Spritesheet(resource.texture, {...}).parse(() => {}); //<- note i don't intend to do anything right now but cache it...

@bigtimebuddy
Your code
const data = require('./build/spritesheet.json');
const baseTexture = new PIXI.BaseTexture(data.meta.image, null, 1);
const spritesheet = new PIXI.Spritesheet(baseTexture, data);
spritesheet.parse(function (textures) {
   // finished preparing spritesheet textures
});

Pixi.js version 4.5.3
The class PIXI.BaseTexture(source, scaleMode, resolution) the params source  required HTMLImageElement | HTMLCanvasElement, but the data.meta.image of const data = require('./build/spritesheet.json');  is a string.
Thank your code help me resolve then problem of useing spritesheet with webpack.

@Shafley (and to anyone finding this): The alternative looks to be to use BaseTexture.from(data.meta.image, null, 1); instead which can accept a string and output a BaseTexture.

authors: Milewski Shafley bigtimebuddy dulldave ivanpopelyshev staff0rd


text:
BlendMode NONE fixes

The way we handled blendModes in BatchRenderer is wrong, it doesn't callgl.disable(gl.BLEND)
Broken: https://www.pixiplayground.com/#/edit/862Ww3O7ZhoAxzQW15ZjV
Fixed: https://www.pixiplayground.com/#/edit/OSKK2hg7EugpvQ2VTR40h

Codecov Report

Merging #6236 into dev will decrease coverage by <.01%.
The diff coverage is 40%.

@@            Coverage Diff             @@
##              dev    #6236      +/-   ##
==========================================
- Coverage   76.71%   76.71%   -0.01%
==========================================
  Files         202      202
  Lines       10238    10241       +3
==========================================
+ Hits         7854     7856       +2
- Misses       2384     2385       +1

Impacted Files
Coverage Δ

packages/sprite-tiling/src/TilingSpriteRenderer.js
7.27% <0%> (-0.28%)
:arrow_down:

packages/core/src/batch/AbstractBatchRenderer.js
94.19% <100%> (+0.02%)
:arrow_up:

packages/core/src/state/StateSystem.js
94.62% <0%> (+1.07%)
:arrow_up:

Continue to review full report at Codecov.

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

authors: codecov-io ivanpopelyshev


text:
No build for arm64

Is there a build for arm64 from this snap?

Unfortunately currently there is not, but accepting PRs.

authors: MarkusLange fnkr


text:
🛑 WAY👌 Blog is down

In de2efec, WAY👌 Blog (https://wayok.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: WAY👌 Blog is back up in 51cf80a after 19 minutes.


text:
🛑 🗂Pan is down

In ba1c678, 🗂Pan (https://pan.wayok.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: 🗂Pan is back up in f11f8fa after 7 minutes.


text:
🛑 ✅JrebelLicenseServer is down

In 3103ff0, ✅JrebelLicenseServer (https://jrebel.wayok.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ✅JrebelLicenseServer is back up in a28718f after 34 minutes.


text:
Unbalanced calls to begin/end appearance transitions

I see that people are getting warnings about animating opacity, but that it appears to be a non-issue. However, I'm also seeing Unbalanced calls to begin/end appearance transitions for <PKHUD.WindowRootViewController: 0x15f819cc0>. My usage is very simple, and I'm not changing view controllers or anything unexpected. Is anyone else seeing this?
HUD.show(.LabeledProgress(title: NSLocalizedString("Please Wait", comment: "HUD title"), subtitle: nil))

and later,
HUD.hide()

I am also getting warning about animating opacity. In my case, it gives me warning and stops animating and disappears from the screen. And I am left with blank screen.
Any workaround to fix this issue??

@Sunitadaffodil I'd recommend going with a different library, as this one (at the time of this writing) seems a bit unstable or out of date, and largely unsupported.

@Jiropole can you give more details about your context?

authors: Jiropole PGLongo Sunitadaffodil

repo: pkluz/PKHUD


text:
A working attempt at HPE VSR1000

Hi!
Saw you had this one on your TODO :-)
It boots properly and you can connect to it through SSH.
Had to hack via QEMU Monitor, before applying bootstrap config due to the VSR not allowing access to aux0 from the get-go..
Anyway, hope it can be of use to someone out there.

Fredrik

Hehe, I love that you've worked with QEMU monitor to send commands! While I think HP really should offer some way of loading up a conf and have the serial console enabled per default, this is a pretty neat workaround. In particular since I've failed with this approach myself in the past I can see how this might be useful in the future. Thanks!

Hi @plajjan!
Thanks for not completely destroying my first go at Python :-)
I totally agree with all your proposed changes. Makes everything much cleaner. Just need to figure out how first.
Will get back to you.

Fredrik

Great input! Another go here https://github.com/plajjan/vrnetlab/pull/129. Closing this one.

authors: holmahenkel plajjan

repo: plajjan/vrnetlab


text:
sp.next() should not get to offsets >= 1000

As far as I know, the maximum number of results for any Spotify API call is 1000, so it makes no sense to go for offsets >= 1000. Still, sp.next() goes for these offsets:
HTTP Error for GET to https://api.spotify.com/v1/search?query=Iggy&type=playlist&offset=1000&limit=5
0 with Params: {} returned 400 due to Bad request.

As far as I know, the maximum number of results for any Spotify API call is 1000

This is not true. The Get Current User's Playlists endpoint supports a maximum offset of 100,000. The search endpoint supports a maximum offset of 1000. I remember prior versions of the documentation stating that offset + limit must be <= 1000. 1000 + 5 > 1000, so that's why you're getting an error response.

OK. I would suggest stopping at 100000 for that method and at 1000 for the rest..

Why do you believe that the other endpoints limit the offset to 1000? I don't see this in the documentation.

I see now there are a few more with bigger offsets possible, like getting tracks for a playlist, so I believe this issue can be closed.
Search is an example of being limited to 1000, see the offset section:
https://developer.spotify.com/documentation/web-api/reference/#/operations/search

authors: Peter-Schorn mrticker zygmuntz

repo: plamere/spotipy