Radio button is turned off when you press it again

from kivy.app import App
from kivy.lang import Builder

KV = """
BoxLayout

    CheckBox:
        group: 'checkbox'

    CheckBox:
        group: 'checkbox'

"""

class MyApp(App):
    def build(self):
        self.root = Builder.load_string(KV)

MyApp().run()

I understand that this is a known feature of radio buttons in kivy, but this is not normal behavior. This behavior is unnecessary and inconvenient in most cases.
The default behavior should be (imo) something like one implemented in this repo
https://github.com/IgorRidanovic/kivy-radio-button
(although this example is not ideal in terms of usability).
Radio button is an important element in UI, and it's unreasonable to underestimate it. Considering that Kivy is a framework for rapid creation of apps (and this is a fact), I am convinced that it would be great idea to free the user from thinking about whether he should use ListProperty or something else when creating a custom radio button class etc.

I think I lost my temper and I'm to close the question for now, because the solution is terribly easy.
Here is an example:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.checkbox import CheckBox

class CB(CheckBox):

    def on_state(self, instance, value):
        if self.active:
            return
        super(CB, self).on_state(instance, value)

KV = """

BoxLayout:
    orientation: "vertical"
    CB:
        group: "one"
    CB:
        group: "one"
    CB:
        group: "one"

"""

class MyApp(App):

    def build(self):
        return Builder.load_string(KV)

MyApp().run()

It works great and I now don't see any pitfalls in this solution.
However, I would still like to see this in Kivy by default for radio buttons.

Another (simpler and more native) solution is just to set allow_no_selection to False:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.checkbox import CheckBox

class CB(CheckBox):
    allow_no_selection = False

KV = """

BoxLayout:
    orientation: "vertical"
    CB:
        group: "one"
        active: True
    CB:
        group: "one"
        on_press: print 123456
    CB:
        group: "one"

"""

class MyApp(App):

    def build(self):
        return Builder.load_string(KV)

MyApp().run()


[WIP] issue-with-component-info-get-params

Description
as per #470 this PR adds a helper that can be used by /src/registry/routes/component-info.js in order to return the component's mandatory parameters as a map.
the integration hasn't been done yet as this PR only highlights the existing bug and compares:

getParams w/ lodash (aka getParams)

getParams w/ underscode (aka getParams__)

getParams w/o any dependencies (aka getParamsV2)

where
1 has a bug, 2 and 3 behave the same
Tests

So it looks like that also lodash has got a pick function; so we can fix the issue using pick instead of pickBy here:
https://github.com/opentable/oc/blob/master/src/registry/routes/component-info.js#L18

as per my last commit (finally) the 3 functions are producing the same result; I would prefer to use the getParamsV2 version as it doens't require any additional dependencies but if you think that using pick in the existing component is better, I am also totally fine w/ that.

Hi, thanks for taking care of this.

Travis is complaining as you updated package but not the shrinkwrap 👍
I think my preference would be to use lodash's pick as that's what we decided when doing the _ migration. This was erroneously converted to pickBy.
In either case we didn't catch this because of a lack of tests on that area, so I think it would be nice to keep your test together with the fix.
I would like to prevent issues like this to happen in the future and I believe improving test coverage would help. Do you think we can open a new issue to discuss test coverage and perhaps evaluate some tools to track the progress with that?

Hi @matteofigus sure, I 100% agree, let's keep it simple. I am going to close this PR and open a new one w/ just the fix. Re testing this part is quite tricky w/o moving the function to a separate file and I am not sure if this would make any difference. I like the idea of an issue w/ some sort of discussion for a better testing strategy; you know how much I ❤ this subject 😄

Closing because of #472


Move the NEON compatibility defines into a separate file

This allows removing the float ABI check, since neon_intrins.h is never included in non-NEON files.

I've also pushed an additional commit to fix compiler warnings when ARM_NEON_HASLD4 is undefined.

That's good, I just saw those in Windows MSVC ARM test https://github.com/zlib-ng/zlib-ng/actions/runs/3161037930/jobs/5151993730:
arch\arm\adler32_neon.c(51,45): warning C4090: 'function': different 'const' qualifiers [D:\a\zlib-ng\zlib-ng\zlib.vcxproj]
arch\arm\adler32_neon.c(105,43): warning C4090: 'function': different 'const' qualifiers [D:\a\zlib-ng\zlib-ng\zlib.vcxproj]
arch\arm\adler32_neon.c(106,48): warning C4090: 'function': different 'const' qualifiers [D:\a\zlib-ng\zlib-ng\zlib.vcxproj]

PR is looking good.


[New Scheduler] Manage container creation

Description

This module determines which invoker to create the container from.

My changes affect the following components

[ ] API
[ ] Controller
[x] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[x] Scheduler
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[x] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[x] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[x] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Codecov Report

Merging #5074 (b7f40f2) into master (d8cf172) will decrease coverage by 52.21%.
The diff coverage is 4.53%.

@@             Coverage Diff             @@
##           master    #5074       +/-   ##
===========================================
- Coverage   81.81%   29.60%   -52.22%
===========================================
  Files         204      208        +4
  Lines        9950    10301      +351
  Branches      447      443        -4
===========================================
- Hits         8141     3050     -5091
- Misses       1809     7251     +5442

Impacted Files
Coverage Δ

.../main/scala/org/apache/openwhisk/core/WarmUp.scala
0.00% <0.00%> (ø)

.../org/apache/openwhisk/core/connector/Message.scala
19.61% <0.00%> (-53.83%)
:arrow_down:

.../org/apache/openwhisk/core/entity/InstanceId.scala
80.70% <ø> (-10.53%)
:arrow_down:

...rg/apache/openwhisk/core/scheduler/Scheduler.scala
0.00% <0.00%> (ø)

...sk/core/scheduler/container/ContainerManager.scala
0.00% <0.00%> (ø)

...hisk/core/scheduler/message/ContainerMessage.scala
0.00% <0.00%> (ø)

...nwhisk/core/scheduler/message/InvokerMessage.scala
0.00% <0.00%> (ø)

...ala/org/apache/openwhisk/core/entity/DocInfo.scala
70.00% <66.66%> (-17.10%)
:arrow_down:

...in/scala/org/apache/openwhisk/common/Logging.scala
69.84% <100.00%> (-15.94%)
:arrow_down:

...la/org/apache/openwhisk/common/TransactionId.scala
83.52% <100.00%> (-11.66%)
:arrow_down:

... and 161 more

Continue to review full report at Codecov.

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

The standalone test continues to fail because an error occurred while pulling openwhisk/action-nodejs-v10:nightly.
$ docker pull openwhisk/action-nodejs-v10:nightly
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

I worked around this by pulling such kind images in advance before starting tests.

@style95 Sure. I will upload it ASAP

I wrote a document: https://cwiki.apache.org/confluence/display/OPENWHISK/ContainerManager

I wrote a document: https://cwiki.apache.org/confluence/display/OPENWHISK/ContainerManager

Can we add a section about warmup?

Codecov Report

Merging #5074 (f8baf7a) into master (aa7e6e2) will decrease coverage by 46.64%.
The diff coverage is 74.22%.

@@             Coverage Diff             @@
##           master    #5074       +/-   ##
===========================================
- Coverage   78.82%   32.17%   -46.65%
===========================================
  Files         213      217        +4
  Lines       10466    10774      +308
  Branches      440      462       +22
===========================================
- Hits         8250     3467     -4783
- Misses       2216     7307     +5091

Impacted Files
Coverage Δ

.../apache/openwhisk/core/controller/Controller.scala
0.00% <ø> (-55.67%)
:arrow_down:

...enwhisk/core/loadBalancer/InvokerSupervision.scala
0.00% <ø> (-89.27%)
:arrow_down:

...che/openwhisk/core/loadBalancer/LoadBalancer.scala
0.00% <ø> (-76.93%)
:arrow_down:

...e/loadBalancer/ShardingContainerPoolBalancer.scala
0.00% <ø> (-80.80%)
:arrow_down:

...k/core/containerpool/v2/InvokerHealthManager.scala
75.00% <ø> (-0.38%)
:arrow_down:

.../org/apache/openwhisk/core/connector/Message.scala
27.46% <23.63%> (-42.83%)
:arrow_down:

.../main/scala/org/apache/openwhisk/core/WarmUp.scala
64.28% <64.28%> (ø)

...la/org/apache/openwhisk/common/TransactionId.scala
75.86% <75.00%> (-18.26%)
:arrow_down:

...in/scala/org/apache/openwhisk/common/Message.scala
77.77% <77.77%> (ø)

...sk/core/scheduler/container/ContainerManager.scala
86.76% <86.76%> (ø)

... and 173 more

Continue to review full report at Codecov.

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


clusterworkspacetype: expose virtual workspace URLs

Initializing controllers will use these URLs to access the virtual
workspace serving workspaces needing initialization.
Signed-off-by: Steve Kuznetsov<EMAIL_ADDRESS>Part of #1149
/assign @sttts

/lgtm


.Rdata files

Hi I am not sure if this is the right place to put this because it is the first time I am using a github repository. I tried running the analysis for NatSciData_Neuro. Did all the necessary steps to get the files and rename folders etc as suggested. But when running the analysis I realize that the Rdata folder is not there and that .Rdata files mentioned in the R markdown is not present in any of the folders. I would appreciate any suggestions. Thanks in advance.

Hi,
First of, I'm very sorry for the late response. Unfortunately the main person responsible for the analysis and for the creation of this repository is working somewhere else now. I have tried searching for these files but I'm sorry to say that I am unable to find them anywhere.
Sorry again for the late reply and that I couldn't more of more help.
Best,
Luuk


How to preform on click action on element iniside DChartPie

How to perform on click action on an element inside DChartPie?

Click action not yet support
Pada tanggal Jum, 3 Mar 2023 23.13, ahmadkhedr @.***>
menulis:

How to perform on click action on an element inside DChartPie?
—
Reply to this email directly, view it on GitHub
https://github.com/indratrisnar/d_chart/issues/10, or unsubscribe
https://github.com/notifications/unsubscribe-auth/APTLYD2TE7DVDTMWJ6O7EB3W2IKBBANCNFSM6AAAAAAVOZL62Y
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


patch monosynth velocity

This should fix https://github.com/processing/p5.js-sound/issues/301

Monosynth envelope ramps this.output.gain — the audio param — instead of this.output
Update master limiter knee and threshold so that it is better suited to prevent clipping. Specifying a sharp knee value makes a big difference, as does lowering the ratio slightly. We don't want to change the quality of sound unless it's nearly clipping.
remove some unused monosynth properties (_isOn and filter)

Awesome, this looks and sounds great! Should be good to merge. :+1:


Upgrade eslint-plugin-playwright to get new checks; fix small checkbox bug

