WebView on Android 4.3 fails to execute any injected Javascript

Environment
React Native Environment Info:
System:
OS: macOS High Sierra 10.13.6
CPU: x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
Memory: 26.41 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.7.0 - /usr/local/bin/node
Yarn: 1.7.0 - /usr/local/bin/yarn
npm: 6.2.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.0, macOS 10.14, tvOS 12.0, watchOS 5.0
Android SDK:
Build Tools: 23.0.1, 26.0.1, 27.0.3
API Levels: 23, 26, 27
IDEs:
Android Studio: 3.1 AI-173.4819257
Xcode: 10.0/10A255 - /usr/bin/xcodebuild
npmPackages:
@lingui/react: 2.7.0 => 2.7.0
react: 16.5.0 => 16.5.0
react-native: 0.57.0 => 0.57.0
npmGlobalPackages:
react-native-cli: 2.0.1
Description
Recent changes broke execution of any injected Javascript (either via injectedJavaScript prop or manually via injectJavaScript method of the WebView on devices running on Android prior to 4.4.
Looking through the linked issues of the above mentioned commit, say this one, javascript scheme RFC and Android implementation prior to 4.4 (see issue) we can see that the following action is the culprit:
loadUrl("javascript:" + URLEncoder.encode(script, "UTF-8"));
This line will encode passed Javascript code for Android <= 4.3 and due to the latter's implementation of loadUrl that doesn't decode the scheme's text we end up with a problem.
In our application we need to grab loaded page's title and set it into our header in RN. Prior to 0.57.0 and the commit it worked without any issues.
As any injected Javascript is wrapped into self-executing anonymous function here:
evaluateJavascriptWithFallback("(function() {\n" + injectedJS + ";\n})();");
This is what goes to loadUrl:
%28function%28%29+%7B%0Awindow.postMessage%28document.title%29%3B%0A%7D%29%28%29%3B
Reproducible Demo
Setup your WebView with any correct value for injectedJavascript prop that would provide a feedback (console.log, data passed via onPostMessage, visible DOM manipulations, etc) on <=4.3 Android device / emulator.
So I suggest we remove the encoding bit from that line as it clearly messes up any passed Javascript.

React-native Webview component is being extracted to https://github.com/react-native-community/react-native-webview. Please if that bug still exists with the extracted component, open an issue on the other repository, as it will probably be easier to get attention there.
Thank you !

@Titozzz , thanks, I've done just that. The error causing code was carried over into this new repo without changes so the bug persists.


don't own ConfigMap

Description
for issue #995
AIUI, operators should own ALL Secrets or ConfigMaps and probably some other resources.
https://sdk.operatorframework.io/docs/best-practices/designing-lean-operators/
The default client cache will handle watching changes to the ConfigMaps in this namespace as they are used.
Type of Change

[X] Bug Fix

Checklist

[X] I have read the contributing guidelines
[X] Existing issues have been referenced (where applicable)
[ ] I have verified this change is not present in other open pull requests
[ ] Functionality is documented
[X] All code style checks pass
[ ] New code contribution is covered by automated tests
[ ] All new and existing tests pass

 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.

I'm wrong. This isn't my issue.


Vector classes have inconsistent multiplication method naming

I consider the Vec3d class the baseline for vector naming, so I will list deviations from its standards:

Vec3f#multiplyComponentwise(FFF) should match Vec3d#multiply(DDD)
Vec3f#scale(F) should match Vec3d#multiply(D)

If the term should be different because Vec3f is mutable (such as relativize versus subtract), then the multiplyComponentwise method should simply be renamed to scale.

@haykam821 multiplyComponentwise might be from Vector4f - but this one should be named scale.

Welp, I didn't expect this issue to be resolved by removing the class entirely :P


this is core copy of and admin copy, it can be used any type of webs…

It can be used as the basic setting of any website

I have review everything is look fine. But if it have more features like blog ,home pages


[SPARK-41346][CONNECT][PYTHON][FOLLOWUP] test_connect_function cleanup

What changes were proposed in this pull request?
remove unused tables, variables in test_connect_function
Why are the changes needed?
test_connect_function does not need a saved table at all
Does this PR introduce any user-facing change?
No, test only
How was this patch tested?
updated test

build: https://github.com/zhengruifeng/spark/actions/runs/3615952109/jobs/6093460025

thank you! merged into master


v1.18: Pin spl-token-cli to 3.4.1

Problem
v1.18 is on the cusp of becoming the stable branch; however, it does not yet have a pinned version of spl-token-cli to build. CI isn't broken yet, but running ./scripts/cargo-install-all.sh without this change will select v4.0.0 which has v2.0.0 crate dependencies in this repo. This is obviously problematic for the v1.18 branch
Summary of Changes
Pin to the latest version compatible with agave v2.0.0, which is spl 3.4.1

Looks like this is a duplicate of https://github.com/anza-xyz/agave/pull/1823

Looks like this is a duplicate of #1823

That it is, closing this out seeing as that one already got the reviews from the people I was going to add.


How can I progress @step based on some condition?

For example, the following code seems not working:
class SomeFlow(FlowSpec):
    some_condition = Parameter( ... )

    @step
    def start(self):
        if self.some_condition == ... :
            self.next(self.a)
        else:
            self.next(self.b)

    @step
    def a(self): ...

    @step
    def b(self): ....

How can I do this with metaflow @step?

@sangwoo-joh Conditions are not supported. Found this via Googling "metaflow conditional step": https://github.com/Netflix/metaflow/issues/71
You can easily workaround that by doing something like this:
self.next(self.a, self.b)

And then inside of a and b, check for self.some_condition and act accordingly.
Alternatively, combine the logic of a and b into c and call c instead where you would use an if/then/else to do different things.
Hope that works for you!

what if I want to skip one step based on condition?
a --> b --> c
@step def a(self):     if condition:          self.next(b)     else:         self.next(c)


Provide an API for localizing plugin resources.

Plugins should have a convenient way to localize themselves.

The following DSL will be provided for plugins:
val foo: String by translated(default = "Foo") {
  "Bar" to Locale.ru
  "FooBar" to Locale.uk
}

But how it will be extended by another plugins? In next way:
plugins.localization.withType<PluginAStrings> {
  extend(foo) {
    "Something" to Locale.`ru-RU`
  }
}

Plugin that contain localization should register strings (strings should be separetely in jar and uploaded somewhere):
plugins.localization.register<PluginAStrings>(object : PluginAStrings {
  override val foo: String by translated(default = "Foo") {
    "Bar" to Locale.ru
    "FooBar" to Locale.uk
  }
})

Codee localization
Codee will be able to translate in next way:
// PluginContext is receiver
with(app.localization.strings) {
  extend(appName) {
    "Кодее" to Locale.ru
  }
}


BAEL-2346: How to Start a Thread in Java

closing as there are some external changes that break the build. I'll try force another update of my codebase and try again.


Update for 'es'

update for spanish translation

@amekare Andrea, thank you very much for the translation. We are translating the v2 view at the moment. Could you please take a look at it?
lib/translations_v2.py


Error when create one table  with '_'

hi,
I got an error when I use a table called : test_anibal
This error occurs when you create tables with : '_'
i need support for this issue
please let me know if I'm making a mistake.
but I think q is errror of apigility
thanks for you input (colaboration)
imagenes :
01 : http://i60.tinypic.com/14e6mhu.png
02 : http://i59.tinypic.com/2qkmi6h.jpg
03 : http://i61.tinypic.com/302mkd5.png

Fixed with zfcampus/zf-apigility-admin-ui#59, and we'll release it within the next 7 days.


perf test a stress test to profile CPU load of podman

perftest uses libpod as golang library and perform various operations on containers.
This can be used as handy tool to stress test and profile CPU usage of libpod.
Motivation for this tool is have tool, which can generate profiling data, which can be consumed by standard tools like go tool pprof. This could he helpful during integration of CRI-O and libpod.
Currently only stress test is SingleThreadedStressTest, but can be extended for parallel tests like MultiThreadedStressTest and extend operation for pods also.
Signed-off-by: Kunal Kushwaha<EMAIL_ADDRESS>

bot, retest this please

@kunalkushwaha Please rebase to pick up CI fixes

/approve

This requires /ok-to-test

/ok-to-test
@kunalkushwaha, could you answer the open question from
https://github.com/containers/libpod/pull/1757#pullrequestreview-171450880?
Those were asking whether the proposed tool or a shell script is a better solution to do benchmarking and profiling. You've invested a great deal of time in this PR since the and it would be bad if the common conclusion is to drop this PR and to go for a shell script instead.

@vrothberg : I had updated the PR message as per your suggestion. Sorry didn't updated, you that I had updated.

Motivation for this tool is have a tool, which can generate profiling data, which can be consumed by standard tools like go tool pprof. This could he helpful during integration of CRI-O and libpod. These things are not possible with shell scripts.
Currently only stress test is SingleThreadedStressTest, but can be extended for parallel tests like MultiThreadedStressTest and extend operation for pods also.
I kept it small for initial PR, so its  easy to review and merge.

@rhatdan This PR is complete.
Additional test as can be added later per requirements.
Some of Tests which have failed are due to VarlinkClient tests. I same errors are occurring for all pull requests.
======================================================================
ERROR: test_999_remove (test.test_pods_ctnrs.TestPodsCtnrs)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/go/src/github.com/containers/libpod/contrib/python/podman/podman/libs/pods.py", line 78, in remove
    results = podman.RemovePod(self._ident, force)
  File "/usr/lib/python3.6/site-packages/varlink/client.py", line 84, in _wrapped
    return self._call(method.name, *args, **kwargs)
  File "/usr/lib/python3.6/site-packages/varlink/client.py", line 141, in _call
    (message, more) = self._next_varlink_message()
  File "/usr/lib/python3.6/site-packages/varlink/client.py", line 111, in _next_varlink_message
    raise e
varlink.error.VarlinkError: {'parameters': {'reason': 'cgroups: cgroup mountpoint does not exist'}, 'error': 'io.podman.ErrorOccurred'}

@kunalkushwaha Could you rebase and repush, Seems lots of fixes have been moved into CI, which might require a rebase.

All issues related to the PR are fixed.

Updated vendor.conf dependencies in /vendor i.e. github.com/pkg/profile
Since, there is change in signature of function libpod.WithNetNS, updated the test for same.

Currently full_vm_testing fails due to some integration test related to rootless tests, which are not related to this PR.

Cirrus is exploding - seems like only the rootless tests. I think I remember @cevich talking about failing rootless tests in IRC today - was that on master?

Yes, tests are failing on HEAD branch.

/me looking...

...Hmmm other tests failing as well in this PR's case.  I had thought the failures I was seeing were limited to my newer VM images + old runc + needing to passthrough $XDG_RUNTIME_DIR.  Looking at the long list of job failures in Cirrus to see if this is more systemic...

...okay, interesting.  The rootless tests do seem to be failing, including on master as indicated by the status badge.  I think this will be fixed by #1788, and it seems to be really close to passing tests.

This LGTM... Let's see about getting this merged. Might need another rebase to fix the tests?

looking

ya, need rebase for PASS.  It's failing on the 'rootless' tests we fixed (last?) week.

Need to fix this PR with changes regarding https://github.com/containers/libpod/pull/1904/files#diff-76939214d3033492b329833fb18b7088R574. Will look into tomorrow.

I need help regarding this issue.
While creating container, I am getting this error
FATA[0000] no volume with name roc found in database: no such volume at https://github.com/containers/libpod/blob/master/libpod/boltdb_state_internal.go#L574
For containerSpec settings are donw in this PR at https://github.com/containers/libpod/pull/1757/files#diff-0ca8a76a233793f50c7f50145a2de951R124
and creation is done with ImageRootFs
The mount points are set to default one as below.
[
  { /proc proc proc      [ nosuid noexec nodev  ]  }
  { /dev tmpfs tmpfs      [ nosuid strictatime mode=755 size=65536k  ]  }
  {  /dev/pts devpts devpts      [ nosuid noexec newinstance ptmxmode=0666 mode=0620 gid=5  ]  }
  {  /dev/shm tmpfs shm      [  nosuid noexec nodev mode=1777 size=65536k   ]  }
  { /dev/mqueue mqueue mqueue      [  nosuid noexec nodev   ]  }
  { /sys sysfs sysfs      [ nosuid noexec nodev ro  ]  }
  { /sys/fs/cgroup cgroup cgroup      [  rprivate nosuid noexec nodev relatime ro  ] }
]

This error started coming after #1906 . Is anything changed with this PR, which is required to set with container while creation?
cc @rhatdan @mheon @umohnani8

I don't have a direct answer to your question, but wonder if the unittest failure indicates anything related:
# github.com/containers/libpod/contrib/perftest
contrib/perftest/main.go:102:4: cannot use !true (type bool) as type "github.com/containers/libpod/vendor/github.com/containers/image/types".OptionalBool in field value
contrib/perftest/main.go:106:45: too many arguments in call to client.ImageRuntime().New
	have (context.Context, string, string, string, *os.File, *image.DockerRegistryOptions, image.SigningOptions, bool, bool)
	want (context.Context, string, string, string, io.Writer, *image.DockerRegistryOptions, image.SigningOptions, bool)

I see that in both the Fedora and Ubuntu results.

@kunalkushwaha It looks like that's a side effect of the image volumes work from @umohnani8 - it seems like there's a volume somewhere in your create config that has a relative path, which I don't believe is supported since the image volumes work landed.
I don't see any volumes named "roc", though... @umohnani8 Could this be an issue with image volumes interacting with named volumes? Only place I can think an unexpected volume would pop up from

@mheon I feel this roc volume is /proc , which is somehow getting intial letter is getting truncated.

That would make sense...
Alright, I think I know what needs to happen here, but it could end up being a lot of code. We need to actually record the named volumes in the container config, as opposed to just adding them to the spec, which will allow us to more accurately detect whether we have named volumes in the container.

@mheon I got the issue. and currently testing the fix with all test cases. Will make PR.
thanks for pointing to namedVolume.

@kunalkushwaha Ack - glad to hear!

ctr.runtime.config.VolumePath is empty, due to which, condition satisfy and proc is manipulated.
check with len(ctr.runtime.config.VolumePath) > 0 && .. should fix it.
https://github.com/containers/libpod/blob/master/libpod/boltdb_state_internal.go#L569

The test failed in CI are not related to this PR. the failing for all outstanding PRs.
test/test_runner.sh: line 51: 11358 Killed                  $PODMAN varlink --timeout=0 ${PODMAN_HOST} >> /tmp/test_podman.output 2>&1
/tmp/busybox.log =====
cbfc0b3c167a44d1b05e9fa4d0e9ea01f43c6a65d0530eaedf2980397c1857ca

umount /tmp/podman.IXuMHBWADR/crio/vfs-containers/c99785ca713cff485e9ef8ba40102ff46a986eaef0259266c39b962260626c9c/userdata/shm /run/netns/cni-ea0d12b5-774c-f776-f870-ea7cfbeaba0e /run/netns/cni-ea0d12b5-774c-f776-f870-ea7cfbeaba0e /run/netns/cni-16aefb7a-9439-7804-605f-9ed301fb8402 /run/netns/cni-16aefb7a-9439-7804-605f-9ed301fb8402 /tmp/podman.IXuMHBWADR/crio/vfs-containers/dcd72a43881f1140e99b6d5bc7dfcd2cb03e02a29bede942bb83a58c447b9d4c/userdata/shm
umount: /run/netns/cni-ea0d12b5-774c-f776-f870-ea7cfbeaba0e: not mounted.
umount: /run/netns/cni-16aefb7a-9439-7804-605f-9ed301fb8402: not mounted.
umount /run/netns
Makefile:16: recipe for target 'integration' failed
make[1]: *** [integration] Error 1
make[1]: Leaving directory '/var/tmp/go/src/github.com/containers/libpod/contrib/python/podman'
Makefile:189: recipe for target 'clientintegration' failed
make: *** [clientintegration] Error 2

Exit status: 2

The test failed in CI are not related to this PR. the failing for all outstanding PRs.
Ugg, I think that's the mount/cgroups error from the python tests, yes?  That's a known flake, though frustrating, just smash the 're-test' button if you see it.
It's a "This Should Never Happen" kind of things.  We spent days trying to reproduce / figure that problem out. Somehow/why it happens in GCE more than on our laptops  :confounded:

bot, retest this please

@rhatdan The test failing is not related to this PR.
A request, as I will be on leave for 2 weeks from next week, So if anything requires for this PR, I can fix this week.

@kunalkushwaha rebase from master and that failing test will go away.  Hopefully replaced by a new, non-failing test (but I can help if it dies).

@cevich fedora environment setup have issues
export LD_LIBRARY_PATH="/usr/local/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"
>>>>> OVERRIDING RUNC WITH https://kojipkgs.fedoraproject.org/packages/runc/1.0.0/55.dev.git578fe65.fc28/x86_64/runc-1.0.0-55.dev.git578fe65.fc28.x86_64.rpm <<<<<
Copr repo for gce-oslogin owned by ngompa        19 kB/s | 4.9 kB     00:00
Fedora 28 - x86_64 - Updates                     22 MB/s |  28 MB     00:01
Error: Failed to synchronize cache for repo 'fedora'

@kunalkushwaha that's probably just some networking hiccup, they happen sometimes.  Just re-run if you see that.  I'll hit it for you this time, next time it'll cost you $0.50 :smile:

bot, retest

CI is green
LGTM
@rhatdan @baude @TomSweeneyRedHat PTAL and merge

LGTM
@kunalkushwaha Nice work, and good perseverance on getting this through.


Inference vs training in tensorflow

Hello,
Could you please tell me how does Tensoflow differentiate the training step from the inference? ( in most examples I found, they use the same call for both steps )

This question is better asked on StackOverflow since it is not a bug or feature request. There is also a larger community that reads questions there.
If you think we've misinterpreted a bug, please comment again with a clear explanation, as well as all of the information requested in the issue template. Thanks!


HacktoberFest Button bug

What happened?
1> In mobile view hacktober fest has a bug as shown in the picture

How can we reproduce this bug?
1> Open the Hamburger menu in mobile view
Desktop Information (Optional)
No response
Urgency (Optional)
High priority

Can I work on this issue , @agamjotsingh18

Hey @Jyotiraditya24, you can work on this if you want otherwise i'll assign and merge @saadahmadhere PR if you agree

okay you can merge his work , it will not be a problem

Great Spirit!! @Jyotiraditya24

Hey @saadahmadhere, do you want to be assigned ?

Sure @agamjotsingh18 . I have already submitted a PR for the same.

Awesome!!


[REQUEST] Remove Neo4j from Core Library

Is your feature request related to a problem? Please describe.
If we are going to support things like #180  and #181, the neo4j driver may not always be required and other included libraries. We should strive to dramatically reduce the core library dependency footprint. One obvious solution is to not include the neo4j specific dependencies into nodestream.
Describe the solution you'd like
Move the nodestream.databases.neo4j logic into a nodestream-plugin-neo4j core library. As a result we are also going to need to adjust the following:

The new project creation logic.
The e2e tests.

Describe alternatives you've considered
N/A
Additional context
N/A

I am putting this in scope for 0.11 due to the development of #36 (DB Migrations)
This adds additional complexity onto the database connector which is facilitating its turn towards becoming its own repo.

Merged into 0.12 via #237


ci(ansible): remove VM when finished

Description
Remove VM when finishing Anisble CI run

:tada: This PR is included in version 1.9.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


IE11 / .close() not working always

I'm using:
dlg = $.notify();
to show a notification then doing an ajax() to execute data preparation on the server after which I do
dlg.close();
window.location.replace(...);  // forcing a file download

IE after that shows the SaveAs dialog. In this case the notification window does not dissapear in IE11
The solution I have is to do this instead of the previous last line:
setTimeout(function(){ window.location.replace(...); }, 1000);

Seems that IE stops processing all animations when a Save dialog is displayed. Other browsers seems working correctly. If I set a smaller delay then the closing animation sometimes stops not performing to the end.

[ ] Is there another way to close the dialog in IE while the SaveAs is shown?
[ ] How can I be sure that the Notification is closed?

I have no idea I'll look into this.


Support PHP 8

Your package has been very useful and it would be great to be able to continue using it with PHP 8.
Fixes #8.

Thanks for your PR. I thought I had upgraded all of my packages to support PHP 8, but I guess I missed this one.
It's now PHP 8 compatible with v2.0.0.


Multi modules support

Hi,
when viewing the note in samples regarding multi modules:
the "core" module is a library used by our application. In general, such modules should hold dependencies to other libraries, but not Spring Boot starters.
is there any way to make it so that core modules can hold spring starters?
thanks!

Hello @itziklavon
This is already possible with our current support. This note in the sample is merely a general best practice for Spring Boot applications.
Starters should be applied on the actual Spring Boot application. If you'd like to add (optional) dependencies to modules, you can always add them explicitly and still apply the Spring Boot BOM without applying the actual Spring Boot build plugin.


Make errors more friendly to the end-user (surface early when possible)

### Tasks
- [ ] Add docs to explain common failures

This is possibly linked with #170, but also I think there are numerous places in the spec loading code where we can make the error location and cause much clearer.


Update defect_dojo_sample_file.json to work with recent versions

The title pretty much sums this up. This fixture is only used for demo purposes, so it will affect a handful of people for the better.

great job. could we think of some kind of automated way to keep the script up to date?

I racked my brain for a day on this. Still have nothing. Luckily this is the first time it's needed updates in 3 years, so I will happily take the responsibility of keeping it up to date :)


Fix issue where test cases fail due to pip version warning

Description
Pip version 22.1.2 seems to write a notice regarding a newer pip version being available to stdout. In the past these messages were written to stderr. This change breaks the parser of the method that parses the pip list output. This PR fixed this issue.
pip list output:
Package                       Version    Editable project location
----------------------------- ---------- ------------------------------------------------
alabaster                     0.7.12
arrow                         1.2.2
....
[notice] A new release of pip available: 22.1.2 -> 22.2
[notice] To update, run: pip install --upgrade pip

Self Check:

[ ] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Processing this pull request

Merged into branches master in 42bbd2c76f17ab5a1c196bbb7ac4786a13beb38b

Processing #4602.

Processing #4602.


Understand how we can avoid unnecessary logging work

This issue aims to understand what we can do to avoid performing costly logging-related work that ultimately will not be of any use. For example, serializing a large object but then not logging this serialization because of the configured log level.
This may require cooperation across multiple layers of the logging system. For example:

providing internal logging APIs which help us not pay for what we don’t use (e.g. macros that first check configured log level and then skip the evaluation of expressions, or if we were for some reason using Swift, then @autoclosure — these are both only useful in the case where the costly evaluation of an expression is performed inside the logging statement itself) — this comes under #1617
the ability to query the log output object to know whether a given message will actually be logged (e.g. OSLog’s func isEnabled(type: OSLogType) -> Bool) — this comes under #1628

Accidental duplicate of https://github.com/ably/ably-cocoa/issues/1632.


Add support for template runtime interface.

Currently the project does not support TemplateRuntime interface.
For devices where users want to display text and images the supports are needed.

@mushfiq what changes are needed to inform AVS that the device supports templates? I suspect it needs to be alerted to the fact the device has a screen.

Great. If it's that simple then we should be able to simply check `directive.name == 'RenderTemplate'. Can you test that and let me know.

@richtier I will check it and let you know soon.

Hi @richtier below is my findings:
elif directive.name == 'RenderTemplate':
        print(directive.directive)  # do something with directive template data

Does not work out of the box.
As the avs_client implementation looks only for octet-stream  and it filters out other content type. To overcome that, the current (tested on 1.0.1) implementation needs to be adjusted.
BTW, sorry for late feedback :)

