Support anti-DPI feature for Korea Telecom

In 2019, South Korean government announced that they use SNI snooping to censor HTTPS websites ^1.
Currently, AdGuard can neutralize DPI systems of SK Telecom and LG U+.
But, DPI system of Korea Telecom, one of major telecommunication companies of South Korea, cannot be neutralized with AdGuard.
In public, Unicorn HTTPS, an anti-DPI program made by Unicornsoft Co Ltd [^3], is widely used for neutralizing the system if a visitor in South Korea doesn't want to use a VPN to neutralize.
[^3]: Also, they are developer of Unicorn Pro adblocker.

In fact, I already tested at June 14 (KST) with AdGuard for Android 4.0 stable.
I cannot access https://www.womenonweb.org via my school network using KT with the following configuration:

HTTP space juggling + ClientHello fragment 1 + HTTP request fragment 1
HTTP space juggling + ClientHello fragment 16 + HTTP request fragment 16
ClientHello fragment 16 + HTTP request fragment 16
ClientHello fragment 1 + HTTP request fragment 1

Note: the number 16 is blurred in my memory.

@sfionov I'll order a residential proxy with KST so that we could test it on our side.

Also, referring the following list can be helpful:

PetuBucket ( https://petubucket.com/ )
Many pron websites (examples)

https://hitomi.la/
https://www.pornhub.com/
https://xvideos.com/
https://www.fakku.net/

Please reconsider priority of this issue.
This issue can be a fork of choosing between Unicorn Pro adblocker or AdGuard.

@piquark6046 We found a solution and it will be implemented in CoreLibs version currently in development

The issue is being watched by someone who wants to switch from Unicorn Pro adblocker to AdGuard if the issue is resolved:

https://gall.dcinside.com/mgallery/board/view/?id=galaxy&no=998970
https://gall.dcinside.com/mgallery/board/view/?id=galaxy&no=999759

I am korean KT user. I look forward to solving this problem. Due to this issue I have deleted AdGuard and am using Unicorn Pro.

@hsp1020 Do you want to experience like Unicorn Pro adblocker with AdGuard? If so, can you describe it?

I don't know what you're talking about. What can I describe to you?

@hsp1020 Do you want to experience like Unicorn Pro adblocker with AdGuard? If so, can you describe it?

What exactly should I do?

@hsp1020
The question is what the advantage and disadvantage between them when they are compared.

@hsp1020 The question is what the advantage and disadvantage between them when they are compared.

Yes,  i can compare the two apps to explain their relative advantage and disadvantage.

@hsp1020 The question is what the advantage and disadvantage between them when they are compared.

@piquark6046
Yes,  i can compare the two apps to explain their relative advantage and disadvantage.
The advantages of Unicorn Pro over AdGuard are 1.KT dpi support (this issue), 2.Web browser Assistant support for Android,  3.Optimized for Korean websites and apps, and faster. Especially in Korea, more than 50% of users use KT. However, because of this issue, many korean users are using Unicorn pro instead of Adguard.
Advantages of AdGuard over Unicorn Pro are 1.DNS filter selectable, 2.There are various types of built-in filters. 3.Block more ads on websites outside of Korea 4.Tracking protection (stealth mode) is more powerful. the default functionality is more power

3.Optimized for Korean websites and apps, and faster. Especially in Korea, more than 50% of users use Korea Telecom. However, because of this issue, many korean users are using Unicorn pro instead of Adguard.

Have you ever tested with only List-KR filter excluding other filters?
And, do you hear about https://github.com/List-KR/filter-customizer that is in development?

@piquark6046
Yes, I have tested only with List-KR filters except for other filters. However, Unicorn Pro can also use the list-kt filter. The speed difference on the Korean site is estimated to be the difference between the base filters embedded in the two apps. And the biggest reason why Koreans use Unicorn Pro instead of AdGuard is whether it is Support anti-DPI feature for Korea Telecom.

However, Unicorn Pro can also use the list-kt filter.

No. Unicorn Pro adblocker cannot use List-KR filter right now even if the filter can be registered in app.
Unicorn Pro does not support scriptlet, redirection resources, etc that resolve many advertisement and almost anti-adblock script.

I was wrong about that part. I thought it was working because I could add it to the Unicorn pro filter list. However, for Koreans, the most important part when choosing AdGuard and Unicorn Pro is not whether the list-KR filter is supported, but whether Korea Telecom supports anti-DPI functions. If this issue is not resolved, many Koreans will use Unicorn Pro.

This is because even if list-KR does not support Unicorn pro, most advertisements on Korean sites are blocked only by Unicorn pro base filters.

There is common advertisement servers that are used in Korean language websites and other language websites.
For example, Google Ads is used in almost websites regardless of language of a website.

@piquark6046
Unicorn Pro also has a dedicated Korean filter that is set by default. As a result, advertisements in Korean can be blocked at a similar level to list-KR. Therefore, whether to support for list-KR is not an important part for Koreans.

Unicorn Pro also has a dedicated Korean filter that is set by default. As a result, advertisements in Korean can be blocked at a similar level to list-KR. Therefore, whether to support for list-KR is not an important part for Koreans.

List-KR filter can block advertisements on copyright-abusing torrent and streaming websites as this is mentioned in https://gall.dcinside.com/mgallery/board/view/?id=galaxy&no=998970.
Also, List-KR filter can block Naver PowerLink advertisements on m.humoruniv.com using scriptlets without changing the related rules regularly.
List-KR filter uses scriptlet to mitigate DNS filtering exception.

@piquark6046
list-KR filters may perform better than Unicorn pro Korea filters. However, there are many sites that are not accessible in Korea unless Adguard supports Anti-DPI function for Korean Telecom. (Most of the torrents and streaming websites you mentioned are also not accessible.) This dilutes the advantages of list-KR.

For a visitor who is interested in the issue, currently updated CoreLibs have not been applied CoreLib-based AdGuard program [^1].
[^1]: AdGuard for Windows, AdGuard for Android and AdGuard for Mac
To see what CoreLibs version of AdGuard you use, please refer https://adguard.com/en/versions/windows/release.html.

Adguard for Android 4.3 nightly 19 is out with CoreLibs 1.13

@hsp1020 @NoName926 Did you test with KT mobile network?

KT network dpi bypass is not applied even on Android 4.3 nightly 20
It is not a kt mobile network

Maybe we can receive what is wrong in the coming week.

Maybe we can receive what is wrong in the coming week.

Even at home, my phone is using kt (kt mobile), but I updated it to the latest Nightly version, but this problem is not being solved.

Unfortunately, The checking will be delayed until Nov 13 at least.

the same problem here

The delaying between split chunks feature that can help to bypass the DPI system is not included in any AdGuard nightly.
If it is included, you can configure the option in the section where is located:

AdGuard for Android: Protection tab -> Tracking protection (privacy protection level: custom) -> Protect against DPI.
AdGuard for Windows: AdGuard settings -> General tab -> Advanced Settings

@piquark6046 @hsp1020 @NoName926 Does it work better on 4.3 nightly 32?

https://github.com/AdguardTeam/CoreLibs/issues/1789#issuecomment-1812793591 I don't have a SIM card for KT network. But, if the team wants, I can request for creating one.

@피쿼크6046 @hsp1020 @NoName926 4.3 야간 32일 더 잘 작동합니까?

@piquark6046 @hsp1020 @NoName926 Does it work better on 4.3 nightly 32?

For KT users, the dpi function does not work even with version 4.3 nightly 32.

@piquark6046 @hsp1020 @NoName926 Does it work better on 4.3 nightly 32?

For kt users, the anti-dpi feature does not work even with version 4.3 nightly 32.

It doesn't work  in  Android 4.3 nightly 33 too

Does adjusting the option not help?

In our tests this option helps for HTTP:

https://github.com/AdguardTeam/CoreLibs/assets/75906867/971cd408-389f-487e-95ee-cf9c73542840
watch this video. <IP_ADDRESS> or unicorn app can bypass kt dpi

The update that includes the split delay will be released in AdGuard for Android nightly this week.

4.3 beta 1 is out, where new stealth mode setting persists. Can you please try with the following settings?

Stealth mode on
Protect from DPI on
2.1. Split ClientHello offset = 1
2.2. Split HTTP offset = 1
2.3 Split delay ms = 100 (I tested 50 and 100, and 50 not always worked)
DNS protection is on and use secure server

@haksal732 If you enter site address with https:// prefix, does it work?

@haksal732 If you enter site address with https:// prefix, does it work?

It doesn't work for me either.

not working for all kt users. need fix something

Seems that in our tests we used wrong proxy list for KT.
Now we've reproduced a particular blocking page and we continue to find correct blocking parameters.

Can we keep the current anti-DPI configuration feature [^1] for the non-KT ISP users?
https://github.com/orgs/List-KR/discussions/52
[^1]: Split ClientHello offset, Split HTTP offset, Split delay and HTTP space juggling.

And, we need to investigate how AdGuard CoreLib-based app bypasses the HTTP censorship of the SKT network. The censorship can be bypassed by Unicorn HTTPS app.
https://github.com/orgs/List-KR/discussions/52#discussioncomment-7956736

@sfionov Can you give me a rough timeline for when this feature will be available?

https://gall.dcinside.com/mgallery/board/view/?id=sff&no=941895

The official release notes for ADGUARD 4.3.1 say that it supports the KOREA TELECOM (KT) ANTI-DPI feature, so why is it still not working?
I update NIGHTLY BUILD every week, but the problem is not solved at all.
KT is number 1 in Korea with 41% share of wired internet and number 2 in cellular with 21% share.
This issue must be resolved if ADGUARD is not to abandon the Korean market.
There is already an alternative called UNICORN PRO in Korea, and new KT users are buying UNICORN PRO because of the ADGUARD ANTI-DPI issue.

@scor2 Sorry for delay in resolving of this issue, our team was too busy last months. We will try a pair of other methods before CL1.14 release.

Also not works on DLIVE ISP

AdGuard 4.4 Nightly 37 still does not work with anti-DPI on KT.
I also applied the settings you mentioned above.
Stealth mode on
Protect from DPI on
2.1. Split ClientHello offset = 1
2.2. Split HTTP offset = 1
2.3 Split delay ms = 100 (I tested 50 and 100, and 50 not always worked)
2.4 HTTP space juggling - On
DNS protection is on and use secure server

@scor2 We implemented a new method in CL1.14 but it may take some time for new setting to show up in UI in nightlies. I'll say when it will happen.

An AdGuard member tested an internal development version of AdGuard for Windows to do QA with an actual IP address of KT located in Jeollabuk-do province yesterday.

https://github.com/AdguardTeam/CoreLibs/issues/1789#issuecomment-1994528861
It does work.

#1789 (comment)

An AdGuard member tested an internal development version of AdGuard for Windows to do QA with an actual IP address of KT located in Jeollabuk-do province yesterday.

It does work.

How about D'LIVE?

https://github.com/AdguardTeam/CoreLibs/issues/1789#issuecomment-1996616666

How about D'LIVE?

Can you tell me what is your ASN name?
Please check at https://ipinfo.io/.

AdGuard 4.4 Nightly 37 still does not work with anti-DPI on KT. I also applied the settings you mentioned above.

Stealth mode on
Protect from DPI on
2.1. Split ClientHello offset = 1
2.2. Split HTTP offset = 1
2.3 Split delay ms = 100 (I tested 50 and 100, and 50 not always worked)
2.4 HTTP space juggling - On
DNS protection is on and use secure server

it works
check your [General Settings] - [Advanced Setting] - [Korea Telecom DPI Protection] is off

AdGuard 4.4 Nightly 37 still does not work with anti-DPI on KT. I also applied the settings you mentioned above.

Stealth mode on
Protect from DPI on
2.1. Split ClientHello offset = 1
2.2. Split HTTP offset = 1
2.3 Split delay ms = 100 (I tested 50 and 100, and 50 not always worked)
2.4 HTTP space juggling - On
DNS protection is on and use secure server

it works at kt network
check your [General Settings] - [Advanced Setting] - [Korea Telecom DPI Protection] is off

Did you found Korea Telecom DPI Protection option on Android?
Other users have also reported finding the option on Windows and MAC platforms, but not on Android.
I'll try uninstalling and reinstalling the app first.

@scor2 https://github.com/AdguardTeam/CoreLibs/issues/1789#issuecomment-1994370128
I think that it is not applied into the UI yet.

#1789 (comment)

How about D'LIVE?

Can you tell me what is your ASN name? Please check at https://ipinfo.io/.

asn: "AS10036",
name: "DLIVE",
domain: "dlive.kr"

@uaevuon Does #1789 (comment) not work?

I never used Windows version before, so I just installed and tested it. Works on D'LIVE.
Any ETA for android version?

@uaevuon Does #1789 (comment) not work?

I've never used Adguard on Windows, so just installed and tested it.
Works on D'LIVE.
Any ETA for android version?

it works at kt network
check your [General Settings] - [Advanced Setting] - [Korea Telecom DPI Protection] is off

Did you found Korea Telecom DPI Protection option on Android? Other users have also reported finding the option on Windows and MAC platforms, but not on Android. I'll try uninstalling and reinstalling the app first.

@scor2 We implemented a new method in CL1.14 but it may take some time for new setting to show up in UI in nightlies. I'll say when it will happen.

android user waited for 2weeks...check plz

@3k2jd0j2k

It is in progress by design team, it was also renamed to not to mention trademarks

Sorry for the delay, it's coming soon I promise.
The predicament is rather simple: we initially called this feature Korea Telecom DPI Protection while in fact it is not specified to Korea, it's just another rather popular method of anti-DPI protection: increasing the first packet size so that the hostname information was shifted to the second packet.

@sfionov new issue here?

@ameshkov No, just leaving it open until it is deployed to every platform

is this new trademark you have made for 2 weeks? or still in progress?

is this new trademark you have made for 2 weeks? or still in progress?

@Kinomerc You guessed right, this is exact option that should work for Korean providers.
It is already in the latest nightly on Android, and the latest betas on Windows and Mac.

Thanks for making this happen. I had both Unicorn pro and Adguard and I completely ditched Unicorn now. Working fine so far on MacOS normal release and Android Nightly.

Release AdGuard v7.17 for Windows.

From what version is this feature supported? I just checked out the 4.4 Release of Android with this issue linked in release notes but I don't see any of the settings inside the app.

@Taewan-P Protection -> Tracking protection -> Custom -> Protect against DPI -> Increase first packet size

@sfionov Thank you for the kind reply. It was hidden under Custom 😅

On the latest Android nightly, the feature doesn't seem to work on WiFi. On Cellular data it works, but not on WiFi. Both Korea Telecom of course.

@ScathachSkadi Please try its stable channel again.

@piquark6046 I can confirm stable works.

@uaevuon Does #1789 (comment) not work?

i did work on latest stable build on mac and windows.
each platforms options labels are differences but yes, its worked

Is there any plan for support iOS version too? I checked testflight version but options are not implemented on iOS yet i guess.

iOS 버전도 지원할 계획이 있나요? 테스트플라이트 버전을 확인했지만 아직 iOS에서 옵션이 구현되지 않은 것 같아요.
As you can see in update log, the feature is seen as a corelib feature, so unless corelib is supported by ios, i think it seems unlikely to be implemented

iOS 버전도 지원할 계획이 있나요? 테스트플라이트 버전을 확인했지만 아직 iOS에서 옵션이 구현되지 않은 것 같아요.
the feature is seen as a corelib feature.
As you can see in update log, unless corelib is supported by ios, i think it seems unlikely to be implemented

Thankyou for reply!


Button component is garbage - rewrite from scratch

:tada: This issue has been resolved in version 4.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Certian liquids are labled as gasses.

Mod source
Factorio Mod Portal
Which mod are you having an issue with?

[ ] pyalienlife
[ ] pyalternativeenergy
[ ] pycoalprocessing
[ ] pyfusionenergy
[ ] pyhightech
[ ] pyindustry
[ ] pypetroleumhandling
[ ] pypostprocessing
[ ] pyrawores

Operating system

=Windows 10

What kind of issue is this?

[ ] Compatibility
[ ] Locale (names, descriptions, unknown keys)
[ ] Graphical
[ ] Crash
[X] Progression
[X] Balance
[ ] Pypostprocessing failure
[ ] Other

What is the problem?
Certain fluids are labeled as gases when they should be liquids.
hot molten salt
nexelit slurry
combustion mixture
molten nexelit-zinc-gadolinium
Steps to reproduce
No response
Additional context
No response
Log file
No response

Fixed! https://github.com/pyanodon/pybugreports/issues/319


Missing ""

It doesn't look like you can make pull requests for fslogix-docs like you can with other Microsoft documentation. Anyway, the following lines should be changed:
WRONG
Copy the ADMX file (fslogix.admx) to %logonserver%\sysvol%userdnsdomain%\policies\PolicyDefinitions
Copy the ADML file (fslogix.adml) to %logonserver%\sysvol%userdnsdomain%\policies\PolicyDefinitions\en-US
RIGHT
Copy the ADMX file (fslogix.admx) to %logonserver%\sysvol%userdnsdomain%\policies\PolicyDefinitions
Copy the ADML file (fslogix.adml) to %logonserver%\sysvol%userdnsdomain%\policies\PolicyDefinitions\en-US

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

ID: 6a490a35-0b6c-c2e5-dc10-5f72c7e906b7
Version Independent ID: bca503d7-f9a6-6e95-7fa9-f5d46b8ac801
Content: Use FSLogix Group Policy Template Files - FSLogix
Content Source: fslogix-docs/use-group-policy-templates-ht.md
Product: fslogix
GitHub Login: @DougCoombs
Microsoft Alias: docoombs

It looks like I did the same thing as the author :).
RIGHT
Copy the ADMX file (fslogix.admx) to %logonserver%\sysvol\%userdnsdomain%\policies\PolicyDefinitions
Copy the ADML file (fslogix.adml) to %logonserver%\sysvol\%userdnsdomain%\policies\PolicyDefinitions\en-US

