LLVM Generated 'ptr' Usage Incompatible with Clang 14 and Older

Using this code:
struct Vec2 {     int x;     int y; }; int func(void) {     struct Vec2 v2;     v2.x = 10;     v2.y = 32;     int sum;     sum = v2.x + v2.y;     return sum;
Generates this:
define i32 @main() {     %v2 = alloca %struct.Vec2     %t_0 = getelementptr inbounds %struct.Vec2, ptr %v2, i32 0, i32 0     store i32 10, i32* %t_0     %t_1 = getelementptr inbounds %struct.Vec2, ptr %v2, i32 0, i32 1     store i32 32, i32* %t_1     %result = alloca i32     %t_2 = getelementptr inbounds %struct.Vec2, ptr %v2, i32 0, i32 1     %t_3 = load i32, i32* %t_2     %t_4 = getelementptr inbounds %struct.Vec2, ptr %v2, i32 0, i32 0     %t_5 = load i32, i32* %t_4     %t_6 = add i32 %t_5, %t_3     store i32 %t_6, i32* %result     %t_7 = load i32, i32* %result     ret i32 %t_7 }
Which creates the error:
Test.ll:7:53: error: '%v2' defined with type '%struct.Vec2*' but expected 'ptr'
The proposed solution is to fallback on the older format for backwards compatibility.

Commit b15eaf034e8221de866beb7751501a9fa0db316c on  branch 'hurdn_feat' should resolve this issue once merged.

Note: Tested change on FreeBSD (v13.1 current) where the issue was first discovered.  With the changes in commit 'b15eaf034e8221de866beb7751501a9fa0db316c', I no longer saw this issue.

With PR #68 merged, this issue is considered closed.


rn/android_test fails with brew error

Orb version: 5.1.0
What happened
My config.yml:
      - rn/android_test:
          detox_configuration: android.emu.release
          requires:
            - install
            - build-android-artifact-prod

This step results in the following error:
Error: Invalid cask: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/emacs.rb
Cask ''/Applications/Emacs.app/Contents/Resources/man/man1/ebrowse.1.gz' is not a valid man page name' definition is invalid.
Error: Cannot tap homebrew/cask: invalid syntax in tap!

AFAIK, this can be fixed by running brew update before executing the rn_android_test job, but the orb has HOMEBREW_NO_AUTO_UPDATE=1 hardcoded so that's probably the reason it's failing.

Also noticed this happens on the ios_build_and_test job, specifically it was completing successfully when I was using project_path: "ios/projectNamexcodeproj" but started failing after using the project_path: "ios/projectName.xcodeworkspace" (which was a change I'd made due to ios builds failing using the proj)

Upgrading to latest fixed it for me

this is fixed in latest, closing :)


EAPOL timeout is low cannot convert after capture

Hi, i get this error with hcxdumptool  when i capture the PMKID.
i capture the PMKID no problem, FOUND PMKID
but when i try to convet the capture file that i -o utput in hcxdumptool
i get this error
EAPOL timout is to low
So i cannot convert the file for hashcat
Any ideas why im getting this error any1
is it a common error with hcxdumptool
thanks for any advice...
i capture with this code.
hcxdumptool -i wlan0mon -o pmkid.pcapng --enable_status=1
get resuts
[08:50:37 - 006] 002417bdb675 -> d8cf9c805f44 [FOUND PMKID]
the convert code i use is as follows after i capture the pmkid
hcxdumptool -E essidlist -I identitulist -U usernamelist -z capturedthis.16800 pmkid.pcapng
then i get the error
EAPOL timeout is low

There are several mistakes your commandlines:

hcxdumptool -i wlan0mon -o pmkid.pcapng --enable_status=1
do not run hcxdumptool in combination with other tools like airmon-ng
hcxdumptool use its own monitor mode!

hcxdumptool -E essidlist -I identitulist -U usernamelist -z capturedthis.16800 pmkid.pcapng
you run hcxdumptool again to convert the pcapng file und use hcxpcatools options. That can't work
To convert the pcapng use this command:
$ hcxpcaptool -E essidlist -I identitylist -U usernamelist -z capturedthis.16800 pmkid.pcapng

-E is only needed if you assume password is in WLAN traffic
-I, -U is only needed if you're attacking EAP and/or RADIUS
Now you have several options to recover the password like this ones for example:
$ hcxwltool -i essidlist --straight > testlist.tmp
$ hcxwltool -i essidlist --digit >> testlist.tmp
$ hcxwltool -i essidlist --xdigit >> testlist.tmp
$  cat testlist.tmp | sort | uniq | hashcat -m 16800  capturedthis.16800
or:
$ hcxpsktool --weakpass --eudate --usdate -z capturedthis.16800 | sort | uniq | hashcat -m 16800 capturedthis.16800
correct chain:
hcxdumptool -> hcxpcaptool -> hashcat
or
hcxdumptool -> hcxpcaptool -> john
Closed, because it isn't a hcxdumptool/hcxtools issue.

bloomin eck, really sorry, noobs mistake i guess..

No problem, that can happen.


Is there a way to reset the key server

Question

Is there a way to reset the exports? I tried deleting the archives but the new export index file had the records of the older deleted archives. Is there a way to reset the whole export server? If not, what is the best way to handle this scenario. We recently had to changed the public key without setting the older one to expire, and the matching isn't working properly. I don't mind losing the old archives as we are still not on prod.

If you delete the record from the exportbatch and exportfile tables - the export job should re-create them, signed with the new private key.

/assign
/close
Please reopen if this doesn't solve the issue for you.


[stable/velero] Restic optional extra volumes and volumeMounts

Signed-off-by: Rick Haan<EMAIL_ADDRESS>What this PR does / why we need it:
I would like to add the option to configure extra volumes and volumeMounts to the Restic daemonset. This could be used for example to add CA certificates.
Equal functionality as my last PR helm#18120. But this time it's for the Restic daemonset.
Which issue this PR fixes
N.a.
Special notes for your reviewer:
N.a.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/assign @prydonius

/lgtm


boards: arduino_due: Added DTS to the Arduino Due.

Change-Id: I006f9d4080a1351534ede5cc601e43526c39aa83
Origin: Original
Signed-off-by: Justin Watson<EMAIL_ADDRESS>

I messed up. I started with master branch instead of arm. I am going to make a patch out of this and a new branch/PR starting from the arm branch.


Work around Unicode encoding error on Windows

For Python <3.6 on Windows, encoding strings for output to the Windows
command prompt may result in a UnicodeEncodingError.  VOC does not take
encoding into consideration, and so the output differs.
Until such time as proper encoding support is implemented in VOC, use an
environment variable that Python provides for overriding the IO
encoding.  By setting this to UTF-8, the output may appear garbled, but
the error is avoided, and it matches the run-as-Java output.  For
consistency, pass the environment variable to Java as well.
Addresses #610 and #237.

Thanks for looking into this.
I'm intrigued what you'd consider "proper" encoding support in this context. I can't deny that Windows is definitely having difficulties here; I imagine there would be many Linux configurations that have similar problems due to odd codepage configurations.
However, in the Linux space at least, my understanding is that this is something that is considered an error of usage - somewhere between "you're doing it wrong" and "you're doing it in a way that makes it impossible to know what is right". What is the right approach here?

For one instance, to really match what Cpython does, sys.stdout.write() should be encoding from string to stream using sys.stdout.encoding.  Typically for Linux and for Windows-with-Python>=3.6 that will be UTF-8, but it still should not be assumed.  WIth voc, sys.stdout.encoding does not even exist.  I believe this is at least part of the cause of #395, and if that's the case, that one can only be solved with some semblance of encoding support.

If I understood correctly, the issue is that VOC output is always UTF-8, and the CPython output depends on the environment.
So, this PR sets the PYTHONIOENCODING environment variable to tell CPython to use UTF-8 as well, regardless of the environment.
It sounds good to me.
We could make it more explicit that this is a workaround for Windows, by setting it variable only for windows, checking sys.platform.
@freakboy3742 any objections about merging this?

I don't have any particular objection to merging, other than wanting to have a slightly better understanding of what the "real" fix is. If it's as simple as defining sys.platform.encoding, and using that in system.out.write() calls... then why not just do that?

There is more to it than the portion I mentioned in my previous comment.  I had thought it would require creating translation tables for each encoding we wish to support.  However, I may give a shot at using Java's encoding support to make it work.

Hi there! It looks like this PR might be dead, so we're closing it for now. Feel free to re-open it if you'd like to continue, or think about directing your efforts to https://github.com/beeware/briefcase or https://github.com/beeware/toga. Both of these have more active development right now. 😄


[DO-NOT-REVIEW][SPARK-48089][SS][CONNECT] Fix Streaming 3.5 <> 4.0 compatibility test

This reverts commit df633091b7147dea84a5a51a30dcf690ca7d1124.

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

Was this patch authored or co-authored using generative AI tooling?

https://github.com/WweiL/oss-spark/actions/runs/8995215790


Crash on startup - panic: to determine current monitor the window must be set

Describe the bug
Crashes on startup with panic: to determine current monitor the window must be set
To Reproduce
Steps to reproduce the behavior:
┌[luke☮archie]-(~/Downloads)
└> aminal -debug
2020-11-17T11:32:44.464Z        INFO    aminal/main.go:32       Allocating pty...
2020-11-17T11:32:44.465Z        INFO    aminal/main.go:58       Creating terminal...
2020-11-17T11:32:44.465Z        DEBUG   gui/gui.go:301  Creating window...
panic: to determine current monitor the window must be set

goroutine 1 [running, locked to thread]:
github.com/liamg/aminal/gui.(*GUI).GetMonitor(0xc00060a400, 0x0)
        /home/luke/go/src/github.com/liamg/aminal/gui/gui.go:86 +0x217
github.com/liamg/aminal/gui.(*GUI).calculateDpiScale(0xc00060a400, 0x0)
        /home/luke/go/src/github.com/liamg/aminal/gui/gui.go:133 +0x2f
github.com/liamg/aminal/gui.(*GUI).SetDPIScale(...)
        /home/luke/go/src/github.com/liamg/aminal/gui/gui.go:125
github.com/liamg/aminal/gui.(*GUI).Render(0xc00060a400, 0x0, 0x0)
        /home/luke/go/src/github.com/liamg/aminal/gui/gui.go:3042020-11-17T11:32:44.631Z        FATAL   aminal/main.go:71       Failed to wait for guest process: signal: killed
main.initialize.func1
        /home/luke/go/src/github.com/liamg/aminal/main.go:71
 +0x178e
main.initialize(0x0)
        /home/luke/go/src/github.com/liamg/aminal/main.go:77 +0x4b9
main.main()
        /home/luke/go/src/github.com/liamg/aminal/main.go:20 +0x2a

Expected behavior
Not to crash, maybe a better error message?
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):
└> uname -a ; go version ; echo $0
Linux archie 5.9.1-arch1-1 #1 SMP PREEMPT Sat, 17 Oct 2020 13:30:37 +0000 x86_64 GNU/Linux
go version go1.15.4 linux/amd64
-zsh