@richtier as prerequisite the display card options should be enabled from the product settings.
AVS does not provide RenderTemplate out of the box, for some queries it has template data for some it does not.
I am also planning to implement it (but not sure when exactly I will be done with that). If I can finish soon, I will submit a PR.

Hi @richtier I tried the latest version of the client and now RenderTemplate directive is being returned via the client.  I am closing this issue. The RenderTemplate payload can be accessed like below:
 directive.directive.get("payload")


Comment sorting

Reddit's official API has the following endpoint:
GET /api/morechildren
And you can pass a parameter called sort, from the documentation:
sort: one of (confidence, top, new, controversial, old, random, qa, live)
I could probably use oauthRequest or similar to make a request and include the sort, but I feel this would be more useful as an additional option when getting a submission, to have its comments sorted by the supplied parameter.
Cheers.

Resolved, you can use this:
await this.r.oauthRequest({
uri: "/r/"+subreddit+"/comments/"+id,
qs: {
sort: sort
}
});
and pass the sort as a parameter.


CommandNotFoundException

Hi, I tried to install everything and test the bot and everything worked. While now I have this problem and I can't understand why.
In riga:1 car:1

PumpBot.py

  + CategoryInfo          : ObjectNotFound: (python3PumpBot.py:String) [], CommandNotFoundException
  + FullyQualifiedErrorId : CommandNotFoundException