Syntax error in mockup, corrected, thank you for the heads up!


crashing while loading artist with search function

everything freezes when I'm searching for an artist on spotify. The music wouldn't play and the connection to the webclient gets dropped. I takes 5min before I can reconnect to the client.

Are these searches that have a huge number of results? Do you see any
errors in /var/log/mopidy/mopidy.log?
On 10 May 2015 18:12, "TheBouwman"<EMAIL_ADDRESS>wrote:

everything freezes when I'm searching for an artist on spotify. The music
wouldn't play and the connection to the webclient gets dropped. I takes
5min before I can reconnect to the client.
—
Reply to this email directly or view it on GitHub
https://github.com/woutervanwijk/Pi-MusicBox/issues/282.

The log doesn't show anything. But when you browse the artist you see the albums with the tracks sorted below them. If you open the album first and then play the song everything works fine but when I play a track from the same album on the artist page everything stopped working.

here is the log from the last couple of minutes.
https://www.dropbox.com/s/v26nqrzkeozy2v3/mopidy.log?dl=0


[DCOS-1138] dcos node ssh

@tamarrow: plz review

@tamarrow: updated

@tamarrow: updated

LGTM. merge when tests pass


Debug|iPhoneSimulator not available for iOS build - just for Android and Xamarin.UITest builds!