Additional context
Add any other context about the problem here.
I have quite the monitor setup. Not sure if it's relevant. Additionally I'm running https://i3wm.org/
└> xrandr
Screen 0: minimum 8 x 8, current 9600 x 1440, maximum 32767 x 32767
DVI-D-0 disconnected primary (normal left inverted right x axis y axis)
HDMI-0 connected 1920x1080+7680+180 (normal left inverted right x axis y axis) 345mm x 195mm
   1920x1080     60.00*+
   1600x1200     60.00
   1360x850      60.00
   1280x1024     75.02    60.02
   1024x768      75.03    60.00
   800x600       75.00    60.32
   640x480       75.00    59.94
DP-0 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 600mm x 340mm
   2560x1440     60.00*+ 144.00   120.00    84.98
   1920x1080     60.00    59.94    50.00
   1680x1050     59.95
   1440x900      59.89
   1440x576      50.00
   1440x480      59.94
   1280x1024     75.02    60.02
   1280x960      60.00
   1280x720      60.00    59.94    50.00
   1152x864      75.00
   1024x768      75.03    70.07    60.00
   800x600       75.00    72.19    60.32    56.25
   720x576       50.00
   720x480       59.94
   640x480       75.00    72.81    59.93    59.94
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 connected 2560x1440+5120+0 (normal left inverted right x axis y axis) 600mm x 340mm
   2560x1440     60.00*+ 144.00   120.00    84.98
   1920x1080     60.00    59.94    50.00
   1680x1050     59.95
   1440x900      59.89
   1440x576      50.00
   1440x480      59.94
   1280x1024     75.02    60.02
   1280x960      60.00
   1280x720      60.00    59.94    50.00
   1152x864      75.00
   1024x768      75.03    70.07    60.00
   800x600       75.00    72.19    60.32    56.25
   720x576       50.00
   720x480       59.94
   640x480       75.00    72.81    59.93    59.94
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 connected 2560x1440+2560+0 (normal left inverted right x axis y axis) 600mm x 340mm
   2560x1440     60.00*+ 144.00   120.00    84.98
   1920x1080     60.00    59.94    50.00
   1680x1050     59.95
   1440x900      59.89
   1440x576      50.00
   1440x480      59.94
   1280x1024     75.02    60.02
   1280x960      60.00
   1280x720      60.00    59.94    50.00
   1152x864      75.00
   1024x768      75.03    70.07    60.00
   800x600       75.00    72.19    60.32    56.25
   720x576       50.00
   720x480       59.94
   640x480       75.00    72.81    59.93    59.94
DP-5 disconnected (normal left inverted right x axis y axis)

Logs
Run aminal with the --debug flag, then paste the relevant debug logs here.
See above

Kernel update messed up my graphics drivers. Resolved :)


Do I need to manually merge UTF-8 "BL30K_A, B, and C into the BL30K directory after the data set BL30K is downloaded?

Do I need to manually merge UTF-8 "BL30K_A, B, and C into the BL30K directory after the data set BL30K is downloaded?I see that your code reads 'JPEGImages and 'Annotations' directly.

Do I need to manually merge UTF-8 "BL30K_A, B, and C into the BL30K directory after the data set BL30K is downloaded?I see that your code reads 'JPEGImages and 'Annotations' directly.

@hkchengrex Or do you train on BL30K_A first and then train on BL30K_B when you're done?

Each of them should be a zip file and they shall merge automatically when extracted in the same folder. In other words, they should be merged.

Each of them should be a zip file and they shall merge automatically when extracted in the same folder. In other words, they should be merged.

Ok, thanks for your reply!


docs: LSDV-4707: Remove Repeater from docs

Hi @hlomzik!
This PR was created in response to a PRs in upstream repo:

https://github.com/heartexlabs/label-studio-frontend/pull/1235

doc update, no code changes


Bugfix: use ... replace Object.assign()

the Issues #85 because the lower brower can't  support object.assign

Replacing Object assign with the spread polyfill doesn't actually remove the Object.assign call. Babel transpiles the spread operator to a Object.assign.
Also, If a browser doesn't support Object.assign, it is very unlikely that it will support the spread operator.
Lastly, this PR wouldn't fix #85 as that issue's cause is yet to be determined. As stated in the issue, babel will polyfill object.assign if it is not supported by the browser.

sorry English is not my native language ，please excuse typing errors.

Replacing Object assign with the spread polyfill doesn't actually remove the Object.assign call. Babel transpiles the spread operator to a Object.assign.

why I use spread polyfill,the bable will translate that:
return isActive ? _extends({}, baseStyle, {
        left: '1rem'
      }, barStyle, activeBarStyle) : _extends({}, baseStyle, barStyle);

_extends :
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

but Object.assign can't translate that.
when i use react-notification on the Android built-in browser， use Object.assign will have a bug, but use spread polyfill will good. so I pull requests this.
Lastly， Thank you for your open source :smile:

@pburtchaell Looks like babel-plugin-es2015 might no longer polyfil Object.assign:
https://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=true&presets=es2015%2Creact%2Cstage-0%2Cstage-2&code=var%20foo%20%3D%20%7B%7D%3B%0Avar%20bar%20%3D%20Object.assign(%7B%7D%2C%20foo%2C%20%7B%20bar%3A%20'bar'%20%7D)%3B%0Avar%20baz%20%3D%20%7B%20...foo%2C%20baz%3A%20'baz'%20%7D%3B

@pburtchaell We might need to add https://babeljs.io/docs/plugins/transform-object-assign/
I've hit up the twitterverse to figure out why preset-es2015 does not include this transform.

@BerkeleyTrue cool. Thanks for owning this. 😄 I'm going to reopen #85.

@pburtchaell Mind making me a contributor? FCC is depending on this project so I would like to contribute to maintaining it.

Sure, what is your npm username?

Same as github. BerkeleyTrue

Awesome! I've added you to GitHub and npm. My only two requests: update release notes and copy me on PRs before merging feature branches. Thanks for asking to be added. I appreciate the help. 😄


Build instructions/

Hi, great work on the software. I have a somewhat manual task I'm looking to automate, but don't come from a Java background. Could you document the build process? I've tried working through eclipse / IDEA, but no luck yet!

Actually, got it working just now! Thanks all the same :)

Great stuff, I haven't been keeping it up to date recently, so let me know if you need any help. Some of the pages on AIB Online Banking may have changed.


update org.jenkins-ci.plugins/plugin from 3.39 to 3.43

https://mvnrepository.com/artifact/org.jenkins-ci.plugins/plugin?repo=jenkins-releases
https://github.com/jenkinsci/plugin-pom/releases
https://github.com/jenkinsci/plugin-pom

I'm not going to accept any PR's that don't have an explanation of why it's needed. What issue is it fixing? Updating dependencies just to update dependencies is not going to fly.

ok, no prob.


Update trust_delegation.md

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Thanks, @scjane :)


Update to support Raven > 2.0.0

This package isn't working properly for me with Sentry version 8.2.  (each error is reported to sentry but they are reported as a regression of a previous error even though they arent related.)
The raven dependency should be updated to version ^2.0.0

@guzru Same for me. Can you update the underscore version too ?

Think @shaharke is maintaining this now.