I'm not the repository owner but I think your error here is not leaving a space between python3 and PumpBot.py, that is a Powershell error. If it still doesn't work, try python or py instead.

Thanks for the reply.
The problem is with powershell but even if I use phyton or if I also leave the space between phyton3 and pumpbot.py the error repeats.
it's a very strange mistake that he didn't give me before.
I am going crazy

Thanks for the reply.
The problem is with powershell but even if I use phyton or if I also leave the space between phyton3 and pumpbot.py the error repeats.
it's a very strange mistake that he didn't give me before.
I am going crazy

I'm not the repository owner but I think your error here is not leaving a space between python3 and PumpBot.py, that is a Powershell error. If it still doesn't work, try python or py instead.

Thanks for the reply.
The problem is with powershell but even if I use phyton or if I also leave the space between phyton3 and pumpbot.py the error repeats.
it's a very strange mistake that he didn't give me before.
 That's not how "python" is spelled.

Are you writing "phyton"? That's not how "python" is spelled. Try each of these in the file directory of the script:
py PumpBot.py
python PumpBot.py
python3 PumpBot.py

If you still can't get it to work, try reinstalling Python and tick add to PATH during the installation.

I had tried all the syntaxes but hadn't tried "py PumpBot.py". With this it works, thank you very much for your availability and for solving the problem.


[SPARK-42604][CONNECT] Implement functions.typedlit

What changes were proposed in this pull request?
Spark connect already supported functions.lit, but functions.typedlit.
This PR add some new msg to the connect protocol and support functions.typedlit.
Why are the changes needed?
Spark connect need to add functions.typedlit.
Does this PR introduce any user-facing change?
'No'.
New feature.
How was this patch tested?
New test cases.

Thanks for your work. I'll take a closer look tomorrow

ping @hvanhovell @HyukjinKwon @zhengruifeng @amaliujia

ping @hvanhovell @zhengruifeng @LuciferYang

@hvanhovell Could you have time to take a look ? Thanks!

ping @hvanhovell @HyukjinKwon Could you have time to take a look?

ping @hvanhovell @zhenlineo

@hvanhovell Could you take a review ?

cc @ueshin

friendly ping @HyukjinKwon @hvanhovell @zhengruifeng

Merged to master.

@HyukjinKwon @LuciferYang @zhengruifeng @amaliujia @zhenlineo Thank you !


Issue with /docs/tutorials/kubernetes-basics/cluster-interactive/

This is a...

[ ] Feature Request
[x ] Bug Report

Problem:
Trying to run Bootcamp module 1 and terminal session is hard to use on FireFox 45.4.  After entering initial commands, terminal session will sometimes move from right of instruction to below, and is difficult to get to move back.  Tried in full screen and non full with different widths- still same issue.  Tutorial becomes more aggravating then education

Proposed Solution:
Page to Update:
http://kubernetes.io/...

I just reproduced this bug on Firefox 56.0.

@BenHall What should be our approach to fixing this?
While we're having the discussion, can you help us understand the state of the two sites:

Original Bootcamp
Kubernetes Basic at kubernetes.io

I know you have addressed several issues. Have your fixes applied to both sites? Or have the sites gotten out of sync?

@BenHall @heckj Let me just throw out some thoughts here. Maybe we should switch over to using the Katacoda playground for these basic tutorials. We might be able to convey the same information and provide the same easy access to a cluster. The access might even be easier that what we have now, given that the current user experience is a bit temperamental. Another advantage would be that the Kubernetes version at the playground stays up to date. Just a thought. What do you think?

The more I think about it, the more I like the idea of moving the basic tutorials to the playground.

The tutorial text would be decoupled from the command environment. We could address issues in the text easily.
Many of the issues we've gotten have been about the tutorial mechanism, not about the tutorial steps or the behavior of Kubernetes. In the playground, we wouldn't have these kinds of infrastructure problems.

Sorry, I thought we had fixed this. I couldn't reproduce it, but I've removed some of the CSS selectors that may have caused an issue. Could you please retest @steveperry-53 and let me know if it has improved the situation.

In terms of improving the layout. If we could reduce the size of table of contents then it would have a huge impact. On a small screen it doesn't resize, meaning the important part (Katacoda) is reduced.

Alternatively, maybe we move to the "tablet" layout earlier on smaller screens?

The layout and compressed nature of the content are the second largest set of bugs reported, this one included. @BenHall and I were talking about that earlier as well, trying to figure out potential solutions. While the tutorials remain “hosted” within an ifram kind of setup within the broader kubernetes.io docs, the horizontal space becomes the most critical.
I think having a “tablet layout” much earlier would be massively beneficial here - the navigation sidebar on these embedded tutorials doesn’t provide a lot of value, but takes up a significant portion of whitespace.

I agree with @heckj, the tablet view works nicely and already exists. Maybe anything that isn't a desktop uses the tablet view.
We can remove the survey questionnaire at the end and replace it with a "continue to next module"

I like the idea of using tablet view. I'd say let's use it for all screens, regardless of size.
I agree we should remove the questionnaire.
@BenHall @heckj I'd still like to hear your thoughts on my proposal to move this to the Katacoda playground.

@steveperry-53 Moving to the playground has some advantages and means we can stay up-to-date more easily. I was going to get Minikube updated for 1.8 but still waiting on the release.
From memory, the reason why went with Minikube was because it would be closer to the next steps we want the community to take. My main concern is how we re-phase the first scenario, or do we just assume that they have access to a cluster, by that Minikube, GKE or Kubeadm?

@BenHall About re-phrasing the first scenario. I guess we would save creation of your own cluster for later. We could just start by saying that, in the playground, there is already a cluster set up for you.
Let's keep the idea of moving to the playground on the back burner. I think it's probably best to first try the tablet view. That's the smallest step, and it might very well solve these problems.

Even on a desktop computer with a fairly large monitor, I still have the interface problems described in this issue. That's why I think we should use tablet view always.

Awesome. Will be a prototype over the weekend and see what we think :)
Ben

On 6 Oct 2017, at 20:02, Steve Perry<EMAIL_ADDRESS>wrote:
Even on a desktop computer with a fairly large monitor, I still have the interface problems described in this issue. That's why I think we should use tablet view always.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

This is now live.
/close


cant resolve internal call to "System.Threading.ThreadPool::QueueCallback"

Full disclosure I 100% know that what I'm trying to do is bananas, especially given the infancy of this project and do not expect any assistance.
However, I figured I'd post it anyway in the offchance that this is known issue related to wasm's threading capabilities or perhaps something really stupid that I'm overlooking,
Code
using DotNetIsolator;
using System.Management.Automation;
using System.Runtime.InteropServices;