Before updating Xcode to 11.1, and updating Visual Studio for Mac Community edition (see below for a copy/paste from VS's About dialog) to the latest suggested stuff re: Xamarin.UITest, I could select build targets like "Debug|iPhoneSimulator" for all platforms. Now, I can only select it for every platform except iOS!! Here are screen shots showing the issue:

=== Visual Studio Community 2019 for Mac ===
Version 8.3.4 (build 8)
Installation UUID: 33998536-035a-4b58-95d2-c4caec0e6d2d
GTK+ 2.24.23 (Raleigh theme)
Xamarin.Mac <IP_ADDRESS> (d16-3 / 08809f5b)
Package version: 604000208

=== Mono Framework MDK ===
Runtime:
Mono <IP_ADDRESS> (2019-06/07c23f2ca43) (64-bit)
Package version: 604000208
=== NuGet ===
Version: <IP_ADDRESS>92
=== .NET Core SDK ===
SDK: /usr/local/share/dotnet/sdk/3.0.100/Sdks
SDK Versions:
3.0.100
2.2.401
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/6.4.0/lib/mono/msbuild/Current/bin/Sdks
=== .NET Core Runtime ===
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
3.0.0
2.2.6
2.1.13
=== Xamarin.Profiler ===
Version: <IP_ADDRESS>
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
=== Updater ===
Version: 11
=== Apple Developer Tools ===
Xcode 11.1 (15405)
Build 11A1027
=== Xamarin.Mac ===
Version: <IP_ADDRESS> (Visual Studio Community)
Hash: e37549bc
Branch: xcode11.1
Build date: 2019-10-07 22:43:23-0400
=== Xamarin.iOS ===
Version: <IP_ADDRESS> (Visual Studio Community)
Hash: e37549bc
Branch: xcode11.1
Build date: 2019-10-07 22:43:23-0400
=== Xamarin Designer ===
Version: <IP_ADDRESS>
Hash: 52eac1a9e
Branch: remotes/origin/d16-3
Build date: 2019-10-03 23:04:28 UTC
=== Xamarin.Android ===
Version: <IP_ADDRESS> (Visual Studio Community)
Commit: xamarin-android/d16-3/4d45b41
Android SDK: /Users/stuartholme/Library/Android/sdk
Supported Android versions:
None installed
SDK Tools Version: 26.1.1
SDK Platform Tools Version: 29.0.2
SDK Build Tools Version: 28.0.3
Build Information:
Mono: mono/mono/2019-06@5608fe0abb3
Java.Interop: xamarin/java.interop/d16-3@5836f58
LibZipSharp: grendello/LibZipSharp/d16-3@71f4a94
LibZip: nih-at/libzip/rel-1-5-1@b95cf3fd
ProGuard: xamarin/proguard/master@905836d
SQLite: xamarin/sqlite/3.27.1@8212a2d
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-3@cb41333
=== Microsoft Mobile OpenJDK ===
Java SDK: /Users/stuartholme/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_8.0.25
1.8.0-25
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL
=== Android SDK Manager ===
Version: <IP_ADDRESS>
Hash: c33b107
Branch: remotes/origin/d16-3
Build date: 2019-10-08 23:36:20 UTC
=== Android Device Manager ===
Version: <IP_ADDRESS>
Hash: d2b2af0
Branch: remotes/origin/d16-3
Build date: 2019-10-08 23:36:44 UTC
=== Xamarin Inspector ===
Version: 1.4.3
Hash: db27525
Branch: 1.4-release
Build date: Mon, 09 Jul 2018 21:20:18 GMT
Client compatibility: 1
=== Build Information ===
Release ID: 803040008
Git revision: 8da5857bc3d33e5667cacaab3bd1ab55375ed3e3
Build date: 2019-10-14 18:26:13+00
Build branch: release-8.3
Xamarin extensions: 61c91e660a01512a3b8187c749fd3bccc75a2bf4
=== Operating System ===
Mac OS X 10.14.6
Darwin 18.7.0 Darwin Kernel Version 18.7.0
Tue Aug 20 16:57:14 PDT 2019
root:xnu-4903.271.2~2/RELEASE_X86_64 x86_64

Note that "Project -> Active Configuration" has all possible options, but when on iOS and you try to select "Debug|iPhoneSimulator" from the drop-down menu, nothing happens.

Hi @stuarth-inova! Thanks for sharing your feature request. I apologize, but I don't think I got your scenario yet. Would you mind elaborating more on how it applies and App Center and what you'd like us to change?
It seems to me that the feedback was more for VS for Mac. If so, you can click that link and scroll to the bottom, and leave a feedback.

It is expected behavior. You select debug and then you can choose emulator or device. So if you choose emulator your build will use Debug|iPhoneSimulator otherwise Debug|iPhone

It is how VS for Mac displays configuration. VS for Windows will show you iPhoneSimurator and iPhone

I can pick iPhoneSimulator for Android but not for the iOS build, and
you’re saying this is “as designed”? That makes no sense at all.
Stuart
On Monday, October 21, 2019, VladislavAntonyuk<EMAIL_ADDRESS>wrote:

It is how VS for Mac displays configuration. VS for Windows will show you
iPhoneSimurator and iPhone
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/appcenter/issues/1219?email_source=notifications&email_token=AARORV6JTWYNJRWD2IUZITTQPU4LLA5CNFSM4JCAJNJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBZCXZA#issuecomment-544353252,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARORV6QILLXPXNNSV453T3QPU4LLANCNFSM4JCAJNJQ
.

IDE automatically choose Platform depends on your choice (Simulator or device)

Closing as stale.


Cleanup in ci.commands.cpp

Cleanup commits pulled of a stack of other changes, for easier review.

Thanks!


Can't reference definition from file in same directory

Problem statement
I'm trying to split my definitions off from my main API so they can be used in another API as well.
According to https://github.com/go-swagger/go-swagger/issues/45, it looks like I should be able to do per-model references, as below. However, this doesn't work.
On both go-swagger versions 0.7.4 (latest release) and the HEAD of the master branch, I get an error parsing error.yaml.
The d the error message mentions is the front of the definitions key. If I change the leading letter, the error message changes as well.
It looks like https://github.com/go-openapi/spec/pull/15 fixed something related to this, but as above, I've tried master to no avail.
Swagger specification
swagger-template.yaml:
swagger: '2.0'
info:
  title: Test
  version: '1.0.0'
host: localhost
basePath: /
produces:
  - application/json
schemes:
  - http
paths:
  /healthy:
    get:
      responses:
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
definitions:
  Error:
    $ref: ./error.yaml#/definitions/Error

error.yaml:
definitions:
  Error:
    type: object
    properties:
      code:
        type: integer
        format: int32
      message:
        type: string

Steps to reproduce
➜  swagger-test $ swagger generate server -f swagger-template.yaml
2016/12/06 13:43:14 building a plan for generation
2016/12/06 13:43:14 planning definitions
invalid character 'd' looking for beginning of value

➜  swagger-test $ swagger version
version: 0.7.4
commit: 6b8226461ff1d53e4b56ea0ea80d126aa3e9d7b5

➜  swagger-test $ /Users/johnwittrock/src/go/bin/swagger generate server -f swagger-template.yaml
2016/12/06 13:45:16 building a plan for generation
2016/12/06 13:45:16 planning definitions
invalid character 'd' looking for beginning of value

➜  swagger-test $ /Users/johnwittrock/src/go/bin/swagger version         dev

Probably duplicate of #729


getRestrictions() returns uglified object.

Calling player.getRestrictions() returns a Restrictions object but the type is 'Sa' so it looks as if it's getting uglified in the build process. It works fine right now but it would be nice if the returned object actually was called a Restrictions object.

Changing the name of the class is part of how the closure compiler works.  The names of the attributes are unchanged, so this is working as intended.
If the naming of the class itself is a problem for your application, you could always avoid compilation and run the uncompiled sources through the minifier of your choice.


dns-root-data: use a stable URL that I maintain anyway

See #31855.
/cc maintainer @fpletz.

Pushed as d16b298d19.


CIFS Support

We are planning on utilizing k3s in multiple embedded setups that require CIFS support. Can we add an out of band cifs provisioner/client for k3s?
gz#13203

Yes, you should be able to use out-of-tree provisioners/CSI drivers.

Right, wouldn't something like this work - https://github.com/kubernetes-csi/csi-driver-smb ?

Awesome, thanks David. I'll give that a go.
On Tue, Nov 3, 2020, 11:21 David Noland<EMAIL_ADDRESS>wrote:

Right, wouldn't something like this work -
https://github.com/kubernetes-csi/csi-driver-smb ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rancher/k3s/issues/2472#issuecomment-721267555, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYSOSEECOEF6YEQTOU2JZTSOA3ZXANCNFSM4TI7XLPQ
.

@thecrazyrussian did you get this working?

Oh yeah, flawlessly, also as a client for encrypted shares.

I am running K3s from a docker-compose (supplied in this repo), I am unable to install Longhorn & the cs-driver-smb, for the SMB i keep getting:
skipping: failed to "StartContainer" for "smb" with CreateContainerError: "failed to generate container "xxx" spec: failed to generate spec: path "/var/lib/kubelet/" is mounted on "/var/lib/kubelet" but it is not a shared mount"

I am running K3s from a docker-compose (supplied in this repo), I am unable to install Longhorn & the cs-driver-smb, for the SMB i keep getting:
skipping: failed to "StartContainer" for "smb" with CreateContainerError: "failed to generate container "xxx" spec: failed to generate spec: path "/var/lib/kubelet/" is mounted on "/var/lib/kubelet" but it is not a shared mount"


Fantastic extension needs performance optimization

Issue Type: Performance Issue
Love this extension. Helps me visualize my position in code, especially in deeply nested widgets. But it's lagging even on my high end device. Even at N6 it's barely usable. Also I suspect it might have a memory leak, as it keeps getting worse and gets better after a a reload.
Extension version: 1.2.16
VS Code version: Code - Insiders 1.62.0-insider (4bbec283c36a51cf80f9b77c7a81c140a76a363b, 2021-11-02T08:19:40.220Z)
OS version: Windows_NT x64 10.0.22000
Restricted Mode: No

System Info

Item
Value

CPUs
AMD Ryzen 9 4900H with Radeon Graphics          (16 x 3294)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.42GB (12.52GB free)

Process Argv
--crash-reporter-id 76213229-3f45-4857-b470-1778a95699b5

Screen Reader
no

VM
0%

Process Info
CPU %	Mem MB	   PID	Process
    0	   137	  3956	code-insiders main
    0	    24	  9636	   crashpad-handler
    4	   217	 13612	   window (series_list_sort_section.dart - banagher - Visual Studio Code - Insiders)
   10	   256	 11588	     extensionHost
    0	     5	 19536	       C:\WINDOWS\system32\cmd.exe /d /s /c ""C:\flutter\bin\cache\dart-sdk\bin\dart.exe" "C:\flutter\bin\cache\dart-sdk\bin\snapshots\analysis_server.dart.snapshot" "--lsp" "--client-id=VS-Code" "--client-version=3.28.0""
    0	    11	  3876	         console-window-host (Windows internal process)
   12	    89	 25268	         "C:\flutter\bin\cache\dart-sdk\bin\dart.exe"  "C:\flutter\bin\cache\dart-sdk\bin\snapshots\analysis_server.dart.snapshot" "--lsp" "--client-id=VS-Code" "--client-version=3.28.0"
    0	     6	 29944	       C:\WINDOWS\system32\cmd.exe /d /s /c ""C:\flutter\bin\flutter.bat" "daemon""
    0	    11	 30516	         console-window-host (Windows internal process)
    3	   123	 30568	         "C:\flutter\bin\cache\dart-sdk\bin\dart.exe"  --disable-dart-dev --packages="C:\flutter\packages\flutter_tools\.packages"  "C:\flutter\bin\cache\flutter_tools.snapshot" "daemon"
    0	     5	 30804	       C:\WINDOWS\system32\cmd.exe /d /s /c ""c:\Users\Agone\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\node_modules.asar.unpacked\vscode-ripgrep\bin\rg.exe" --no-messages --vimgrep -H --column --line-number --color never --max-columns=1000 --no-config  -f "c:\Users\Agone\AppData\Roaming\Code - Insiders\User\workspaceStorage\33938f9b144b76f96ab13177c795021d\Gruntfuggly.todo-tree\2hbwjcffks.txt" -g "!**/node_modules" -g "!**/banagher/windows/**/*" -g "!c:\Users\Agone\Source\work\comikey\banagher\lib\helpers\platform.dart" "c:\Users\Agone\Source\work\comikey\banagher""
    0	    11	 30204	         console-window-host (Windows internal process)
    0	     9	 32232	         "c:\Users\Agone\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\node_modules.asar.unpacked\vscode-ripgrep\bin\rg.exe"  --no-messages --vimgrep -H --column --line-number --color never --max-columns=1000 --no-config  -f "c:\Users\Agone\AppData\Roaming\Code - Insiders\User\workspaceStorage\33938f9b144b76f96ab13177c795021d\Gruntfuggly.todo-tree\2hbwjcffks.txt" -g "!**/node_modules" -g "!**/banagher/windows/**/*" -g "!c:\Users\Agone\Source\work\comikey\banagher\lib\helpers\platform.dart" "c:\Users\Agone\Source\work\comikey\banagher"
    0	     6	 32092	       "C:\Program Files\Git\cmd\git.exe" for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track) refs/heads/dev refs/remotes/dev
    0	    11	 28588	         console-window-host (Windows internal process)
    0	     0	 30500
    1	   469	 15708	   gpu-process
    0	    39	 25308	   utility
    7	   139	 30700	   shared-process
    0	    68	 13304	     ptyHost
    0	     7	 14368	       console-window-host (Windows internal process)
    0	    51	 26732	       "C:\Program Files\PowerShell\7\pwsh.exe"
    0	    88	 30924	     watcherServiceParcelSharedProcess
    0	    92	 31528	   window (Issue Reporter)
    0	     7	 32724	   "C:\Program Files\Google\Drive File Stream\<IP_ADDRESS>\crashpad_handler.exe" --database=C:\Users\Agone\AppData\Local\Google\DriveFS\Crashpad --url=https://clients2.google.com/cr/report "--annotation=application=Code - Insiders.exe" --annotation=prod=DriveFS --annotation=ver=<IP_ADDRESS> --initial-client-data=0x15b0,0x15a4,0x1574,0x1594,0x1558,0x7ffce569f820,0x7ffce569f830,0x7ffce569f840

Workspace Info
|  Window (series_list_sort_section.dart - banagher - Visual Studio Code - Insiders)
|    Folder (banagher): 10689 files
|      File types: xml(2133) json(1217) flat(1056) svg(308) class(294)
|                  jar(219) png(178) dart(156) txt(126) len(123)
|      Conf files: cmake(12) sln(6) github-actions(1) launch.json(1)
|                  tasks.json(1)
|      Launch Configs: dart(4);