Description
These are changes I made while investigating https://github.com/WordPress/openverse/issues/4087. The issue turned out not to be actually an issue, but these new tests are useful, and I found a different bug anyway, which is fixed in this PR. I also upgraded us to the latest playwright ESLint plugin, and I will need to fix the many new warnings this has produced. I did the upgrade originally hoping that https://github.com/playwright-community/eslint-plugin-playwright/blob/main/docs/rules/prefer-web-first-assertions.md would catch toHaveAttribute("checked", "checked"), but of course, that's a different assertion than toBeChecked(). Very easy to get wrong! I'm sure I learned this at some point, but it's a trivial thing to forget.
There was also an issue with the TypeScript version we use in the application being outside the supported range of the older TS ESLint plugin we used. I've updated the TS ESLint plugin, which also required updating ESLint, which in turn required updating the other ESLint plugins. In the end I decided to just update all the ESLint stuff using pnpm -r up 'eslint*'.

Run the new storybook tests (or look at them in CI) and confirm the assertions pass. If you run them locally, you can remove pointer-events-none from the checked icon to see the bug I fixed.
Run pnpm run eslint and see that there are no errors. CI will also confirm this.
Checklist

[x] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[x] I added or updated tests for the changes I made (if applicable).
[x] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.
[N/A] I ran the DAG documentation generator (if applicable).

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

@obulat Feel free to push that branch to this one, no worries! I didn't realise there were already PRs open to convert the stories. I've reviewed the smoke-test PR and will review the mdx -> JS one later this afternoon (after taking a break for a bit here).


Custom signatures not working with Subclasssed Keras Model

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: n/a
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 2.3
Python version: 3.7
Bazel version (if compiling from source): n/a
GCC/Compiler version (if compiling from source): n/a
CUDA/cuDNN version: n/a
GPU model and memory: n/a

Describe the current behavior
When saving keras_models (checked for Subclassed Model) and providing custom signatures, keras_model.save(export_dir, signatures)  does not work and the saved model does not have the exported signature. The custom signature however works if we are using tf.saved_model.save(keras_model, export_dir, signatures).
Describe the expected behavior
tf.saved_model.save(keras_model, export_dir, signatures) and keras_model.save(export_dir, signatures) should have similar signatures.

Hi @sumitbinnani !Please post this issue on keras-team/keras repo.
To know more see;
https://discuss.tensorflow.org/t/keras-project-moved-to-new-repository-in-https-github-com-keras-team-keras/1999 . Thanks!

Ok @sumitbinnani ,Feel free to close this one . Thank!

Tracking in keras-team/keras#15324


Add/improve ComposeT instances with QuantifiedConstraints

Adding MFunctor and improving MonadTrans for ComposeT with code from issue #4

Closing as I believe this was superseded by #40


Make debounce specific to the instance

Resubmission of #49
Elected to resubmit rather than rebase because

Code was extremely stale
Easier to undo my changes to the lib folder, which I assume you don't want

Also noticed that #66 proposes the same change as this does, but it also needs rebasing.

@JedWatson could you post a notification in this PR when/if you release this?

+1

@JedWatson this has gone stale again. Are you not watching this repo?

Thanks @sslotsky for the patch. For anyone in need of a quick hack, here's what I'm using:
import debounce from 'lodash.debounce'

class PatchedCodeMirror extends CodeMirror {
  constructor() {
    super()
    this.handleUpdate = debounce(function(nextProps) {
      if (this.codeMirror && nextProps.value !== undefined && this.codeMirror.getValue() !== nextProps.value) {
        this.codeMirror.setValue(nextProps.value)
      }
      if (typeof nextProps.options === 'object') {
        for (let optionName in nextProps.options) {
          if (nextProps.options.hasOwnProperty(optionName)) {
            this.codeMirror.setOption(optionName, nextProps.options[optionName])
          }
        }
      }
    }, 0)
  }

  componentWillReceiveProps(nextProps) {
    this.handleUpdate(nextProps)
  }
}

Hopefully this will get merged soon 😕

Hey @sslotsky sorry for the delay - I believe a valid fix for this has already been merged: see https://github.com/JedWatson/react-codemirror/blob/master/src/Codemirror.js#L39
componentWillMount () {
	this.componentWillReceiveProps = debounce(this.componentWillReceiveProps, 0);
},

If that doesn't work for you, I'll replace it with the method in this PR - let me know.
Thanks!

by the way, I've just published 0.3.0 including a fix that I think works

@JedWatson can confirm 0.3.0 works as expected, thanks!


Add Webdriver form filling functionality

Add Webdriver form filling functionality

Close this PR, we are going to clean and merge with additional webdriver improvements


slurp files and http URLs

(slurp "example.txt")
file contents

(slurp "doesn't exists.txt")
#Condition["No such file or directory (os error 2)"]

(def s (slurp "example.txt")) ; works

(def s (slurp "http://www.example.com"))

Looks good.  I don't know if slurp needs to be in another file -- rust_core, the file, represents that entire namespace of functions, just as clojure/core.clj does.   Often it really just depends, I could maybe see us splitting it into its own file -- if we split all the rust_core functions into their own files.  But then,  they don't each need to be their own module, each their own thing to be imported to be used.  Splitting up the files would be more about being able to see more of the structure of rust_core by looking at the file system, to be able to see each function and macro at a glance there (which helps if your editor doesn't easily display the list of functions in the file you're looking at) -- but overall I don't think that's a problem.   You might say its also about being able to look at each function in isolation, but because they have one consistent, repeated structure,  rust_core can just be seen as a list of fns and macros, and there's a clear delineation between the function definitions -- you can look at each one in isolation pretty easily there.
Anyways, so for now its preferable to have slurp in rust_core.rs

As mentioned on discord,  the two ways of breaking up the files for rust_core have tradeoffs,  and even though I have reasons for preferring the other way,  it shouldn't be significant enough to matter -- so to merge this PR request

Add this to rust_core.rs instead
or
Split up rust_core.rs into files so that it matches this


ci(e2e): run e2e on shared worker

Because of new beefier worker nodes for Jenkins we can run e2e tests in parallel
with other jobs thus keeping more CI capacity for other jobs

bors merge


Automated Package Upgrade

:tada: This PR is included in version 7.0.153 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


GitHub Sponsor

i like to do a monthly donation to the lovely gems that make me smile everyday. are you guys planning to apply for the GitHub sponsor thing? would help! :))

As a project, we haven't looked to apply to GitHub sponsors since our expenses are $0. Individually, I've thought about it, but I do like keeping this as a side project and I like to be able to step away when I need a break.

ah. interesting. i'm glad i asked. i never thought of that perspective, when you mention you like to be able to step away. for me the sponsorship is a way to say "thanks for the awesome work. i know it takes time. here's a little i can do, sending a bit of money, ultimately money buys time, so you'll have more time to work on what you wanna work". it's a no-strings attached kind of money. i never thought of asking someone to solve my issues or implementing some features BECAUSE i'm donating money. not sure what's the consensus around that, but the word "Sponsor" might imply that i'm getting it wrong, yeah. anyways, thanks for taking the time to answer, and for Chart.js. i'll be donating no-strings attached the day you're deciding to go for it.

Thanks for that perspective @godbout. 😄  I sort of got the impression that GitHub encouraged "reward" tiers for more donations, but perhaps there is a way to set it up without that.

oh, now you remind me! yeah, when you decide to sponsor someone you choose a tier and it's clearly stated what you can expect. so it makes things very clear from the start. if you still feel like you "owe" someone something because they sponsored you, then maybe it's more a personal issue sorry 😅
for example Composer ( a gem in the PHP world) offers, for USD1,000 a month, "my thanks and gratitude". clear. Homebrew starts their tier with "a warm fuzzy feeling for supporting the project" 😂
so, i understand your concern, and i see your perspective, but at the same time thumbs up to GitHub for having given the possibility to both parties to make things very clear from the start!
good luck.


Add 6 new fvar checks to OpenType profile

com.adobe.fonts/check/varfont/valid_axis_nameid
Validates that the value of axisNameID used by each VariationAxisRecord is greater than 255 and less than 32768.
#3702
com.adobe.fonts/check/varfont/valid_subfamily_nameid
Validates that the value of subfamilyNameID used by each InstanceRecord is 2, 17, or greater than 255 and less than 32768.
#3703
com.adobe.fonts/check/varfont/valid_postscript_nameid
Validates that the value of postScriptNameID used by each InstanceRecord is 6, 0xFFFF, or greater than 255 and less than 32768.
#3704
com.adobe.fonts/check/varfont/valid_default_instance_nameids
Validates that when an instance record is included for the default instance, its subfamilyNameID value is set to either 2 or 17, and its postScriptNameID value is set to 6.
#3708
com.adobe.fonts/check/varfont/same_size_instance_records
Validates that all of the instance records in a given font have the same size, with all either including or omitting the postScriptNameID field.
#3705
com.adobe.fonts/check/varfont/distinct_instance_records
Validates that all of the instance records in a given font have distinct data.
#3706

@felipesanches It'd be nice if these were included in the upcoming 0.8.9 release.

yes, this will happen ;-)

I previously had not merged this because of the line breaks in rationale text. But now that's sorted out by https://github.com/googlefonts/fontbakery/commit/58fedccd9b54125711b0a0473b743d216b4f6549

I'm not sure when 0.8.9 will be released. Having more frequent releases would be important for your workflow? Or is it OK to keep the current pace?

Thanks. I just wanted to make sure this PR was on your radar.

I'm not sure when 0.8.9 will be released. Having more frequent releases would be important for your workflow? Or is it OK to keep the current pace?

The current cadence is fine. I'm working on a few other changes at the moment that would be good to include as well. I'll let you know when I'm done.
Let's keep in touch. I don't want to disrupt your own release plans either. And once I'm done with my batch of changes I probably won't be contributing as actively.


PackageId:CPython39.Exe.x64;PackageAction:Uninstall;ReturnCode:1603;

This issue has been moved from a ticket on Developer Community.

Describe your issue here
===DO NOT EDIT BELOW THIS LINE===
PackageId:CPython39.Exe.x64; PackageAction:Uninstall; ReturnCode:1603;

Original Comments
Feedback Bot on 5/11/2023, 06:10 PM:
(private comment, text removed)

Original Solutions
(no solutions)

Could you try it again through control panel and see that works? If that doesn't solve your issue, we could use more detailed logs to see what's really going on. Can you please collect more logs by running http://aka.ms/vscollect.exe and uploading %temp%\vslogs.zip and reopen the ticket if it persists? Thank you!😊


keydown function cannot see first char

Hi mervick!
I am trying to get value with keydown function but it cannot see first character. It begins from second one every time. How can I fix it?

keyup worked for chrome. but firefox same as before.

Please create example at jsfiddle


Crash in jpn-final