I think winston-sentry uses raven (https://github.com/getsentry/raven-node) which is at v0.11. raven-js, the browser version has version v2 (the latest is now v3).
So the raven dep should still be updated, just the version its updating to is v0.11


Introduce basic multiplatform features to the okhttp build

This PR is mostly about moving files from src/main/kotlin to src/jvmMain/kotlin.
Still to do:

promote some classes from jvmMain to commonMain
enable CI to build different platforms independently

OsgiTest[jvm] > testMainModuleWithSiblings()[jvm] FAILED
    org.osgi.service.resolver.ResolutionException: Unable to resolve <<INITIAL>>: missing requirement osgi.identity;filter:='(osgi.identity=com.squareup.okhttp3)'
        at app//biz.aQute.resolve.ResolveProcess.augment(ResolveProcess.java:356)
        at app//biz.aQute.resolve.ResolveProcess.augment(ResolveProcess.java:213)
        at app//biz.aQute.resolve.ResolveProcess.resolveRequired(ResolveProcess.java:84)
        at app//biz.aQute.resolve.RunResolution.resolve(RunResolution.java:101)
        at app//biz.aQute.resolve.RunResolution.resolve(RunResolution.java:76)
        at app//biz.aQute.resolve.Bndrun.resolve(Bndrun.java:103)
        at app//biz.aQute.resolve.Bndrun.resolve(Bndrun.java:97)
        at app//okhttp3.osgi.OsgiTest.testMainModuleWithSiblings(OsgiTest.java:77)

        Caused by:
        org.apache.felix.resolver.reason.ReasonException: Unable to resolve <<INITIAL>>: missing requirement osgi.identity;filter:='(osgi.identity=com.squareup.okhttp3)'
            at app//org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
            at app//org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:434)
            at app//org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:421)
            at app//org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:375)
            at app//biz.aQute.resolve.BndResolver.resolve(BndResolver.java:32)
            at app//biz.aQute.resolve.ResolveProcess.resolveRequired(ResolveProcess.java:82)
            ... 5 more


feat: Keep stacktrace when rethrowing an error from GameWidget

Description
We were planning to make this change once we upgrade min Dart version to 2.16; which we finally did in #1617.
Checklist

[x] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
[x] I have read the Contributor Guide and followed the process outlined for submitting PRs.
[-] I have updated/added tests for ALL new/updated/fixed functionality.
[-] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[-] I have updated/added relevant examples in examples.

Breaking Change

[-] Yes, this is a breaking change.
[x] No, this is not a breaking change.

Related Issues

Perhaps we could also pass the stacktrace to the errorBuilder, but that would be a breaking change already. @spydon - WDYT?


[Bug] odd for if {}  else behavior

for (i in 0..3) if (i==2){
print "found the if"
}
else {print "found the else"}
print "at the end"
This should throw a syntax error

Revisiting this issue, I am going to allow this behavior. The rule "Continue if incomplete" has an interesting edge case that forbids a fairly common brace style due to Stroustrup [https://en.wikipedia.org/wiki/Indentation_style]:
if (x < 0) {

}
else {

}

I don't think this is an unreasonable choice, so I think the compiler should be a bit permissive here.


Switching according to number of function arguments

See py2store igroupby for example:
https://github.com/i2mint/py2store/blob/053454490ad1ba9bcd77ec77859ebdb9e8c60762/py2store/util.py#L393
Plenty of other reviews possible there, including typing.
    for item in items:
        group_key = key(item)
        group_items = groups[group_key]
        if val is None:
            append_to_group_items(group_items, item)
        else:
            append_to_group_items(group_items, val(item))
        if n_group_release_cond_args == 2:
            if group_release_cond(group_key, group_items):
                yield group_key, group_items
                del groups[group_key]
        else:
            if group_release_cond(groups, group_key, group_items):
                yield group_key, group_items
                del groups[group_key]

Moved switch outside loop and defined function to use there. MP approved.


Getting a 404 on the AVD Repo

Hey Jason,
Your readme.md for AVD points to https://github.com/jamasten/AzureVirtualDesktop but it's not there.

@chrismrutledge yeah, Shawn Meyer took over my old solution. He's hosting it here: https://github.com/shawntmeyer/AzureVirtualDesktop


Incorrect display of the VueDatePicker in the PrimeVue (Tailwind) Dialog component

Describe the bug
Unexpected display of the datepicker in the Dialog component from PrimeVue (Tailwind)

To Reproduce
stackblitz: https://stackblitz.com/edit/vitejs-vite-xo6nxn?file=src%2FApp.vue
Expected behavior
Calendar (PrimeVue Tailwind) component by in Dialog (PrimeVue Tailwind)

Desktop & mobile (please complete the following information):

Google Chrome - 120.0.6099.130
Library version - ^7.4.0

Solution: https://vue3datepicker.com/props/positioning/#teleport
https://stackblitz.com/edit/vitejs-vite-tnx748?file=src%2FApp.vue


Offer more choices on template initialization, make template parts optional

This branch works towards making parts of the template optional:

Fix #31
Fix #32

You can try out the template with:
copier copy -r feat-choices gh:Midnighter/pyos-package-template <target path>

@Midnighter this is SO awesome. We can merge whenever you are ready!!!

📄 /GitHub/leahs-package
➜ copier copy -r feat-choices gh:Midnighter/pyos-package-template .
🎤 Who is the copyright holder, for example, yourself or your organization? Used in the license file and project description.
   pyos
🎤 Who is the author of the package to be? Used in the package description.
   pyos
🎤 The author's email address. Used in the package description.
<EMAIL_ADDRESS>🎤 What is the name of the project? Used as the title in the README.md and other places.
   project
🎤 What is the project slug? Used in hyperlinks.
   project
🎤 What is the Python package name? Used as the name of the package and the top-level import.
   project
🎤 Please provide a short description for the package.
    (Finish with 'Alt+Enter' or 'Esc then Enter')
> description

🎤 Do you want to use dynamic versioning of your package or static? Dynamic means that versions use your version control system (VCS), such as git tags, for creating versio
   No
🎤 Do you want to use git with a development platform, like GitHub or GitLab?
   No
🎤 Do you want to use hatch environments for running isolated commands like linting, building docs, or testing?
   No
🎤 Do you want to lint your code and generally check the formatting of your files?
   Yes
🎤 Do you want to use typing annotations and type check your code?
   No
🎤 Do you want to test your code? Generally, we strongly recommend that you do, but for a quick demo you may want to avoid this.
   Yes
🎤 Which license do you want to use? Used in the license file.
   BSD-3-Clause
🎤 What is the starting year of the project? Used in copyright statements.
   2024

Copying from template version 0.0.0.post30.dev0+d7eab3a
 identical  .
    create  mkdocs.yml
    create  CHANGELOG.md
    create  README.md
    create  tests
    create  tests/unit
    create  tests/unit/.keep
    create  tests/integration
    create  tests/integration/.keep
    create  tests/system
    create  tests/system/test_import.py
    create  tests/system/.keep
    create  docs
    create  docs/index.md
    create  .editorconfig
    create  .gitignore
    create  .pre-commit-config.yaml
    create  pyproject.toml
    create  .readthedocs.yaml
    create  LICENSE
    create  src
    create  src/project
    create  src/project/__init__.py

Happy to 😃 Thank you for the review.


Simplify constants variables

Simplify constants variables

Combine alter and registry properties,
bese on #6180
Remove duplicate variable SLASH and SINGLE_SLASH

Codecov Report

Merging #6183 (dc2e283) into dev (6dedafb) will increase coverage by 0.02%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##                dev    #6183      +/-   ##
============================================
+ Coverage     39.08%   39.10%   +0.02%
- Complexity     3251     3252       +1
============================================
  Files           637      637
  Lines         25281    25281
  Branches       2744     2744
============================================
+ Hits           9880     9886       +6
+ Misses        14520    14512       -8
- Partials        881      883       +2

Impacted Files
Coverage Δ

...duler/api/service/impl/WorkerGroupServiceImpl.java
25.17% <0.00%> (ø)

.../org/apache/dolphinscheduler/common/Constants.java
75.00% <ø> (ø)

...r/server/worker/registry/WorkerRegistryClient.java
0.00% <0.00%> (ø)

...phinscheduler/service/registry/RegistryClient.java
1.38% <0.00%> (ø)

...ache/dolphinscheduler/server/log/LoggerServer.java
78.26% <0.00%> (-8.70%)
:arrow_down:

...r/plugin/registry/zookeeper/ZookeeperRegistry.java
44.68% <0.00%> (+5.67%)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks for reviewing.


Order of operations ignores juxtaposition

The use of a PEMDAS order of operations is incomplete, resulting in incorrect answers to algebraic expressions that include multiplication by juxtaposition. E.g. 4÷2(3) should result in a value of 2/3, but instead is resolved to 6. Granted there is no official consensus on the order of operations in theoretical mathematics, however the vast majority of engineers and scientists are more familiar with a PEJMDAS order of operations. Whether this is simply to be corrected or given a configurable setting I leave at your discretion.  You do the open source community proud.

This app was originally (until 2010) written by Mihai Preda who also deveoped the Java Arithmetic Engine which is used in this project.
I am not going to change things like that because I do not know the code so well and might break other things.
I discovered the app and mainly updated it to work with current Android versions. So I am trying to keep the app working and do some GUI improvements. But I am really glad people like the app :-)


Default  config to override "Vue App"

What problem does this feature solve?
Build a SPA and watch the site title flash. Share it on any social media site and watch your site be misrepresented.
Yes, I know what your official solution is.
Yes, I understand why it is like this
Yes, I understand this can be fixed with SSR.
No, none of these are an appropriate solutions and are clearly cop-outs.
No, having social media sites show your site preview as "Vue App" is simply unacceptable in 2023.
I am not aware of any other SPA/SSG that has these issues without a suitable solution
What does the proposed API look like?
Add a config in vue.config.js to override the default "Vue App" meta with a new default at build-time. Implementers can rewrite the title again with @vueuse/head at run-time to something more accurate if needed, but at least scrapers and site previews won't give the impression that the website is a college project.

This seems to be about Vue CLI, so it's the wrong repository.
Vue CLI is in maintenance mode, so no further features will be added.
you can already edit the title in public/index.html
Your tone does not warrant any further interaction. Good luck.


MF-785 - Change CanAccess to CanAccessByKey

What does this do?
Change CanAccess code to use CanAccessByKey
Which issue(s) does this PR fix/relate to?
Resolves #785
List any changes that modify/break current functionality
Endpoint /channels/<channel id>/access was changed to /channels/<channel id>/access-by-key.  This could cause issues if it was being access outside of the SDK.  It didn't seem to be exposed.
Have you included tests for your changes?
No new tests were created.  Current tests were verified to still be passing.
Did you document any new/modified functionality?
No, new functionality was not added and this endpoint is not documented.
Notes

@nwneisen great initiative.
However this change will probably impact Aedes and VerneMQ MQTT adapters, as they depend on protobuf (which was changed).
Can you please verify if this is the case, and do the necessary changes over there as well (at least for Aedes, and I can do Erlang stuff for VerneMQ later).

@dusanb94 these seem to be commited.
Also I double-checked that Verne does not use CanAccessByKey() (it uses only CanAccessByID(), which was the reason for introducing it and making these distinctions).
However, I think that Aedes calls need to be adjusted.

On double-checking PR Aedes code seems to be handled as well.
I have good impression about this PR ;).

@nwneisen I tried updating your branch via GitHUb UI button (as you have maintainer approvals, and we would like to merge this PR). However, CI is falling - probably because wrong protoc version.
Can you try updating the branch manually to see if we can fix this issue?
Our CI script seems to use this version of protoc. We should either bump it, remove this check, or you must for now align with what CI does.
@dusanb94 can we take a look at bumping this protoc version, looks like 3.10 is actual one.

Codecov Report

Merging #894 into master will not change coverage.
The diff coverage is 93.93%.

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

@drasko I checked my protoc version and I was indeed on 3.9.1.  It looks like the build is now successful and I just needed to push with a signed commit.

Merged! Thanks @nwneisen!