Thanks for the feedback. Actually also I find Blockman slow generally, but not as slow as unusable. It was like 20 times slower initially, but I implemented as many optimization algorithms as I could. Currently I'm also trying to find another optimization tricks. Maybe you or anyone interested can help me with some new ideas.
Also, can you provide more specifically, how Blockman seems slow? For example, when I am typing, sometimes the editor freezes for half a second, because Blockman is trying to re-render blocks. And when I switch between file tabs, VSCode API automatically clears the blocks if the file is no longer visible on screen. But it does not clear them from memory. Blockman finds those trash blocks and deletes them, but if you jump between tabs too quickly, then the VSCode API behaves abnormal and the extensions lose access to the trash blocks, so it becomes impossible to clean the memory in such cases. But Blockman detects such events and now I'm going to implement a code that will make a clean restart of Blockman 3 minutes after such event, so the memory will not get too leaked (I hope so).
There is also one important thing:
The file analyzation process is very instant, even if the file has 5 thousand lines, but it takes time to render/rerender blocks based on the analysis. And the rendering function is setDecorations which is part of the VSCode API, and this function behaves slow and I cannot change the source code of the VSCode API.
Well, the indent-rainbow extension also uses setDecorations function, but it renders just a solid color. Blockman renders complex HTML element like this:
const lineDecoration = vscode.window.createTextEditorDecorationType({
        before: {
            // rangeBehavior: 1,

            contentText: ``,
            textDecoration: `;box-sizing: content-box !important;
                              ${borderCss}

                              border-radius: ${borderRadiusCss};

                              width: calc((${
                                  boxRightEdge - boxLeftEdge
                              } * (1ch + ${
                glo.letterSpacing
            }px)) - ${leftInc}px);
                              height: ${specificHeight}px;
                              position: absolute;
                              z-index: ${zIndex};
                              top: ${top}px;
                              left: calc((${boxLeftEdge} * (1ch + ${
                glo.letterSpacing
            }px)) + ${leftInc - borderSize}px);
                              ${backgroundAndBorder}
                              `,
            // padding: 100px;
        },
    } as vscode.DecorationRenderOptions);

and such HTML div must be rendered on each line, actually several divs on each line, and mostly rerender on each change event of the text.

Also you can play arount the optimization settings of Blockman. For example
set 2 or 3 seconds in:
N28 Time To Wait Before Rerender After Last Change Event
default is 1.2 seconds. Well, more time means less frequent updates, but will have less CPU load.
set 2 or maybe 5 or 10 in:
N31 Render Increment Before And After Visible Range
default is 22. With less number, scrolling becomes less comfortable but will have less CPU load.

I may have exaggerated my inconveniences. When I say that it's lagging, I mean that it's not able to keep up with me. ADHD things, I suppose. I hop around a lot. The files I use currently are never more than 3 digit lines long.  And it gets worse the longer my session is due to the aforementioned memory leak.
I'll keep trying to tweak around with the settings, but I should note that this extension is hard to live without in my environment (Flutter). And ideally it would be great to have the max depth at 20 if not more. But even at ground level it's super useful. But currently I have to keep it at 3 or else the lags start to get unbearable.

No debouncer?

No point of using debouncer, because we need each div for each line, we don't want to lose any of them, otherwise blocks will not appear as full blocks.
Yesterday I investigated deeper into the performance, and found out that rendering is not a significant factor of slowing down. In fact, rendering is fine. I'm also going to make rendering even faster and with better handling of memory leaking. It turns out that finding brackets (curly, square, round) is the main performance degrader. Finding tags (HTML, XML, TSX) is very fast even for 20k lines, also finding Python indentations is very fast. Finding brackets seems like 2-3-4-5 times slower sometimes.
The VSCode team implemented native bracket finding feature in VSCode, it works very fast, and maybe soon they will give extensions access to the API of getting the locations of those brackets.

I see. Looks like you're on top of things, so I'll close this issue and do what I can to mitigate things on my end (using your suggestions above did yield some positive results).

Good news, I discovered a great optimization trick in VSCode API. Basically, I can reuse most (like 90%) of the line blocks for rendering (In version 1.2.16, new HTML div is being created for each line, so it's very slow), so in new version, only about 10% of the HTML divs will stress the CPU. Already tested it successfully. I'm not totally sure, but I am like 95% sure that the final code will be much faster. I'm going to release the new version soon, maybe tomorrow, or maybe the day after tomorrow.

Good news, I discovered a great optimization trick in VSCode API. Basically, I can reuse most (like 90%) of the line blocks for rendering (In version 1.2.16, new HTML div is being created for each line, so it's very slow), so in new version, only about 10% of the HTML divs will stress the CPU. Already tested it successfully. I'm not totally sure, but I am like 95% sure that the final code will be much faster. I'm going to release the new version soon, maybe tomorrow, or maybe the day after tomorrow.

My god, you beautiful soul. Watching every move, sir.

Did some more deep investigations, the rendering of HTML blocks now seems like 2-3 times faster with the new optimization trick. But turns out that the HTML rendering always was under 0.07 seconds (with default Blockman settings), and so it is not as much a performance problem as the analyze (finding brackets, finding tags, finding python indentations) process.
But even though the speed gain is small with the new rendering optimization, I think it will help the entire code to be more stable, less buggy and less lagging, because the new rendering optimization made the entire code simpler and much smaller.
I will release new version of Blockman these days.
.
.
.
So, I did some performance tests:
PC: 32 GB RAM, AMD Ryzen 7 2700X 8-Core CPU 3.70 GHz, Windows 10 64bit OS.
Blockman: N22 Analyze Curly Brackets = true
Blockman: N23 Analyze Square Brackets = true
Blockman: N24 Analyze Round Brackets = true
Blockman: N25 Analyze Tags = true
Blockman: N26 Analyze Indent Dedent Tokens = true

Blockman: N31 Render Increment Before And After Visible Range = 30

Measured with console.time() and console.timeEnd()
Time results are written as approximate average.
Files are tested with 10,000 lines and 1,000 lines.

With Blockman 1.2.16
One render takes about 0.05 seconds.
Analyzer (finding brackets, tags, python indentations) function is the same as in Blockman 1.3.0 (not yet released).

With Blockman 1.3.0 (not yet released)
One render takes about 0.02 seconds.

Yaml file:
    analyze: 0.70 seconds (10,000 lines), 0.06 seconds (1,000 lines)

CSharp file:
    analyze: 1.40 seconds (10,000 lines), 0.15 seconds (1,000 lines)

TSX file:
    analyze: 1.60 seconds (10,000 lines), 0.17 seconds (1,000 lines)

JavaScript file:
    analyze: 2.70 seconds (10,000 lines), 0.28 seconds (1,000 lines)

Python file:
   analyze: 10.70 seconds (10,000 lines), 0.86 seconds (1,000 lines)

As you can see, the analyzer of Python turns out to be the slowest.
But I guess all the others are fine, because it's rare to have a file with more than 2,000 lines, and they seem kinda fine for a 1,000-2,000 line file. And Python also seems fine for a 500-1,000 line file.
So, for the future, I will continue researching about the parsers of Python, JavaScript, TSX, CSharp, Yaml and more languages.
The analyzer function of Blockman is using many parser/tokenizer libraries, I cannot think of making them myself, because it takes super high knowledge and maybe months to build a good parser of any language.
So, maybe these parser/tokenizer libraries have some kind of options to optimize the parsing/tokenizing process.

It's interesting that brackets heavy langs like C# and TSX are the mean, while indentation heavy languages like Python and Yaml have such contradictory results.
And I can't help but notice that Dart (my primary language, which is extremely brackets heavy) is missing from your test samples.
Would be happy to help you beta test the unreleased version.

notice that Dart (my primary language, which is particularly brackets heavy) is missing from your test samples

I updated the test samples with this:
Dart file:
    analyze: 0.90 seconds (10,000 lines), 0.09 seconds (1,000 lines)

indentation heavy ones like Python and Yaml have such contradictory results

Maybe because Yaml is not a programming language, it's just an object structure language like JSON, so it does not have many features to parse. But Python has many many programming features, but 10 seconds for 10,000 likes is still too much I guess. Maybe the parser of Python checks some extra things too, which are not needed much in a real work Python environment, so maybe I can disable them if they exist.

Maybe because Yaml is not a programming language, it's just an object structure language like JSON, so it does not have many features to parse. But Python has many many programming features, but 10 seconds for 10,000 lines is still too much I guess. Maybe the parser of Python checks some extra things too, which are not needed much in a real work Python environment, so maybe I can disable them if they exist.

Makes sense.

I updated the test samples with this:
Dart file:
    analyze: 0.90 seconds (10,000 lines), 0.09 seconds (1,000 lines)

This is a surprisingly good result. Maybe it would look different for a Flutter one? The level of nesting in dart in Flutter is much different from vanilla dart.

You can upload any kind of code in Github Gist and send the link here, and I will test it. Even if the code is only 100-200 lines, I can just copy paste many times so it becomes 10,000 lines.

I made a 10k syntactically valid but ugly copy-pasted Flutter code from Vandad's latest issue.
Here: https://gist.github.com/Agondev/c1f5315c64af0a0119b9b594eb5d6aca
But also interestingly, while making it, my vscode etensions manager crashed, and led to this cpuprofile file creation: https://drive.google.com/file/d/1BhdHm2WbV9xvzf4L80xCRlls76nmgrK8/view?usp=sharing
Here's an interesting snippet from it:

With that file (Dart, 10,000 lines, extremely deeply nested), analyze time is about 1.10 seconds.
With max-depth 20
render time is about 0.03 seconds.
With unlimited max-depth
render time is about 0.06 seconds.
The file is very deep nested, it's like 100 level depth, even without Blockman, it feels slow to work with such files.
Does anyone really work with such deep level nesting in real world working environment?

Oh no, It's intentionally exaggerated with nesting. Usually the nesting is limited to like 10-20 deep, unless some junior dev is feeling extra courageous.
Here's an example of a current real world file with nesting as deep as I let it get before I break it into components:

So roughly 30 tabs, max. Which in this case is 23 brackets deep.

I just released the new version (1.3.0) of Blockman. I have a big expectation that now it is more stable, more performant, less laggy. I will continue researching the speed optimizations of parsing process, especially for Python. This issue (N50) can stay open before some more large scale optimizations happen.
[1.3.0] - 2021-11-10

Added ability in Blockman settings to choose preferred color combos for Dark, Light and High Contrast theme kinds.
Borders now support gradient value too, e.g. linear-gradient(to right, red, blue)
Added two color combos with gradient borders (Super gradients)
Large changes made on the peformance optimization structures

Awesome! I'll be testing it in the coming days.

@leodevbro So I've been testing it for the past ~6 hours. I should note that right after your last update I installed it, changed some settings, closed the IDE and haven't touched it for a day. Now that I've played around with it for hours, I just checked the options again didn't notice or forgot that I set N03 to 20. So this whole time it was set to max value and hasn't stuttered at all, which means you must have also fixed the memory leak issue because it should have started stuttering, but hasn't.

Startup time went down from ~2-2.5 s to 250 ms. That's up to 90% reduction!
N28 was set to 3 and N30 to 10, per your suggestion in the 1st reply. Will attempt to revert those back to default now for further testing.
Overall, preach! Methinks this issue can already by safely closed, sir.

Very cool, for me, the startup time was 921ms, but I guess it's not a big deal even if it is 3 seconds or more. The big deal is how it performs during working process. I'm glad it performs better in your environment. I suggest to test it for several days more, and if we notice no degradation of speed, then we can close this issue.


Hero Banner Module

This ticket is for having a Hero Banner module which is like this image:

There should be an option for this component to align the text left, right or centre.
Text button is optional too.
This is issue is simply for the frontend component, but component has to work with props so that it can be rendered multiple times

another example:

I can see in the application that the text  and the Learn More Button are outside  outside  of the image.is that expected?

@KhesiweDube Thank you for reviewing.
No, it should not be in this way
we will fix it ASAP


Enhance server port_profiles

Issue Type

Template enhancement
Role enhancement

Is your feature request related to a problem? Please describe.
Today port-profiles are used to define switchport mode, vlans etc.
For a large setup with many vlans it will become very messy to have to have separate port-profiles for each vlan.
Describe the solution you'd like
This feature request is to allow port-profile settings to be overridden on the adapter level of the server.
So port_profiles are inherited in the same way as svi_profiles and device defaults.
At the same time it would be nice to add speed knob, port_channel mode and port_channel state to port-profile.
Describe alternatives you've considered
Additional context

Fixed by #615

Fixed by #615


Development

dvolperset

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

Pretty sure this is a spam PR from a 10 hour old account.
Since this project uses the gitflow process, I'm not going to merge dev into master.
Nope. Nope. Nope.


Create a data backup process

I'd like to wipe out my application settings and reinstall... but I'd like to preserve my Dat archives. Is this possible?

I do not understand how Dat deals with dat ownership, but as best as I can tell using Beaker Browser, Dat Desktop, and dat CLI, you cannot make edits to a dat from anywhere except the initial dat folder. I tried simply moving the secret key out of Archives/Meta into ~/.dat/secret_keys, but it seems dat's know if they are the origin or a clone.
If it's possible, it would be cool to be able to export a site created in Beaker for other dat clients so that editing was still possible. I'll keep reading up on Dat in the meantime. Thank you for the walkthrough, @pfrazee!

@maccelerated yeah we need to make this easier. The reason we haven't yet is that it's possible to fatally corrupt your Dats right now if you write from multiple processes. Not good. I'm exploring ways we can fix that in the long term, but for now just be careful using this process.

Thank you for the warning.

Is this issue solved with the shortly coming multi-author dat stuff? :) maf's stuff, etc

Multi-author (aka Multiwriter) will solve this problem. Rather than copying private keys between your devices, you'll add each device as an owner over the dats. That way corruptions cant occur and you have total control with each device.

@pfrazee I'm wondering what the latest multiwriter status is? I saw Jim Pick's Shopping List at  with the @mafintosh HyperDB mutli-writer updates ...just wondering how mature this all is now?  I'd definitely want to be able to update Dat from anywhere also, not just the origin folder / machine. Thanks!

@DougAnderson444 That initial tech demo has been iterated a lot since then. There's going to be a string of tech updates over the next 6 months, and I expect multiwriter will land at the end of summer.

it's possible to fatally corrupt your Dats right now if you write from multiple processes.

Yikes. Until the updates are done, does that mean we should avoid using the process cited here for moving dats
(original) dat keys export - copy the secret key printed out.
(duplicate) dat keys import - this will prompt you for the secret key, paste it in here.

...or simply proceed with caution, as in, don't try to write from two places at the same time.

@DougAnderson444 It's a tricky situation. You need to avoid writing from 2 places at once, and if you restore from backups you risk overwriting history if your data isn't 100% up-to-date. One of our bigger issues.

Multi-author (aka Multiwriter) will solve this problem. Rather than copying private keys between your devices, you'll add each device as an owner over the dats

@pfrazee How about use case when your device has died, but you still posses private/public keys and want to restore your ownership. Would it be possible with multiwriter? Or what would be better approach?
Thank you.

@alexindigo It would make a lot of sense to appoint backup nodes (home devices, cloud services, etc) which you can restore from. They would ensure you refetch all of the data before you write again, avoiding any potential for corruption.

@pfrazee I understand there are different avenue to solve certain problems, but in the same time there are use cases, where backup (data restore) outside of dat realm isn't available. For the example sake, imagine journalist with a burner phone somewhere in a remote country, their phone got repossessed and they did memorized their passphrase. And since their dat data available among their peers, it could be easily refetched to the new device, all they need is just to get back control over it. Just a hypothetical scenario :)

And since their dat data available among their peers, it could be easily refetched to the new device, all they need is just to get back control over it. Just a hypothetical scenario :)