The Japanese version (jpn-final) crashed just before the main menu. I used commit 28837dd034782f86ef14b9c0b279e69a35ac8800. (Somehow it doesn't match "pd.log")
It seems to have started crashing at some point. The last commit I checked that had no problems was commit 85b2ba5.
pd.log
version: dad5b3c07 (i686-windows)
startup date: 01 Oct 2023 00:28:23
base dir: ./data
save dir: .
ROM file: pd.jpn-final.z64
skipping segment fontjpnsingle
skipping segment fontjpnmulti
loading segment animations from ROM (offset 00190c50 pointer 1d162c70)
loading segment mpconfigs from ROM (offset 007c00d0 pointer 1d7920f0)
loading segment mpstringsE from ROM (offset 007c12b0 pointer 1d7932d0)
loading segment mpstringsJ from ROM (offset 007c49b0 pointer 1d7969d0)
loading segment mpstringsP from ROM (offset 007c80b0 pointer 1d79a0d0)
loading segment mpstringsG from ROM (offset 007cb7b0 pointer 1d79d7d0)
loading segment mpstringsF from ROM (offset 007ceeb0 pointer 1d7a0ed0)
loading segment mpstringsS from ROM (offset 007d25b0 pointer 1d7a45d0)
loading segment mpstringsI from ROM (offset 007d5cb0 pointer 1d7a7cd0)
loading segment firingrange from ROM (offset 007d93b0 pointer 1d7ab3d0)
loading segment fonttahoma from ROM (offset 007e6ef0 pointer 1d7b8f10)
loading segment fontnumeric from ROM (offset 007e81b0 pointer 1d7ba1d0)
loading segment fonthandelgothicsm from ROM (offset 007e93c0 pointer 1d7bb3e0)
loading segment fonthandelgothicxs from ROM (offset 007ec640 pointer 1d7be660)
loading segment fonthandelgothicmd from ROM (offset 007eecb0 pointer 1d7c0cd0)
loading segment fonthandelgothiclg from ROM (offset 007f2d00 pointer 1d7c4d20)
loading segment sfxctl from ROM (offset 007fc670 pointer 1d7ce690)
loading segment sfxtbl from ROM (offset 0082c1f0 pointer 1d7fe210)
loading segment seqctl from ROM (offset 00cee350 pointer 1dcc0370)
loading segment seqtbl from ROM (offset 00cf83b0 pointer 1dcca3d0)
loading segment sequences from ROM (offset 00e74420 pointer 1de46440)
loading segment texturesdata from ROM (offset 01d61f90 pointer 1ed33fb0)
loading segment textureslist from ROM (offset 01ff68f0 pointer 1efc8910)
loading segment copyright from ROM (offset 01ffd6b0 pointer 1efcf6d0)
loading segment fontjpn from ROM (offset 00178c40 pointer 1d14ac60)
romdataInit: loaded rom, size = 33554432
memp heap at 1efed020 - 1ffed020
rom  file at 1cfd2020 - 1efd2020
ERROR: romdataFileLoad: invalid file num 0
ERROR: romdataFileLoad: invalid file num 0
ERROR: romdataFileLoad: invalid file num 65282
ERROR: romdataFileLoad: invalid file num 65282
rmonPrintf: rzipInflate: input not in any known rare zip format

ERROR: FATAL: Crashed: PC=0066fcfd CODE=0xc0000005
ERROR: FATAL: Crash!

EXCEPTION: 0xc0000005
PC: 0066fcfd
MODULE: 00540000
MAIN MODULE: 00540000

BACKTRACE:
#00: 0066fcfd
no information

shutdown

I cannot reproduce this. If you're building it yourself, try doing make -f Makefile.port allclean and then make -f Makefile.port -j4 ROMID=jpn-final. If that doesn't help, ensure you have the correct unmodified jpn-final ROM.

Thank you, I was able to start it without any problems. The commit hash in pd.log was also correct.
pd.log
version: 28837dd03 (i686-windows)
startup date: 01 Oct 2023 01:45:02
base dir: ./data
save dir: .
ROM file: pd.jpn-final.z64
skipping segment fontjpnsingle
skipping segment fontjpnmulti
loading segment animations from ROM (offset 00190c50 pointer 1c853c70)
loading segment mpconfigs from ROM (offset 007c00d0 pointer 1ce830f0)
loading segment mpstringsE from ROM (offset 007c12b0 pointer 1ce842d0)
loading segment mpstringsJ from ROM (offset 007c49b0 pointer 1ce879d0)
loading segment mpstringsP from ROM (offset 007c80b0 pointer 1ce8b0d0)
loading segment mpstringsG from ROM (offset 007cb7b0 pointer 1ce8e7d0)
loading segment mpstringsF from ROM (offset 007ceeb0 pointer 1ce91ed0)
loading segment mpstringsS from ROM (offset 007d25b0 pointer 1ce955d0)
loading segment mpstringsI from ROM (offset 007d5cb0 pointer 1ce98cd0)
loading segment firingrange from ROM (offset 007d93b0 pointer 1ce9c3d0)
loading segment fonttahoma from ROM (offset 007e6ef0 pointer 1cea9f10)
loading segment fontnumeric from ROM (offset 007e81b0 pointer 1ceab1d0)
loading segment fonthandelgothicsm from ROM (offset 007e93c0 pointer 1ceac3e0)
loading segment fonthandelgothicxs from ROM (offset 007ec640 pointer 1ceaf660)
loading segment fonthandelgothicmd from ROM (offset 007eecb0 pointer 1ceb1cd0)
loading segment fonthandelgothiclg from ROM (offset 007f2d00 pointer 1ceb5d20)
loading segment sfxctl from ROM (offset 007fc670 pointer 1cebf690)
loading segment sfxtbl from ROM (offset 0082c1f0 pointer 1ceef210)
loading segment seqctl from ROM (offset 00cee350 pointer 1d3b1370)
loading segment seqtbl from ROM (offset 00cf83b0 pointer 1d3bb3d0)
loading segment sequences from ROM (offset 00e74420 pointer 1d537440)
loading segment texturesdata from ROM (offset 01d61f90 pointer 1e424fb0)
loading segment textureslist from ROM (offset 01ff68f0 pointer 1e6b9910)
loading segment copyright from ROM (offset 01ffd6b0 pointer 1e6c06d0)
loading segment fontjpn from ROM (offset 00178c40 pointer 1c83bc60)
romdataInit: loaded rom, size = 33554432
memp heap at 1e6d8020 - 1f6d8020
rom  file at 1c6c3020 - 1e6c3020
shutdown

Cool. When you pull some more significant changes, sometimes you have to do a full clean before building.


fix #10637 assign provider namespace

What is the purpose of the change
add attribute(providerNamespace) in @DubboReference, and add provider-namespace attribute in xsd, that fix issue https://github.com/apache/dubbo/issues/10637
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

LGTM
@AlbumenJ

Codecov Report

Merging #10686 (8c6025f) into 3.1 (e6748c7) will increase coverage by 0.00%.
The diff coverage is 10.00%.

@@            Coverage Diff            @@
##                3.1   #10686   +/-   ##
=========================================
  Coverage     65.21%   65.22%
- Complexity      493      494    +1
=========================================
  Files          1336     1336
  Lines         56922    56927    +5
  Branches       8435     8437    +2
=========================================
+ Hits          37124    37129    +5
  Misses        15831    15831
  Partials       3967     3967

Impacted Files
Coverage Δ

.../java/org/apache/dubbo/config/ReferenceConfig.java
73.35% <0.00%> (-0.49%)
:arrow_down:

...g/apache/dubbo/config/AbstractReferenceConfig.java
84.50% <33.33%> (-2.26%)
:arrow_down:

...g/apache/dubbo/remoting/api/ConnectionHandler.java
51.51% <0.00%> (-9.10%)
:arrow_down:

.../common/threadpool/serial/SerializingExecutor.java
72.41% <0.00%> (-6.90%)
:arrow_down:

...etadata/report/support/AbstractMetadataReport.java
69.09% <0.00%> (-2.28%)
:arrow_down:

...java/org/apache/dubbo/remoting/api/Connection.java
80.00% <0.00%> (-0.84%)
:arrow_down:

...rg/apache/dubbo/common/timer/HashedWheelTimer.java
85.22% <0.00%> (-0.35%)
:arrow_down:

...n/java/org/apache/dubbo/common/utils/NetUtils.java
63.21% <0.00%> (+0.27%)
:arrow_up:

...vent/listener/ServiceInstancesChangedListener.java
77.14% <0.00%> (+0.40%)
:arrow_up:

...exchange/support/header/HeaderExchangeHandler.java
62.83% <0.00%> (+1.76%)
:arrow_up:

... and 3 more

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

@AlbumenJ
I have alread changed the way to get  namespace -> podNamespace = referenceParameters.getOrDefault. Pls check it


Is list() / reference() along with union() function an official supported way to merge additional settings to existing settings?

I need to merge some additional settings to existing settings. Since resource definition defines the final state, I need a way to merge my settings.
I want to know if following way I used to merge settings is an official supported way (or say I can use it for long term):

In main.bicep, invoke provision.bicep to create resources. People can update provision.bicep to add their own settings.
In main.bicep, use list() or reference() to get current settings for created resources

var functionCurrentAllowedOrigins = reference('${provisionOutputs.functionOutput.value.functionAppResourceId}/config/web', '2021-01-15').cors.allowedOrigins // for resources that not support list operation
var functionCurrentAppSettings = list('${provisionOutputs.functionOutput.value.functionAppResourceId}/config/appsettings', '2021-01-15').properties // for resources that support list operation

In main.bicep, invoke appendConfig.bicep to append addition settings

module appendConfig './appendConfiguration.bicep' = {
  name: 'appendConfiguration'
  params: {
    currentAllowedOrigins: functionCurrentAllowedOrigins
    currentAppSettings: functionCurrentAppSettings
  }
}

In appendConfig.bicep, use union() to merge additional settings and existing settings

resource appConfig 'Microsoft.Web/sites/config@2021-01-15' = {
  name: '${functionAppName}/web'
  kind: 'functionapp'
  properties: {
    cors: {
      allowedOrigins: union(currentAllowedOrigins, [
        tabAppEndpoint
      ])
    }
  }
}

resource appSettings 'Microsoft.Web/sites/config@2021-01-15' = {
  name: '${functionAppName}/appsettings'
  properties: union({
    MY_ADDITIONAL_SETTINGS: 'some value'
  }, currentAppSettings)
}

I ask this because if I list() and union() the settings in same bicep file, I will get circular dependency error from ARM (though I don't know why it's treated as circular dependency). I'm not sure whether it's expected to split list() and union() to different modules, or I just happened to bypass the checks from ARM.

Can you share the example that is not working?
The short answer is if it works, then it's supported, as changing the behavior would be a breaking change :)
The longer answer is to be careful with a solution like this. That reference() and list() call will fail if the resource doesn't exist, so this template only works if the relevant resources exist, which may not always be the case. The ideal fix is for the Web resource provider to handle this settings merge at the API level, as that is the common behavior.
As a sidenote, we would recommend getting existing references to those existing resources, which is safer code. It would look something:
resource function 'Microsoft.Web/sites@2021-01-15' existing = {
  name: '<SITE-NAME-UPDATE-ME>'

  resource webConfig 'config' = {
    name: 'web'
  }

  resource appSettings 'config' = {
    name: 'appsettings'
  }
}

var allowedOrigins = function::webConfig.properties.cors.allowedOrigins
var appSettings = function::appSettings.list().properties

Thank you @alex-frankel that's really helpful. Here's a sample which causes circular dependency:
param webAppName string

resource existingAppSetting 'Microsoft.Web/sites/config@2021-01-15' existing = {
  name: '${webAppName}/appsettings'
}

var existingAppSettingList = existingAppSetting.list().properties

resource updatedWebAppSettings 'Microsoft.Web/sites/config@2021-01-15' = {
  name: '${webAppName}/appsettings'
  properties: union({
    ADDITIONAL_SETTING: 'some value'
  }, existingAppSettingList)
}

To fix this error, I need to put the updatedWebAppSettings resource definition to another bicep module, and invoke the module with existingAppSettingList as parameter.


[SPARK-39734][SPARK-36259][SPARK-39733][SPARK-37348][PYTHON] Functions Parity between PySpark and SQL

What changes were proposed in this pull request?
Implement the missing functions in PySpark:

call_udf
localtimestamp
map_contains_key
pmod

After this PR, all functions in org.apache.spark.sql.functions can be found in pyspark.sql.functions or or have equivalents (e.g. not -> ~)
Why are the changes needed?
for function parity
Does this PR introduce any user-facing change?
yes, 4 new APIs added
How was this patch tested?
added doctests

thank you all! merged into master


Leverage WebDriver built-in implicit wait

We've been emulating implicit wait functionality by repeated requests when webdriver offers it as a built-in mechanism. Using the built-in mechanism when available has the advantage of making logs less verbose. This change preserves the repeated request emulation mechanism as a fallback.
This change aligns better with web driver concepts. We use "implicit wait timeout" instead of "default retry timeout", and make it only apply to findElement, introducing a separate "implicit interaction retry timeout" for interactions (which is not a webdriver protocol built-in functionality). The implicit wait timeout now defaults to 0 seconds, as per spec.
Individual operations still offer to specify a wait timeout, and this is implemented by temporarily changing the implicit wait timeout, since that is the only mechanism offered by webdriver.

@jeffdav good call, I updated the readme.


Refactor models.NewRepoContext to extract git related codes to modules/git

As title.

Codecov Report

Merging #6941 into master will decrease coverage by <.01%.
The diff coverage is 57.89%.

@@            Coverage Diff             @@
##           master    #6941      +/-   ##
==========================================
- Coverage    41.4%   41.39%   -0.01%
==========================================
  Files         441      441
  Lines       59736    59720      -16
==========================================
- Hits        24732    24724       -8
+ Misses      31765    31760       -5
+ Partials     3239     3236       -3

Impacted Files
Coverage Δ

routers/init.go
68.05% <ø> (-0.44%)
:arrow_down:

routers/admin/admin.go
0% <0%> (ø)
:arrow_up:

models/repo.go
47.88% <100%> (+0.2%)
:arrow_up:

modules/setting/setting.go
47.85% <100%> (+0.18%)
:arrow_up:

modules/setting/git.go
62.5% <100%> (+5.35%)
:arrow_up:

modules/git/git.go
38.33% <45.45%> (+1.59%)
:arrow_up:

modules/avatar/avatar.go
81.25% <0%> (-18.75%)
:arrow_down:

routers/repo/view.go
42.02% <0%> (-1.02%)
:arrow_down:

modules/log/router.go

modules/log/colors_router.go
87.5% <0%> (ø)

... and 2 more

Continue to review full report at Codecov.

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


Web CLI as a part of Console

What is the goal / desired outcome?
Having an ability to open a CLI straight from Console can make it a convenient one stop shop for managing Pachyderm. The CLI can also use the Pachyderm shell and save the user from authenticating multiple times both from the Console and from a different linux instance which will act as a gateway. Another use case where this can help is when a new user needs access or when a new server is provisioned to act as a gateway with Pachyderm and requires configuration to access Pachyderm. It might take time to setup a machine with pachctl and config properly things to connect with grpc, which data scientists may have issues with. So it is also more secure and time saving feature for the Pachyderm admin compared to a ssh session.
If there is a way to accomplish this today via workaround, what does that require?
The user can use pachctl from a remote server or Pachyderm notebooks. This is a viable alternative, but I think a web-cli can make Console more useful overall for the reasons specified above.
(Optional) What is your proposal for a feature to solve this?
Implement a popup, quake style window in console that opens the cli. Very similarly to how this is performed in Azure cloud shell.

Jupyterlab would work for this if that's of interest. We're also building out extensions to integrate pachyderm with Jupyter such as mount, which allows you to mount Pachyderm files within your notebook.

Thanks @chainlink I agree that there are more pressing issues.


[release-1.4] add accesslog related settings

This is an automated cherry-pick of #615

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

noauth_installer_release-1.4
d0618a675d0c677ccded29000ea7e413fbcfed8d
link
/test noauth_installer_release-1.4

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test noauth_installer_release-1.4


Omnifocus 2 bug

Ref: Conversation #3152 / Mike

I am not sure if this is the same problem but the current pop clip extension does not work with OmniFocus  2.0.4 (v87.19 r222363)

Closed this one as "can't fix". The extension only works in the Pro version of OmniFocus 2. (The standard version doesn't support AppleScript.)


Unable to access jarfile

I am getting this error message:
scott@:~$ docker run --rm --gpus all -it -p 8060:8060 grobid/software-mentions:0.7.3-SNAPSHOT
Error: Unable to access jarfile build/libs/software-mentions--onejar.jar
I was able to run 0.7.1 without difficulty.

Hello @scottkerr-dataseer !
Thanks for the issue.
Did you rebuild this image or use the DockerHub image?

I used the downloaded image. I can try building if you want. But I don't
normally build in Java (yet).
On Fri, May 5, 2023 at 2:37 PM Patrice Lopez @.***>
wrote:

Hello @scottkerr-dataseer https://github.com/scottkerr-dataseer !
Thanks for the issue.
Did you rebuild this image or use the DockerHub image?
—
Reply to this email directly, view it on GitHub
https://github.com/softcite/software-mentions/issues/24#issuecomment-1536630696,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6BQL65ZQSNKTSNWIUCP3YTXEVCEZANCNFSM6AAAAAAXXL5W6U
.
You are receiving this because you were mentioned.Message ID:
@.***>

No it's just to know where the problem comes from. The version tag is missing in the library name (0.7.3-SNAPSHOT) inside the image, it should be build/libs/software-mentions-0.7.3-SNAPSHOT-onejar.jar.
If I remember well, I tested this image present on DockerHub and I used it a few times, so it's strange. This docker hub image is running also on HuggingFace space, although it times out because there is no GPU in this demo.
Anyway I suspect a problem with env and local --build-arg variable in the docker build. I have updated the image on DockerHub so if you pull the new version, the version tag is now forced.

This should be solved with #38


Feature request: add aspect ratio "helper" method

I've seen some old issues with questions about aspect ratio and if I understood correctly the reason there no SnapKit method for it is because there is no equivalent API on AutoLayout. My question is are you against adding a method like the following (naming TBD)?
profileImageView.snp.makeConstraint { make in
    make.aspectRatio(1, by: 1) // square. or aspectRatio(16, by: 9)
}

that would internally be the same as:
profileImageView.snp.makeConstraint { make in
    make.width.equalTo(profileImageView.snp.height).multipliedBy(1 / 1)
}

The benefit is that it makes the intent of the constrain very clear.
If this is something you'd add to the project I can create a PR.

@fcy It's an interesting idea, I'm sort of against bloating SnapKit's API's with too much convenience, while useful I don't think there are that many instances where one needs to do aspect ratio pinning to warrant a top level API.
Instead it's easy to add extensions to protocols/classes that DSL works from and keep it application specific.
It may be a case where I need to add a Contrib folder with additional API's and helpers that are not part of the core package.

@fcy my take on it is that I want SnapKit to closely mirror Auto Layout. Because if one comes into a new project that uses SnapKit and the original author is gone if there are tons of helpers it's even more confusing than just starting with the basics.
Most of SnapKit's API's read well with their intention make left equal to right offset 100 etc… and this is a core goal because layout code is verbose and becomes lengthy and hard to understand visually when reading.

That makes sense and I had a feeling this was the way the project wanted to go, that is why I started by asking about it. I ended up adding an extension to ConstraintMaker:
extension ConstraintMaker {
    public func aspectRatio(_ x: Int, by y: Int, self instance: ConstraintView) {
        self.width.equalTo(instance.snp.height).multipliedBy(x / y)
    }
}

        profileImageView.snp.makeConstraints { make in
            make.aspectRatio(1, by: 1, self: profileImageView)
        }

The only thing that bothers me is that I have to pass a reference to the view itself, I couldn't find a way to reference the view from the maker.
Any tips on how this could be done better?

@fcy maybe something like this?
extension ConstraintMaker {
	public func aspectRatio(_ x: Int, by y: Int) {
		if let view = item as? ConstraintView {
			self.width.equalTo(view.snp.height).multipliedBy(x / y)
		} else {
			print("You can't use this on non UIView(\(item)) item")
		}
	}
}

@dev4dev unfortunately item is private. Do you think of any other way to workaround this?

public func aspectRatio(_ x: Int, by y: Int, self instance: ConstraintView) {
self.width.equalTo(instance.snp.height).multipliedBy(x / y)
}

It seems to me you should also try to mirror what Interface Builder provides since you are providing an easy, more high-level method of coding constraints and since IB provides an "aspect ratio" constraint, you should provide one as well.

I would also like to see this. This is often used, for example, making the width of an image in a tableview cell match the height after setting the height constraints.

I prefer the following style
profileImageView.snp.makeConstraint { make in
    make.aspectRatio.equalTo(CGSize(width:1, height: 1)) // square. or CGSize(width:16, height: 9)
}

But this may cause some exceptions that should be forbidden, such as
profileImageView.snp.makeConstraint { make in
    make.aspectRatio.equalTo(CGSize(width:1, height: 1)).offset(10) // offset makes no sense for aspect ratio
    make.aspectRatio.equalTo(CGSize(width:1, height: 1)).multipliedBy(2) // multipliedBy and dividedBy make no sense for aspect ratio
}

I've started reading the code base, any comments are welcome.

That makes sense and I had a feeling this was the way the project wanted to go, that is why I started by asking about it. I ended up adding an extension to ConstraintMaker:
extension ConstraintMaker {
    public func aspectRatio(_ x: Int, by y: Int, self instance: ConstraintView) {
        self.width.equalTo(instance.snp.height).multipliedBy(x / y)
    }
}

        profileImageView.snp.makeConstraints { make in
            make.aspectRatio(1, by: 1, self: profileImageView)
        }

The only thing that bothers me is that I have to pass a reference to the view itself, I couldn't find a way to reference the view from the maker.
Any tips on how this could be done better?

Should x & y be Double or CGFloat?

Hey! Do we have any updates? Thanks!

Will be possible in next release via your own extensions due to #693


Keybase error: "Login required: no sessionArgs available since no login path worked" on chromebook via chromebrew

I built keybase on chromebrew for my chromebook as discussed at https://github.com/skycocker/chromebrew/issues/3295
resulting in a keybase version 4.1.0 client which matches the current service.
It gave me this error:
2019-06-04T10:30:57.206227-06:00 ▶ [ERRO keybase main.go:86] 001 Login required: no sessionArgs available since no login path worked

Here is my log id from keybase log send: 4c0be5a4eddf320130c6061c
I also get
$ keybase login
ERROR EOF

Thanks, I see the bug. For now could you try
keybase config set -b force_less_safe_secret_store_file 1
keybase login

It seems the system keyring on your system is faulty, so as a fallback measure we have this secret store file (more info at https://keybase.io/docs/crypto/local-key-security).
Just curious, do you have anything like gnome-keyring or KWallet installed?

I removed keybase and recompiled it from source (I think). I ended up with the same version number: 4.1.0.
And I'm still getting the same errors.
I haven't figured out how to ensure that I do have the latest version. Do you ever add git commit info to version strings or the like?

Expected to still be on 4.1.0, git hashes would be something done by the package manager (i.e., chromebrew).
Could you stop all keybase processes and try to login again, and then send a log?

Thanks for the very quick help, folks!!
I stopped processes and got the same results.
I rebooted and got same results.
my log id: 7e31c88fe12e28cb4cb0f41c

Is it possible you didn't update to the latest code? You could try to remove the package and install again, maybe.
Anyway, if that doesn't work, try keybase config set -b force_less_safe_secret_store_file 1, stop processes, then keybase login. Send another log if it still doesn't work.

Yes - wrong source. Don't know why the --version says 4.1.0...
See skycocker/chromebrew#3295 again.

 Installing with -s compiles from git source instead of using the tarballs. However, I think it is possible you haven't updated to the latest master after the fix was committed.

As I noted in issue 3295, I'm not sure what the go get and go build lines are doing. Do they ever cache a version of master?

After working thru more build issues as noted in  skycocker/chromebrew#3295, keybase is working like a charm now on ChromeOS, including with git.
And it's amazing and so well suited to Chromebook usage patterns. So much better than the whole google drive integration for many many things....
Thanks, folks!


Python import bug

So I have this justfile and I'm trying to access a variable from a local library in the current directory:
# Get the current version
version:
	#!/usr/bin/env python
	from barlibrary import __version__ as current
	print(current)

And here's barlibrary/__init__.py:
from __future__ import absolute_import
from __future__ import print_function

__version__ = '0.1.3'

But when I run just version, I get this error:
Traceback (most recent call last):
  File "/tmp/justWPA40x/version", line 78, in <module>
    from barlibrary import __version__ as current
ModuleNotFoundError: No module named 'barlibrary'
error: Recipe `version` failed with exit code 1

This also happens if I run just --justfile justfile --working-directory . version
I suspected it was maybe due to the justfile being run in /tmp/justWPA40x/version, but after getting the current directory in python, that doesn't seem to be the case:
# Get the current version
version:
	#!/usr/bin/env python
	import os
	print(os.getcwd())

I get the correct directory, which is the current working directory:
/home/mizu/projects

I believe this is a bug because I should be able to access barlibrary from the python script in the justfile.
Currently here's a workaround:
# Get the current version
version:
	#!/usr/bin/env bash
	current_version=$(python -c 'from barlibrary import __version__ as current; print(current, end="")')
	echo -e "$current_version"

Thanks for the detailed report!
I believe this is related to the way that Python looks for imports. By default, Python searches the directories in sys.path for imports, which contains, among other things, the directory containing the current file, but not the current working directory.
As a workaround, you can add the current directory to sys.path:
# Get the current version
version:
	#!/usr/bin/env python
	import sys, os
	sys.path.insert(0, os.getcwd())
	from barlibrary import __version__ as current
	print(current)

Let me know if that works!

Thanks! It works.


Proposal release channels

New changes introduce new issues or it might even break things that should not.
Right now the master branch is linked to the docker latest tag. There is no edge of development branch available and it might be useful to create one.
My proposal is to link master to docker:latest and add a new branch stable linked to the docker:stable.
This issue is to see if this sounds good and if there are suggestions? We could do a monthly release cycle of master to the stable branch to introduce new features to stable users. Cherry-pick hotfixes if it breaks something urgent.
What do you guys thin about it? @tomav @17Halbe @mwlczk

Hi @johansmitsnl  this sounds good. and i don't mind to have an extra branch with more "edge"-development.
Here is the thing: When do we decide to move new functionality to a stable branch? At some point we have to do it, in that moment it would break the stable branch for some people even if the patch was completely fine.
What if we have a latest (or edge) and additionaly start numbering the stable-branches with versions. We start a CHANGELOG.md and comment the differences merged into the versions there. Only Hotfixes/Urgent/Security-fixes would be allowed to older Versions.
People should really not upgrade their servers on daily basis on latest stream - this is really dangerous.
If someone wants a new feature, he really has to switch to a newer and be aware of the changes. staying on a fixed version of the server would allow in this case to get security fixes every night still.

The decision to release features could be made based on the time in development. Example: I only merge every 2 weeks new features and before I start merging the issues with the last pulled features should have been solved and I create a release of that stable/development version.
Then the window opens again to pull in new changes and we start testing them again for 2 weeks.
On the docker hub there is a trigger when the base image (debian) updates it triggers a rebuild so security of the stable branch should not be an issue. The idea is a rolling release but having tested code in production environments of people that don't mind to run this branch, thats why I prefer to use latest for this because people prefer most of the times this tag. Creating new versions that people get stuck on does not seem right, but to use only 2 branches and tags on the release if people want to get stuck on a version lets the users decide that they want to run.
With the semver versioning we could also indicate that there are breaking changes or not.

Great! Thanks for initiating this! I would love to have a stable branch with security updates only :)

Sounds good and reasonable!
The only thing I would be worried about, is if we are enough people on the testing branch to really test the new features. We would need many different setups to be tested on the dev branch in production, otherwise we just delay possible breaking changes to be merged to latest/stable. See: Works for someone but not all of us ;)
That's not an argument against a dev branch, just something to consider. (It's still better than letting normal users be beta-testers! ;) )
So :+1:

That's true. But most users have latest now and they might be lazy in switching so I guess we keep a good userbase in dev.

I would really like if the releases are backwards compatible. On one hand, I want my server to pick up the latest changes to stay up with the latest security related patches, but it becomes a game of whack a mole if stuff breaks on every release.
Another way to see this is that we should consider how the release cycle should look like in the consumer end. Should people just track the latest stable release automatically or do we expect them to follow manual steps every time there is a release?
I think that a good balance between the two could be to expect all minor versions to be feature compatible and not require any human intervention and ask people to update those automatically and only release breaking changes in major versions.

@mzedeler agree. When possible we keep them backwards compatible, but sometimes changes are needed.
Also with better release management and changelogs we want them easier to track when incompatible changes where introduced but we want to keep those to a minimum and with introducing tags you could also use a tagged release. Currently waiting tomav to make the changes to the docker repo.

what about the two week rule? did the time pass, so we could merge some of the PRs into the stable branch?

@mwlczk there is still an issue with the tag builds, the 3.0.0 tag is not build on the hub. Because I don't have access to the docker hub I'm waiting to have this fixed. Then I can start merging new commits into stable and create releases for this.

Docker is building all tags as we speak: https://hub.docker.com/r/tvial/docker-mailserver/builds/
Updated the changelog and made changes to the versions that break behaviour
https://github.com/tomav/docker-mailserver/blob/master/CHANGELOG.md with the commends and issues that go with it.
New releases will have more extensive details to the changelog. Hoping it is much clearer about the changes and fixes for the future :-)