// Set up an isolated runtime
using var host = new IsolatedRuntimeHost().WithBinDirectoryAssemblyLoader();
using var runtime = new IsolatedRuntime(host);

// Output: I'm running on X64
var action = () =>
{
    // Output: I'm running on Wasm
    Console.WriteLine($"I'm running on {RuntimeInformation.OSArchitecture}");
    var result = PowerShell.Create().AddScript("'Hello, World'").Invoke();
    foreach (var item in result)
    {
        Console.WriteLine(item.ToString());
    }
    Thread.Sleep(5000);
};
action();
runtime.Invoke(action);

Console Output
I'm running on X64
Hello, World
I'm running on Wasm
[wasm_trace_logger] cant resolve internal call to "System.Threading.ThreadPool::QueueCallback" (tested without signature also)

Your mono runtime and class libraries are out of sync.
The out of sync library is: System.Private.CoreLib.dll

When you update one from git you need to update, compile and install
the other too.
Do not report this as a bug unless you're sure you have updated correctly:
you probably have a broken mono install.
If you see other errors or faults after this message they are probably related
and you need to fix your mono install first.

Exception details
DotNetIsolator.IsolatedException
  HResult=0x80131500
  Message=System.TypeInitializationException: TypeInitialization_Type, Microsoft.PowerShell.Telemetry.ApplicationInsightsTelemetry
 ---> System.TypeInitializationException: TypeInitialization_Type, Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration
 ---> System.TypeInitializationException: TypeInitialization_Type, Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.SelfDiagnostics.SelfDiagnosticsInitializer
 ---> System.Threading.Tasks.TaskSchedulerException: TaskSchedulerException_ctor_DefaultMessage
 ---> System.MissingMethodException:  assembly:<unknown assembly> type:<unknown type> member:(null)
   at System.Threading.ThreadPool.RequestWorkerThread()
   at System.Threading.ThreadPoolWorkQueue.Enqueue(Object callback, Boolean forceGlobal)
   at System.Threading.ThreadPool.UnsafeQueueUserWorkItemInternal(Object callBack, Boolean preferLocal)
   at System.Threading.Tasks.ThreadPoolTaskScheduler.QueueTask(Task task)
   at System.Threading.Tasks.TaskScheduler.InternalQueueTask(Task task)
   at System.Threading.Tasks.Task.ScheduleAndStart(Boolean needsProtection)
   Exception_EndOfInnerExceptionStack
   at System.Threading.Tasks.Task.ScheduleAndStart(Boolean needsProtection)
   at System.Threading.Tasks.Task`1[[System.Threading.Tasks.Task, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].StartNew(Task parent, Func`1 function, CancellationToken cancellationToken, TaskCreationOptions creationOptions, InternalTaskOptions internalOptions, TaskScheduler scheduler)
   at System.Threading.Tasks.TaskFactory`1[[System.Threading.Tasks.Task, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].StartNew(Func`1 function, CancellationToken cancellationToken, TaskCreationOptions creationOptions, TaskScheduler scheduler)
   at System.Threading.Tasks.Task.Run(Func`1 function, CancellationToken cancellationToken)
   at Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.SelfDiagnostics.SelfDiagnosticsConfigRefresher..ctor()
   at Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.SelfDiagnostics.SelfDiagnosticsInitializer..ctor()
   at Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.SelfDiagnostics.SelfDiagnosticsInitializer..cctor()
   Exception_EndOfInnerExceptionStack
   at Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration..cctor()
   Exception_EndOfInnerExceptionStack
   at Microsoft.PowerShell.Telemetry.ApplicationInsightsTelemetry..cctor()
   Exception_EndOfInnerExceptionStack
   at System.Management.Automation.PowerShell..ctor(PSCommand command, Collection`1 extraCommands, Object rsConnection)
   at System.Management.Automation.PowerShell.Create()
   at Program.<>c.<<Main>$>b__0_0()
  Source=DotNetIsolator
  StackTrace:
   at DotNetIsolator.IsolatedRuntime.InvokeDotNetMethod[TRes](Int32 monoMethodPtr, IsolatedObject instance, ReadOnlySpan`1 argAddresses)
   at DotNetIsolator.IsolatedMethod.Invoke[TRes](IsolatedObject instance)
   at DotNetIsolator.IsolatedMethod.InvokeVoid(IsolatedObject instance)
   at DotNetIsolator.IsolatedRuntime.Invoke(Action value)
   at Program.<Main>$(String[] args) in C:\Users\DKattan\source\repos\TestPowerShell73Dependency2\TestPowerShell73Dependency2\Program.cs:line 23

.csproj
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net7.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
  <PropertyGroup>

      <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="DotNetIsolator" Version="0.1.0-preview.10024" />
    <PackageReference Include="Microsoft.PowerShell.Commands.Diagnostics" Version="7.3.3" />
    <PackageReference Include="Microsoft.PowerShell.Commands.Management" Version="7.3.3" />
    <PackageReference Include="Microsoft.PowerShell.Commands.Utility" Version="7.3.3" />
    <PackageReference Include="Microsoft.PowerShell.ConsoleHost" Version="7.3.3" />
    <PackageReference Include="Microsoft.WSMan.Management" Version="7.3.3" />
    <PackageReference Include="System.Diagnostics.PerformanceCounter" Version="8.0.0-preview.2.23128.3" />
    <PackageReference Include="System.Management.Automation" Version="7.3.3">
      <PrivateAssets>contentfiles;analyzers</PrivateAssets>
      <GeneratePathProperty>True</GeneratePathProperty>
    </PackageReference>
  </ItemGroup>
  <ItemGroup>
    <ModuleFiles Include="$(TargetDir)runtimes\win\**\*.dll" />
  </ItemGroup>
  <Target Name="PublishModule" AfterTargets="PostBuildEvent">
    <Copy SourceFiles="@(ModuleFiles)" DestinationFolder="$(TargetDir)" />
  </Target>
</Project>

global.json
{
  "sdk": {
    "version": "7.0.200"
  }
}

The PowerShell related nuget packages are also using .net 7.0.2
I tried upgrading to .net8 with the PowerShell 7.4 preview but there is a known issue with the depenencies right now preventing the usage of Microsoft.PowerShell.Commands.Utility from being imported (it is referencing an unreleased nuget package).

Thanks for letting me know. I think there are two issues here:

QueueUserCallback not being implemented. I started on supporting it in this branch but there are some robustness issues. I'd rather not merge a partially-working solution as that would be even more confusing. So I'll get back to that whenever I can, but don't know when that will be.

Even with this implemented, the Powershell libraries might not just work on WebAssembly. There's a long thread about this at https://github.com/PowerShell/PowerShell/issues/13755.

I'll leave this issue open to track the QueueUserCallback requirement.

@SteveSandersonMS I worked on PowerShell and WASM. PowerShell need PR to handle WASM, and need two threads at minimum for handling the execution of async method in the interpreter. I'm waiting for dotnet team to finish the WASM Multithread model. It was added with some raw api at the end of the net7.0 timeline. Their agenda is to use/debug these api to bring multithread to Blazor Wasm.
I was thinking WASI multithread for was never done (because no model)
https://bytecodealliance.org/articles/wasi-threads

For one of my projects, I created a temporary workaround due to the lack of threading.
By using a custom TaskSchedular, the host thread can repeatability invoke it to process the Task message queue.
A custom Delay was implemented in the same fashion, relying on the host to periodically invoke a refresh function that checks the delay list.
You can see the host implementation here https://github.com/CalebSerafin/IsolatedCodeHosting/blob/10f0190f44d5dae82b9c59b6d5e2051eeb1775ca/HostForWasmConsole/AsyncIsolateWorker.cs.
And wasm app implementation here https://github.com/CalebSerafin/IsolatedCodeHosting/blob/10f0190f44d5dae82b9c59b6d5e2051eeb1775ca/WasmConsoleApp/AsyncHelpers.cs
Note, it is anything but tested or optimised, but hopefully should be a good starting point.

For one of my projects, I created a temporary workaround due to the lack of threading.
By using a custom TaskSchedular, the host thread can repeatability invoke it to process the Task message queue.
A custom Delay was implemented in the same fashion, relying on the host to periodically invoke a refresh function that checks the delay list.
You can see the host implementation here https://github.com/CalebSerafin/IsolatedCodeHosting/blob/10f0190f44d5dae82b9c59b6d5e2051eeb1775ca/HostForWasmConsole/AsyncIsolateWorker.cs.
And wasm app implementation here https://github.com/CalebSerafin/IsolatedCodeHosting/blob/10f0190f44d5dae82b9c59b6d5e2051eeb1775ca/WasmConsoleApp/AsyncHelpers.cs
Note, it is anything but tested or optimised, but hopefully should be a good starting point.

Great timing! I picked back up on this yesterday and hooked my test project to the branch you created here and started debugging this morning. The error I’m getting appears to be related to function mapping/lookup. I’ll hopefully get to dig more into it later today/tomorrow but I was hypothesizing that it could be that maybe we aren’t considering generic arguments Task in the key for the function lookup table.


Allow mulitple login attributes with lico

Is your feature request related to a problem? Please describe.
As an admin I want to allow my users to use either their e-mail address or their username to login.
Describe the solution you'd like
I'd like to set LDAP_LOGIN_ATTRIBUTES: "uid,mail" and have lico use that setting so both attributes can be used for login.
Describe alternatives you've considered
Switching to an external IdP, though that's out of scope for small setups.
Additional context
See https://central.owncloud.org/t/ocis-ldap-login-via-e-mail/45994.

That seems to be an upstream question.
can you ask in libregraph/lico ?


Add as new maintainer

please add me, thank you :)

go go maintainers @Andersen-Ader @rreeman @Studbug

Classmates that are already maintainers can click "Settings", "Collaborators and teams", "Add people" and type in your username @RyleeC99  and click "Add" with "maintainer" permissions. Please let us know here when you do, and Rylee can accept the invite.

Hi @learner-long-life . I don't have those options available on my Settings page.

my bad @rreeman try again, and add new classmates as admins not maintainers.
Admins have permission to add new collaborators, and all classmates should have that. Thanks.

invited, welcome


K8SPXC-435 Do not show any passwords in log

PXC operator docker - perconalab/percona-xtradb-cluster-operator:PR-579-dec6b148

Test name
Status

scaling
passed

recreate
passed

storage
passed

big-data
passed

haproxy
passed

self-healing
passed

scaling-proxysql
passed

init-deploy
passed

upgrade
passed

restore-to-encrypted-cluster
passed

limits
passed

self-healing-advanced
passed

monitoring
passed

upgrade-consistency
passed

security-context
passed

demand-backup
passed

operator-self-healing
passed

monitoring-2-0
passed

affinity
passed

one-pod
passed

auto-tuning
passed

scheduled-backup
passed

proxysql-sidecar-res-limits
passed

users
passed

tls-issue-self
passed

demand-backup-encrypted-with-tls
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed


Pixelated maps

As in the version before the beta all the maps are still pixellated on screen, which is such a shame. It's even worse in the beta than it is in the current production version. How come nobody has noticed that yet?

@fahlout this was addressed in quartz beta release. Please use Aesthetics mode.
self.map.loadWithCompletion { (error) in
    if error == nil {
        let lay = self.map.basemap?.baseLayers[0] as! AGSImageTiledLayer
                lay.renderMode = .Aesthetics
    }
}

There was a temporary regression in the quality of raster tiles in the early betas, but it should be fixed in the final 100.0.0 release of the SDK. Please let us know if you're still seeing the problem, and provide a screenshot or two. Having said that, there is only so much quality that can be offered by tiles that aren't specifically generated for retina displays. The best quality can be achieved through the new vector tile format the the SDK supports.


Update sbt-wartremover to 3.0.4

Updates org.wartremover:sbt-wartremover from 2.4.20 to 3.0.4.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.wartremover", artifactId = "sbt-wartremover" } ]

labels: sbt-plugin-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #69.


Use chardet's universaldetector object to speed up process

This closes #10. By using the UniversalDetector object incrementally, it will stop once it has found enough confidence to give results of the encoding. For one file example that had 15k records, it saved about 16 seconds.

@ldko @somexpert This is ready for review.

Looking at the chardet docs linked in the issue, it says:

If you want to detect the encoding of multiple texts (such as separate files), you can re-use a single UniversalDetector object. Just call detector.reset() at the start of each file, call detector.feed as many times as you like, and then call detector.close() and check the detector.result dictionary for the file’s results.

Did you try re-using a single UniversalDetector object to see if it also speeds things up?


Matter Controller on Linux

I'am developing a Matter controller for raspberry pi. This device receives message from Cloud MQTT and then run them for commissioning, on/off, v.v. Could I use connectedhomeip/example/chip-tool example for dev?

@LongND0105 chip-tool is designed as a testing tool, in general.  But if it serves your needs, you could obviously use it however you like.
What is the actual question here?

I don't understand the code architecture of the chip-tool, so I don't know how to make it run as an event loop to receive control commands from the cloud server and then execute functions with those commands. I also don't understand what local storage is for or why we need to initialize memory. Can you explain this to me? I want to have an overview of how Matter projects work and the specific requirements to ensure it doesn't encounter segmentation faults (core dumps)."
This statement expresses a desire to understand the architecture and functionality of a software tool (chip-tool) used in a technology project. The person is seeking explanations for concepts like event loops, handling commands from a cloud server, local storage usage, and memory initialization. They are also interested in gaining a comprehensive understanding of how Matter projects operate and how to prevent common issues like segmentation faults.

Im not sure from the original exactly what is wanted,
However from my perspective, unless ive missed something, there is little information on how you would go from using the chip tool, fine for testing, to an actual controller implementation on Linux.
e.g if I have raspberry pi running open border router  and a nordic thingy 53 running matter weather station
i can use the chip tool to commission and query them.
but how do I go from that to say a simple C/C++ app that talks to the thingy53 and prints out the temperature, humidity, pressure and battery level.
I'm currently thinking I'd prefer if the chip-tool was in two parts, a library with all the command implementations and a cli front end with all the user interaction.
you could then could base various controller implementations off the chip-tool library.
it currently looks like you would have to re-implement various chunks of the chip-tool to construct a basic controller on linux

so I don't know how to make it run as an event loop to receive control commands from the cloud server and then execute functions with those commands

You could run chip-tool interactive server and then send JSON messages to chip-tool on the socket it listens on...  But this may be more work than just setting up your own client using the SDK directly, for the use cases you care about.

I also don't understand what local storage is for or why we need to initialize memory.

I don't know what you mean by "local storage" and what sort of memory initialization you're talking about, so hard to say.

I want to have an overview of how Matter projects work

There isn't one already, unfortunately, apart from reading the various headers and the existing documentation under docs.

and the specific requirements to ensure it doesn't encounter segmentation faults

Those are ... wide-ranging, depending on what you are doing.

a library with all the command implementations

The "command implementations" in chip-tool (if you ignore all the complexity involved in dealing with invalid things, etc, which chip-tool has to support as a testing tool) are just glue going from the cli front-end to fairly simple APIs exposed by src/controller, no?


[KYUUBI #3156] Expose REST frontend connection metrics

Why are the changes needed?

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Codecov Report

Merging #3233 (5b963c4) into master (db0047d) will increase coverage by 0.79%.
The diff coverage is 88.23%.

:exclamation: Current head 5b963c4 differs from pull request most recent head 0337ee6. Consider uploading reports for the commit 0337ee6 to get more accurate results

@@             Coverage Diff              @@
##             master    #3233      +/-   ##
============================================
+ Coverage     50.93%   51.72%   +0.79%
  Complexity       13       13
============================================
  Files           469      465       -4
  Lines         26121    25737     -384
  Branches       3611     3562      -49
============================================
+ Hits          13304    13313       +9
+ Misses        11544    11152     -392
+ Partials       1273     1272       -1

Impacted Files
Coverage Δ

...cala/org/apache/kyuubi/server/ui/JettyServer.scala
84.90% <75.00%> (-2.06%)
:arrow_down:

...a/org/apache/kyuubi/metrics/MetricsConstants.scala
100.00% <100.00%> (ø)

...ache/kyuubi/server/KyuubiRestFrontendService.scala
82.22% <100.00%> (+1.26%)
:arrow_up:

...e/kyuubi/server/KyuubiTBinaryFrontendService.scala
84.84% <0.00%> (-3.25%)
:arrow_down:

...n/scala/org/apache/kyuubi/engine/ProcBuilder.scala
82.60% <0.00%> (-0.63%)
:arrow_down:

...in/scala/org/apache/kyuubi/config/KyuubiConf.scala
97.27% <0.00%> (-0.09%)
:arrow_down:

...g/apache/kyuubi/operation/BatchJobSubmission.scala
74.40% <0.00%> (ø)

...yuubi/spark/connector/common/SemanticVersion.scala
0.00% <0.00%> (ø)

.../java/org/apache/kyuubi/reflection/DynMethods.java

... and 9 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

There is some failed UT.
SessionsResourceSuite:
- open/close and count session
- getSessionList
- get session event
- get infoType *** FAILED ***
  1 did not equal 0 (SessionsResourceSuite.scala:174)

BatchRestApiSuite:
- basic batch rest client
- basic batch rest client with invalid user *** FAILED ***
  -1 did not equal 0 (BatchRestApiSuite.scala:89)

SessionsResourceSuite:
- open/close and count session
- getSessionList
- get session event
- get infoType *** FAILED ***
  The code passed to eventually never returned normally. Attempted 25 times over 3.0176177319999997 seconds. Last failure message: -1 did not equal 0.

The metrics value is -1, seems that we decrease the open count two times?

thanks, merged to master
please add related docs to docs/metrics.md later.

merged to branch-1.6 as well


Improved integration test execution automation  - Fixes #24

Pull Request (PR) description

Moved code to create the user account for use in integration test into a
CommonTestHelper.psm1 function.
Removed user account creation code from AppVeyor.yml and into integration
tests themselves to make tests execution easier.
Updated user account creation code to use local user/group management Powershell
cmdlets available in WMF 5.1 - fixes Issue #24.
AdcsCertificationAuthority:

Integration tests updated to create test user account in administrators
group to make test execution easier.

This Pull Request (PR) fixes the following issues

Fixes #24

Task list

[x] Added an entry under the Unreleased section of the change log in the CHANGELOG.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md in the resource folder.
[ ] Resource parameter descriptions added/updated in schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[x] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[x] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

@Johlju would you mind reviewing this one for me?

This change is

Codecov Report

Merging #90 into dev will not change coverage.
The diff coverage is n/a.

@@        Coverage Diff        @@
##           dev   #90   +/-   ##
=================================
  Coverage   98%   98%
=================================
  Files        7     7
  Lines      569   569
=================================
  Hits       560   560
  Misses       9     9

Thanks @johlju - good point about creating the user using a DSC config. Maybe for future?


chore: remove getDefaultBound and setCallback from NoopMetric

Which problem is this PR solving?

Leftover from #793

Codecov Report

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

@@            Coverage Diff             @@
##           master     #898      +/-   ##
==========================================
- Coverage   94.00%   92.53%   -1.47%
==========================================
  Files         247      244       -3
  Lines       10717    10805      +88
  Branches     1040     1047       +7
==========================================
- Hits        10074     9998      -76
- Misses        643      807     +164

Impacted Files
Coverage Δ

...ackages/opentelemetry-api/src/metrics/NoopMeter.ts
74.46% <ø> (+5.84%)
:arrow_up:

...entelemetry-core/test/context/B3Propagator.test.ts
47.00% <0.00%> (-53.00%)
:arrow_down:

packages/opentelemetry-core/test/utils/url.test.ts
50.00% <0.00%> (-50.00%)
:arrow_down:

...pentelemetry-core/test/internal/validators.test.ts
50.00% <0.00%> (-50.00%)
:arrow_down:

...elemetry-core/test/trace/spancontext-utils.test.ts
55.55% <0.00%> (-44.45%)
:arrow_down:

...lemetry-core/test/trace/ProbabilitySampler.test.ts
61.70% <0.00%> (-38.30%)
:arrow_down:

...s/opentelemetry-core/test/trace/tracestate.test.ts
65.06% <0.00%> (-34.94%)
:arrow_down:

...ckages/opentelemetry-core/test/platform/id.test.ts
66.66% <0.00%> (-33.34%)
:arrow_down:

...ntelemetry-core/test/trace/NoRecordingSpan.test.ts
71.42% <0.00%> (-28.58%)
:arrow_down:

...ackages/opentelemetry-core/src/platform/node/id.ts
75.00% <0.00%> (-25.00%)
:arrow_down:

... and 38 more


Creation of single SQL Database blade on Azure Portal was changed.

There is Networking tab for creation of single SQL Database and we can configure network access and connectivity.
It would be more helpful, if you'd also explain regarding this tab and how to configure it.

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

ID: 3da2d20f-0457-b8af-2f72-84741e8cb81b
Version Independent ID: 3bcd4ccd-9b70-65d0-a720-57fd9a566767
Content: Create a single database - Azure SQL Database
Content Source: articles/sql-database/sql-database-single-database-get-started.md
Service: sql-database
Sub-service: single-database
GitHub Login: @sachinpMSFT
Microsoft Alias: ninarn

@v-shtosh We are checking this and will get back to you.

@stevestein For your reference.

@v-shtosh Thanks for the feedback. @stevestein is out of the office for several weeks. @CarlRabeler could you take a look at this. It looks like maybe there is a Network tab in the portal now that is not in the screenshots or article. I don't know how much we would want to say about this in the quickstart, but it might be good to update the screenshot and explains some basics? Here is what the article has now:

#reassign:CarlRabeler

Sorry, I missed that @sachinpMSFT was also assigned to this issue for correcting the article. @CarlRabeler and @sachinpMSFT , you can decide how to proceed with any needed changes. #assign:sachinpMSFT

@rothja the networking tab is related to the new private endpoint feature for SQL Database, that I believe @vanMSFT is working on. Van, can you confirm and review this issue?

@rohitnayakmsft - Hey Rohit, I think we are aware of this issue. Do you mind taking a look? Thanks!

@rohitnayakmsft @Vanmsft Do we have an update regarding this? We received another thread for the same issue and we have for now closed it as duplicate after referencing it here.

@NavtejSaini-MSFT @v-shtosh Sorry for the delayed response. Van is out of the office for the rest of this month, and any update on this might be delayed. @rohitnayakmsft Can you look and see if you have suggestions on what changes we need to make to the article? Thanks for your patience.

#assign:vanmsft

I'll let Rohit comment on this, but I just went through the Quickstart and faced the same challenge (miss the network tab entirely), so adding my 2 cents.
I think for the purposes of this there needs to be a step that says (And includes a screenshot), in the Networking tab, "select enable public endpoint" and then a link to https://docs.microsoft.com/en-us/azure/sql-database/sql-database-networkaccess-overview for more info about the different ways to connect.

@VanMSFT I agree with @amthomas46

The Networking tab was introduced when we added Private Link in preview. We need to update docs to guide the customer through this experience @VanMSFT we had spoken about this earlier in the year. Let's sync up and update the doc soon.

Doc is being updated in this PR, and will go live later today. Links were added to the doc that explains this section. Closing this issue.
https://github.com/MicrosoftDocs/azure-docs-pr/pull/104414
#please-close


Recompilation dex files

I have not tested yet, will need to check everything and possibly tweak the code as you see fit. My friend asked me to add smali recompilation to this project

I am not yet decided to include smali on scope of this project

I am not yet decided to include smali on scope of this project

Why not? Is it because of the work it takes to upkeep? Or because this project is really based off ARSCLIB?
I think it can be very useful, because thats what half of APK editing is.

I agree smali is vital for modifying apk, this project is also at young stage and will definitely included after all issues are resolved.
Other reason is mr google is snatched  smali project from JesusFreke gradually  they will twist it , wicked it  and will end up unusable. I will look alternate repo or continue with  JesusFreke

Okay thanks for all this amazing work!

@TimScriptov Now smali support is started with smali-lib

@TimScriptov Now smali support is started with smali-lib

Wow, looking great. Gonna try soon. I'm really impressed with all your work!


Different results when automated testing a plugin from manual testing

Summary
I wrote a plugin for Kong to do URL Rewriting and I am seeing completely different behaviors when testing manually as I am when using the busted tool/test example.
When running the plugin on a regular kong installation, I can make requests and see that they are rewritten as expected. When I make requests in the tests using busted, the urls are not being rewritten at all, even though I can verify that my code is executing as expected. I am using ngx.req.set_uri to set the URL in the access step.
I made a simplified plugin as an example to show the problem:
https://github.com/nguse/kong-plugin-test
This example has a test that sets up an api, test1.com -> mockbin.com (same as the example plugin) and registers the plugin. The test then makes a request to /request/foo. The plugin simply runs ngx.req.set_uri("/request/bar"). In testing manually, the response shows that I get mockbin.com/request/bar, but when running the test with busted, it says the request was to mockbin.com/request/foo.
This line can be commented out during the tests to show it's executing the code as expected:
https://github.com/nguse/kong-plugin-test/blob/master/kong/plugins/test/handler.lua#L12
Steps To Reproduce

Run test using kong-vagrant on https://github.com/nguse/kong-plugin-test

Additional Details & Logs

Kong version 0.10.3

Realized this was due to me actually testing against latest for the automated tests and 0.10.3 manually, closing this issue and opening a new one more specific to the problem


404 image is not showing for nested paths

Describe the bug
The png graphic is showing correctly for 404 route only for the first level path. i.e https://batnoter.com/abc but it is not showing up for nested path i.e. https://batnoter.com/abc/xyz
Screenshots

Hi @vivekweb2013 I would like to work on this issue, sorry I have had previous academic related issues going on for a while.

sure @shikhar13012001
Let me share my analysis. It looks like it is only happening on the github pages not sure why. On local setup the image is showing properly even for the nested paths

May be changing the image path to web url should fix this issue. https://i.ibb.co/wprRPLF/404.png

@shikhar13012001 that would not be a nice fix. I'd like the resources to be served from same site rather than using external site urls. Since it will introduce a dependency on this external site

okay I understand, I will try to work on this issue.

hmm.. It seems like path is actually ../static/images/404...png, But I still don't know why is this happening.

@shikhar13012001 yeah this is strange

@vivekweb2013  Did you find a solution to it? I think the raw github url is only possibility here :(

@shikhar13012001 I did not get enough time to look at this issue but for now I think we can place the 404 image in public/images directory and hardcode the absolute root path i.e. /images/404.png
I think this will work because of the absolute path. So we can make these changes for now

@shikhar13012001 seems like the issue was cased by homepage: "." property set in package.json file. Removing it fixed the issue.

@shikhar13012001 seems like the issue was cased by homepage: "." property set in package.json file. Removing it fixed the issue.

Ohh thanks!! I didn't notice this.

Fixed


Is it possible to print the complete schemetic2layout command including args when running pytest?

@soneryaldiz @stevenmburns It seems test cases in different folders are using different command line args. Is it possible to print the complete schemetic2layout command line? So that I can know which args are used when running standalone schemetic2layout.py

The command line arguments can simply be added to the LOG in cmdline.py. This gives you all the arguments which ever test is invoking the flow. Let me add this to the harden symmetry PR.

Link #929 , thanks @soneryaldiz

Pushed the change and closing the issue for now.

@soneryaldiz I cannot find the complete schematic2layout command line when debugging #1084 . Is it possible to print it out? It is no need to always print it out but only when a flag is set such as --print_schematic2layout_line

This is because I got different results from the pytest

@854768750 , Below is the stdout when I run the test. Is this not the case for you?
pytest -vv -s tests/pdk/finfet_pdk/test_placement_grid.py::test_cs_on_grid_v
========================== test session starts
==========================
tests/pdk/finfet_pdk/test_placement_grid.py::test_cs_on_grid_v PLACE_ON_GRID='{"constraints": [{"constraint": "place_on_grid", "direction": "V", "pitch": 1080, "ored_terms": [{"offsets": [540], "scalings": [1, -1]}]}]}'
Command: schematic2layout.py <path to your installation>/ALIGN-public/tests/pdk/finfet_pdk/ckt_cs_on_grid_v -p <path to your installation>/ALIGN-public/align/pdk/finfet -l INFO -n 8
align.cmdline ERROR : Fatal Error. Cannot proceed


vue-i18n.runtime.mjs - no such file or directory

Reporting a bug?
Running vite build throws error
[vite-plugin-pwa:build] Could not load vue-i18n/dist/vue-i18n.runtime.mjs (imported by src/modules/i18n.ts): ENOENT: no such file or directory, open 'vue-i18n/dist/vue-i18n.runtime.mjs'
error during build:
Error: Could not load vue-i18n/dist/vue-i18n.runtime.mjs (imported by src/modules/i18n.ts): ENOENT: no such file or directory, open 'vue-i18n/dist/vue-i18n.runtime.mjs'
error Command failed with exit code 1.

Expected behavior
Runs without error and builds project.
Reproduction
I'm using a template, I built myself, that is based on Vitesse by @antfu. It mainly adds Vuetify support. I can't say if 'Vitesse' would throw that error.
Issue Package
vite-plugin-vue-i18n
System Info
System:
    OS: Linux 5.15 Ubuntu 22.04.1 LTS 22.04.1 LTS (Jammy Jellyfish)
    CPU: (4) x64 AMD EPYC Processor
    Memory: 4.00 GB / 7.58 GB
    Container: Yes
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 18.12.1 - /usr/bin/node
    Yarn: 1.22.19 - /usr/bin/yarn
    npm: 8.19.2 - /usr/bin/npm
  npmPackages:
    @intlify/vite-plugin-vue-i18n: ^7.0.0 => 7.0.0
    rollup: ^3.7.5 => 3.7.5
    vite: ^4.0.1 => 4.0.1
    vue: ^3.2.45 => 3.2.45
    vue-i18n: ^9.2.2 => 9.2.2

Screenshot
No response
Additional context
It's fairly probable that this is caused by some versions-mismatch on my side.
Nevertheless after some digging I found that inside @intlify/vite-plugin-vue-i18n/lib/index.cjs and @intlify/vite-plugin-vue-i18n/lib/index.mjs on line 93 the runtimeModule variable is filled with a string, created by appending .runtime.mjs to the module/pkg-name -- in my case vue-i18n. For whatever reason the resulting file vue-i18n.runtime.mjs does not exist in this pkg in my project. What does exist, is e.g. vue-i18n.runtime.esm-browser.js, that -- I think -- might serve the same purpose (?). Adding a test, to see if the .runtime.mjs exists and, if not, replace it with .runtime.esm-browser.js seems to solve the problem for me for now. I know, that's not an elegant solution but perhaps helps to find one.
Validations

[ ] Read the Contributing Guidelines.
[ ] Read the README
[ ] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[ ] Check that this is a concrete bug. For Q&A open a GitHub Discussion.

Thank you for your reporting!
I realized that your vite is v4.
docs say, vite-plugin-vue-i18n is only supported up to vite v3.
https://github.com/intlify/bundle-tools/tree/main/packages/vite-plugin-vue-i18n#-deprecated
If you would use vite v4, you need use unplugin-vue-i18n.
Could you try to use it, please?

Aah ... I see ... I thought it's some king of mismatch! Thanks for pointing me into the right direction!
Works as expected.
So sorry to have bothered you.
Cheers!

I’m happy to hear your good news.
happy coding! :)


Add adobe color wheel

Link: https://color.adobe.com/create/color-wheel
A tool from Adobe that helps to select a color palette based on different coloring philosophies and ideas. It also helps you play with different palettes and check them out.

Color.adobe is already in the list a few lines up.


ES6 classes seem to have a compatibility issue with cy.js extensions

When I declare SBGNRenderer as a class, the cytoscape.js extensions complain that cytoscape is a class and not a function
When I declare SBGNRenderer as not a class of cytoscape.js, it does not complain

Can be fixed using the following method:
const SBGNRenderer = require('sbgn-renderer);
const randomCytoscapeExtention = require('random-cytoscape-extension');

randomCyotscapeExtension( SBGNRenderer.__proto__, depdency1, depdency2,... )


Verify git-lfs download

Follow-up to #1143 - just for some Docker images for review  - as suggested in https://github.com/jenkinsci/docker/pull/1143#issuecomment-876630354

[x] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[x] Ensure that the pull request title represents the desired changelog entry
[x] Please describe what you did
[ ] Link to relevant issues in GitHub or Jira
[x] Link to relevant pull requests, esp. upstream and downstream changes
[ ] Ensure you have provided tests - that demonstrates feature works or fixes the issue

Thanks a lot @saper , this method sounds good! Do you mind generalizing it to all images?

I like the technique very much but have been unable to understand why the build process fails both on ci.jenkins.io and for me locally.  The ci.jenkins.io failure example is at https://ci.jenkins.io/blue/organizations/jenkins/Packaging%2Fdocker/detail/PR-1144/4/pipeline#step-43-log-1514  .  When running a first build, I see the same failure.

@MarkEWaite

Build #4 received a termination signal during the linux build steps. You can diagnose it by looking at the build output for the "CANCELED" occurences (such as https://ci.jenkins.io/blue/organizations/jenkins/Packaging%2Fdocker/detail/PR-1144/4/pipeline/40#step-43-log-1444). => It's an OOM or CPU overusage, because all the builds are done at the same time. If the agent are reused from previous builds, their behavior is erratic under this kind of pressure. #1130 aims to solve this erratic behavior.
Builds #5 and #6 were manually stopped, I'm not sure to understand why?
Build #7 successfully passed the build step => the PR is good for me on the method, only have to make it the same for all linux machines

Thanks @saper ! It looks like that gpg is missing on the alpine JDK8 as per: https://ci.jenkins.io/blue/organizations/jenkins/Packaging%2Fdocker/detail/PR-1144/16/pipeline#step-198-log-121

Thanks @saper ! It looks like that gpg is missing on the alpine JDK8 as per: https://ci.jenkins.io/blue/organizations/jenkins/Packaging%2Fdocker/detail/PR-1144/16/pipeline#step-198-log-121

Yeah, love that duplication in Dockerfiles... fixed.

Thanks ! I’m not aware of a builtin situation (i would argue that we don’t need multiple distribution for this image), but do you think it could be useful to factorize this logic to shell script (and then copy + run in the dockerfile) to centralize the version management ?

Le 25 juil. 2021 à 11:23, Marcin Cieślak @.***> a écrit :

Thanks @saper ! It looks like that gpg is missing on the alpine JDK8 as per: https://ci.jenkins.io/blue/organizations/jenkins/Packaging%2Fdocker/detail/PR-1144/16/pipeline#step-198-log-121
Yeah, love that duplication in Dockerfiles... fixed.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.


Add nodejs generator settings to analysisservices resource-manager re…

…adme.nodejs.md
This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[ ] The title of the PR is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[ ] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[ ] If applicable, the PR references the bug/issue that it fixes.
[ ] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[ ] I have read the contribution guidelines.
[ ] My spec meets the review criteria:

[ ] The spec conforms to the Swagger 2.0 specification.
[ ] The spec follows the guidelines described in the Swagger checklist document.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Automation for azure-sdk-for-python
Nothing to generate for azure-sdk-for-python

Automation for azure-libraries-for-java
Nothing to generate for azure-libraries-for-java

Automation for azure-sdk-for-node
A PR has been created for you:
https://github.com/Azure/azure-sdk-for-node/pull/2596

Automation for azure-sdk-for-go
Nothing to generate for azure-sdk-for-go


Example code not working

Hello,
I downloaded and tried to follow the same example as mentioned on the page, but it could not render the chart. I see there are exceptions from the line element.empty() of clearElement function;
Below is the exception:
TypeError: undefined is not a function
at Object.scope.api.clearElement (http://localhost:9999/portal/app/lib/angularnvd3/angular-nvd3.js:163:37)
at Object.scope.api.updateWithOptions (http://localhost:9999/portal/app/lib/angularnvd3/angular-nvd3.js:36:39)
at Object.scope.api.refresh (http://localhost:9999/portal/app/lib/angularnvd3/angular-nvd3.js:31:39)
at Object.fn (http://localhost:9999/portal/app/lib/angularnvd3/angular-nvd3.js:307:93)
at Scope.$digest (http://localhost:9999/portal/app/lib/angular/angular.js:10569:27)
at Scope.$apply (http://localhost:9999/portal/app/lib/angular/angular.js:10802:24)
at done (http://localhost:9999/portal/app/lib/angular/angular.js:6937:45)
at completeRequest (http://localhost:9999/portal/app/lib/angular/angular.js:7102:7)
at XMLHttpRequest.xhr.onreadystatechange (http://localhost:9999/portal/app/lib/angular/angular.js:7058:11)
when I comment out the line, it worked fine. I am not sure what the problem was. Can you please help?
I am using angular routing, that is the only difference.
// Fully clear directive element
clearElement: function (){
element.find('.title').remove();
element.find('.subtitle').remove();
element.find('.caption').remove();
element.empty();
scope.chart = null;
}

Hey @muneswar, were you able to solve the issue?


Question: can anon access be disabled?

I just found ArchiveBox today and will gladly scrap my homebrew archival solution. Great work!
I definitely don't want to have my archive exposed to the world, though. I need the user to be logged in befoe accessing anything. Can this be turned on? I haven't found anything like this so far.
Thanks again!

There are a few relevant options depending on how you want to configure it. For now, there is PUBLIC_INDEX & PUBLIC_SNAPSHOTS, both of which you can set to False. In the next release (0.5) which should be this week, there will be an option to also enable or disable a the add view for non-logged in users.

Thank you! Seems to work!
I can't find any docs for that. WHat happens if I disable Index but enable Snapshots? Will I be able to hotlink articles, but only logged in users will be able to search/see the list?
Is that a supported use-case?

Yes, that is a supported use case, and it should work exactly as you described.
PUBLIC_SNAPSHOTS = anon users can view hotlinked archived sites
PUBLIC_INDEX = anon users can view the full archive index


Switch migrations framework

Why?
Only SQL statements can solve problems partially, no way to work with the external data source.
What's used?
Goose, but it's still bad, but better than what we have at this moment. With some hacking, we can use go migrations which is simple and more powerful than just SQL statement because gives us the chance to hook into datastore modifications within the migration with help of sql.Tx.
What's changed?
The way we write and consume migrations, no more code generation.
Go migrations instead of raw SQL migrations
Related to #641

Okay, done. Migrations work as suppose to. No downsides observed. Goose uses the different table to store migration versions, but it doesn't break existing models, however, have to adjust table definitions to make migrations less harmful, meaning that any migration should not be manually reflected in the table definition (see the code where I dropped fields from the tables that are present at the migrations, this is how should actual migrations look like AFAIK). So, the migrations itself were written with the assumption that there is the datastore that Fn uses already, meaning that migration wouldn't fail with duplicate column error.

So, the migrations itself were written with the assumption that there is the datastore that Fn uses already, meaning that migration wouldn't fail with duplicate column error.

this seems pretty dangerous. if a migration fails we need to bail and let the user manually recover the db itself. migrations can depend on previous migrations and we're in a weird state where the migration version is the latest, but a migration didn't work, so it's not clear which migration broke and which migrations need to be ran again after resolving the issue. basically, we need to check the errors from up migrations (they are ignored).
since we're migrating migration libraries, we need to read the version from the old migration table (we don't necessarily need to keep the whole import, we can do a quick sql query) and use it to start the migrations from there using the new migration code. after we do that, we can drop the old migration table (this is a migration in itself?) to indicate fn/db has upgraded (version is sufficient here). this is a little bit of a pain, but doesn't seem too bad.

will get back to this tomorrow, sorry for the delay, took longer to get stuff done than i wanted the last 2 days

some comments, please take your time and make sure this works (test all dbs, etc), breaking user dbs is no fun. we're not in a big hurry

I reverted dup. column check because it doesn't let migrations to be applied, we need this error check only for old migrations, there is no way to make it more clean and nice expect that odd thing - keeping table definitions update with every new migration which is 100% not developer friendly, this is one more reason to play the blame-game with an old migrations framework.

I reverted dup. column check because it doesn't let migrations to be applied, we need this error check only for old migrations,

we should skip the old migrations though? not following here. we grab the version we were at from the old migrations, set the new migrations version to that, then run new migrations from that point? what is the current behavior?

we should skip the old migrations though?

I don't see the point in skipping the migrations, it will make us do a lot of plumbing around goose because the version is not just an int somewhere in the database it is the whole table, so we need to go through the goose to make do version increment of us, that's why we need to run migrations.

we grab the version we were at from the old migrations, set the new migrations version to that, then run new migrations from that point? what is the current behaviour?

Yes, we grab the version and that's it. To make good bump its version we need to run migrations, we can't just about across that, if we want to bump that manually we need to implement our own migrations framework.

I don't see the point in skipping the migrations, it will make us do a lot of plumbing around goose because the version is not just an int somewhere in the database it is the whole table, so we need to go through the goose to make do version increment of us, that's why we need to run migrations.

a quick glance and it really is https://github.com/pressly/goose/blob/master/dialect.go#L65 - they just don't have a way to set this version it seems from your later comment? we don't need to make our own migrations framework, no need for hyperbole, it really doesn't seem all that challenging to add this functionality to the goose library upstream.
the point in skipping them is that it's pretty hairy to run migrations that have already been ran, and then try to ignore errors on this basis. this can leave us with a database in an inconsistent state.
unrelated, another thing I see we'll need to add to goose is oracle db support. this won't require us to make our own migrations framework, either; at worst, we fork goose, at best we push this upstream.

there are likely other options there, too. sad ones, but options. we could keep migrate to run all the old migrations and then only cut over new migrations to use goose. later on, we can drop the old migrations. this is kind of sad since it seems easy to avoid. there's possibly other options than this

really the whole migrations thing originally we could have implemented our own fairly trivially, it was just something of a convenience to use an OSS one but the functionality is not hard to implement at all (version sql queries and run them in order). if this remains contentious, can go off and do this, but goose seems like about what we need short of a few easy to add things.

The latest commit does one tricky thing, it keeps the old table around and applies only newer migrations that will be reflected in new goose table. The code is fairly simple.
But i do feel like we need to create a function that will sync two tables and then run the migrations. Unfortunately, it will bring a lot of hairy code, but hopefully, it will go away in a half a year, maximum.

But i do feel like we need to create a function that will sync two tables and then run the migrations. Unfortunately, it will bring a lot of hairy code, but hopefully, it will go away in a half a year, maximum.

i still don't think we're on the same wave length here. I'll try to enumerate all the cases I can think up, none of which don't seem like they would require complex logic and there are multiple ways to interpret the RHS:

fresh db -> skip all migrations, create tables from schema
db up to date with mattes/migrate migrations -> run any goose migrations (optional: drop mattes table)
db behind on mattes/migrate -> run mattes/migrate migrations, run goose migrations
db up to date on goose migrations -> do nothing

there are some ways to skin the cat there, but I don't see any need to sync the two tables. our code needs to make sure first that the db is up to date with the old migrations, and then with the goose migrations; that's really it. at present it looks like we're skipping altogether based on version, and there was another attempt to just run the goose migrations over whatever, neither of these seem like feasible options. i do think there are a couple ways to actually go about running the required migrations (one model, where they all run in goose and we start goose at the right spot. another model, where we just use the mattes lib like we have and then start the goose ones fresh).

fresh db -> skip all migrations, create tables from schema (set version in goose?)

Disagree, in case of fresh DB we still need to apply all the migrations we have.

db up to date with mattes/migrate migrations -> run any goose migrations (optional: drop mattes table)

Disagree, in case of up-to-date (or version(s) behind) mattes/migrate table we need to sync that into a new goose table (which is the very easy thing to do), then see if we still need to apply more migrations starting from the point where mattes/migrate ended.

db behind on mattes/migrate -> run mattes/migrate migrations, run goose migrations

The worst option, I've spent time reading mattes/migrate and it appeared that we violate its rules because it says (and shows in the examples) that the table creation IS the migration, but we started our migrations from next step, so we had to make tables creation our migrations version 1. This why we have so much hard time reaching the consensus here. I am strongly against any attempt to leave mattes/migrate with us.

db up to date on goose migrations -> do nothing

this implies to your 2nd point - we need to merge old mattes table to goose table (delete mattes table after all) and then based on the latest version from mattes table we apply the rest of migrations we need.
Basically, all Fn versions right now have migration version 7, so we wouldn't need to run any migrations but we need to merge mattes table to goose table (shift and lift).
So, based on our bad decisions, i would choose the following:

Get rid of mattes/migrate forever.
Merge mattes/migrate to goose table.
Apply the rest of migrations we need starting from the latest version (which is 7).
We're done, users are happy.

it seems phrasing was contentious, does the latest commit accomplish this?

fresh db -> skip all migrations, create tables from schema (, set version in goose?)
db up to date with old migrations -> run any new migrations (optional: drop old migrate table)
db behind on old migrations -> run old migrations, run new migrations (optional: drop old migrate table)
db up to date on new migrations -> do nothing

the only part of the above that seemed to be contended was skipping migrations on fresh boot. maintaining the schema is entirely possible. is setting the version possible? are there religious reasons that should be tax exempt for us to not set the version? are there any benefits to us maintaining a half baked schema and trying to work out the current db schema by inspecting migrations? are there any benefits to subjecting users to the possibility of migrations blowing up on their first boot and having to eat the latency of running them?

Apply the rest of migrations we need starting from the latest version (which is 7).

this one is the one that sticks out to me as what was weird. we need to apply the old migrations, but only any old migrations we have not run. in no scenario do we want to run migrations that have already been run, as was the case at least earlier in this patch.
awaiting some verification of assumptions before sinking time reviewing

fresh db -> skip all migrations, create tables from schema (, set version in goose?)

The code would never do that, because it’s a mistake we did before, and I disagree to do this again, table is a migration in terms of any migrations framework.
Despite 1st statement, everything else is works exactly as described.
The code runs only migrations that haven’t applied yet with respect to the old migrations table, we wouldn’t run any migration twice, especially while syncing old migrations table to a new one. That’s why I decided to move records from the the old table to a new one and run the rest of migrations starting from the latest version found in old migration table, it looks more clean and doesn’t look inconsistent to my initial though to ignore dup. column errors.

The code would never do that, because it’s a mistake we did before, and I disagree to do this again, table creation is a migration in terms of any migrations framework.

there's still no basis in this being a mistake other than 1 person's opinion. I can find numerous counter arguments. please, indulge me.

as long as we have schemas somewhere to reference, whatever, we can keep all the bad parts of not using them so that the internet can have one less battle over useless shit.

there's still no basis for this being a mistake other than 1 person's opinion. I can find numerous counter-arguments. please, indulge me.

I see where this discussion goes and don't see any value in continuing. If you see the benefits of manually updating schemas with each new migrations - it up to you. I still will have my own thoughts.
However, the latest commit brings complete schemas back and does was you've asked for - fresh DB -skip all migrations, create tables from the schema and set the version in the goose.

maybe, there's 40 some odd people working on this now, we have no shortage of opinions (it is easy to get a 3rd or 13th opinion on anything when needed). in general best to justify based on concrete correctness / widely agreed upon best practices.
thanks, the schemas will be critical when we have 70 or 700 migrations and not just 7. there are a couple ways to go about maintaining these, using them for fresh creation and keeping them in Go is one. maintaining separate schema files is another thing we could do and that would allow us to keep the original CREATE TABLE statements as was attempted here.

the code now appears to handle all possible cases and have schemas, thank you. I have some concerns:

goose doesn't support oracle db, we'll have to add this
goose doesn't use any LOCK / UNLOCK behavior, we will have to add this to all of our migrations ourselves since we will be running multiple FN nodes against the same db
we are muddling around in goose's tables (as was pointed out many times), which appears to work ok, but feels wrong. this is slightly brittle as we have to handle the various dialects ourselves since we aren't using goose.
tested against pg? mysql? sqlite3? all 4 highlighted cases above, ideally (this sucks, sorry, been here). our automated tests should test fresh db and full down/up for pg & mysql but not 'stuck on old migration, move to latest'. the queries in the code don't seem like they would work for pg, so am not sure how this got through CI.

I have a question. I am thinking about writing a migration tool that just uses sqlx.Tx that does proper locking, which would cover the first 3 of the above cases since we can basically do whatever we want API-wise (cater to our needs). as a bonus, we could own development of this and wouldn't have to deal with the trials of getting patches upstream. It seems like go is lacking a good, maintained migrate library, if not for us it seems widely useful. I think it will take 2-3 days to have something reasonably well tested and usable (accounting for the amount of time I spend staring at github lately). It is then up to us if we want to maintain it as a separate OSS project, but at least it seems like we need one that fits our needs and none exist off the shelf that work :( what do you think?

https://github.com/github/gh-ost looks really interesting for more intense migrations. none of ours currently are very challenging, and I guess it'd be ideal to never need something like this, but it's interesting none-the-less while we're on the topic. definitely not looking to go that route for sqlx.Tx migrator, want to keep it pretty simple.

tested against pg? mysql? sqlite3?

Tested on all supported datastores, all possible cases.

goose doesn't support oracle db, we'll have to add this

meh, we don't know if Oracle DB works fine with the Fn.

goose doesn't use any LOCK / UNLOCK behavior, we will have to add this to all of our migrations ourselves since we will be running multiple FN nodes against the same db

yeah, would be nice to have something in-between of mattes/migrate and goose.

I have a question. I am thinking about writing a migration tool that just uses sqlx.Tx that does proper locking, which would cover the first 3 of the above cases since we can basically do whatever we want API-wise (cater to our needs). as a bonus, we could own development of this and wouldn't have to deal with the trials of getting patches upstream

maybe if mattes/migrate can support migrations like we want then that would be awesome, so, I don't think that starting from the very beginning is really the path we would like to go, but improve mattes/migrate or its fork to do the job we need.

Tested on all supported datastores, all possible cases.

thanks.

meh, we don't know if Oracle DB works fine with the Fn.

allegedly, it works with sqlx. to be as opaque as possible, this is going to be a requirement shortly.

maybe if mattes/migrate can support migrations like we want then that would be awesome, so, I don't think that starting from the very beginning is really the path we would like to go, but improve mattes/migrate or its fork to do the job we need.

seems wise. sqlx itself have dug around in mattes and it will require a good bit of munging the code around to get it to work: mattes does not expose tx through its interface, and mattes supports a ton of different backends that aren't sql, which we aren't using. have a feeling it will be faster to work from 0 with knowledge of how mattes/goose work now, and can completely toss out the part about a CLI to generate and run migrations. may give it a go and see how far I get in a few hours, thanks for feedback.
the LOCK thing is a blocker imo for goose, and seeing how painful this was, would hate to migrate migrators again

may give it a go and see how far I get in a few hours,
even if mattes don't expose tx we can make a new API (similar to Run(m io.Reader) from mattes) it accept a list of functions that accept the Tx and then get the Tx from the inside of mattes somehow.

closing in favour of #825


请问是否有添加uos协议的可能

我尝试添加了代码
const bot =  WechatyBuilder.build({
name: "wechat-assistant", // generate xxxx.memory-card.json and save login data for the next login
puppetOptions: {
uos: true, // 开启uos协议
},
puppet: "wechaty-puppet-wechat",
});
然后报错
`><EMAIL_ADDRESS>dev

nodemon --exec node --watch config.yaml --loader ts-node/esm src/main.ts
[nodemon] 2.0.20
[nodemon] to restart at any time, enter rs
[nodemon] watching path(s): config.yaml
[nodemon] watching extensions: ts
[nodemon] starting node --loader ts-node/esm src/main.ts
(node:32) ExperimentalWarning: Custom ESM Loaders is an experimental feature. This feature could change at any time
(Use node --trace-warnings ... to show where the warning was created)
09:28:50 ERR PuppetWeChatBridge start() exception: Error: Could not find expected browser (chrome) locally. Run npm install to download the correct Chromium revision (982053).
09:28:50 ERR PuppetWeChat initBridge() exception: Could not find expected browser (chrome) locally. Run npm install to download the correct Chromium revision (982053).
09:28:50 ERR PuppetWeChat initBridge() this.bridge.stop() rejection: Error: no page
❌ Your Bot failed to start: Error: Could not find expected browser (chrome) locally. Run npm install to download the correct Chromium revision (982053).
🤔 Can you login WeChat in browser? The bot works on the desktop WeChat
[nodemon] clean exit - waiting for changes before restart`

问题已解决