How to turn your photo into a cartoon using python

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
Proposed title of article
How to turn your photo into a cartoon using python.
Introduction paragraph (2-3 paragraphs):
The use of cartoon characters has become a very popular trend among the youth worldwide. This can be seen from whatever they use for their profile pictures on online social platforms to trending memes. The use of these cartoon characters is not only limited to the social platforms but also to other various fields. For example, you can include cartoon characters of real people in school magazines or comics to amuse your readers.
In this era of technology, cartoons need not be drawn manually. We have apps that can convert your images easily into cartoons. However, you are only limited to the set custom options within the app. What if I tell you that you can create your desired effect on the image using a few lines of code.
In this article, I will teach you how to convert any photo to a cartoon image using a few lines of code written in python. We make use of optimized machine learning algorithms which produce clear and sharp images. You can use this concept to build an app solely for converting any image to a cartoon image. The results are quite impressive.
Key takeaways:
1.Use python modules to solve problems.
2.Tinkering with picture properties to obtain the desired effect.
3.Convert any photo to a cartoon image.
4. Appreciate the importance of machine learning in making work easier.

References:
N/A
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

@KanizoRGB
Good afternoon and thank you for submitting your topic suggestion.
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

@KanizoRGB
Sounds like a helpful topic - lets please be sure it add value beyond what is in the official docs and what is covered in other blog sites.
Please be sure to double check that it does not overlap with any existing EngEd articles or incoming topic suggestions (if you haven't already) to avoid any potential article closure, please reference any relevant EngEd articles in yours. - Approved


Some improvements and Turkish translation

Hi,
I have added Turkish translation and made some improvements.
I left some untranslated strings at the footer. Because I cannot read that. Can you look at ?
I tried to add Twitter to about page, but the icon was missing. You are using iconfont. Is it possible to switch full fontawesome package ?
Thanks for the great job.

Hi,
Thanks for your pull request, the icon for Twitter and Facebook had added. In order to make the file smaller, I didn't use full fontawesome package. I just made a few that websites can use, as you see in the theme.

Hi,
Thanks for your pull request, the icon for Twitter and Facebook had added. In order to make the file smaller, I didn't use full fontawesome package. I just made a few that websites can use, as you see in the theme.
Wish you happy！

Hi @chaooo,
Thank you for kindness.
Keeping simple and small is good for me, too. Is it possible to add a description to show how to add new icons ? If anyone need new icons, can apply given steps.
Also I want to note that the reading font is not good for latin characters. It is not easy to read posts, pages etc. Can we support configurable font ?


[Feature]: Navigation - use CSS properties for indicator and expose position

Describe the feature
The indicator of the navigation is currently positioned absolute, without exposing its position:
https://github.com/unovue/radix-vue/blob/82386157c8c5d3a65640b9c4a1b180448612ce8b/packages/core/src/NavigationMenu/NavigationMenuIndicator.vue#L66-L90
It would be nice, if we could access the position through CSS Custom properties similar to Tabs:
https://github.com/unovue/radix-vue/blob/82386157c8c5d3a65640b9c4a1b180448612ce8b/packages/core/src/Tabs/TabsIndicator.vue#L56-L67
This would allow me to position the NavigationMenuContent relative to the NavigationMenuItem component.
Additional information

[X] I intend to submit a PR for this feature.
[ ] I have already implemented and/or tested this feature.

This is a long-standing issue which also not fixed in reka-ui too :'(

@gu-stav  yeah we can add that to css variables. However this will have breaking changes as the indicator will need to be style by the user instead automatic position

@zernonia Would it make sense to add this to reka-ui instead then, to get it into the 2.0 stable release?


How can I kill / restart "keyd-application-mapper -d"?

I have a question regarding how to kill / restart "keyd-application-mapper -d".
I run "keyd-application-mapper -d" every time my window manager starts up, and if I want to test things out / change some keys, I don't know how to that without restarting my computer.
Thank you for the amazing program!

OMG I'm a buffoon :) It automatically update the changes when I save the app.conf file!


Error when choose other acquisition_optimizer_type

In [6]:

myProblem = GPyOpt.methods.BayesianOptimization(
    CO,
    bounds,
    exact_feval=True,
    maximize = True,
    normalize_Y = True,
    num_cores = 7,
    batch_size = 7,
    acquisition_optimizer_type='DIRECT',
    evaluator_type = 'random'
)
Cannot find DIRECT library, please install it to use this option.
3.2091067970977254 28.0 125.0
2.3088033218144273 31.0 313.0
4.767196848416326 30.0 106.0
3.699853608735686 18.0 300.0
0.11330175343781992 19.0 115.0
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-e8c2660be0d5> in <module>()
      8     batch_size = 7,
      9     acquisition_optimizer_type='DIRECT',
---> 10     evaluator_type = 'random'
     11 )

/usr/local/lib/python3.5/site-packages/GPyOpt-1.0.2-py3.5.egg/GPyOpt/methods/bayesian_optimization.py in __init__(self, f, domain, constrains, cost_withGradients, model_type, X, Y, initial_design_numdata, initial_design_type, acquisition_type, normalize_Y, exact_feval, acquisition_optimizer_type, model_update_interval, evaluator_type, batch_size, num_cores, verbosity, verbosity_model, bounds, maximize, **kwargs)
    241
    242         # --- Initialize everything
--> 243         self.run_optimization(max_iter=0,verbosity=self.verbosity)
    244
    245     def _model_chooser(self):

/usr/local/lib/python3.5/site-packages/GPyOpt-1.0.2-py3.5.egg/GPyOpt/methods/bayesian_optimization.py in run_optimization(self, max_iter, max_time, eps, verbosity, save_models_parameters, report_file, evaluations_file, models_file, **kwargs)
    455                 self.acquisition_optimizer.optimizer ='CMA'
    456             print('WARNING: "acqu_optimize_method" will be deprecated in the next version!')
--> 457         super(BayesianOptimization, self).run_optimization(max_iter = max_iter, max_time = max_time,  eps = eps, verbosity=verbosity, save_models_parameters = save_models_parameters, report_file = report_file, evaluations_file= evaluations_file, models_file=models_file)
    458
    459     def _sign(self,f):

/usr/local/lib/python3.5/site-packages/GPyOpt-1.0.2-py3.5.egg/GPyOpt/core/bo.py in run_optimization(self, max_iter, max_time, eps, verbosity, save_models_parameters, report_file, evaluations_file, models_file)
    106
    107             # --- Update and optimize acquisition and compute the exploration level in the next evaluation
--> 108             self.suggested_sample = self._compute_next_evaluations()
    109
    110             if not ((self.num_acquisitions < self.max_iter) and (self._distance_last_evaluations() > self.eps)):

/usr/local/lib/python3.5/site-packages/GPyOpt-1.0.2-py3.5.egg/GPyOpt/core/bo.py in _compute_next_evaluations(self)
    184         Computes the location of the new evaluation (optimizes the acquisition in the standard case).
    185         """
--> 186         return self.evaluator.compute_batch()
    187
    188     def _update_model(self):

/usr/local/lib/python3.5/site-packages/GPyOpt-1.0.2-py3.5.egg/GPyOpt/core/evaluators/batch_random.py in compute_batch(self)
     25         Adds to the first location batch_size-1 randomly selected elements.
     26         """
---> 27         return np.vstack((self.acquisition.optimize(),initial_design('random',self.acquisition.space,self.batch_size-1)))

/usr/local/lib/python3.5/site-packages/GPyOpt-1.0.2-py3.5.egg/GPyOpt/acquisitions/base.py in optimize(self)
     57             out = self.optimizer.optimize(f=self.acquisition_function)[0]
     58         else:
---> 59             out = self.optimizer.optimize(f=self.acquisition_function, f_df=self.acquisition_function_withGradients)[0]
     60         return out
     61

/usr/local/lib/python3.5/site-packages/GPyOpt-1.0.2-py3.5.egg/GPyOpt/optimization/acquisition_optimizer.py in optimize(self, f, df, f_df)
    281         for i in range(num_discrete):
    282             self.mixed_optimizer.fix_dimensions(dims=self.discrete_dims, values=self.discrete_values[i,:])
--> 283             partial_x_min[i,:] , partial_f_min[i,:] = self.mixed_optimizer.optimize(f, df, f_df)
    284
    285         return np.atleast_2d(partial_x_min[np.argmin(partial_f_min)]), np.atleast_2d(min(partial_f_min))

/usr/local/lib/python3.5/site-packages/GPyOpt-1.0.2-py3.5.egg/GPyOpt/optimization/acquisition_optimizer.py in optimize(self, f, df, f_df)
    175             if self.search:
    176                 if self.f_df == None: fp_dfp = None  # -- In case no gradients are available
--> 177                 x_min, f_min = self.optimizer.optimize(x0, f =fp, df=None, f_df=fp_dfp)
    178                 return self._expand_vector(x_min), f_min
    179             else:

TypeError: 'NoneType' object is not utterable

for "DIRECT", the actual exception is this:
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/GPyOpt-1.0.2-py3.5.egg/GPyOpt/optimization/optimizer.py", line 96, in optimize
    x,_,_ = solve(DIRECT_f_wrapper(f),lB,uB, maxT=self.maxiter)
  File "/usr/local/lib/python3.5/site-packages/DIRECT/__init__.py", line 206, in solve
    raise Exception(ERROR_MESSAGES[abs(ierror)-1])
IndexError: tuple index out of range

Similar error is observed when "CMA" is chosen.

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/GPyOpt-1.0.2-py3.5.egg/GPyOpt/optimization/optimizer.py", line 123, in __init__
    x = cma.fmin(CMA_f_wrapper(f), (uB + lB) * 0.5, 0.6, options={"bounds":[lB, uB], "verbose":-1})[0]
NameError: name 'f' is not defined
Traceback (most recent call last):

The exception is bit misleading, because the error is caused by 'f' not defined.

You need to install the libraries DIRECT and cma. You can do it using pip.

The exception is claiming that DIRECT and cma was not installed, which is misleading, because those are installed.

Sometimes pip will not work for DIRECT. Try installing from https://pypi.python.org/pypi/DIRECT/ . This has worked for me.

Interesting, cma is not working even though I have installed cma. Is cma wrapper functional?


Can't start the application

I tried 2.0.8, 2.0.7 and 2.0.6. I tried to delete user settings.
Here's a process monitor snapshot :