This is excellent work guys.  Looking forward to a much more predictably stable docker image in the future.  :)


logs tail produce non-json output at times.

cli: v0.19.3
lib: v0.17.5
node: v18.5.0
At times this command:
frodo logs tail -c idm-everything -L ALL  produces traces like this:
"Jan 17, 2023 2:52:23 AM org.forgerock.openidm.util.LogUtil logAtLevel"
"INFO: Scheduled service \"scheduler-service-group.LiveSyncEksDJ\" invoke completed successfully."

However, using curl against the logging endpoint /monitoring/logs/tail?source=idm-everything shows properly formatted JSON for these traces:
{
            "payload": "Jan 17, 2023 5:09:08 AM org.forgerock.openidm.util.LogUtil logAtLevel",
            "timestamp": "2023-01-17T05:09:08.186263792Z",
            "type": "text/plain",
            "source": "idm-core"
        }

@patrickdiligentforgerock frodo outputs the payload from the log messages. IDM debug logs' payload is not JSON (just plain text) and that is why those are logged as text. Other log types, where the payload is JSON, frodo outputs JSON. There is a jira for addressing this in ID Cloud: FRAAS-11296.

@atomicsamurai how do you explain the logging endpoint wraps the plain text in JSON, while frodo does not?

To support further the case, this trace in an onUpdate script:
function _tag(message){
    return `${config.nodeName}:: ${message}`;
  }

  logger.error(_tag("request : " + request));

WITH frodo:
"SEVERE: alpha_user-onUpdate:: request : { \"patchOperations\": [ { \"operation\": \"replace\", \"field\": \"/description\", \"value\": \"That\" } ], \"method\": \"patch\", \"resourcePath\": \"\", \"additionalParameters\": {  }, \"fields\": [  ], \"revision\": \"9b90b88b-fcfb-43b9-9ec1-7b78f414e2c9-8222\" }"
"SEVERE: alpha_user-onUpdate:: request : { \"patchOperations\": [ { \"operation\": \"replace\", \"field\": \"/description\", \"value\": \"That\" } ], \"method\": \"patch\", \"resourcePath\": \"\", \"additionalParameters\": {  }, \"fields\": [  ], \"revision\": \"9b90b88b-fcfb-43b9-9ec1-7b78f414e2c9-8222\" }"

[ Not that it is repeated twice ]
WITH GET /monitoring/logs/tail?source=idm-everything&_prettyPrint=true
    {
            "payload": "SEVERE: alpha_user-onUpdate:: request : { \"patchOperations\": [ { \"operation\": \"replace\", \"field\": \"/description\", \"value\": \"That\" } ], \"method\": \"patch\", \"resourcePath\": \"\", \"additionalParameters\": {  }, \"fields\": [  ], \"revision\": \"9b90b88b-fcfb-43b9-9ec1-7b78f414e2c9-8222\" }",
            "timestamp": "2023-01-17T23:19:53.898162358Z",
            "type": "text/plain",
            "source": "idm-core"
        },

Exactly my point - the logging endpoint returns the actual message, which is:
"SEVERE: alpha_user-onUpdate:: request : { \"patchOperations\": [ { \"operation\": \"replace\", \"field\": \"/description\", \"value\": \"That\" } ], \"method\": \"patch\", \"resourcePath\": \"\", \"additionalParameters\": {  }, \"fields\": [  ], \"revision\": \"9b90b88b-fcfb-43b9-9ec1-7b78f414e2c9-8222\" }"

wrapped in a JSON envelope. frodo just does not show the envelope, only the "payload". Are you saying that frodo should output the complete JSON? Sorry if I misunderstand.

@atomicsamurai - Yes - exactly the point. In fact why is 'fetch' wrapping into a JSON object and not 'tail', while the monitoring endpoints have a consistent JSON format?
This is actually awkward, as for example, in troubleshooting, it's common to pipe the frodo command to jq, however, having non JSON in the mix is complicating things. And since the format differs, with 'fetch' for example I would select the  key ".payload.transactionId", but that becomes ".transactionId" for 'tail', adding further awkwardness.
Also it completes the task when leveraging the lib to develop a feed to an external logging service.