If you can read the whole data, imo it's OK. You can clone the existing dat archive and you get a new access key. ... You just can't use the old dat address.
If you did a backup of the private key you can even restore access. So it's only 1 additional file, that you need to save to a safe place.

@alexindigo I don't think what I described runs counter to that. So long as you can fetch the latest state of the dat and restore the private key on your device, you're in business!

@pfrazee I see. Thanks a lot for the explanation. I got confused by initial comments, it looked like multi-writer is the only way to achieve "backup" functionality. Thank you.

Hey, what is the current process for migrating ownership?
I can't find the path to user data in settings, only the default working directory for projects, in Beaker Browser's settings. I'm looking for the read and write keys mentioned in the docs. The Archives/Meta folder containing the project, I have.

So I've copied Profiles into a backup folder, from both my new & old computers. I intend to replace the new with the old, but I have been using Beaker on my new browser, so I'm backing it up.
I'm also copying all of Archives/Meta right now. So once that's finished (windows just bumped the estimate up to 23 hours...), if I copy the old Profiles over to the new computer's Beaker Browser, I'll have edit control? And the couple of dats I seeded on my new computer won't be overwritten by copying Meta's contents, so I'll still have those? They don't have any more peers except me. :(

@krisradio We don't have an official process because currently the protocol doesn't support writes from 2 different devices. There's a chance you can corrupt the data if that happens, so just be sure not to run Beaker from the previous device.
We're looking at how to improve the protocol so that multiple devices won't corrupt the data.

Previous device has been reformatted as a backup drive, so there's no chance of that.
I understand multiwriter support is still in progress, I just wanted to share my process for anyone else... I accept no liability!

The process of restoring with only the profiles sqlite database no longer seems to work in Beaker beta.7. When I start the app, it still starts with the "Create a profile" intermediate wizard. @pfrazee  Is there a way to start Beaker making it think the profile was already set? I saw in the sqlite dbs some entries, but didn't manage to set the right flags I think.


argumet types not specified

The prototype is written like macro declaration in source code rather than for documentation. Please correct it and specify the argument type also as part of the prototype.

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

ID: 831fb347-ca21-4bca-a0c1-a1dd4b0155ec
Version Independent ID: b1ecd8b4-dfc0-7564-b6ec-88407ff1ad37
Content: KeAcquireSpinLock macro - Windows driver
Content Source: wdk-ddi-src/content/wdm/nf-wdm-keacquirespinlock.md
Product: windows-hardware
GitHub Login: @EliotSeattle
Microsoft Alias: windowsdriverdev

Also parameter names should be meaningful rather than a and b.

Hi @gsudhakar1234 thanks for spotting this.  I've got the arg names in now and just pushed a fix that I think will add the types, should be live within the hour


Add description for changing column name

Summary by CodeRabbit

Documentation

Added guidance on changing column names in Golang struct tags to adhere to naming conventions, with a focus on handling acronyms.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 66.358%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
716

Relevant Lines:
1079

💛  - Coveralls


Permission denied errors with github repo references in transitive deps

I am trying to use dependabot on our project which uses pnpm.  For most PRs, everything works great.  Specifically with dependabot PRs though ... we get the error referenced below.  Here is an example run:
https://github.com/discord/embedded-app-sdk/actions/runs/8651044410/job/23720870382?pr=115
It appears that this is specifically a problem with https://github.com/uNetworking/uWebSockets.js, which is not available on npm.  The package https://www.npmjs.com/package/@colyseus/uwebsockets-transport pulls it in as a dependency using a relative github path:
https://github.com/colyseus/colyseus/blob/master/packages/transport/uwebsockets-transport/package.json#L10
At first I thought it was an issue with PRs from accounts that don't have write access ... but we have PRs from other external contributors where CI appears to work fine.  What in the world is going on here 😆
Progress: resolved 1109, reused 0, downloaded 223, added 216
 ERROR  Command failed with exit code [12](https://github.com/discord/embedded-app-sdk/actions/runs/8651044410/job/23720870382?pr=115#step:5:13)8: /usr/bin/git clone git@github.com:uNetworking/uWebSockets.js.git /home/runner/setup-pnpm/node_modules/.bin/store/v3/tmp/_tmp_1813_28694926017d535a86eb55866da40083
Cloning into '/home/runner/setup-pnpm/node_modules/.bin/store/v3/tmp/_tmp_18[13](https://github.com/discord/embedded-app-sdk/actions/runs/8651044410/job/23720870382?pr=115#step:5:14)_28694926017d535a86eb55866da40083'...
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

pnpm: Command failed with exit code 128: /usr/bin/git clone git@github.com:uNetworking/uWebSockets.js.git /home/runner/setup-pnpm/node_modules/.bin/store/v3/tmp/_tmp_1813_28694926017d535a86eb55866da40083
Cloning into '/home/runner/setup-pnpm/node_modules/.bin/store/v3/tmp/_tmp_1813_28694926017d535a86eb55866da40083'...
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
    at makeError (/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@8.[15](https://github.com/discord/embedded-app-sdk/actions/runs/8651044410/job/23720870382?pr=115#step:5:16).6/node_modules/pnpm/dist/pnpm.cjs:27828:17)
    at handlePromise (/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@8.15.6/node_modules/pnpm/dist/pnpm.cjs:28399:33)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async gitFetcher (/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@8.15.6/node_modules/pnpm/dist/pnpm.cjs:117537:11)
    at async fetcher (/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@8.15.6/node_modules/pnpm/dist/pnpm.cjs:130171:[16](https://github.com/discord/embedded-app-sdk/actions/runs/8651044410/job/23720870382?pr=115#step:5:17))
    at async run (/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@8.15.6/node_modules/pnpm/dist/pnpm.cjs:129636:23)

This may be a duplicate of https://github.com/npm/cli/issues/2610, if you're using any of the same underlying libraries 🤔


Square SDK is unusable in Cloudflare Workers

Describe the bug
Attempting to use the Square SDK in a Cloudflare Workers environment will throw the following error:
TypeError: adapter is not a function
    at module.exports (C:\Users\Jen\Dev\hive23.com\node_modules\axios\lib\core\dispatchRequest.js:53:10)
    at Axios.request (C:\Users\Jen\Dev\hive23.com\node_modules\axios\lib\core\Axios.js:108:15)
    at HttpClient2._axiosInstance (C:\Users\Jen\Dev\hive23.com\node_modules\axios\lib\helpers\bind.js:9:15)
    at HttpClient2.<anonymous> (C:\Users\Jen\Dev\hive23.com\node_modules\@apimatic\core\es\http\httpClient.js:189:20)
    at step (C:\Users\Jen\Dev\hive23.com\node_modules\@apimatic\core\node_modules\tslib\tslib.js:144:27)
    at Object.next (C:\Users\Jen\Dev\hive23.com\node_modules\@apimatic\core\node_modules\tslib\tslib.js:125:57)
    at C:\Users\Jen\Dev\hive23.com\node_modules\@apimatic\core\node_modules\tslib\tslib.js:118:75
    at new Promise (<anonymous>)
    at __awaiter (C:\Users\Jen\Dev\hive23.com\node_modules\@apimatic\core\node_modules\tslib\tslib.js:114:16)
    at HttpClient2.executeRequest (C:\Users\Jen\Dev\hive23.com\node_modules\@apimatic\core\es\http\httpClient.js:159:12)

The root cause of this error is that the Axios library does not use fetch for network requests (which is required for Cloudflare Workers and other ServiceWorker-compatible environments). There is a feature request in Axios that has been open for a few years related to this: https://github.com/axios/axios/issues/1219
The error says adapter is not a function which is because the XMLHTTPRequest adapter is not available in a Cloudflare Workers environment. It might be possible to fix this bug by allowing users to pass their own adapter to Axios. Example of a fetch adapter for Axios: https://github.com/vespaiach/axios-fetch-adapter
Expected behavior
Square SDK is able to access payment APIs in a Cloudflare Workers environment.
To Reproduce
Steps to reproduce the bug:

Create a Cloudflare Workers function that initializes a Square SDK client
Call createPayment (or some other Square API) when the function is called
Error is thrown

Square SDK version
For example:  24.0.0
Additional context

Here's a Contentful.js bug caused by the same Axios issue: https://github.com/contentful/contentful.js/issues/395
Users that want to create Progressive Web Apps will also be affected by this bug, since PWAs use ServiceWorkers to fetch content.

From reviewing the SDK code I've realized that the unstable_httpClientOptions parameter for the Square Client is passed directly to the axios.create() function. This allows me to pass a fetch adapter like this:
const client = new Client({
  accessToken,
  environment,
  unstable_httpClientOptions: { adapter: fetchAdapter }
});

Unfortunately the fetch adapter provided by vespaiach/axios-fetch-adapter imports utilities directly from axios, which causes errors in a Cloudflare Worker. To fix this, I've made an alternate version without the axios dependency: @haverstack/axios-fetch-adapter.
Since it is possible to supply an adapter to the Square SDK, this issue can be closed.


Add file browser description and instructions on sharing a file

This pull request add documentation about the Datagrok's built-in file browser and explains how the user can share a file from the file browser.

Hi @AndSviat , thanks for the PR!
I suggest making it more granular. You may find there the logical groups related to aspects of the platform, such as discover or develop. We need to place the file-browsing-and-sharing.md with its corresponding png files under the relevant group. For example, access looks relevant. Also, we hold the images flat to the related file, unlike your /img location.
Please modify the PR (Just push more commits to your fork, the pull request should pick this up).

@AndSviat I also suggest making the png names s.t. they come along with their related file (png numbers go as a suffix, the file name without extension is a prefix of the png file name).


Don't re-raise errors during transaction use

Fixes https://github.com/typelevel/skunk/issues/905.
Errors are already being propagated through normal channels so it should not be re-thrown in a Resource's release block.

Codecov Report

Merging #906 (365de5f) into series/0.6.x (aad202b) will not change coverage.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##           series/0.6.x     #906   +/-   ##
=============================================
  Coverage         83.89%   83.89%
=============================================
  Files               126      126
  Lines              1757     1757
  Branches            154      165   +11
=============================================
  Hits               1474     1474
  Misses              283      283

Impacted Files
Coverage Δ

...dules/core/shared/src/main/scala/Transaction.scala
31.81% <0.00%> (ø)


-SkipCertificateValidatation does not seem to work

hi, i am executing this command:
Send-EmailMessage -to<EMAIL_ADDRESS>-From<EMAIL_ADDRESS>-Subject "test" -Text "test" -Server "mail.company.com" -port 25 -SkipCertificateValidatation

the cert on port 25 does NOT match "mail.company.com" but i am using the -SkipCertificateValidatation switch....this is what i get:
WARNING: Send-EmailMessage - Error: Exception calling "Connect" with "3" argument(s): "An error occurred while attempting to establish an SSL or TLS connection.

The host name did not match the name given in the server's SSL certificate.
"
WARNING: Send-EmailMessage - Possible issue: Port? (25 was used), Using SSL? (Auto was used). You can also try SkipCertificateValidation or SkipCertificateRevocation.

Status        : False
Error         : Exception calling "Connect" with "3" argument(s): "An error occurred while attempting to establish an SSL or TLS connection.

                The host name did not match the name given in the server's SSL certificate.
                "
SentTo<EMAIL_ADDRESS>SentFrom<EMAIL_ADDRESS>Message       :
TimeToExecute : 00:00:00.0235829
Server        : mail.company.com
Port          : 25

so, why is this happening?  Am I doing something wrong?
thanks

It was also reported in:

https://www.reddit.com/r/PowerShell/comments/1cbzfg8/mailozaurr_is_a_powershell_module/

Seems this PR:

https://github.com/EvotecIT/Mailozaurr/pull/42

Broke it. @jborean93 do you think I should revert back?

I'm unsure why it wouldn't work, it looks like v3.2.0 is the version of MailKit that is used and the code that calls this callback is
https://github.com/jstedfast/MailKit/blob/77eb92573cec5b38bafb3a1ebdd819693ac4162f/MailKit/Net/Smtp/SmtpClient.cs#L528-L551
It's the same place that also checks the [Net.ServicePointManager]::ServerCertificateValidationCallback so both should work. Maybe pwsh class inheritance is causing problems with the type where property isn't set but that's a stretch. I don't have a mail server to test it out currently sorry so up to you if you wish to revert or investigate why the property doesn't work.


batchRetrieveOrders returned an error Error: The response did not match the response schema.

Running batchRetrieveOrders doesn't work approx 30% of the time.
The following output is given by the sdk.
Given value: {"location_id":"REDACTED","amount_money":{"amount":5,"currency":"USD"},"receivable_id":"REDACTED"}
Type: 'object'
Expected type: 'Lazy<Object<{locationId,description,amountMoney,receivableId}>>'
Path: orders › 37 › refunds › 0 › additional_recipients › 0

Can you share a code snippet on how you're calling it? So far I'm unable to replicate this error. Can you also share an order_id so I can take a look at what exactly is being returned?

Here's the response that includes the call since 8.0.  This has been
happening since 8.0 when I first reported it- it's still happening in 9.1.
{"error":{"request":{"method":"POST","url":"https://connect.squareup.com/v2/orders/batch-retrieve","headers":{"user-agent":"Square-TypeScript-SDK/8.0.0","content-type":"application/json","authorization":"Bearer
REDACTED","Square-Version":"2020-12-16","accept":"application/json"},"body":{"type":"text","content":"{"location_id":"HPK6YH0WJWSZ5","order_ids":["d7iHF61AoqfgDNbgwNSLnnreV","ZP7KJL0b4RSMqAzoy0Hetu7eV","DM3yPdeKzEW9m2xav0dR4eweV","zWf7zjTx3umPl1r1aL4juAiYFa4F","FlL6H8RNv0i48OoOvA7dqVweV","9DX78WLIxPlvWGKKHawpgQqC9e4F","h7SDofeVd5YJ4YSb2tv7AL7sGa4F","x79r9JvR8qzeoTtSU9Ayks5eV","T2nTZc8mFJDAvLpxCNuyy0n7yb4F","VNU8JyjnfitIOT8iKYB584Este4F","BNeD6dIfL8Aqzk2CcwabwFoeV","9VOotJ3JTcwEKl8wlhfXk4tmpZ4F","n2DmXgqQBUldWNqW0KgEtMfeV","JVVRRQHdJ9J49xNJwddO2WaOjb4F","LQDAz1CQQR433kwD2CA8oOoeV","vysQEWztSPuVkKqlg1Ddxbvvye4F","53Rd89G3n8u9i8FOFtgAM1xeV","ZrCuwngSs55z0deyCgiHhYIkfa4F","dB9bR8Ey0vnhGRnmQb9MskueV","jWZad31MetPQEGdNHRNEcksglb4F","Deckh5KwW76d5fUM7HE9qb6eV","FNYUf7jMazZcr5HAWwswc9R0ta4F","tx9ZB8xK4RkszYAS3bhrZI9eV","rehxfnng1ahLd3rLGZXn5v8tUd4F","hTdf94kMo4jNR4jyUpzXegAfV","dDdsjzYNeeu0WlPAPkiJgmdrdd4F","fmiqbm5lHk5gQI7o4L5ZW4uW0Z4F","TYRqJPS6GRgbUmxCxPKJfgseV","pV7eQqrN8w6WJFDryqkrEZgOvf4F","ljxP5cHf52DTvYel64hjvfjGvh4F","dzJkg6QOGsrnkKOnKvzl3VCl7h4F","f2NssKALBgetwsh2s8vJxomeV","lLfIrIYRbbUr8K2yZjgrxKE6Me4F","nY3fgP1IPWjioPSVOes3Gta4ph4F"]}"}},"statusCode":200,"headers":{"date":"Tue,
05 Jan 2021 18:51:38
GMT","frame-options":"DENY","x-frame-options":"DENY","x-content-type-options":"nosniff","x-xss-protection":"1;
mode=block","content-type":"application/json;charset=utf-8","square-version":"2020-12-16","vary":"Accept-Encoding,
User-Agent","content-length":"76652","strict-transport-security":"max-age=631152000;
includeSubDomains; preload","connection":"close"},"body":"{"orders":
[{"id": "d7iHF61AoqfgDNbgwNSLnnreV","location_id":
"HPK6YH0WJWSZ5","created_at":
"2020-12-17T22:28:30.000Z","updated_at":
"2020-12-17T22:28:30.000Z","state":
"COMPLETED","total_tax_money": {"amount": 0,"currency":
"USD"},"total_discount_money": {"amount": 0,"currency":
"USD"},"total_tip_money": {"amount": 0,"currency":
"USD"},"total_money": {"amount": 0,"currency":
"USD"},"closed_at":
"2020-12-17T22:28:31.000Z","total_service_charge_money":
{"amount": 0,"currency": "USD"},"returns":
[{"source_order_id":
"ZP7KJL0b4RSMqAzoy0Hetu7eV","return_line_items": [{"uid":
"4EFB34EC-9764-4DE0-B4ED-83C767838286","source_line_item_uid":
"B4709840-E34C-469D-9923-A41F4D8D0992","name": "Classic
Black","quantity": "1","catalog_object_id":
"AQFIPTHRMS4PCUVMHIA5MC3G","variation_name": "24
oz.","item_type": "ITEM","return_modifiers": [{"uid":
"DE90774A-3FA1-4ADD-AFC1-26BEF9CB8E02","catalog_object_id":
"ELHEKJUZDB4ZBUFQF77W2B37","name": "Cold","base_price_money":
{"amount": 0,"currency": "USD"},"total_price_money":
{"amount": 0,"currency": "USD"}},{"uid":
"0AB8CB0F-C590-4B12-AD33-B0BD918E1B86","catalog_object_id":
"IJ2EUD7ZUUYJDEADVITGPJGV","name": "Boba","base_price_money":
{"amount": 50,"currency": "USD"},"total_price_money":
{"amount": 50,"currency": "USD"}}],"applied_taxes": [{"uid":
"CF71CFB6-CDC4-447B-8A5D-5C5423125B14","tax_uid":
"E0AB051C-A7CA-48F1-A8CE-
On Tue, Mar 23, 2021 at 9:46 AM Stephen Josey @.***>
wrote:

Can you share a code snippet on how you're calling it? So far I'm unable
to replicate this error. Can you also share an order_id so I can take a
look at what exactly is being returned?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/square/square-nodejs-sdk/issues/23#issuecomment-805058926,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADGA5T6IIX4FDYXJZBHDNO3TFDAXZANCNFSM4ZVRLQTQ
.

Hi!  Is there any update on this?

Hi @jjc235
It's been a while, and just wondering if this issue is still persisting for you on more recent SDKs?
In the future I would recommend that you post questions on our Developer Forums instead, as these forums are monitored by Square employees, and response times are within 48 hours.


The generated subscriptions are missing the key.  Msg: not supported through the realtime channel

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
14.18.1
Amplify CLI Version
7.6.22
What operating system are you using?
Mac
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
none
Amplify Categories
api
Amplify Commands
Not applicable
Describe the bug
type Version, does not appear to be generating the correct subscription code.
Here is my type definition
type Version
  @model(timestamps: null)
  @auth(rules: [
                {allow: groups, groups: ["cognitoUsers"]}
                {allow: groups, groups: ["cognitoAdmins"]}
                {allow: public}
               ])
{
  id: ID!
  apiVersion: Int!
  updatedUtc: String
}

in subscriptions.ts this is the generated code, please note I can not pass in the ID
export const onCreateVersion = /* GraphQL */ `
  subscription OnCreateVersion {
    onCreateVersion {
      id
      apiVersion
      updatedUtc
    }
  }
`;
export const onUpdateVersion = /* GraphQL */ `
  subscription OnUpdateVersion {
    onUpdateVersion {
      id
      apiVersion
      updatedUtc
    }
  }
`;
export const onDeleteVersion = /* GraphQL */ `
  subscription OnDeleteVersion {
    onDeleteVersion {
      id
      apiVersion
      updatedUtc
    }
  }
`;

The getVersion function was generated properly
export const getVersion = /* GraphQL */ `
  query GetVersion($id: ID!) {
    getVersion(id: $id) {
      id
      apiVersion
      updatedUtc
    }
  }
`;

Here is a picture of the definitions generated in the AppSync documentation

I have also tried changing the type name to ApiVersion in case Version was a reserved word.  Same bad result.
Expected behavior
I expected the subscription to be generated in a way that I could specify the ID that I wanted to watch.  Much like onPageUpdate in the image above
Reproduction steps
paste schema supplied above
amplify push api --y
try to use the AppSync console to work with your subscriptions
GraphQL schema(s)

# Put schemas below this line
type Version
  @model(timestamps: null)
  @auth(rules: [
                {allow: groups, groups: ["cognitoUsers"]}
                {allow: groups, groups: ["cognitoAdmins"]}
                {allow: public}
               ])
{
  id: ID!
  apiVersion: Int!
  updatedUtc: String
}

Log output

# Put your logs below this line

Additional information
No response

Hey @jon144 :wave: thanks for raising this! This appears to be a miss in our docs for the new transformer (v2) which I have documented herehttps://github.com/aws-amplify/docs/issues/4084. The legacy docs for setting up custom subscriptions can be found here https://docs.amplify.aws/cli-legacy/graphql-transformer/examples/#filter-subscriptions-by-model-fields-andor-relations. In short, can you try to set up a custom subscription as shown below, then run amplify api gql-compile && amplify codegen statements to use the new subscription?
type Subscription {
  onUpdateTodoByID(id: ID!): Todo @aws_subscribe(mutations: ["updateTodo"])
}

Closing due to inactivity

@josefaidt  Does you answer mean, that the error message has something to do with the way the subscription is defined?


Clean up PWA declarations and resources

Remove site.webmanifest & apple-touch-icon.png, which aren't being used.
Consolidate the assets, and settle on logo{192,512}.png being the canonical resource. Use this in the new manifest.
Set a theme colour of #2185D0 (the blue colour used in the progress bars)

Hi Nicolas, some small changes for your consideration.
I deployed to the following page to verify everything still works:
https://vaccine-tracker-staging.peter.sh/
The following is now shown when adding the page to the homescreen, both on iOS and Android (previously it showed the React logo, titled "React App"):
https://static.peter.sh/stuff/vaccine-tracker-a2hs.png
Some colour is now used in the address bar when using a Chromium-based browser:
https://static.peter.sh/stuff/vaccine-tracker-theme-colour.png
Most happy to add that for Safari as well, although I took some creative liberty in picking a colour and that's your decision :).

Thank you so much for taking the time to help with this @beverloo! I need some kind of contributor section on the website.
Always thought I would have time to properly sit down, clean the code, and finish a few of the last details off. Hopefully this will be the case soon. I am not a front end dev, and everything takes longer than it should.
Thanks again for your contribution!

No problem at all! The main reason that I like your tracker is that it focuses on concise display of data, and does a great job at that. No need to have a contributors section intrude on that on my account.


miss_feature--PDI--pack_and_unpack_data

In GitLab by @bsteinb on Mar 13, 2017, 16:32
SIONlib does not have a concept of datatypes; its read and write functions have signatures similar to fread() and fwrite() in the C standard library. For the SIONlib plugin, I would go with a strategy where sparse data is packed into a buffer before it is written to disk. Similarly, upon reading, the data would be moved out of the file, into a dense buffer and then unpacked into the sparse buffer in the application. I noticed that there is already a "pack" function (sparse -> dense) called tcopy(). However, it is not exported to the plugins as far as I can tell and there also is no "unpack" function (dense -> sparse). I think it would make sense for the core library to provide these functions to the plugins.

Pehaps the best would be to refactor the tcopy function to take 2 types in parameter: source type and destination type. We would then need to add a second function that generates the dense type from a sparse one.

Indeed making this function available to plugins would be a good idea.
Didn't you have something like that in progress @Roussel-C ?

In GitLab by @Roussel-C on Mar 15, 2017, 10:01
Indeed, I agree with Julien regarding the features. If they are not natively provided by the library than we should provide them in some way.

In GitLab by @Roussel-C on Mar 15, 2017, 12:07
Ok. Following the previous comment I think it should be better to have one function that do a copy no matter if the data is sparse or dense and an other that perform optionally copy if required... Ok for you ?
And I will move tcopy and do_copy into utils.c (currently in datatype.c but declared in utils.h).

In GitLab by @Roussel-C on Mar 15, 2017, 10:17
Since the function was not available to plug-in I (wrongly) assume that there was a reason...
So:

a plug_in that provides a function to export buffer already exists (utilities, I think it was not merged to master).
@jbigot : I will switch (internally to the plug-in) to the do_copy version for copying data.

I will add the opposite function in both PDI and in the plug_in.

On the other hand, SIONlib doesn't handle sparse data natively, so adding this feature to the plugin doesn't seem right to me in the long term. We had discussions with @Roussel-C and the conclusion was that this kind of additional behavior should manually be specified by the user in the YAML.
Support for that is not yet implemented however. So going with the plugin doing it until a better option is available sounds right to me.

regarding the packing, if the data is already dense, you should prevent from packing it as it would induce a useless memory copy
Maybe we should provide a function to detect that

@Roussel-C does what I say sound correct to you?

In GitLab by @Roussel-C on Mar 15, 2017, 14:32
Ok. Thanks.

In GitLab by @Roussel-C on Mar 15, 2017, 12:14
No no. It was what I meant so sorry if I was not clear.

In GitLab by @bsteinb on Mar 15, 2017, 15:08
This sounds reasonable to me. It would still require a function to detect whether a datatype is dense/contiguous.

I think tcopy is used in PDI core. The core can not depend on a plugin, thus I think it should stay there, just be exposed with additional features offered by the plugin. Am I wrong?

@bsteinb yes you're right, actually error handling is not something PDI is very good at as of now as @Roussel-C can very likely tell you.
In fact, this kind of error could even be detected statically just by validating the YAML file, but better safe than sorry, having a dynamic check would't be expensive compared to an actual IO and could improve the user experience a lot.

Maybe specify in the SION plugin that only dense types are supported would be the best. Then the user can use your plugin @Roussel-C to explicitly go from sparse to dense.

second case: going back from the dense on-disk representation to the sparse in-memory representation.
If we try to make that general enough however we will recreate the whole HDF5 typesystem

In GitLab by @Roussel-C on Mar 15, 2017, 14:29
As a second though... I get the sparse->dense which simply consist of removing sort of ghost cells on the edge of the array. For the other case dense-> sparse I don't know what it means. The dense array is a subset of the sparse one , a sort of hyperslab? or is it the opposite of the previous operation i.e. the dense array is equal to the sparse one without the ghost zone?

In GitLab by @Roussel-C on Mar 31, 2017, 11:12
!63 is solving this issue.

In GitLab by @Roussel-C on Mar 31, 2017, 11:12
closed


Accept non-Haskell QuasiQuotes

Rather than throwing an error (thus making it impossible to use shm in a
function that has a QQ somewhere in it), instead just gracefully fail.
Ideally, the contents of the QuasiQuote would be one context contained
within the overall QQ, but I couldn't figure out how to do that.
Closes #116.

I think the build error is because the version of GHC on Travis-CI is too old.

Any chance of getting this merged in?  I'm dealing with a codebase that is rather liberal with its usage of quasiquotation for SQL and general string interpolation, and without this patch it makes it very difficult to hack upon.

Can you give me an example so that I can test this out? Generally SHM works well with quasiquotes.

I gave a sample one in #116.  Not specified in that one, but the interpolation syntax we use is $n for show n, $(foo n) for show (foo n) and ${bar n} for bar n (which evaluates to a String); I think it was the last one that caused problems.
(I can try and get a better example at work tomorrow if this doesn't provide enough of an example.)

I'm testing this out now.

I seem to come back to this from time to time and forget why it's not merged. Last I tried it, it introduced some other parser issue I think.


Add the spool name

Great software!
Do you plan to add arguments (spool name)?
All spools from this software are "document".
I would like to set the filename as the spool name.
thank you.

I'm open a PR if you want to add an additional (and optional) parameter UseFileNameAsSpoolName. If a setting like this would solve the request you have, of course.

Thanks you.

I'm adding the flag UseFileNameAsDocumentName as I believe you want to set the document name instead of spool name, right?

OK. Thank you.


both command for increase and decrease transparency not working

Hi, @sayanoops Are you testing the module in Linux OS?

yes


Added ripper for nhentai.net

Added new ripper for nhentai.net
Example gallery URL:
https://nhentai.net/g/170730/
Original request:
https://github.com/4pr0n/ripme/issues/8#issuecomment-241191639

Your request has been received, and will be implemented as the implementers have time to invest. No need to request in a separate issue from #8 as we'll just close request issues to keep things organized :)

Whoops, didn't realize this was a PR. Thanks!

Just wondering whether your sleep time was necessary to avoid rate-limiting or IP banning? Asking just because If it could be reduced to make the ripper faster that would be a better experience.
Otherwise, looks good!


arm: cortex_a_r: rom_start relocation configuration

This commit makes the rom_start relocation introduced in commit 8ef8e8b4974 available for Cortex-A/R CPUs.

I use Zephyr on a Zynq 7000 (Cortex-A9) PCIe Card and use remoteproc to communicate with the host (linux). This patch simplifies the kernel module. Otherwise a custom elf loader is needed, that copies the rom_start section to address 0x0.

cc @dbaluta @JiafeiPan


Even though the types match, the analyzer still reports a type mismatch, but there are no errors at runtime

Dart Analyzer keeps reporting an error type inconsistency, but it runs fine
e.g.:
The argument type 'ReminderType (where ReminderType is defined in C:\Users\11490\OneDrive - Student\Flutter\pomotimer\lib\common\enum\reminder_type.dart)' can't be assigned to the parameter type 'ReminderType (where ReminderType is defined in C:\Users\11490\OneDrive - Student\Flutter\PomoTimer\lib\common\enum\reminder_type.dart)'. (文档)
ReminderType is defined in C:\Users\11490\OneDrive - Student\Flutter\pomotimer\lib\common\enum\reminder_type.dart (reminder_type.dart:3).
ReminderType is defined in C:\Users\11490\OneDrive - Student\Flutter\PomoTimer\lib\common\enum\reminder_type.dart (reminder_type.dart:3).

A value of type 'Map<Phase, int> (where Phase is defined in C:\Users\11490\OneDrive - Student\Flutter\PomoTimer\lib\common\enum\attribute.dart)' can't be assigned to a variable of type 'Map<Phase, int> (where Phase is defined in C:\Users\11490\OneDrive - Student\Flutter\pomotimer\lib\common\enum\attribute.dart)'. (文档)
Map is defined in C:\Users\11490\flutter\bin\cache\pkg\sky_engine\lib\core\map.dart (map.dart:43).
Phase is defined in C:\Users\11490\OneDrive - Student\Flutter\PomoTimer\lib\common\enum\attribute.dart (attribute.dart:1).
int is defined in C:\Users\11490\flutter\bin\cache\pkg\sky_engine\lib\core\int.dart (int.dart:39).
Map is defined in C:\Users\11490\flutter\bin\cache\pkg\sky_engine\lib\core\map.dart (map.dart:43).
Phase is defined in C:\Users\11490\OneDrive - Student\Flutter\pomotimer\lib\common\enum\attribute.dart (attribute.dart:1).
int is defined in C:\Users\11490\flutter\bin\cache\pkg\sky_engine\lib\core\int.dart (int.dart:39).
 Try changing the type of the variable, or casting the right-hand type to 'Map<Phase, int> (where Phase is defined in C:\Users\11490\OneDrive - Student\Flutter\pomotimer\lib\common\enum\attribute.dart)'.

The argument type 'Phase (where Phase is defined in C:\Users\11490\OneDrive - Student\Flutter\pomotimer\lib\common\enum\attribute.dart)' can't be assigned to the parameter type 'Phase (where Phase is defined in C:\Users\11490\OneDrive - Student\Flutter\PomoTimer\lib\common\enum\attribute.dart)'. (文档)
Phase is defined in C:\Users\11490\OneDrive - Student\Flutter\pomotimer\lib\common\enum\attribute.dart (attribute.dart:1).
Phase is defined in C:\Users\11490\OneDrive - Student\Flutter\PomoTimer\lib\common\enum\attribute.dart (attribute.dart:1).

Dart info:
#### General info

- Dart 3.5.0-180.3.beta (beta) (Wed Jun 5 15:06:15 2024 +0000) on "windows_x64"
- on windows / "Windows 10 Pro for Workstations" 10.0 (Build 22621)
- locale is zh-CN

#### Project info

- sdk constraint: '>=3.2.3 <4.0.0'
- dependencies: boxy, cupertino_icons, device_info_plus, drop_shadow, english_words, event_bus, flex_color_scheme, flutter, flutter_launcher_icons, flutter_local_notifications, flutter_localizations, flutter_lucide, from_css_color, go_router, intl, json_annotation, kotlin_flavor, logger, modal_bottom_sheet, permission_handler, provider, quiver, reflectable, shared_preferences
- dev_dependencies: build_runner, flutter_lints, flutter_test, json_serializable, test
- elided dependencies: 1

Platform: Windows 11 -> Android
IDE: IDEA 2024.1.4
Code: https://github.com/lushangkan/PomoTimer
Please comment if you need more information

After observing the case difference in the project path, I tried to revert the project path to "PomoTimer", and reopened the IDE without any error.

The interpretation of an import/export URI is implementation specific. In particular, due to the fact that Windows platforms ignore the case of characters in the names of files and directories, URIs that are identical except that some characters are lowercase in one URI and uppercase in the other will denote the same file, but they are different as URIs according to Dart.
So you get two copies of the given library, and they are considered different, so a type like ReminderType-from-the-first-library is unrelated to ReminderType-from-the-other-library, in spite of the fact that they came from the same disk file.
The only way to avoid this kind of spurious duplication of types is to ensure that distinct paths do not denote the same library. On Windows (and MacOS) this means keeping the capitalization consistent. On systems where paths are case sensitive you may still encounter a similar phenomenon if distinct URIs denote the same disk file because of links (symlinks or hard links).
It's inconvenient, but it's not really Dart's fault, and it is all working as intended. So I'll close the issue.


Revamp actions to support optional and required parameters

Follow up to https://github.com/cypht-org/php-sieve-manager/pull/13#issuecomment-2115527905

Below are definition of all actions. I use the same naming for parameters
notify [":from" string]
           [":importance" <"1" / "2" / "3">]
           [":options" string-list]
           [":message" string]
           <method: string>

vacation [":days" number] [":subject" string]
                     [":from" string] [":addresses" string-list]
                     [":mime"] [":handle" string] <reason: string>

setflag [<variablename: string>]
            <list-of-flags: string-list>

addflag [<variablename: string>]
            <list-of-flags: string-list>

removeflag [<variablename: string>]
            <list-of-flags: string-list>

replace [":mime"] [":subject" string] [":from" string]
      <replacement: string>

enclose <:subject string> <:headers string-list> string

extracttext [MODIFIER] [":first" number] <varname: string>

addheader [":last"] <field-name: string> <value: string>

"deleteheader" [":index" <fieldno: number> [":last"]]
                   [COMPARATOR] [MATCH-TYPE]
                   <field-name: string>
                   [<value-patterns: string-list>]

convert  <quoted-from-media-type: string>
                   <quoted-to-media-type: string>
                   <transcoding-params: string-list>

set [MODIFIER] <name: string> <value: string>

fileinto <mailbox: string>

redirect <address: string>

keep

discard

@josaphatim that definition of all actions is actually quite nice documentation - can you put it in the code somewhere? Maybe the readme in the main directory?


[feature request] Html2Pdf?

https://products.aspose.app/html/en/conversion/html-to-pdf is a pretty awesome service. I would imagine that it won't take much effort, given knowledge about Apose Cloud, to add Html to Pdf support in aspose-cloud-for-vscode.

@dotnetCarpenter  Thank you very much for the request. We highly appreciate your interest in our product. We think it might be a good idea. We will evaluate it internally and consider to include in the roadmap. The only possible complexity is that HTML file,  unlike markdown, has external dependencies - CSS, javascript, images. As you are in VS Code, most of them are likely local files, that should also be included. Without them an output of a conversion will not look correct. We will think how to approach the task. At the mean time please consider our API for conversion https://apireference.aspose.cloud/html/. With the API a developer can explicitly specify html file with dependent resources. Please let us know if you need any help with  the API. We will provide code snippets on your request.

Aspose API
Thanks for the link to your API! But for some reason I can not login to your service using github.  I've tried for the past week to create an account to no avail.
https://id.containerize.com/callback?error=access_denied
Oops! Something went wrong.
There was an error logging into the external provider. The error message is: access_denied

Request Id: 35e341d3-4f7a-4818-93cf-05cb550640d1

vscode extension
vscode now has an Live Preview feature baked in. I would expect an HTML vscode extension to be able to operate on the same resources. I realise that it is much easier to develop live preview since you let the browser handle all of the resources and for Html2Pdf you actually have to handle the resources. But doing an HTTP request is very simple and your product is already capable of handling most resources that browsers handles today. I imagine bundling the local resources and send to your API and any external resources gets the usual treatment from your servers. You might be able to do all of this from vscode and send a zip file though.
If I were to write down my expectations, the list would be HTML, CSS, SVG, JPEG, PNG, JS (only for DOM manipulation) and DOM.   Many of these technologies, like CSS, JS, DOM, comes with some granularity. E.i. neither need 100% support before being immensely useful. On the other hand, I would expect HTML, SVG (version 1), JPEG and PNG to enjoy full support.

Registration
@dotnetCarpenter  Thank you for bringing this up. We checked that GitHub has recently deprecated our way to sign in. We will work to resolve it as soon as possible. At the meantime please consider registering here https://id.containerize.com/signup This is a classic registration with email address. After the registration please take the next steps to obtain Client Id and Client Secret required for our API and/or SDK:

Go to Cloud Dashboard: https://dashboard.aspose.cloud/#/apps
In side bar select "Storages":

On the Storage page click "Create New Storage" and take required steps to create storage:

Navigate to "Applications":

Create new application:

Click on the newly created application:

Find Client Id and Client Secret on the bottom of the application page:

Please let us know if you need any help or code samples.
Our REST API is located here: https://apireference.aspose.cloud/html/
Alternatively, here is a link to our SDK for different languages: https://github.com/aspose-html-cloud
vscode extension
Thank you for your valuable comments and the reference to Live Preview. We will include the option in our investigation around the topic.


140 force bid reserve notification

There were no tests for how this particular message gets rendered- in order to make it appear i had to put some extra data into the view (me.lot_standing.is_highest_bidder = false etc). I also changed the test setup to have use a default set of data I could clone so that i could keep only the relevant properties in my test- not sure if this  is an anti-pattern.
@acjay @sweir27

fixes https://github.com/artsy/auctions/issues/140

          1 Warning

  :warning:
  Please assign someone to your PR

  Generated by :no_entry_sign: danger

Sorry left this hanging. This looks great, nice work on the test! FWIW we often write unit tests for templates which are sometimes easier to work with, e.g. https://github.com/artsy/force/blob/master/apps/article/test/templates.coffee
👍  merging


Is this project Maintained..?

Commits seem few and far between now.

@Ehesp @mlabrum @Salakar Maintenance of this repo needs to be opened up.

Happy to open it up however I need to know who's willing :)

It also appears that the latest code has not been published to npm. The npm version still has a broken Checkbox label due to missing styles.

@Ehesp How do you feel about this being merged with react-native-material-kit into a new library? Would you officially forward people to the new lib?

@dantman I'm open to it for sure, however that project hasn't been updated in a couple of months D:

I've started drafting an idea/proposal for what a library based off of rnmd and rnm-kit would look like.
https://gist.github.com/dantman/7dd9a78250c6a3bf6a4220afd4d75b88

@All. I will be more than happy to maintain this, or contribute to substitute of this project.
Please keep me in loop.
Thanks

I've started working on this. Once I finish the ripple stuff and get into components I'll try to share it around and combine this discussion and the one in rnmd-kit together.

@dantman  That is amazing.  I am in for this...

@dantman let me know how you plan on migrating or whatever, happy to help out.

I'm still working on the library, I still need to work on components and some of the theme handling, but it has colors, shades, typography, easing, and an initial ripple implementation (may need a bit more work):
https://github.com/material-native/material-native

Hey guys! I come here from the other side, issue #320 loL

Yooo!!  I'll eventually phase out material-kit for this one. Awesome stuff @dantman and contributors!


⚠ ClamAV has degraded performance

In 5e31148, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 66 ms

Resolved: ClamAV performance has improved in a878371.


Change Name::new to take Into instead of String

This reduces verbosity for &'static strings, e.g. Name::new("a name") instead of Name::new("a name".to_string()).

Yeah I think using cow here makes a lot of sense. Y'all are free to follow up if you want :)

Yeah I think using cow here makes a lot of sense. Y'all are free to follow up if you want :)

I attempted a Cow<'static, str> followup in #1308

I attempted a Cow<'static, str> followup in #1308