The application keeps opening text files in an infinite loop (>15 minutes).
The window remains black.

I am also having this error

@brentN5 I was able to compile (with changes in CMake files) and run DJV from the master branch.

I was able to compile the master branch and latest release tags:

https://github.com/smeunier-amd/DJV/tree/vcpkg-2.0.8
https://github.com/smeunier-amd/DJV/tree/vcpkg-master

I also can reproduce the issue using the 2.0.8 tag.

It appears the 2.0.8 version can run under RenderDoc.

I committed a workaround for fixing the 2.0.8 version. EventSystem::_redraw fails blitting the offscreen framebuffer to the back buffer. Most of the time, we obtain a black window but sometimes a window filled with block of colors.

It's a driver bug occurring for AMD since the version 22.7.1. Installing 22.6.1 fixed this issue.


Encapsulate the data and filename of new shares

Status
Ready for review
Description of Changes
Simplify some action creators and the reducer functions in ducks/reducer
to accept a share object rather than separate share and filename arguments.
This generalizes the code a bit and will make it a bit simpler to add other bits of share state (e.g.,  the mime type for #26) with fewer modifications.
Testing
This is just a minor refactor and should cause no behavioral changes in the app.

Is it possible to write tests for this?

Hello, @zeke! Thanks for your input. :slightly_smiling_face: In effect, we have decent test coverage of these codepaths in the recovery flow tests. @liliakai I'm going to mark this as approved for merge. If you have any suggestions for fleshing out the test suite further to accommodate these changes, feel free to comment, or append to the PR!


Replace Data trait with Clone + PartialEq

Closes #268

I was initially against this because I wanted to maintain the ability to have custom data definitions that e.g. compare just against a version number while maintaining the semantics of PartialEq, but then I realized that that is silly and you can just bind directly to the version number field.

I was initially against this because I wanted to maintain the ability to have custom data definitions that e.g. compare just against a version number while maintaining the semantics of PartialEq, but then I realized that that is silly and you can just bind directly to the version number field.

Could you not also manually implement PartialEq for a custom data type and do that?

You could, but the ergonomics would suffer.

You could, but the ergonomics would suffer.

I suppose so. Then how does binding directly to a version number work? I guess you'd bind to a version number but use cx.data() to get the data you actually want? Since the binding will just give you the version number.

Yeah - here's an example of me doing that.

Yeah - here's an example of me doing that.

Okay cool, that looks simple enough. Although, this would only really work for a Binding view and not so much for a property binding, though we do have bind  (on Handle) for that I guess. If we're happy with this switch from Data to PartialEq then maybe we can solve this particular problem with some special form of map that can bind to a version number but return some other data. I think this is problem to solve if and when it's needed though.


Threads is not necessarily required

required for MOBS integration.
Don't merge yet, testing an alternative.

Alternative works!

+!


Bump tailscale version

Updates the version of tailscale used to be 1.2.8
Compare: https://github.com/tailscale/tailscale/compare/v1.2.1...v1.2.8

Thank you!


Country specific descriptions not showing

I have added Austria as a test case. Prepared all the other ones and will upload them on Github in the designated area / html tomorrow.

@kravets-levko country descriptions are now filed in the data section and should be good to go.


Update BitmapText.js

feat: make view/BitmapText's width and height param avaliable

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


New release

Hi, can you release a new version of the plugin? The latest available on npm is 1.1.3, it looks like a recent commit bumped it to 1.1.5.
I want to test if the heyzap-extras repo works with the latest version since I'm not having any luck at the moment.

+1?

I think it has been already fixed, as the latest version on the npm https://www.npmjs.com/package/heyzap-cordova is 1.2.1
Can it be closed now?

Yeah think so 👍


Error parsing line comment in last line with no final line break

Javalang cannot parse line comments in the last line of code, if this line is terminated by the end of file instead of a line break character.  This is probably a rare issue, but I ran across it while parsing an old version of Apache POI.
The following is a minimal example:
import javalang
javalang.parse.parse('// line comment')

It raises the following exception:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-42-babb856b693c> in <module>
----> 1 javalang.parse.parse('// line comment')

.../site-packages/javalang/parse.py in parse(s)
     50 def parse(s):
     51     tokens = tokenize(s)
---> 52     parser = Parser(tokens)
     53     return parser.parse()

.../site-packages/javalang/parser.py in __init__(self, tokens)
     93
     94     def __init__(self, tokens):
---> 95         self.tokens = util.LookAheadListIterator(tokens)
     96         self.tokens.set_default(EndOfInput(None))
     97

.../site-packages/javalang/util.py in __init__(self, iterable)
     90 class LookAheadListIterator(object):
     91     def __init__(self, iterable):
---> 92         self.list = list(iterable)
     93
     94         self.marker = 0

.../site-packages/javalang/tokenizer.py in tokenize(self)
    506             elif startswith in ("//", "/*"):
    507                 comment = self.read_comment()
--> 508                 if comment.startswith("/**"):
    509                     self.javadoc = comment
    510                 continue

AttributeError: 'NoneType' object has no attribute 'startswith'

I think you should manually add newline character at the end of each file. For example:
import javalang
javalang.parse.parse('// line comment\n')

will fix this issue

Although the workaround is very simple, the tokenizer needs minimal changes to handle these comments.  Since the fix is so simple, I believe it is worth it.


Emacs doesn't like writing to KBFS

When I open foo.txt and editing it, I get the following on save:
Opening output file: input/output error, /keybase/public/timmc/foo.txt
The file does get saved, though. Another editor I tried worked fine. I don't know enough about Emacs to say why this failed to go smoothly, but it might indicate a problem in the filesystem.

If you do a keybase log send, and give us the ID, I can check it out for you.  Could be something transient, I've had success with emacs in the past.

Sorry, keep forgetting to do that. Here it is: 4aa12edaa48feb7b2cdfe81c

Hrm, looks like your emacs is interrupting file system calls after ~90 ms?
85069 2016-02-18T06:46:46.252713 ▶ [DEBU kbfs(FBO ea17495f) folder_branch_ops.go:4195] 1193a Sync 0xc8204f67d0 [tags:FID=5x2ptz2fqIXedtYs8PRXeA]
85070 2016-02-18T06:46:46.252924 ▶ [DEBU kbfs keybase_daemon_rpc.go:491] 1193b Sending notification for timmc#public/index.md
85071 2016-02-18T06:46:46.345718 ▶ [DEBU FUSE serve.go:755] 1193c <- Interrupt [ID=0x311d Node=0x0 Uid=0 Gid=0 Pid=0] ID 0x311c
85072 2016-02-18T06:46:46.345906 ▶ [DEBU FUSE serve.go:817] 1193d -> [ID=0x311d] Interrupt
85073 2016-02-18T06:46:46.345961 ▶ [DEBU kbfs(FBO ea17495f) folder_branch_ops.go:4196] 1193f Done: context canceled [tags:FID=5x2ptz2fqIXedtYs8PRXeA]
85074 2016-02-18T06:46:46.345957 ▶ [DEBU kbfs(BSR) bserver_remote.go:215] 1193e AddBlockReference id=01a305692a2150555f7f303545365bee74b08c4caa0e4edcda2897d2206c439b03 uid=c93c7385647d3b63a9cba871d6ef7800 err=context canceled [tags:FID=5x2ptz2fqIXedtYs8PRXeA]
85075 2016-02-18T06:46:46.346035 ▶ [DEBU kbfsfuse file.go:119] 11940 context canceled [tags:FID=5x2ptz2fqIXedtYs8PRXeA]
85076 2016-02-18T06:46:46.346083 ▶ [DEBU FUSE serve.go:817] 11941 -> [ID=0x311c] Setattr error=EIO: context canceled

I'll try to repro and/or investigate a bit more.

I'd like to see what was in the log before that snippet.

@tv42: here is a larger snippet:
85063 2016-02-18T06:46:46.252096 ▶ [DEBU FUSE serve.go:755] 11934 <- Open [ID=0x311b Node=0x8c Uid=1000 Gid=1000 Pid=18245] dir=false fl=OpenWriteOnly
85064 2016-02-18T06:46:46.252187 ▶ [DEBU FUSE serve.go:817] 11935 -> [ID=0x311b] Open 0x3 fl=0
85065 2016-02-18T06:46:46.252404 ▶ [DEBU FUSE serve.go:755] 11936 <- Setattr [ID=0x311c Node=0x8c Uid=1000 Gid=1000 Pid=18245] size=0 handle=INVALID-0x0 lockowner
85066 2016-02-18T06:46:46.252499 ▶ [DEBU kbfsfuse file.go:118] 11937 File SetAttr [tags:FID=5x2ptz2fqIXedtYs8PRXeA]
85067 2016-02-18T06:46:46.252530 ▶ [DEBU kbfs(FBO ea17495f) folder_branch_ops.go:3452] 11938 Truncate 0xc8204f67d0 0 [tags:FID=5x2ptz2fqIXedtYs8PRXeA]
85068 2016-02-18T06:46:46.252667 ▶ [DEBU kbfs(FBO ea17495f) folder_branch_ops.go:3453] 11939 Done: <nil> [tags:FID=5x2ptz2fqIXedtYs8PRXeA]
85069 2016-02-18T06:46:46.252713 ▶ [DEBU kbfs(FBO ea17495f) folder_branch_ops.go:4195] 1193a Sync 0xc8204f67d0 [tags:FID=5x2ptz2fqIXedtYs8PRXeA]
85070 2016-02-18T06:46:46.252924 ▶ [DEBU kbfs keybase_daemon_rpc.go:491] 1193b Sending notification for timmc#public/index.md
85071 2016-02-18T06:46:46.345718 ▶ [DEBU FUSE serve.go:755] 1193c <- Interrupt [ID=0x311d Node=0x0 Uid=0 Gid=0 Pid=0] ID 0x311c
85072 2016-02-18T06:46:46.345906 ▶ [DEBU FUSE serve.go:817] 1193d -> [ID=0x311d] Interrupt
85073 2016-02-18T06:46:46.345961 ▶ [DEBU kbfs(FBO ea17495f) folder_branch_ops.go:4196] 1193f Done: context canceled [tags:FID=5x2ptz2fqIXedtYs8PRXeA]
85074 2016-02-18T06:46:46.345957 ▶ [DEBU kbfs(BSR) bserver_remote.go:215] 1193e AddBlockReference id=01a305692a2150555f7f303545365bee74b08c4caa0e4edcda2897d2206c439b03 uid=c93c7385647d3b63a9cba871d6ef7800 err=context canceled [tags:FID=5x2ptz2fqIXedtYs8PRXeA]
85075 2016-02-18T06:46:46.346035 ▶ [DEBU kbfsfuse file.go:119] 11940 context canceled [tags:FID=5x2ptz2fqIXedtYs8PRXeA]
85076 2016-02-18T06:46:46.346083 ▶ [DEBU FUSE serve.go:817] 11941 -> [ID=0x311c] Setattr error=EIO: context canceled
85077 2016-02-18T06:46:46.346155 ▶ [DEBU kbfs(BSR) bserver_remote.go:192] 11942 Put id=0169ac011a43750b3ab7d65e58937fdce1d7f3414731ce484cf8128e6319a071be uid=c93c7385647d3b63a9cba871d6ef7800 sz=313 err=context canceled [tags:FID=5x2ptz2fqIXedtYs8PRXeA]
85078 2016-02-18T06:46:46.348236 ▶ [DEBU FUSE serve.go:755] 11943 <- Release [ID=0x311e Node=0x8c Uid=0 Gid=0 Pid=0] 0x3 fl=OpenWriteOnly rfl=0 owner=0x0
85079 2016-02-18T06:46:46.348458 ▶ [DEBU FUSE serve.go:817] 11944 -> [ID=0x311e] Release

It's a truncate call that KBFS follows with a sync.  But there are lots of other places like this in the log, including Symlink calls, that get interrupted after ~100 ms.

I can't repro on Emacs 24.3.1, on Linux Ubuntu 14.04.
@timmc: looks like you're on Linux too -- what flavor, and what version of Emacs?  Any weird config in your .emacs file related to timeouts or the file system?

IS this on OS X, with OSXFUSE 3.2.0? One theory would be that the new daemon_timeout logic is too trigger happy, or that you're configuring the timeout before interrupt very low.

@tv42: no, looks like Linux to me (according to clues in his logdump.

Debian 7 (Wheezy) with GNU Emacs 23.4.1. Nothing too wild in the .emacs.d/init.el. Maybe there's something to do with how it does file backups on save:
(setq
 backup-by-copying t ; don't clobber symlinks
 backup-directory-alist
 '(("." . "~/.emacs-backups")) ; don't litter my fs tree
 delete-old-versions t
 kept-new-versions 6
 kept-old-versions 2
 version-control t) ; use versioned backups

I use an encrypted filesystem, so there's a little bit of latency on writes that might push something over the edge.

Hmm, ok thanks.  And to save the files you were just doing C-x C-s right?  You didn't get impatient and hit some other command sequence?  I'm guessing not, just covering all the bases.

Maybe capture the syscalls emacs makes, strace -s1000 -w foo -p PID_OF_EMACS_HERE.. start that, save the file emacs, hit control-C on the strace. Beware the file may end up containing sensitive data.

Ah, I was able to repro by using the same backup config.  Hmm, backup-by-copying does something weird?
@tv42, attached is my strace output.  Look for the EIO.
trace.txt

Err, look for the last EIO.

I'm totally stumped.  Here's part of the strace from another repro:
16:22:22.766273 symlink("strib@hooks.3880:1455126981", "/keybase/private/strib/.#z") = -1 EIO (Input/output error)
16:22:23.073747 --- SIGIO {si_signo=SIGIO, si_code=SI_TKILL, si_pid=3880, si_uid=1000} ---
16:22:23.073779 rt_sigreturn()          = -1 EIO (Input/output error)

3880 is the PID of my emacs process, and 1000 is my local UID.  So something deep within emacs is sending a thread kill signal after ~300 ms.  I've been trying to look through the emacs source code and the common lisp source code for any obvious thread killing behavior in file IO, and I've come up short.
@tv42: any ideas?

Well it seems emacs is using SIGIO to perform async network I/O or terminal I/O (not regular file I/O; it's incapable of that). But the SI_TKILL makes it look like this might have been an explicit tgkill(2) call, that is, threads communicating to each other.
Regardless of the above, the symlink really must work; emacs uses .#* as essentially a lock file. (Somewhat like vi's "swap files", if you're more familiar with those.)
The rt_sigreturn below should just be the signal handler (for the SIGIO) returning; its EIO may just be a repeat of the syscall that was in progress just before (= symlink).
It's worth noting that when emacs proceeds to open the file (/keybase/private/strib/y in the trace.txt), writes happily, but fsync on the file gives EIO.
Here's a theory: after I/O errors, emacs uses tgkill(2) to communicate across threads. This the SIGIO stuff is just emacs internals, and for the sake of understanding kbfs behavior we can largely ignore it.
It's funny that the open and write succeed just fine. The FUSE Setattr we saw interrupted should be seen at open time.
I'm also concerned with all the EIOs in the trace.

sort of unrelated to this, stat of /keybase/private/.svn etc giving EIO is probably a bad thing.
2. fsync giving EIO on a perfectly normal seeming file? you should have some explanation in the kbfs side logs

@tv42: the EIOs on both the fsync and the symlink calls are being caused by interrupts coming into FUSE from somewhere.  Both calls would otherwise succeed if not interrupted -- KBFS is having no problems.
The open and write calls don't get interrupted; hence they succeed.

I think we found the bug, system calls being interrupted by signals need to return EINTR, and the current code leads to EIO there, causing the "retry syscalls" logic to not retry.
Fix looks like it belongs in upstream FUSE lib, working on it...

Alright the problem is now well understood but fixing it will require some rocket surgery. The structure of the code in bazil.org/fuse is making easy fixes impossible.

How to reproduce:

Simulate slow networking even in local mode.

diff --git i/libfuse/file.go w/libfuse/file.go
index 0f5afd1..b373ebe 100644
--- i/libfuse/file.go
+++ w/libfuse/file.go
@@ -1,6 +1,8 @@
 package libfuse

 import (
+       "time"
+
        "bazil.org/fuse"
        "bazil.org/fuse/fs"
        "github.com/keybase/kbfs/libkbfs"
@@ -118,6 +120,7 @@ func (f *File) Setattr(ctx context.Context, req *fuse.SetattrRequest,
        f.folder.fs.log.CDebugf(ctx, "File SetAttr")
        defer func() { f.folder.fs.reportErr(ctx, err) }()

+       time.Sleep(1 * time.Second)
        valid := req.Valid
        if valid.Size() {
                if err := f.folder.fs.config.KBFSOps().Truncate(

Start kbfsfuse mount in local mode:

$ go build github.com/keybase/kbfs/kbfsfuse && ./kbfsfuse -server-in-memory -localuser strib -debug mnt

Use a standalone emacs to isolate the configuration effect:

$ cat init.el
(setq
 backup-by-copying t ; don't clobber symlinks
 backup-directory-alist
 '(("." . "~/tmp")) ; don't litter my fs tree
 delete-old-versions t
 kept-new-versions 6
 kept-old-versions 2
 version-control t) ; use versioned backups
$ emacs -q -l init.el mnt/private/strib/foo

Type something, hit C-x C-s. Repeat 2-4 times if successful; usually triggers on second save.
Going to send a pull request soon.

And here's the observed behavior with the above reproduce scenario, running https://github.com/keybase/kbfs/pull/755 -- the relevant part is the EINTR at the end, and how emacs did not show errors.
2016-02-24T17:48:35.659107 ▶ [DEBU FUSE serve.go:776] 4f1 <- Setattr [ID=0x109 Node=0x7 Uid=1000 Gid=1000 Pid=23939] size=0 handle=INVALID-0x0 lockowner
2016-02-24T17:48:35.659194 ▶ [DEBU kbfsfuse file.go:120] 4f2 File SetAttr [tags:FID=2ACKF0ralMLE8bY1AYJS_A]
2016-02-24T17:48:35.894470 ▶ [DEBU FUSE serve.go:776] 4f3 <- Interrupt [ID=0x10a Node=0x0 Uid=0 Gid=0 Pid=0] ID 0x109
2016-02-24T17:48:35.894592 ▶ [DEBU FUSE serve.go:838] 4f4 -> [ID=0x10a] Interrupt
2016-02-24T17:48:36.659443 ▶ [DEBU kbfs(FBO de559d51) folder_branch_ops.go:3497] 4f5 Truncate 0xc8214787d0 0 [tags:FID=2ACKF0ralMLE8bY1AYJS_A]
2016-02-24T17:48:36.659542 ▶ [DEBU kbfs(FBO de559d51) folder_branch_ops.go:3498] 4f6 Done: context canceled [tags:FID=2ACKF0ralMLE8bY1AYJS_A]
2016-02-24T17:48:36.659592 ▶ [DEBU kbfsfuse file.go:121] 4f7 context canceled [tags:FID=2ACKF0ralMLE8bY1AYJS_A]
2016-02-24T17:48:36.659618 ▶ [DEBU FUSE serve.go:838] 4f8 -> [ID=0x109] Setattr error=EINTR

@tv42 I've had a very similar issue regarding Emacs (26.0.50) + KBFS on Mac.
The issue is regarding opening/saving encrypted org files under faulty connectivity. I can elaborate on this, should I open a new issue for that?

Hi @magandrez -- KBFS doesn't support offline environments right now.  (It's on our TODO list, but not yet scheduled.)  So it's expected that writes won't work if connectivity doesn't work.  If you're experiencing issues when you're sure your connectivity is up, please do file a new issue with a log send.

Hi @strib the issue I experience is perhaps more related to the way emacs is handling KBFS after the computer goes offline. Mayhaps you could give some input if the following case falls in the realm of KBFS offline support or not?.
The use case I am aiming is to be able to open my org files when I still have connectivity, edit them (save backup somewhere else) and then properly save them again when I recover connectivity.
Currently when I open emacs org files from my private KBFS mountpoint (with connectivity) I have no problem. Then I loose connectivity, and emacs flashes errors every second like:
Opening output file: input/output error, /keybase/private/spavi/personal-todo.org.gpg
I would like to continue working normally on  my files (without saving them) and then save those when I recover connectivity (e.g.: traveling, etc.)

@magandrez: I assume that this is Emacs trying to do autosaves in the background.  Maybe you can edit your emacs settings so that autosaves under the /keybase tree go into /tmp/, rather than back into the same directory?  Or turn off autosave entirely?  You can find more info here: https://www.emacswiki.org/emacs/AutoSave (this seems to have settings for changing all auto-saves to /tmp/, but I bet there's a way to do it for just the /keybase mount...)

I wouldn't recommend /tmp for emacs autosaves, who knows what race attacks that opens up.
I have this in my customizations:  '(backup-directory-alist (quote (("." . "/home/tv/.emacs-backup"))))

@strib @tv42 Regarding this issue, it turned out it wasn't Emacs' auto-save, as I already had it setup to backup files in a specific local folder in my home.
The problem turned out to be Emacs' lock files (which you cannot redirect to any other folder): here some Emacs documentation on File Locks.
So what I did was disable lock files entirely, as I am mostly working in machines alone, without danger of overwriting somebody else's work. For that, I set (setq create-lockfiles nil) in my Emacs config.
With this config, I can safely open the org files individually (or via the agenda) -> /loose connectivity/ -> work on my files (without saving them) -> /regain connectivity/ -> save my work.
NOTE: Additionally, I had previously set EasyPg to skip autosave of (de)crypted files(setq epa-file-inhibit-auto-save t) Emacs documentation on EasyPG.
Many thanks for pointing me in the right direction. I hope for long life to the keybase project, I love it!

Another hint for people experiencing problems with this. Projectile-mode causes significant pain with Keybase. It's frequently looking for project files and that seems to slow Emacs down significantly. Here's some sample strace output:
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/rebar.config", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/project.clj", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/build.boot", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/SConstruct", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/pom.xml", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/build.sbt", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/gradlew", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/build.gradle", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/Gemfile", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/requirements.txt", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/setup.py", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/tox.ini", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/package.json", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/gulpfile.js", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/Gruntfile.js", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/bower.json", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/composer.json", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/Cargo.toml", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/mix.exs", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/stack.yaml", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/info.rkt", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/TAGS", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tonyarkles/GTAGS", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/rebar.config", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/project.clj", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/build.boot", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/SConstruct", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/pom.xml", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/build.sbt", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/gradlew", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/build.gradle", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/Gemfile", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/requirements.txt", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/setup.py", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/tox.ini", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/package.json", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/gulpfile.js", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/Gruntfile.js", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/bower.json", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/composer.json", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/Cargo.toml", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/mix.exs", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/stack.yaml", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/info.rkt", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/TAGS", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/private/GTAGS", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/rebar.config", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/project.clj", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/build.boot", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/SConstruct", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/pom.xml", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/build.sbt", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/gradlew", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/build.gradle", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/Gemfile", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/requirements.txt", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/setup.py", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/tox.ini", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/package.json", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/gulpfile.js", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/Gruntfile.js", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/bower.json", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/composer.json", F_OK) = -1 ENOENT (No such file or directory)
faccessat(AT_FDCWD, "/keybase/Cargo.toml", F_OK) = -1 ENOENT (No such file or directory)

That seems to happen... maybe every time I move my cursor? It's brutal. Turning off projectile for the single org-mode file I've got open on Keybase makes things buttery-smooth again.


Upgrade xterm.js

Upgrade xterm.js to the latest stable release.
As part of this upgrade, the xterm packages have been scoped as the unscoped packages were not updated.
The addons have also been upgraded to match the compatible versions.
As part of this upgrade, a compatibility issue was identified with the Gulp task to inline source. By disabling compression, this allowed the task to complete successfully. The size of the source file html.h did not change significantly which indicates compression was not being applied previously.

@tsl0922 Can you please trigger the workflow.

This upgrade is necessary as this will be followed by a pull request to add Unicode 11 support. This will significantly improve displaying of emojis.
https://github.com/mikelorant/ttyd/commit/6ab15260575940289ca4a5365e050a39a634015f

@tsl0922 Lint warnings have been resolved.

@tsl0922 Thanks for merging this so promptly!
I have one more pull request I will put up now.


create DOT/Stats.js

I want to support calculations for values used when making box plots. This is to help me wean out outliers in https://github.com/phetsims/interaction-dashboard/issues/112. After discussing with @samreid, the way I want to accomplish this is to create a new file in dot called Stats.js that will have functions to get different quartiles, and to calculate the IQR.
We also think that Util.median should be moved over to this file.

Done above.


Research: ECMPS 2.0 API Guidance Part 2

Finish providing complete details from Part 1 ticket & work with Yonatan to figure out the details.

@yonatan-dp

The workspace APIs can only be accessed through the ECMPS-UI application and not via swagger due to CDX authentication flow integration.

Upon successful authentication in ECMPS-UI, a token is generated and stored in the browser's local storage. This token is then inserted into the API request headers under the Authorization key, where it is validated to verify the user's identity.
   Authorization: Bearer <token>

To access the Workspace endpoint from ECMPS UI (client validation), which is available through the ECMPS application, follow these steps: Generate a client token using the client ID and client secret via the 'token/client' endpoint, store the token in local storage, and then include the client token in the API request headers under the x-client-token key for validation.
  X-client-token: Bearer <token>

All APIs from ECMPS-UI application will contain x-client-token

All Workspace APIs from ECMPS-UI application will have two tokens

User token /auth token: - Authorization
Client token: - x-client-token

Note: If planning to make one token Non-workspace API does not have Authorization headers.
When ECMPS offline feature EASEY_AUTH_API_APP_STATUS is in TEST mode, then the All APIs call only allow through ECMPS-UI application.

@ergjustin We should probably document somewhere that workspace APIs can still be accessed using other clients (such as Postman) since a user can still gain access to the Auth token and client token (and other information) by inspecting the React code or by intercepting network traffic from ECMPS to the backend APIs.  The rest looks good to me.

@mark-hayward-erg @maheese
Can you please review above comments.

Client token validation tickets :- #6489, #6490, #6491, #6492, #6493

Discussion was held on 12/16 to determine the purpose and feasibility of this change.  It was determined that using client id/token as a means to validate that calls to certain API endpoints come from ECMPS itself is not 100% possible or necessary.


[Bug] Javascript error in latest version

Describe the Bug
I just downloaded the installer for the latest version and got this error after the installing process:  https://imgur.com/a/Sh9G7KX
I also tried building bandaged myself but that did not work either.
To Reproduce
Install the latest version of BetterDiscord on windows
Expected Behavior
A javascript  error occurs
Screenshots
https://imgur.com/a/Sh9G7KX (the error itself)
Discord Version
Stable 84336 (eeeadc8)
Host 0.0.308
Windows 10 64-Bit (10.0.19042)

Your Discord version is out of date (and still was at the time of writing the issue) the syntax used in versions going forward was not compatible with the older versions.


cordova plugin camera not showing gallery on iPad capacitor

Bug Report
Problem
Gallery popover is not visible when upload is clicked on iPad after capacitor migration. It works on iPhone devices.
What is expected to happen?
When upload is clicked, gallery popover need to get display on iPad. It works fine on iPhone.
What does actually happen?
iPad:
When upload is clicked, this.camera.getPicture() gets hit. After that no response. No error log also found. App doesn't got crashed as well.
Note:
When the same process is done on iPhone, it shows gallery options.
Information

Platform:
Ionic, iOS
We have migrated our ionic application to capacitor. Before migration, cordova plugin camera shows gallery option on both iPhone and iPad. Once it is migrated to capacitor, it shows gallery option only on iPhone. But it is not showing gallery popover on iPad. There is no difference in code level. On both devices, it hits the same method. But on iPad, it doesn't show the gallery popover.
Command or Code

step 1:
ionic start cameraApp blank --capacitor
cd cameraApp
step2: (https://ionicframework.com/docs/native/camera)
npm install cordova-plugin-camera
npm install @ionic-native/camera
ionic cap sync
step3:
Use this code in home:
import { Camera, CameraOptions } from '@ionic-native/camera/ngx';
constructor(private camera: Camera) { }
...
upload()
{
const options: CameraOptions = {
quality: 100,
destinationType: this.camera.DestinationType.FILE_URI,
sourceType: this.camera.PictureSourceType.SAVEDPHOTOALBUM,
mediaType: this.camera.MediaType.VIDEO
}
this.camera.getPicture(options).then((imageData) => {
alert(imageData);
}, (err) => {
// Handle error
});
}
step 4:
add normal ionic button and call the upload method
step 5:
ionic build
npx cap sync ios
npx cap open ios
step 5:
Run in simulator -> iPhone
Run in simulator -> iPad
In iPhone, gallery popover will get open
In iPad, gallery popover is not opening
Note:
Also tried multiple combinations on cameraoptions. Nothing works on iPad.
Environment, Platform, Device

Platform:
iOS
Able to reproduce in simulator itself.
Version information

Version of cordova plugin camera:
cordova-plugin-camera: 4.1.0
@ionic-native/camera: ^5.26.0 (or)  4.7.0 (tried these versions)
Checklist

[x] I searched for existing GitHub issues
[x] I updated all Cordova tooling to most recent version
[x] I included all the necessary information above

If it works with Cordova, but not Capacitor, you need to seek support from Capacitor.


Add universal option to ng new

🚀 Feature request
Add on universal option on ng new schematic to allow creation of new application with universal features.
Command (mark with an x)
- [x] new
- [ ] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Description
Allow generation of basic universal app through ng new schematic.
Describe the solution you'd like
New ng new option 'universal' boolean default false that would run ng universal schematic if set to true on application creation.
Describe alternatives you've considered
Alternative is to run it separately as it is now. Maybe there is a reason for it that I am not foreseeing.
add-on
I would very much like to contribute and give a try of setting this up myself :)

Hi @Fufuxx, thanks for your interest in this and the PR.
Yesterday, we discussed this during our meeting and we think it's best not to add this feature because the universal schematic alone doesn't generate a working universal application, since it will not generate any server code that is needed to serve the SSR'd application.
Typically users shouldn't use this schematic to generate a working Universal application but rather do it via ng add @nguniversal/express-engine or ng add @nguniversal/hapi-engine.
Docs: https://angular.io/guide/universal
The universal schematic is used for other use cases, such as; App Shell, and the the above ng add packages uses this as part of their code generation.
Thanks for your understanding.


Issue with Mongoid?

Hello,
I am eager to use this gem but when I try to install I am getting this message.
$ bundle
Fetching gem metadata from https://rubygems.org/.........
Fetching version metadata from https://rubygems.org/..
Resolving dependencies...
Your Gemfile requires gems that depend on each other, creating an infinite loop. Please remove gem 'mongoid' and try again.

Does wicked work with mongoid? Could anything else be causing this or is their a workaround?

This gem does not depend on mongoid. You can see what gems are dependencies of each other info in your Gemfile.lock. I recommend posting its contents to a stack overflow question if you can't figure out how to resolve the dependencies.
You can also see on rubygems: https://rubygems.org/gems/wicked

I got it, it was something unrelated. Sorry to waste your time. Happy coding!


How to init map correctly?

I have a map, which is displayed or hidden, depending of a button click.
I init the map while she is hidden, add layer, add markers, call fitBounds() for the markers.
My problem is, when the map is hidden, fitBounds doesn't work. After the switch the map is shown as fully zoomed out. When I call fitBounds again, the map is shown correctly.
How do I know, when the map is ready? I tried mapReady, but it is called also when the map is hidden.
Is there another way?
Thanks

Hi, great to hear that you find Leaflet useful!
However, this issue tracker is used for reporting bugs and discussing new features. For questions on using Leaflet, please use gis.stackexchange.com or stackoverflow.


Long term support

Please don't take offense :) It looks as though commits are regular etc. On a scale of 1-10 can you give me an idea as to commitment? Have a large project I'm considering using this lib in. Happy to contrib etc. Just wondering if author is currently using in production. Honestly no wrong answer here. Thanks in advance.

@blujedis Just a heads up, I implemented both of the major changes I had mentioned in the readme originally, adding a styling system in v2, and updating to react-select in v3. As far as LTS goes, I'd say this package now has pretty much everything it needs to survive, with most changes from now on being related to keeping the dependencies up to date.  I will of course still consider any feature requests anyone has that are in the scope of this package, but besides that there isn't anything that I still have planned to add besides the couple things left in the Roadmap.
If you want to give v3 of this package a try when you get a chance, I'd be glad to hear any feedback!  Especially if anything doesn't work right.

I'm going to close this for now as it has been answered


Summary statistics of configured data sources should be implemented in Admin Console

Refer issue #556 for an example of current implementation that needs to change.

Reference ticket is completed and no need to continue


Fix Clang warning diagnostics

See https://clang.llvm.org/docs/UsersManual.html#options-to-control-error-and-warning-messages

Please take a look at the build failures.


VS2017 internal error occurred when building ChakraCore

After I updated Visual Studio 2017 to version 15.3.3 today, it can't build ChakraCore (master branch, x86 release version). The error is: fatal error C1001: An internal error has occurred in the compiler. and LINK : fatal error LNK1000: Internal error during IMAGE::BuildImage. The x86 debug and x64 release versions can be built successfully. I am using Visual Studio 2017 Community Edition on Windows 10 x64 Build 15063. Does anyone else notice the same problem? Is there any workaround?
Here is the log:
15>   Creating library C:\Users\***\git\ChakraCore\Build\VcBuild\bin\x86_release\ChakraCore.lib and object C:\Users\***\git\ChakraCore\Build\VcBuild\bin\x86_release\ChakraCore.exp
15>Generating code
15>c:\users\***\git\chakracore\lib\backend\serverscriptcontext.cpp : fatal error C1001: An internal error has occurred in the compiler.
15>(compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 256)
15> To work around this problem, try simplifying or changing the program near the locations listed above.
15>Please choose the Technical Support command on the Visual C++
15> Help menu, or open the Technical Support help file for more information
15>  link!InvokeCompilerPass()+0x1f81f
15>  link!InvokeCompilerPass()+0x1f81f
15>  link!InvokeCompilerPass()+0x26d8c
15>  link!InvokeCompilerPass()+0x2722d
15>  link!DllGetC2Telemetry()+0xf4a80
15>  link!CloseTypeServerPDB()+0x53a92
15>  link!CloseTypeServerPDB()+0x5adbf
15>  link!CloseTypeServerPDB()+0x5ab47
15>
15>c:\users\***\git\chakracore\lib\backend\serverscriptcontext.cpp : fatal error C1001: An internal error has occurred in the compiler.
15>(compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 256)
15> To work around this problem, try simplifying or changing the program near the locations listed above.
15>Please choose the Technical Support command on the Visual C++
15> Help menu, or open the Technical Support help file for more information
15>  link!InvokeCompilerPass()+0x1f81f
15>  link!InvokeCompilerPass()+0x26d8c
15>  link!InvokeCompilerPass()+0x2722d
15>  link!DllGetC2Telemetry()+0xf4a80
15>  link!CloseTypeServerPDB()+0x53a92
15>  link!CloseTypeServerPDB()+0x5adbf
15>  link!CloseTypeServerPDB()+0x5ab47
15>
15>
15>LINK : fatal error LNK1000: Internal error during IMAGE::BuildImage
15>
15>  Version 14.11.25507.1
15>
15>  ExceptionCode            = C0000005
15>  ExceptionFlags           = 00000000
15>  ExceptionAddress         = 50DBE9AB (509D0000) "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX86\x86\c2.dll"
15>  NumberParameters         = 00000002
15>  ExceptionInformation[ 0] = 00000000
15>  ExceptionInformation[ 1] = 00000001
15>
15>CONTEXT:
15>  Eax    = 00000000  Esp    = 0075E5EC
15>  Ebx    = 34E34DB8  Ebp    = 0075E5F8
15>  Ecx    = 34E35AFC  Esi    = 00000005
15>  Edx    = 00000002  Edi    = 1A8F4474
15>  Eip    = 50DBE9AB  EFlags = 00010246
15>  SegCs  = 00000023  SegDs  = 0000002B
15>  SegSs  = 0000002B  SegEs  = 0000002B
15>  SegFs  = 00000053  SegGs  = 0000002B
15>  Dr0    = 00000000  Dr3    = 00000000
15>  Dr1    = 00000000  Dr6    = 00000000
15>  Dr2    = 00000000  Dr7    = 00000000
15>Done building project "ChakraCore.vcxproj" -- FAILED.
========== Build: 14 succeeded, 1 failed, 10 up-to-date, 0 skipped ==========

I'm getting this too.  Debug builds work fine, but Release build fails with internal errors during code generation.  Probably should be reported upstream to the MSVC devs.

@fatcerberus Thanks for the suggestion! I reported it to Visual Studio here: https://developercommunity.visualstudio.com/content/problem/108800/fatal-error-c1001-an-internal-error-has-occurred-i-7.html

@fatcerberus I fixed the building error by running "Rebuild Solution". I'm not sure if we had the same issue, but I suggest you try it if you haven't.

Still getting this in MSVC 2017 v15.3.5 when building x64 Release.
3>------ Build started: Project: ChakraCore, Configuration: Release x64 ------
3>   Creating library C:\src\ChakraCore\Build\VcBuild\bin\x64_release\ChakraCore.lib and object C:\src\ChakraCore\Build\VcBuild\bin\x64_release\ChakraCore.exp
3>Generating code
3>  link!InvokeCompilerPass()+0x1f40b
3>  link!InvokeCompilerPass()+0x1f40b
3>  link!InvokeCompilerPass()+0x269a2
3>  link!InvokeCompilerPass()+0x26e34
3>  link!DllGetC2Telemetry()+0x11dcca
3>
3>c:\src\chakracore\lib\jsrt\core\jsrtcontextcore.cpp : fatal error C1001: An internal error has occurred in the compiler.
3>(compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 256)
3> To work around this problem, try simplifying or changing the program near the locations listed above.
3>Please choose the Technical Support command on the Visual C++
3> Help menu, or open the Technical Support help file for more information
3>c:\src\chakracore\lib\jsrt\core\jsrtcontextcore.cpp : fatal error C1001: An internal error has occurred in the compiler.
3>(compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 256)
3> To work around this problem, try simplifying or changing the program near the locations listed above.
3>Please choose the Technical Support command on the Visual C++
3> Help menu, or open the Technical Support help file for more information
3>  link!InvokeCompilerPass()+0x1f40b
3>  link!InvokeCompilerPass()+0x269a2
3>  link!InvokeCompilerPass()+0x26e34
3>  link!DllGetC2Telemetry()+0x11dcca
3>
3>
3>LINK : fatal error LNK1000: Internal error during IMAGE::BuildImage
3>
3>  Version 14.11.25508.2
3>
3>  ExceptionCode            = C0000005
3>  ExceptionFlags           = 00000000
3>  ExceptionAddress         = 03FE1BB8 (03C00000) "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX86\x64\c2.dll"
3>  NumberParameters         = 00000002
3>  ExceptionInformation[ 0] = 00000000
3>  ExceptionInformation[ 1] = 00000001
3>
3>CONTEXT:
3>  Eax    = 00000000  Esp    = 008FE8BC
3>  Ebx    = 44B48745  Ebp    = 008FE8C8
3>  Ecx    = 44B493B4  Esi    = 00000005
3>  Edx    = 00000002  Edi    = 1B3B3F74
3>  Eip    = 03FE1BB8  EFlags = 00010246
3>  SegCs  = 00000023  SegDs  = 0000002B
3>  SegSs  = 0000002B  SegEs  = 0000002B
3>  SegFs  = 00000053  SegGs  = 0000002B
3>  Dr0    = 00000000  Dr3    = 00000000
3>  Dr1    = 00000000  Dr6    = 00000000
3>  Dr2    = 00000000  Dr7    = 00000000
3>Done building project "ChakraCore.vcxproj" -- FAILED.

I've seen these before, and I think they are generally to do with incremental linking being buggy. Whenever I see this, doing a rebuild or clean+build fixes the issue. Did that not work for you?

Yes, full rebuild fixed the issue.  I guess I never run into this because I habitually disable incremental linking in my own projects.