@atomicsamurai I believe this was fixed, wasn't it? @patrickdiligentforgerock is this still an issue?

Closing.


Test AbstractResultSet::current() to return null on empty array

This is based on @rzjack comment at https://github.com/zendframework/zend-db/pull/303#issuecomment-383976062
Provide a narrative description of what you are trying to accomplish:

[x] Are you fixing a bug?
[x] Detail how the bug is invoked currently.
initialize AbstractResultSet with empty array.
[x] Detail the original, incorrect behavior.
The AbstractResultset::current() return [].
[x] Detail the new, expected behavior.
The AbstractResultset::current() return null.
[x] Base your feature on the master branch, and submit against that branch.
[x] Add a regression test that demonstrates the bug, and proves the fix.
[ ] Add a CHANGELOG.md entry for the fix.

@rzjack I can't reproduce issue with the test at AbstractResultSet::current() with initialize with empty array.


Train the Model using VGG-16

Type
Advancement
Description
Create and Train a Model using VGG-16, using either Keras (Tensorflow) or PyTorch. This Issue can be assigned to two people working on either of the frameworks for Data Modelling. Create a Test Script as well, which can be used to test the Script.
Tools

Python
Tensorflow
PyTorch
Jupyter Notebook
Jupyter Markdown

Have you read the Contributing Guidelines on Pull Requests?
Yes

@HarshCasper Can I work on this issue?

@HarshCasper I want to work on this issue using Keras. Can you assign me this issue?

@rjn01 assigning you the issue for Keras based implementation.


Missing syntax error for new A?.b()

Bug Report

🔎 Search Terms
syntax error optional chain new arguments parentheses
🕗 Version & Regression Information
Only tested with 4.7 Nightly in the playground
⏯ Playground Link

Playground link with relevant code
💻 Code
class A {
    b() {}
}

new A?.b()

Output
"use strict";
var _a;
class A {
    b() { }
}
(_a = new A) === null || _a === void 0 ? void 0 : _a.b();

Compiler Options
{
  "compilerOptions": {
    "strict": true,
    "noImplicitAny": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": true,
    "strictBindCallApply": true,
    "noImplicitThis": true,
    "noImplicitReturns": true,
    "alwaysStrict": true,
    "esModuleInterop": true,
    "declaration": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "target": "ES2017",
    "jsx": "react",
    "module": "ESNext",
    "moduleResolution": "node"
  }
}

Playground Link: Provided
🙁 Actual behavior
new A?.b() is parsed as if it was new A()?.b()
🙂 Expected behavior
It should be a syntax error, because it's not valid JavaScript syntax.

new A()?.b() is still invalid JS.  What's interesting is that when targeting esnext, the code is emitted as-is (and is a runtime error), but downlevel emit is doing the equivalent of (new A)?.b() instead.

new A()?.b() is valid JS (or at least, it's valid in Node.js and Firefox).

Ah, you're right, I thought I had tried it and gotten an "invalid optional chain" error.  But yeah, really weird because the esnext emit preserves the runtime SyntaxError while the downlevel emit changes the meaning of the code.

@fatcerberus I don't know what you mean. Under esnext it emits new A()?.b(), which is valid. There's no runtime error. Perhaps you can share a playground link?


Parser combinators design patterns versus parsley Haskell <IP_ADDRESS>

I am having trouble implementing recommended parser combinator design patterns using parsley <IP_ADDRESS>  An implementation of a simple Expr function using design pattern for white space and  yields a build error. Can't find a solution in any Parsley documentation.
The code compiles if function comments are removed
Design pattern:
whitespace :: Parser ()
whitespace = void (many (satisfy isSpace))

lexeme :: Parser a -> Parser a
lexeme p = p <* whitespace`

function:
expr :: Parsley.Parser Expr
expr = whitespace *> sum' <* eof
    where
        -- whitespace = skipMany (oneOf " \n")
        -- lexeme p = p <* whitespace
        operator op = lexeme $ string op

        digit =
            QQ (\c -> fromIntegral (ord c - ord '0'))
                <$> oneOf "0123456789"
        number = lexeme $ QQ (Num) <$> somel (QQ (\q r -> 10 * q + r)) (LIFTED 0) digit

        atom = lexeme (char '(') *> sum' <* lexeme (char ')') <|> number
        sum' =
            precHomo
                atom
                [ ops
                    InfixL
                    [ operator "*" $> QQ (Bin Mul)
                    , operator "/" $> QQ (Bin Div)
                    ]
                , ops
                    InfixL
                    [ operator "+" $> QQ (Bin Add)
                    , operator "-" $> QQ (Bin Sub)
                    ]
                ]

Build profile: -w ghc-9.2.7 -O1

src/Parser.hs:61:26: error:
• Couldn't match type ‘(->) Char’ with ‘Defunc’
arising from a use of ‘satisfy’
• In the first argument of ‘many’, namely ‘(satisfy isSpace)’
In the first argument of ‘void’, namely ‘(many (satisfy isSpace))’
In the expression: void (many (satisfy isSpace))
|
61 | whitespace = void (many (satisfy isSpace))
Imports
{-# LANGUAGE CPP #-}
{-# LANGUAGE PackageImports #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE LambdaCase #-}
{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-}
{-# HLINT ignore "Unused LANGUAGE pragma" #-}
{-# HLINT ignore "Redundant bracket" #-}

#define QQ(x) (makeQ (x) [|| (x) ||])

'''

QQ(isSpace)!

As a side note, when I finally get some time to deal with my huge backlog, I do intend to write a proper wiki/tutorial for parsley Haskell. And bring more of the "proper" API in from Scala parsley. We can do a lot better.

Well that worked!   Thanks.
I am currently working with haskell-parsing-benchmarks to try and determine if the claim that flatparse is the fastest haskell parser is true. I suspect that one is comparing apples with oranges. Nonetheless "[when [you] get some time ..." and "write a proper wiki/tutorial for parsley.: That would be great.   This gives me an idea to perhaps   benchmark Scala parsley.


HTTP error 500 laravel

Management System HTTP Error 500:
Description: This page isn’t working localhost (server name) is currently unable to handle this request. HTTP error 500 laravel.

Solution:

Navigate to the Laravel project folder: "covid-19-face-mask-detector/1-backend/1-facemask-backend-laravel"

Run the following commands in CMD/Terminal to update the composer dependencies packages,

Update Composer
 composer update

Install Composer
 composer install


Send Error instances to reject()

Thanks for ic-ajax!
One small problem though. My company is also using a library that catches and reports unhandled RSVP errors, and I kept getting an [object Object] as a message with no other context information. We were able to track it down to ic-ajax sending an object to reject() instead of the recommended Error instance (here and here). This is reasonable because it helps debugging efforts and also because in practice, a lot of tools have come to expect this.
The fix aims to be minimally invasive by still providing jqXHR, textStatus, and errorThrown so existing code doesn't break, while still replacing a generic object with an Error instance.

cc @tchak

@stefanpenner Excellent. Thanks for replying!

@stefanpenner Did this library ever get deprecated? Did we ever move to a fetch polyfill? Just curious how the state of things is in 2017.

 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.


./compile.sh fails with macports

Following the instructions at http://bazel.io/docs/install.html for a Mac using macports, I get:

$ ./compile.sh
cp: /include/archive.h: No such file or directory
cp: /include/archive_entry.h: No such file or directory

This seems to fix the problem:

$ git diff ./compile.sh
diff --git a/compile.sh b/compile.sh
index c4ff9bf..3a9231a 100755
--- a/compile.sh
+++ b/compile.sh
@@ -99,7 +99,8 @@ EOF

       elif [[ -e $macports_header ]]; then
         # For use with Macports.
-        archive_dir=$(dirname $(dirname $macports_header)) rm -f fromhost/*.[ah]
+        archive_dir=$(dirname $(dirname $macports_header))
+        rm -f fromhost/*.[ah]
         touch fromhost/empty.c
         cp "${archive_dir}"/include/{archive.h,archive_entry.h} fromhost/
         cp "${archive_dir}"/lib/{libarchive,liblzo2,liblzma,libcharset,libbz2,libxml2,libz,libiconv}.a \

Nice catch. Can you submit your patch with a github pull request?

OK, I sent a pull request.  I haven't done that before, so let me know if anything is fishy.

https://github.com/google/bazel/commit/e93638335955ff8d7e948f2d385319e458ee0ca4


Update OLM api to 0.23 and controller-runtime to 0.17.5

Background / Context

Issue / Requirement / Reason for change

Solution / Feature Overview

Implementation Details

Other Information

Replaces #538

/retest

/lgtm

/approve


Remove use of ref keyword

This one smells like code churn, raising as draft for comments.
We currently use ref a lot. This patch falls victim to 'if you only have a hammer everything looks like a nail' - I did a search and replace  s/ref //g on every source file then fixed the build errors. This almost certainly means I removed 'good' uses of ref.
An example of a code improvement is:
Before this patch is applied we had:
    pub fn into_pre_taproot_desc(self) -> Result<pretaproot::PreTaprootDescriptor<Pk>, Self> {
        match *self {
            Descriptor::Bare(ref bare) => Ok(pretaproot::PreTaprootDescriptor::Bare(bare)),
            Descriptor::Pkh(ref pkh) => Ok(pretaproot::PreTaprootDescriptor::Pkh(pkh)),
            Descriptor::Wpkh(ref wpkh) => Ok(pretaproot::PreTaprootDescriptor::Wpkh(wpkh)),
            Descriptor::Sh(ref sh) => Ok(pretaproot::PreTaprootDescriptor::Sh(sh)),
            Descriptor::Wsh(ref wsh) => Ok(pretaproot::PreTaprootDescriptor::Wsh(wsh)),
            Descriptor::Tr(ref tr) => Err(Descriptor::Tr(tr)),
        }
    }

All these refs are not required if we remove the dereference from self.
A not so good result of this patch is having to write *k in a bunch of places instead of k.
Please note patch includes such things as:
	WshInner::Ms(_ms) => DescriptorType::Wsh,

The _ms could become _, will do if this work is deemed valuable.

Ok, concept ACK. Auto-refing is one of the many "helpful" things the Rust compiler does that I believe actually make things more complicated, so in rebellion I have been manually accounting for levels of indirection and using the appropriate keywords.
Because there is no mach

As you might have understood from the initial description I was a bit hesitant about putting this one up.

I believe actually make things more complicated

If you feel like it can you explain this position more please? Some of the changes remove a ref only to add a & which seems to be solely subjective. I'm interested in understanding the position for using ref.
I think there are multiple types of uses of ref changed in this PR but since I don't fully understand the argument for ref I might be missing some subtlety.
Cheers

ref and & do the opposite thing. The fact that you can interchange them is because Rust implicitly references and de-references variables to make things typecheck. This is confusing because it doesn't work 100% of the time and when it does work it's a subtle form of weak typing, which undermines the programmer's model of the code.

Non-urgent discussion, I'd like to fully understand you position.

which undermines the programmer's model of the code

Do you mean that not knowing explicitly whether we are dealing with a concrete type or a reference, in general, undermines the programmers model of the code?
Or maybe, are you describing the fact that, coming from C where one knows exactly what a pointer is (an integer representing a memory location) to Rust where it (at least to me at the moment) means 'something the borrow checker uses to determine ownership', undermines the programmers model?
Up until now I thought that the use of ref vs & was just stylistic.

Do you mean that not knowing explicitly whether we are dealing with a concrete type or a reference, in general, undermines the programmers model of the code?

Yep, this is what I mean.
I'm slowly coming around to the Rust point of view that it doesn't really matter (especially as my model of pointers gets increasingly abstract and un-C-like, thanks to Ralf Jung's terrifying blog posts...) except maybe-sometimes for performance. But initially it made me very uncomfortable that I could be wrong about the amount of indirection in a variable and the compiler would just hide this from me.

Specifically, both pointer-integer and integer-pointer casts have to be treated as impure operations, but for different reasons. Pointer-integer casts have a side-effect as we have seen. Integer-pointer casts are non-deterministic – they can produce different results even for identical inputs.

Ouch! Thanks for the link, it opened my eyes to a new thing :)

Non-urgent Rustlang discussion for giggles.
I had a play around to see if, in my subjective opinion, I could notice my mental model changing by different formats. The only thing that changed was I got much more aware of exactly what is going on - so win. I can't say that one format is better/clearer though so I lean towards using the most terse one (as I always do in such instances). The functions what_X represent code we have a lot of and that led me to thinking about this. Whats your thoughts?
//! Example of references in pattern matching.
#![allow(dead_code)]

#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
enum Kind {
    A(V),
    B(V),
}

#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
struct V {
    x: u32,
}

impl V {
    fn to_u32(&self) -> u32 {
        self.x
    }

    fn borrow_self(&self) {
        // Do nothing.
    }

    fn consume_self(self) {
        // Do nothing.
    }
}

impl Kind {
    fn what_0(self) {
        match self {
            Kind::A(ref x) => x.borrow_self(), // Must explicitly borrow.
            Kind::B(ref x) => x.borrow_self(),
        }
        // Can borrow by matching with &self instead of self
        match &self {
            Kind::A(x) => x.borrow_self(),
            Kind::B(x) => x.borrow_self(),
        }
        println!("accessing kind again: {:?}", self);
    }

    fn what_1(&self) -> u32 {
        match *self {
            Kind::A(ref x) => x.to_u32(),
            Kind::B(ref x) => x.to_u32(),
        }
    }

    fn what_2(&self) -> u32 {
        match self {
            &Kind::A(ref x) => x.to_u32(),
            &Kind::B(ref x) => x.to_u32(),
        }
    }

    // This is the most terse version. Is it in anyway less clear?
    fn what_3(&self) -> u32 {
        match self {
            Kind::A(ref x) => x.to_u32(),
            Kind::B(ref x) => x.to_u32(),
        }
    }

    fn what_4(&self) {
        match self {
            Kind::A(x) => x.borrow_self(),
            Kind::B(x) => x.consume_self(), // Does not compile, cannot move out of &self
        }
    }
}

fn main() {
    let k = Kind::A(V { x: 42 });
    println!("what kind: {}", k.what_1());
    println!("accessing kind again: {:?}", k);
}

The second half of what_0 desugars into what_2 which is the most explicit one. what_3 is a little bit surprising because it implicitly derefs self, and I'd prefer what_1.

Cool, thanks for taking the time to look at this.


Type Inference Panics for rule with negation and variable assignment

The following programs leads to a panic in type inference:
a(1) :- ~b(?X), ?X = 1.

thread 'main' panicked at nemo/src/program_analysis/type_inference/position_graph.rs:157:22:
The loop at the top went through all head atoms
stack backtrace:
   0: rust_begin_unwind
             at /rustc/4cb3beec86178baff601529389306a4949b077ce/library/std/src/panicking.rs:645:5
   1: core::panicking::panic_fmt
             at /rustc/4cb3beec86178baff601529389306a4949b077ce/library/core/src/panicking.rs:72:14
   2: core::panicking::panic_display
             at /rustc/4cb3beec86178baff601529389306a4949b077ce/library/core/src/panicking.rs:177:5
   3: core::panicking::panic_str
             at /rustc/4cb3beec86178baff601529389306a4949b077ce/library/core/src/panicking.rs:152:5
   4: core::option::expect_failed
             at /rustc/4cb3beec86178baff601529389306a4949b077ce/library/core/src/option.rs:1980:5
   5: core::option::Option<T>::expect
             at /rustc/4cb3beec86178baff601529389306a4949b077ce/library/core/src/option.rs:894:21
   6: nemo::program_analysis::type_inference::position_graph::<impl nemo::util::labeled_graph::LabeledGraph<nemo::program_analysis::type_inference::position_graph::PredicatePosition,nemo::program_analysis::type_inference::position_graph::PositionGraphEdge,petgraph::Directed>>::from_rules
             at ./nemo/src/program_analysis/type_inference/position_graph.rs:155:38
   7: nemo::program_analysis::type_inference::infer_types
             at ./nemo/src/program_analysis/type_inference.rs:50:26
   8: nemo::program_analysis::analysis::<impl nemo::model::chase_model::program::ChaseProgram>::analyze
             at ./nemo/src/program_analysis/analysis.rs:392:49
   9: nemo::execution::execution_engine::ExecutionEngine<Strategy>::initialize
             at ./nemo/src/execution/execution_engine.rs:93:24
  10: nmo::run
             at ./nemo-cli/src/main.rs:138:46
  11: nmo::main
             at ./nemo-cli/src/main.rs:241:5
  12: core::ops::function::FnOnce::call_once
             at /rustc/4cb3beec86178baff601529389306a4949b077ce/library/core/src/ops/function.rs:250:5

Should probably wait for #430 to be merged.


migration example or test?

Actual question: when does a migration run exactly?
say I have this file:
const openrecord = require('openrecord/store/sqlite3');

const db = new openrecord({
  type: 'sqlite3',
  file: './database/test.sqlite',
  migrations: [
    require('./migrations/migration20181002.js')
  ]
});

db.ready(async () => {
  // todo
})

where test.sqlite is created already but as an empty database.
Basically, I am using migration feature as a database setup tool, is it supported?

PS: I can run raw sql with https://github.com/mapbox/node-sqlite3 and it indeed creates the right tables, but I would like to use openrecord's model as it's less prone to sql mistakes.

Hi,
migrations will run before the db.ready(callback) callback will be called.
So on every start openrecord will check if what migrations are new and executes them. After executing the migrations, it will load your schema and populate your models with attributes. Then the ready callback will be called.

@PhilWaldmann thx for the quick reply!
But I am facing a problem where migration isn't ran, my migration file is something like this:
module.export = function migration20181002 () {
  this.createTable('shots', function () {
    this.string('hash', { unique: true });
    this.string('text');
    this.string('text_romanized');
    this.integer('user_id');
    this.datetime('created');
    this.datetime('updated');
    this.integer('up_votes');
    this.integer('down_votes');
  });
  // and more
}

I also know db.ready is called on my script exit, so by all means migration should have been ran, but it isn't (since the sqlite file remain empty, it's unclear to me how openrecord remembers that a migration has been ran before)
======
To verify sqlite does work, I have this snippet, where I can verify empty table are created properly. I am https://github.com/sqlitebrowser/sqlitebrowser to view the result.
const sqlite3 = require('sqlite3');

const db = new sqlite3.Database('./database/test.sqlite');

db.serialize(function () {
  db.run("CREATE TABLE lorem (info TEXT)");
});

spend much time testing and realize it should be module.exports instead of module.export.


Auto reconnect

Trigger an automatic reconnection attempt whenever a relay disconnects. By default, this functionality is off. Activate it using autoReconnect like this:
<NostrProvider relayUrls={relayUrls} debug={true} autoReconnect={true} >
  <App />
</NostrProvider>

I'm wondering whether I should move the logic for triggering the reconnection attempt to OnDisconnectFunc. Let me know if that would make more sense. We might want to make the logic more complex, e.g. stop attempting after N failed attempts. See this issue for my longer discussion.

This is great, thanks for the PR! 🙌
We probably want to have a default max number of retries to prevent infinite loops too.
One thing I'm not sure about is whether onDisconnect should be called every time a disconnect happens (even if it successfully reconnects shortly after), or if it should only be called once the max retries have failed (so that the client can show an error message).
I think I'm leaning towards the latter, what are your thoughts?

Are you wondering when to call onDisconnectCallback within the relay.on("disconnect", () => { block? That calls OnDisconnectFunc . Perhaps we could call OnDisconnectFunc  after each individual disconnect (as it does now) but make a new function called something like OnMaxDisconnectsFunc after the max retries have been reached?

We could include a parameter like this:
<NostrProvider relayUrls={relayUrls} debug={true} autoReconnect={true} reconnectAttemptLimit={reconnectAttemptLimit} >
  <App />
</NostrProvider>

btw we will need a way to keep track of disconnects and other relay stats, along the lines of this.

I'm closing this pull request, as I find that onDisconnectCallback as described by @aussedatlo here solves the issue of auto reconnect, and has the added benefit that it will be straightforward for relay-specific stats like number of disconnects to be managed completely by the client without relying on nostr-react to do it.


[VL] Simplify ExecutionCtx + Handle JNI code pattern

A clean-up to JNI code by pulling up a common pattern ExecutionCtx + Handle.

Closing, temporarily

cc @Yohahaha

/Benchmark Velox

/Benchmark Velox

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_3239_time.csv
log/native_master_09_21_2023_627362b78_time.csv
difference
percentage

q1
41.97
43.65
1.680
104.00%

q2
24.35
24.60
0.249
101.02%

q3
37.46
37.97
0.512
101.37%

q4
41.93
41.95
0.024
100.06%

q5
69.13
70.54
1.416
102.05%

q6
6.69
6.99
0.294
104.40%

q7
84.42
84.94
0.519
100.61%

q8
80.68
81.29
0.614
100.76%

q9
117.63
116.44
-1.194
98.98%

q10
48.06
49.32
1.254
102.61%

q11
19.75
18.88
-0.873
95.58%

q12
24.73
23.74
-0.989
96.00%

q13
51.34
50.12
-1.220
97.62%

q14
14.23
19.11
4.883
134.31%

q15
27.41
29.95
2.546
109.29%

q16
16.20
16.19
-0.010
99.94%

q17
120.19
119.58
-0.608
99.49%

q18
162.52
161.46
-1.061
99.35%

q19
12.07
12.14
0.072
100.60%

q20
25.64
27.38
1.738
106.78%

q21
239.97
236.12
-3.845
98.40%

q22
15.92
15.35
-0.575
96.39%

total
1282.30
1287.72
5.425
100.42%

Thanks!
Overall goods, only one thoughts:
  public static JniWrapper create(ExecutionCtx ctx) {
    return new JniWrapper(ExecutionCtxs.contextInstance);
  }

  public static JniWrapper create(ExecutionCtx ctx) {
    return new JniWrapper(ctx);
  }

First is good enough for user, but I prefer second one, it more like a develop API which bring more flexibility for developer who wants implement their own feature.

Thanks!
Overall looks goods, only one thoughts:
  public static JniWrapper create(ExecutionCtx ctx) {
    return new JniWrapper(ExecutionCtxs.contextInstance);
  }

  public static JniWrapper create(ExecutionCtx ctx) {
    return new JniWrapper(ctx);
  }

First is good enough for user, but I prefer second one, it more like a develop API which bring more flexibility for developer who wants implement their own feature.

I added both create() and forCtx(ctx). Was that same with what you suggested?

Besides, developer can add forCtx(ctx) API to more JNI wrappers once needed.

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_3239_time.csv
log/native_master_09_24_2023_e7152a05a_time.csv
difference
percentage

q1
44.54
43.08
-1.454
96.74%

q2
25.20
24.37
-0.835
96.69%

q3
38.36
36.77
-1.585
95.87%

q4
39.62
41.00
1.383
103.49%

q5
68.44
70.15
1.716
102.51%

q6
6.61
5.11
-1.505
77.24%

q7
83.44
86.15
2.707
103.24%

q8
78.90
78.81
-0.091
99.88%

q9
117.36
115.81
-1.551
98.68%

q10
45.33
46.15
0.820
101.81%

q11
18.99
19.57
0.579
103.05%

q12
26.22
25.39
-0.831
96.83%

q13
50.55
50.31
-0.240
99.53%

q14
15.78
19.95
4.164
126.38%

q15
25.71
30.64
4.933
119.19%

q16
15.33
16.03
0.695
104.53%

q17
121.77
120.09
-1.686
98.62%

q18
161.01
164.22
3.212
102.00%

q19
11.17
12.51
1.339
111.98%

q20
22.91
30.33
7.417
132.37%

q21
235.55
238.20
2.656
101.13%

q22
15.32
15.33
0.010
100.06%

total
1268.13
1289.98
21.856
101.72%

A clean-up to JNI code by pulling up a common pattern ExecutionCtx + Handle.
Hi, I am a Gluten newbie. I have a simple question, hope you can help me.

I can see that the ExecutionCtxAware interface is implemented in many JNI classes, but its handle method is not called in the Gluten project. Can this interface be deleted from JNI, such as ColumnarBatchJniWrapper?
What is the purpose of this interface? Will the handle method be called?


IndexError: tuple index out of range

I'm trying to setup some custom templates but I seem to be running into some errors. This is the template I'm using:
local theme = {}

-- Default settings
theme.font = "12px scientifica"
theme.fg   = "{foreground}"
theme.bg   = "{background}"

-- Genaral colours
theme.success_fg = "{foreground}"
theme.loaded_fg  = "{background}"
theme.error_fg = "{foreground}"
theme.error_bg = "{background}"

-- Warning colours
theme.warning_fg = "{color1}"
theme.warning_bg = "{foreground}"

-- Notification colours
theme.notif_fg = "{color8}"
theme.notif_bg = "{foreground}"

-- Menu colours
theme.menu_fg                   = "{color0}"
theme.menu_bg                   = "{foreground}"
theme.menu_selected_fg          = "{foreground}"
theme.menu_selected_bg          = "{color11}"
theme.menu_title_bg             = "{foreground}"
theme.menu_primary_title_fg     = "{color9}"
theme.menu_secondary_title_fg   = "{color7}"

theme.menu_disabled_fg = "{color15}"
theme.menu_disabled_bg = theme.menu_bg
theme.menu_enabled_fg = theme.menu_fg
theme.menu_enabled_bg = theme.menu_bg
theme.menu_active_fg = "{color2}"
theme.menu_active_bg = theme.menu_bg

-- Proxy manager
theme.proxy_active_menu_fg      = '{background}'
theme.proxy_active_menu_bg      = '{foreground}'
theme.proxy_inactive_menu_fg    = '{color7}'
theme.proxy_inactive_menu_bg    = '{foreground}'

-- Statusbar specific
theme.sbar_fg         = "{foreground}"
theme.sbar_bg         = "{background}"

-- Downloadbar specific
theme.dbar_fg         = "{foreground}"
theme.dbar_bg         = "{background}"
theme.dbar_error_fg   = "{color9}"

-- Input bar specific
theme.ibar_fg           = "{background}"
theme.ibar_bg           = "{foreground}"

-- Tab label
theme.tab_fg            = "{foreground}"
theme.tab_bg            = "{background}"
theme.tab_hover_bg      = "{color8}"
theme.tab_ntheme        = "{foreground}"
theme.selected_fg       = "{color7}"
theme.selected_bg       = "{color0}"
theme.selected_ntheme   = "{color15}"
theme.loading_fg        = "{color12}"
theme.loading_bg        = "{background}"

theme.selected_private_tab_bg = "{color4}"
theme.private_tab_bg    = "{color5}"

-- Trusted/untrusted ssl colours
theme.trust_fg          = "{color10}"
theme.notrust_fg        = "{color9}"

-- General colour pairings
theme.ok = { fg = "{foreground}", bg = "{background}" }
theme.warn = { fg = "{color0}", bg = "{foreground}" }
theme.error = { fg = "{foreground}", bg = "{color9}" }

return theme

-- vim: et:sw=4:ts=8:sts=4:tw=80

and the error I get when I run wal is:
Traceback (most recent call last):
  File "/usr/bin/wal", line 11, in <module>
    load_entry_point('pywal==2.0.5', 'console_scripts', 'wal')()
  File "/usr/lib/python3.6/site-packages/pywal/__main__.py", line 188, in main
    parse_args(parser)
  File "/usr/lib/python3.6/site-packages/pywal/__main__.py", line 169, in parse_args
    export.every(colors_plain)
  File "/usr/lib/python3.6/site-packages/pywal/export.py", line 63, in every
    template(colors, file.path, join(output_dir, file.name))
  File "/usr/lib/python3.6/site-packages/pywal/export.py", line 15, in template
    template_data = "".join(template_data).format(**colors)
IndexError: tuple index out of range

You need to escape unrelated braces. You can escape them by doubling them.
Example:
theme.ok = {{ fg = "{foreground}", bg = "{background}" }}

Ahhh. Thanks!


Filenames improvement and cookie fix

added support for explicit filenames
use ";" as cookie separator for multiple values

Thanks! Do you think you could add this to the docs?


fixes with overlapping source edits create un-analyzable results

Some fixes (such as unnecessary_new and prefer_collection_literals) might have overlapping source edits which when applied produce mangled source.

I believe that this has now been fixed, so I'm going to close this issue. If we see cases where that isn't true then we should open new issues for the specific cases.

Yes.  Thanks!


Something went wrong! System.BadImageFormatException

Hey man sorry to borther wondering if you could help me out. I'm getting an error which I braindead cant resolve.

and thats how my folder looks like should be alright i think:
obfuscatingTest
├──WinFormsApp1.exe
├──WinFormsApp1.pdb
├──WinFormsApp1.runtimeconfig.json
├───libs
    ├─Newtonsoft.Json.dll
    ├─sni.dll
    ├─and 34 more

My project is in net8.0-windows and i use: BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
I would really appreciate some help.

Hey.
Your file is compiled in a way which cannot be protected (native compilation), it's a feature from latest dotnet versions, idk if its can be disabled, however, as I know there should be a dll file with the same name as your exe file, which has c# code, that can be read and protected, if there's no such file it means you need to search how to disable that native protection, or able to create the dll file with code.

Hey,
Nice to hear that. It makes sense to add that info somewhere, even in BitMono when that kind of error occurs.

Hey,
The latest release now includes information about how to deal with ReadyToRun apps.
For now, closing it, if you still need help let me know, and I'll reopen this.


ensure digest input is bytes

coverage: 75.275% (+0.03%) from 75.243% when pulling cd1046535979d713265ff1d59544863601fec051 on jmcrawford45:PS-5386-encode into 9eaa02bd35ff8fc40f21ec65ca19aeba785e7852 on Netflix:main.


sched: replace some global variables to macro

Summary
sched: replace some global variables to macro
replace to macro will help to extend the scheduling implementation
Signed-off-by: chao an<EMAIL_ADDRESS>Impact
N/A
Testing
ci-check

@anchao
I noticed that some tools still use g_pidhash directly.
./tools/jlink-nuttx.c:175:  {"g_pidhash",            0, 0},
./tools/gdb/thread.py:73:         Nxsetregs g_pidhash[0].tcb->xcp.regs
./tools/gdb/thread.py:147:        pidhash = gdb.parse_and_eval("g_pidhash")
./tools/gdb/thread.py:213:        pidhash = gdb.parse_and_eval("g_pidhash")
./tools/gdb/thread.py:234:                    gdb.execute("nxsetregs g_pidhash[%d]->xcp.regs" % i)
./tools/gdb/thread.py:268:                        gdb.execute("nxsetregs g_pidhash[%d]->xcp.regs" % i)
./tools/gdb/thread.py:274:                gdb.execute("nxsetregs g_pidhash[%s]->xcp.regs" % arg[0])
./tools/esp32/backtrace.gdbscript:113:    set $_tcb = g_pidhash[$_pid]

@anchao I noticed that some tools still use g_pidhash directly.

@masayuki2009  Thank you for your review. The missing parts are all definitions in the debugging script. This PR just replace  global variables to macro, so it will not affect the use in the script.


Spec for Ecto.Adapters.SQL.query incorrect for postgrex

Environment

Elixir version (elixir -v):  1.4.4
Database and version (PostgreSQL 9.4, MongoDB 3.2, etc.):  PostgreSQL 9.6.1
Ecto version (mix deps): 2.1.4
Database adapter and version (mix deps): postgrex 0.13.2
Operating system: mac OS

Current behavior
The spec is:
query(Ecto.Repo.t, String.t, [term], Keyword.t) ::
  {:ok, %{rows: nil | [tuple], num_rows: non_neg_integer}} |
  {:error, Exception.t}

However, postgrex queries return a Postgrex.Result struct, e.g.,
{:ok,
 %Postgrex.Result{columns: ["max"], command: :select, connection_id: 72712,
  num_rows: 1, rows: [["20170516150906"]]}}

Notably, the rows value is a list of lists rather than a list of tuples.  This causes dialyzer to fail any match on the returned rows.
Expected behavior
Without digging, I'm not sure if just the spec needs to be relaxed (rows: nil | [term] would work, I think) or if the code needs to be modified to convert the result to a list of tuples.   If the former, I would be glad to submit a PR.
I have the postgrex version overridden to 0.13.2 b/c I need features in the newer version.  The ecto mix.exs wants 0.13.0.  I checked the docs for 0.13.0, 0.13.2, and 0.13.3, and they all say that they return a list for rows.

It should be a list of lists. The contract changed for 2.0 or 2.1 (i can't recall). PR please?

Sure thing, I'll do it ASAP.

What about the error? When there is an error in database (i.e., invalid constraint, undefined function, etc...), it returns a %Postgrex.Error{} and not an Exception.

Exception.t is any struct representing an exception that can be raised - https://hexdocs.pm/elixir/Exception.html#t:t/0