[Scala 3] Scalameta fails to parse valid ‘if … then’ statement that has a newline immediately following the if

These two (admittedly rather strangely formatted) code examples compile with Scala 3.0.0:
val x = Some(10)

def f =
   if
         x.exists(x => x == 10) then
      println("Yes")
   else
      println("No")

val x = Some(10)

def f =
   if
      x.exists
         (x => x == 10) then
      println("Yes")
   else
      println("No")

However, for both of them, Scalameta chokes on the then. Running Scalafmt 3.0.0-RC5 on the first example above gives:
sbt:test> scalafmt
[info] Formatting 1 Scala sources...
[error] C:\Git\BugReport\src\main\scala\Main.scala:5: error: ; expected but then found
[error]          x.exists(x => x == 10) then
[error]                                 ^: C:\Git\BugReport\src\main\scala\Main.scala
[error] (Compile / scalafmt) C:\Git\BugReport\src\main\scala\Main.scala:5: error: ; expected but then found
[error]          x.exists(x => x == 10) then
[error]                                 ^: C:\Git\BugReport\src\main\scala\Main.scala
[error] Total time: 0 s, completed 09-Jun-2021 00:42:34

Interestingly, Scalameta is fine with this valid Scala 3 code:
val x = Some(10)

def f =
   if
      x.exists
         (x => x == 10)
   then
      println("Yes")
   else
      println("No")

I noticed this issue while trying to characterize this Scala 3 issue.

Thanks for reporting! This is due to the fact that we treat the statement after if as an indented block, which cannot contain a standalone then. Not sure how to fix that currently, since I thought that is the expected behaviour :thinking:

@tgodzik Ah :-)
This issue is not a problem for me, since I don’t actually have any code that looks like this. Perhaps the Scala 3 folks will take a look at my issue and tweak the compiler to be more in line with your expectations …

Thanks for reporting! This is due to the fact that we treat the statement after if as an indented block, which cannot contain a standalone then. Not sure how to fix that currently, since I thought that is the expected behaviour 🤔

i thought indent is happening after then, and between if and then anything is ok...

According to https://dotty.epfl.ch/docs/reference/other-new-features/indentation.html#optional-braces
indent can happen after if

hmm... does that mean we can do this:
if
  val a = b + c
  val d = foo match {
    case ...
  }
  a < d then

hmm... does that mean we can do this:
if
  val a = b + c
  val d = foo match {
    case ...
  }
  a < d then

I don't think so, you need to have the then keyword in a newline to end indentation. I think in case of Dotty it's ok if it's a single statement.

i am not sure scalafmt actually expects significant indentation straight after if. probably just ), then and else. @tgodzik do we need to fix that? would need examples of what's allowed...

I think that if<indent><outdent> is basically the same as having if({}). I check if it should be fixed in Scalfmt.

@kitbellew Created a PR for if https://github.com/scalameta/scalafmt/pull/2594
It seemed to work mostly before, but just in case I think it's better to handle it similar to else and then.
I will look into while tomorrow, but should probably be the same.


Cannot remove some style properties from an element

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
It's actually not possible to remove some style properties from an element
If the current behavior is a bug, please provide the steps to reproduce and either a repl.it demo through https://repl.it/languages/jest or a minimal repository on GitHub that we can yarn install and yarn test.
describe('style', () => {
    it('should update element styles', () => {
        // COLOR SET OK
        document.body.style.color = 'red';
        expect(document.body.style.color).toBe('red');

        // COLOR REMOVED OK
        document.body.style.color = null;
        expect(document.body.style.color).toBe('');

        // PADDING-RIGHT SET OK
        document.body.style.paddingRight = '20px';
        expect(document.body.style.paddingRight).toBe('20px');

        // PADDING-RIGHT REMOVED NOT OK, still returning '20px'
        document.body.style.paddingRight = null;
        expect(document.body.style.paddingRight).toBe('');
    })
});

What is the expected behavior?
The css style property should be empty
Please provide your exact Jest configuration and mention your Jest, node, yarn/npm version and operating system.
jest: 21.2.1
jsdom: 11.2.0
node: 8.9.0
yarn: 1.2.1
os: macos high sierra 10.13.1

Unfortunately this did not follow the jsdom issue template, so let me close this. If you can create a new issue following the issue template, notably not using any third party libraries and using the actual jsdom API instead of assuming there's a document global, we can investigate.


Update package version

3.2.1-alpha.5 (2023-11-22)
Bug Fixes

audio-react: update player style (20ad1e1)
video-annotator-react: video annotator change current annotating label not the selected one (7ca1450)

:tada: This PR is included in version 3.2.1-online.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.2.1-alpha.6 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


MINOR; Use underscore for variable initialization in KafkaServer

In Scala its standard practice to use _ whenever you are initializing
variables. In regard to implementation, for object references
_ initialization maps to null so there is no change in behaviour.
This PR is the equivalent of https://github.com/apache/kafka/pull/12471 but for KafkaServer

@mimaison Since you reviewed https://github.com/apache/kafka/pull/12471 can you have a look at this PR (once the CI is happy of course)?

Thanks for the PR!
I did a quick search and it looks like there are 200+ such instances across 40+ files. If you want to address them all, maybe let's group them in 1 or 2 PRs.

Sure thing will do.

@mimaison PR has been updated as you wanted.


backport 1.16: http: reinstating prior connect timeout behavior

Signed-off-by: alyssawilk<EMAIL_ADDRESS>
For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]

please clone release notes from the original PR and ping when you're ready for merge!

@alyssawilk ready to merge


vendor: update ACH to v0.5.0

Issue: https://github.com/moov-io/api/issues/46

That coverage diff seems wrong. I'll email them about it.


New rule suggestion: no-definitely-assigned-constructor-access

Rule Suggestion
Is your rule for a general problem or is it specific to your development style?
This rule would be useful for anyone working with frameworks like AngularJS, which assign additional properties to objects after the constructor() is called.
What does your suggested rule do?
In combination with --strictPropertyInitalization, it would be nice to be able to enable a rule which emits warnings whenever a property which is asserted to be definitely assigned is accessed in a constructor. A common pattern for AngularJS code is to write something like this.
interface Bindings {
  someBinding: Foo
}

class Component implements Bindings {
  someBinding!: Foo

  constructor() {
    /* this.someBinding isn't ready yet here in Angular 1.6+ */
    this.someBinding // Emit an error here
  }

  $onInit(): void {
    /* this.someBinding can be used here, or in $onChanges. */
    this.someBinding // This is fine
  }
}

The same logic is applicable to any library which assigns additional attributes to objects after they have been constructed.
Let me know what you think. Maybe someone could come up with a better rule name.

@w0rp interesting idea, but it seems like it would be difficult to get right. Let's nail down in more detail how it could work and what the edge cases are. It could be that this kind of hard logic would be better suited for tslint-microsoft-contrib.

Note: per #4534, this issue will be closed in less than a month if no PR is sent to add the rule. If you really need the rule, custom rules are always an option and can be maintained outside this repo!

Sure. I think this doesn't matter for TSLint now work is moving over to the ESLint plugin. I'll close this now.


Enable "Allow 'unsafe' code" in Player Settings with custom MediaPlayer

When creating my own MediaPlayer for rendering the Video stream on UI instead of in a Renderer Unity makes me enable "Allow 'unsafe' code" in Player Settings because the script is using the unsafe statement.
Instead, when I use the MediaPlayer provided with the example it is not necessary to enable this option on Player Settings.
Are you using any external or additional file on Assets folder for avoiding this error with your MediaPlayer.cs script? Why I need to enable it when using it on my script but not when using yours?
Thanks

The Microsoft.MixedReality.WebRTC.Unity assembly has "Allow unsafe" set:
https://github.com/microsoft/MixedReality-WebRTC/blob/de1db215f390524d5d8fd576b274c74fdcc362e2/libs/Microsoft.MixedReality.WebRTC.Unity/Assets/Microsoft.MixedReality.WebRTC.Unity/Microsoft.MixedReality.WebRTC.Unity.asmdef#L7
When you use that assembly, your own assembly consumes it as a dependency, so no need for yours to also have that option (unless your code also uses unsafe). However when you write your own variant of MediaPlayer, the unsafe now appears in your own assembly, which now needs that option. This is pretty standard C# rules as far as I know (I am not a C# expert, maybe I am missing something here?).

@pablomarcos did that answer your question? Can we close this issue?

Absolutely! Sorry, I forgot to answer you. Thanks a lot!
On mié, sept 25, 2019 a las 07:47, Jerome Humbert<EMAIL_ADDRESS>escribió:

@pablomarcos did that answer your question? Can we close this issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Made the redis client dependencies optional

I've made the redis dependencies optional, fallowing issue: https://github.com/spring-projects/spring-security-oauth/issues/561

Merged thanks (c6ae35d)


I created a Cvat account but I did not receive the verification email

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Steps to Reproduce
No response
Expected Behavior
No response
Possible Solution
No response
Context
I can see that people hade had this issue but no solution i can do
// Adam
Environment
No response

Email?

<EMAIL_ADDRESS>

You may login now

You may login now

hi, I try to invite someone to join my organization, and the upper-right corner of the WEB says that the email has been sent SUCCESSFULLY, but the other party has not received it. Why is this?

Best wishes for YOU.


Upgrade okhttp/jetty to latest

Shouldn't that jetty version be in the deps list?  Odd that bumping it isn't reflected in the file

Jetty was shaded in SPARK-3996

thanks for updating the manifest


Fixes issue #2

Issue 2 Fix if you want it.

Rule #1, but thanks I'll merge it anyways. https://github.com/APIADay/Rules-About


Fix bbox fixture in the notes api

Change bbox input to -13,46,32,50, for a nicer fixture.

Fixed in https://github.com/mapbox/osm-comments-api/commit/2889d0d109a77eaac548a82e5bab91a7d9e22313


Error Building for ARM

cross build --target arm-unknown-linux-gnueabihf --release in a project using your library produces the following output.
error: failed to run custom build command for `x11rb v0.4.1`

Caused by:
  process didn't exit successfully: `/target/release/build/x11rb-b1c49fc1ef8ff99d/build-script-build` (exit code: 101)
--- stdout
cargo:rerun-if-changed=rs_code_generator.py
cargo:rerun-if-changed=code_generator_helpers/special_cases.py
cargo:rerun-if-changed=code_generator_helpers/__init__.py
cargo:rerun-if-changed=code_generator_helpers/request.py
cargo:rerun-if-changed=code_generator_helpers/module.py
cargo:rerun-if-changed=code_generator_helpers/output.py
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/xcbgen/error.py
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/xcbgen/xtypes.py
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/xcbgen/state.py
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/xcbgen/align.py
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/xcbgen/expr.py
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/xcbgen/__init__.py
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/xcbgen/matcher.py
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/randr.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xv.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xproto.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xtest.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xf86vidmode.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/dri3.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xkb.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/record.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xf86dri.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/res.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/composite.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xc_misc.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/dpms.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/present.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xvmc.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xinput.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/sync.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/shm.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/bigreq.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xprint.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/ge.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/damage.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/dri2.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/glx.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/shape.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xfixes.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xinerama.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xevie.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/render.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/xselinux.xml
cargo:rerun-if-changed=xcbproto-1.13-6-ge79f6b0/src/screensaver.xml

--- stderr
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /cargo/registry/src/github.com-1ecc6299db9ec823/x11rb-0.4.1/build.rs:61:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

build.rs:61:18 is the call to the python code generator. And apparently there is no error message from it. Uhm... do you have python on that system? If starting python fails, that would explain the NotFound error.
If this really is a missing Python installation, then we should improve that error message, somehow.
Alternatively, could you run the following commands in the directory ~/.cargo/registry/src/github.com-*/x11rb-0.4.1 and check how it fails?
mkdir /tmp/output-for-x11rb
python rs_code_generator.py -p xcbproto-1.13-6-ge79f6b0 -i xcbproto-1.13-6-ge79f6b0/src -o /tmp/output-for-x11rb mod

I'm pretty confident it's not a lack of python. Both python and python3 work.
That works absolutely fine!
I guess the issue is I'm running it with cross which may not have python installed in its build image. I'll do a little more digging.

Oh, by the way: If you can, you could try building the git version. Instead of running the code generator at build time, the generated code is now part of the git repo. That could make your debug-build.rs work unnecessary.

@arranf Could you please try the recently-released 0.5 version? This new version does not have a build.rs script.


logs from the module mess up the root logger

A better way to log messages would be log in a specific log for more control. This would allow the log to be disabled by upstream code using this module. For instance, this change would be modify line15 of mcp2210.py to:
logger = logging.getLogger(name)

Thank you for this. I have just pushed 1.0.7 to pypi with your fix included.

Thanks!
On Thu, Aug 15, 2024, 10:20 PM Jeremy Herbert @.***>
wrote:

Thank you for this. I have just pushed 1.0.7 to pypi with your fix
included.
—
Reply to this email directly, view it on GitHub
https://github.com/jeremyherbert/mcp2210-python/issues/12#issuecomment-2292612844,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACP2XUPHIPZZ756A4PU3WX3ZRVOW7AVCNFSM6AAAAABMPA73JSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJSGYYTEOBUGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


Consider renaming to Terminal::Readsecret

Because term has a specific definition within the Perl 6 language itself, myself and others decided to use the Terminal namespace for terminal-related modules in the ecosystem.
It is a stylistic choice, to be sure. But I wanted to raise the question.

Thanks for good pointer.
I'll change the location of this repository.

I have changed completely :)

Great! Thanks titsuki!


Nginx is loading endlessly

Hi,
thank you for that awesome work you're doing!
I've built a docker image with my own Flow project and everything seems to be fine. Database migrations run through, nginx is running (log output) but if I try to open the page which is running under passcreator.local:8080 in my case, it's loading for a minute or so and then telling me that the site is not available.
Can you guys help me how to analyze what's going wrong?

I was using the wrong IP...

No worries, good that you've figured it out ;)


Remove unused dependency

Re submission of PR #2749
Was undone in f5e97b238cd37d22a0d38ad45ffe0405034ea2f0

Thank you for catching this.


pylint sanity test is broken on master

https://source.cloud.google.com/results/invocations/34141ccf-0fe9-4eba-9412-135e237cdc91/targets/github%2Fgrpc%2Fsanity_linux_dbg_native/tests
It started failing after https://github.com/grpc/grpc/pull/18177 - but according to my tests this seems to be a concidence. Perhaps some pylint components were update at the same time and the check is now failing because of that.
++ dirname tools/distrib/pylint_code.sh
+ cd tools/distrib/../..
+ DIRS=('src/python/grpcio/grpc' 'src/python/grpcio_channelz/grpc_channelz' 'src/python/grpcio_health_checking/grpc_health' 'src/python/grpcio_reflection/grpc_reflection' 'src/python/grpcio_testing/grpc_testing' 'src/python/grpcio_status/grpc_status')
+ TEST_DIRS=('src/python/grpcio_tests/tests')
+ VIRTUALENV=python_pylint_venv
+ python3 -m virtualenv python_pylint_venv
Using base prefix '/usr'
New python executable in /var/local/git/grpc/python_pylint_venv/bin/python3
Also creating executable in /var/local/git/grpc/python_pylint_venv/bin/python
Installing setuptools, pip, wheel...
done.
+ PYTHON=python_pylint_venv/bin/python
+ python_pylint_venv/bin/python -m pip install --upgrade pip==18.1
Collecting pip==18.1
  Downloading https://files.pythonhosted.org/packages/c2/d7/90f34cb0d83a6c5631cf71dfe64cc1054598c843a92b400e55675cc2ac37/pip-18.1-py2.py3-none-any.whl (1.3MB)
Installing collected packages: pip
  Found existing installation: pip 19.0.3
    Uninstalling pip-19.0.3:
      Successfully uninstalled pip-19.0.3
Successfully installed pip-18.1
+ python_pylint_venv/bin/python -m pip install --upgrade pylint==2.2.2
Collecting pylint==2.2.2
  Downloading https://files.pythonhosted.org/packages/a5/06/ecef826f319055e6b231716730d7f9047dd7524ffda224b521d989f085b6/pylint-2.2.2-py3-none-any.whl (750kB)
Collecting mccabe (from pylint==2.2.2)
  Downloading https://files.pythonhosted.org/packages/87/89/479dc97e18549e21354893e4ee4ef36db1d237534982482c3681ee6e7b57/mccabe-0.6.1-py2.py3-none-any.whl
Collecting astroid>=2.0.0 (from pylint==2.2.2)
  Downloading https://files.pythonhosted.org/packages/31/e9/610c16ecc417c1918915f8f30e54fcfd195788fe450cf8d7d1a061e14628/astroid-2.2.0-py3-none-any.whl (176kB)
Collecting isort>=4.2.5 (from pylint==2.2.2)
  Downloading https://files.pythonhosted.org/packages/35/c5/025aaa76f0f337e3d91197973c42b4e807fa6dd509da70e87053d85ce278/isort-4.3.9.tar.gz (62kB)
Collecting six (from astroid>=2.0.0->pylint==2.2.2)
  Using cached https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Collecting wrapt (from astroid>=2.0.0->pylint==2.2.2)
  Downloading https://files.pythonhosted.org/packages/67/b2/0f71ca90b0ade7fad27e3d20327c996c6252a2ffe88f50a95bba7434eda9/wrapt-1.11.1.tar.gz
Collecting typed-ast>=1.3.0; python_version >= "3.7" and implementation_name == "cpython" (from astroid>=2.0.0->pylint==2.2.2)
  Downloading https://files.pythonhosted.org/packages/eb/6a/d6877019d38f5557e286253fc31a5f53a72be9f740ca9617028f4528930a/typed_ast-1.3.1-cp37-cp37m-manylinux1_x86_64.whl (734kB)
Collecting lazy-object-proxy (from astroid>=2.0.0->pylint==2.2.2)
  Downloading https://files.pythonhosted.org/packages/55/08/23c0753599bdec1aec273e322f277c4e875150325f565017f6280549f554/lazy-object-proxy-1.3.1.tar.gz
Building wheels for collected packages: isort, wrapt, lazy-object-proxy
  Running setup.py bdist_wheel for isort: started
  Running setup.py bdist_wheel for isort: finished with status 'done'
  Stored in directory: /root/.cache/pip/wheels/19/26/94/42e70139f9380e2a00ba18f3c4504581139e5d54ac6cec84de
  Running setup.py bdist_wheel for wrapt: started
  Running setup.py bdist_wheel for wrapt: finished with status 'done'
  Stored in directory: /root/.cache/pip/wheels/89/67/41/63cbf0f6ac0a6156588b9587be4db5565f8c6d8ccef98202fc
  Running setup.py bdist_wheel for lazy-object-proxy: started
  Running setup.py bdist_wheel for lazy-object-proxy: finished with status 'done'
  Stored in directory: /root/.cache/pip/wheels/a0/63/e2/6d93295282cb35b53b14b50b602c76dfb04471e21b31d8ad7b
Successfully built isort wrapt lazy-object-proxy
Installing collected packages: mccabe, six, wrapt, typed-ast, lazy-object-proxy, astroid, isort, pylint
Successfully installed astroid-2.2.0 isort-4.3.9 lazy-object-proxy-1.3.1 mccabe-0.6.1 pylint-2.2.2 six-1.12.0 typed-ast-1.3.1 wrapt-1.11.1
You are using pip version 18.1, however version 19.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
+ EXIT=0
+ for dir in "${DIRS[@]}"
+ python_pylint_venv/bin/python -m pylint --rcfile=.pylintrc -rn src/python/grpcio/grpc
************* Module grpc._interceptor
src/python/grpcio/grpc/_interceptor.py:83:0: R0901: Too many ancestors (8/7) (too-many-ancestors)
src/python/grpcio/grpc/_interceptor.py:129:27: W0613: Unused argument 'callback' (unused-argument)
************* Module grpc._channel
src/python/grpcio/grpc/_channel.py:250:0: R0901: Too many ancestors (8/7) (too-many-ancestors)
-----------------------------------
Your code has been rated at 9.99/10
+ EXIT=1
+ for dir in "${DIRS[@]}"
+ python_pylint_venv/bin/python -m pylint --rcfile=.pylintrc -rn src/python/grpcio_channelz/grpc_channelz
------------------------------------
Your code has been rated at 10.00/10
+ for dir in "${DIRS[@]}"
+ python_pylint_venv/bin/python -m pylint --rcfile=.pylintrc -rn src/python/grpcio_health_checking/grpc_health
------------------------------------
Your code has been rated at 10.00/10
+ for dir in "${DIRS[@]}"
+ python_pylint_venv/bin/python -m pylint --rcfile=.pylintrc -rn src/python/grpcio_reflection/grpc_reflection
------------------------------------
Your code has been rated at 10.00/10
+ for dir in "${DIRS[@]}"
+ python_pylint_venv/bin/python -m pylint --rcfile=.pylintrc -rn src/python/grpcio_testing/grpc_testing
------------------------------------
Your code has been rated at 10.00/10
+ for dir in "${DIRS[@]}"
+ python_pylint_venv/bin/python -m pylint --rcfile=.pylintrc -rn src/python/grpcio_status/grpc_status
------------------------------------
Your code has been rated at 10.00/10
+ for dir in "${TEST_DIRS[@]}"
+ python_pylint_venv/bin/python -m pylint --rcfile=.pylintrc-tests -rn src/python/grpcio_tests/tests
------------------------------------
Your code has been rated at 10.00/10
+ find examples/python -iname '*.py' -not -name '*_pb2.py' -not -name '*_pb2_grpc.py'
+ xargs python_pylint_venv/bin/python -m pylint --rcfile=.pylintrc-examples -rn
------------------------------------
Your code has been rated at 10.00/10
+ exit 1
Command exited with non-zero status 1

Upgrading to P0, since this is causing a required test to fail, thus preventing people from merging pretty much any PRs.
What is the ETA for fixing this?

@lidizheng just reviewed. We're just waiting on a green test.


visitCallExpression not traversing through all calls

Bug Report

TSLint version: 5.11.0
TypeScript version: Version 3.1.2
Running TSLint via: CLI

TypeScript code being linted
const something = (cb: () => void) => {};

const selector = something(() => {
  const something = require("typescript");
});

with tslint.json configuration:
{
  "rules": {
        "no-var-requires": true
  }
}

Actual behavior
Passes
Expected behavior
Fails
But if I change the code for linting to:
const something = require("typescript");

It does fail.
I came across this while working on my own linting rule having a bug, turns out visitCallExpression doesn't call for anything inside a callback for some reason.
As of now we've to use normal walker and visit each child of a source file, which might result it in being slow.
I'm not sure if it's limitation of tslint, or typescript not reporting it or something, I'm not even sure if it's known to tslint team.
Please let me know if this is something tslint will be working on? Or is it actually not possible with visitCallExpression?
Other rules such as no-console actually works because they go through each child.
I did go to AST explorer, and it shows CallExpression.

Hey @cyberhck - exciting that you're working on your own linting rule, but this post is a little unclear on problem you're facing. Are you saying that no-var-requires has a bug because visitCallExpression doesn't visit anything, or that the RuleWalker class has a bug in visitCallExpression?
If it's a bug in no-var-requires, that is known and in PR at #2341.
If it's a bug in RuleWalker, that would be surprising given how widely used it is. It's generally recommended to use walker functions anyway: see #2522 (just opened #4298 to track marking the walkers as deprecated).

it doesn't traverse call expressions

That's probably because you're returning before calling super.visitCallExpression(node); in the function. The parent class' visitCallExpression is what handles recursively going to the children of that call expression.

from using visitCallExpression to walk

Yup! This is preferred. Although visitCallExpression seems elegant, it comes with some pretty bad performance issues per that issue.
Search for applyWithFunction in the TSLint source code for examples of how to use walk style walking. classNameRule.ts is a pretty good example of one that only looks for a specific type of node.
Closing this as it's working as intended. Thanks for posting!

so you're saying, super.visitCallExpression is supposed to be called initially (or moving that call to first line will solve it)? I feel stupid, sorry for wasting your time :smile:

Ha, no worries - this stuff isn't documented very heavily. As long as super.visitCallExpression is called, the approach you're taking should work.


Fails to bundle when there are Flow import type statements

See https://github.com/babel/babel/issues/1996
To reproduce:
> jspm init
Package.json file does not exist, create it? [yes]:
Would you like jspm to prefix the jspm package.json properties under jspm? [yes]:
Enter server baseURL (public folder path) [./]:
Enter jspm packages folder [./jspm_packages]:
Enter config file path [./config.js]:
Configuration file config.js doesnt exist, create it? [yes]:
Enter client baseURL (public folder URL) [/]:
Do you wish to use an ES6 transpiler? [yes]:
Which ES6 transpiler would you like to use, Traceur, Babel or TypeScript?
(TypeScript does not yet have bundling support in jspm) [traceur]:Babel
ok   Verified package.json at package.json
     Verified config file at config.js
     Looking up loader files...
       system.js
       system-csp-production.js
       system.js.map
       system.src.js
       system-polyfills.js
       system-csp-production.js.map
       system-polyfills.src.js
       system-csp-production.src.js
       system-polyfills.js.map

     Using loader versions:
<EMAIL_ADDRESS>     Looking up npm:babel-core
     Looking up npm:babel-runtime
     Looking up npm:core-js
     Updating registry cache...
ok   Installed babel as<EMAIL_ADDRESS>(5.6.20)
     Looking up github:jspm/nodelibs-process
     Looking up github:jspm/nodelibs-fs
     Looking up github:systemjs/plugin-json
ok   Installed<EMAIL_ADDRESS>(0.1.1)
     Looking up npm:process
ok   Installed<EMAIL_ADDRESS>(0.1.2)
ok   Installed<EMAIL_ADDRESS>(0.1.0)
ok   Installed<EMAIL_ADDRESS>(0.10.1)
ok   Installed babel-runtime as<EMAIL_ADDRESS>(5.6.20)
ok   Installed core-js as<EMAIL_ADDRESS>(0.9.18)
ok   Loader files downloaded successfully

> echo "import type { Foo } from './Foo.js';" > app.js
> echo "export class Foo { }" > Foo.js
> jspm bundle app.js
Building the bundle tree for app.js...
       app.js

err  TypeError: file:///Users/yifei/dev/1996test/app.js: Cannot read property 'toLowerCase' of undefined
         at check (file:///Users/yifei/dev/1996test/jspm_packages/npm/babel-core@5.6.20/browser.js:22283:21)
         at NodePath.ModuleDeclaration (file:///Users/yifei/dev/1996test/jspm_packages/npm/babel-core@5.6.20/browser.js:22312:5)
         at NodePath.call (file:///Users/yifei/dev/1996test/jspm_packages/npm/babel-core@5.6.20/browser.js:23019:28)
         at NodePath.visit (file:///Users/yifei/dev/1996test/jspm_packages/npm/babel-core@5.6.20/browser.js:23052:8)
         at TraversalContext.visitMultiple (file:///Users/yifei/dev/1996test/jspm_packages/npm/babel-core@5.6.20/browser.js:22424:16)
         at TraversalContext.visit (file:///Users/yifei/dev/1996test/jspm_packages/npm/babel-core@5.6.20/browser.js:22462:19)
         at Function.traverse.node (file:///Users/yifei/dev/1996test/jspm_packages/npm/babel-core@5.6.20/browser.js:22579:17)
         at NodePath.visit (file:///Users/yifei/dev/1996test/jspm_packages/npm/babel-core@5.6.20/browser.js:23069:26)
         at TraversalContext.visitSingle (file:///Users/yifei/dev/1996test/jspm_packages/npm/babel-core@5.6.20/browser.js:22448:12)
         at TraversalContext.visit (file:///Users/yifei/dev/1996test/jspm_packages/npm/babel-core@5.6.20/browser.js:22464:19)

I've pushed an experimental fix in https://github.com/systemjs/builder/commit/2b919dce51a7c54bb76a073aaa2c7956bb4910b0. It needs to run against jspm 0.16 beta, but let me know if you're able to test that out.

Yes it worked!

Great, thanks for following up.

@tengyifei  how are you using systemjs with flow?


Fix e2e tests

Description
@bparees Not sure how long it was broken.
Type of change

[x] Test fix

/test e2e-ols-openai-gpt35

nothing to fix here, closing


Storage - Blobs Samples Issue

Section link:

Reason:
BlobClient(com.azure.storage.blob.BlobAsyncClient) has protected access in com.azure.storage.blob.BlobClient
Suggestion:
Change to return getContainerClient().getBlobClient(blobName)

Section link1, link2:

Reason:
Missing required parameters endpoint and containerName and credential.
Suggestion:
Add parameters
.endpoint("<YOUR_STORAGE_BLOB_SERVICE_ENDPOINT>")
.containerName("<YOUR_STORAGE_BLOB_CONTAINER_NAME>")
.credential(new DefaultAzureCredentialBuilder().build())

Section link1, link2:

Reason:
Missing required parameters endpoint  and credential.
Suggestion:
Change to
.endpoint("<YOUR_STORAGE_BLOB_SERVICE_ENDPOINT>")
.credential(new DefaultAzureCredentialBuilder().build())

Section link:

Reason:
existsWithResponse(com.azure.core.util.Context) is not public in com.azure.storage.blob.BlobContainerAsyncClient.
Suggestion:
Remove the code snippet for BlobContainerAsyncClient#existsWithResponse(Context)
@josefree, @kasobol-msft @kyle-patterson and @rickle-msft for notification.

@hongli750210 Are you suggesting these changes because you're seeing build issues? Or for the purposes of doc improvements? These methods are all internal helper methods and these particular docs should build but aren't meant to be run.


Messed up colours, not an extension problem.

Expected Behavior
Proper colours when image is downloaded and stored
Current Behavior
There is a pinkish hue to the image
test.jpg

test1.jpg

Failure Information (for bugs)
No particular error is thrown
Steps to Reproduce
return Jimp.read(`${__dirname}/../test.jpg`).then(image => {
    return image.resize(512,Jimp.AUTO).write(`${__dirname}/../test1.jpg`)
})

Original Image : https://www.dropbox.com/s/oohymsegi9anlbh/test.jpg?dl=0
Context

Jimp Version: 0.6.0
Operating System: Mac, tried on amazon linux as well
Node version: 10.14.1

Any update on this ?

I'm gonna guess that this is actually a problem in JPG-JS and how it's processing the image. Seems like it's similar to https://github.com/oliver-moran/jimp/issues/243

This is a problem in the dep https://github.com/jpeg-js/jpeg-js/issues/115
If you switch to the new wasm codecs this will probably work


Entitlement analyzer failing on the schedule after 1st setup

🐛 Bug report
(A clear and concise description of what the bug is.)
Steps to Reproduce

setup entitlement analyzer
setup connection with timeout of 10000
Run the schedule
Schedule is failing.

Expected behavior
Get an output on Entitlement Analyzer
Actual behavior
We have setup entitlement analyzer in our environment for 1st time and it is hitting 3 hours of the timeout and failing. The maximum time out that we can set it 10000.
I have also user optional configuration to get data only for 1 day with variable SET vu_initial_days_back = 1;
RestConnectorMasterTable << RestConnectorMasterTable
failed to complete reload: Failure: Request aborted (15 GENERIC ABORTED)
The following error occurred:
User abort (Reload canceled due to exceeding maximum duration)
Additional context
(Add any other context, link to demo or screenshots about the issue.)

Hi @jenilsangoi,
I cannot reproduce this behavior. Given your description, it sounds like the app was installed manually. Could you please try installing and reloading using the Qlik Application Automation Installer?

Hi Daniel - Thank you for response. Yes we manually created the connection and application in my personal workspace. Let me check on the link you have shared.

In addition and as an FYI, there is a bug in the installer automation where it will fail if the user has been individually assigned lesser privileges than the installer requires: Can edit on Shared and Can publish and Can manage on Managed are what is required. This has been resolved in the newest version, but it has not been pushed yet. Just in case you hit an error on the install, this is the only known issue currently.

Hi @jenilsangoi,
Is this issue resolved?

Hi @danielpilla,
Yes the issue has resolved. I have not published in managed space but did it for personal workspace and can see issue has been resolved.

Closing as resolved.


grpc-web trailers not being sent (no grpc-status)

Is there an existing issue for this?

[X] I have searched the existing issues

Kong version ($ kong version)
Kong 2.5
Current Behavior
My grpc application is returning with an OK on a unary request.
When the transport chunks are received in the javascript client-side, there is only one, the MESSAGE , type 1
This means there is no grpc-status available. I should note that the data is available but the grpc-web javascript code isnt working properly.

here is the cors and grpc-web kong plugin

apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: my-cors-plugin
config:
  origins:
  - "https://frontend.domain.com"
  - "https://grpc.domain.com"
  methods:
  - GET
  - POST
  headers:
   - Accept
  - Accept-Version
  - Content-Length
  - Access-Control-Allow-Origin
  - origin
  - keep-alive
  - user-agent
  - cache-control
  - content-type
  - content-transfer-encoding
  - custom-header-1
  - x-accept-content-transfer-encoding
  - x-accept-response-streaming
  - x-user-agent
  - x-grpc-web
  - grpc-timeout
  - access-control-request-method
  - access-control-expose-headers
  - Access-Control-Allow-Credentials
  - Content-MD5
  - Authorization
  - Content-Type
  - Date
  - TE
  - trailers
  - trailer
  - grpc-status
  - grpc-message
  - grpc-timeout
  - X-Auth-Token
  exposed_headers:
  - Content-Type
  - X-Auth-Token
  - origin
  - access-control-allow-credentials
  - date
  - TE
  - trailers
  - trailer
  - vary
  - authorization
  - grpc-accept-encoding
  - Access-Control-Allow-Origin
  - grpc-status
  - grpc-timeout
  - grpc-message
  credentials: true
  max_age: 3600
  preflight_continue: false
plugin: cors
---
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: my-grpc-web-plugin
plugin: grpc-web

Expected Behavior
There should be another transport chunk sent of type 2  (TRAILERS) where the grpc-status would be
Steps To Reproduce
No response
Anything else?
I'm on GKE and installed kong with Helm

@samelie We do send trailers frame already https://github.com/Kong/kong/blob/master/kong/plugins/grpc-web/handler.lua#L95, note the frame type is 0x80 indicating it's an "uncompressed trailer" per specification. It seems that your client code is
not handling the trailers properly, maybe you can share your client side code for testing?

I'm using the default transport  from improbable grpc-web
Sadly I've broken my left arm and getting the code up and running will be difficult; all my dev projects are on hold for now. We will get to the bottom of this issue!

@fffonion Were you able to repro this issue? If not, can we close it?

I haven't been able to do reproduce it on my side, sorry. Let's close this as this is inactive, please re-open if the ticket persists.


Bug: Repair action not working in Arnold Scene Source CBID Validator in Maya

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior:
The repair function of Arnold Scene Source CBID Validator isn't working and errors out.
Expected Behavior:
Repair action should run smoothly while making sure both content and proxy meshes are with the same CBID
Version
3.15.10-nightly.1
What platform you are running OpenPype on?
Windows
Steps To Reproduce:

Launch Maya via Openpype
Create Arnold Scene Source Instance
Run the publisher
Maker sure it triggers the Arnold Scene Source CBID validator
right click for repair function
It can't repair for you and pass the validation.

Are there any labels you wish to add?

[X] I have added the relevant labels to the bug report.

Relevant log output:
# # ERROR - Traceback (most recent call last):
#   File "D:\kayla\OpenPype\build\exe.win-amd64-3.9\dependencies\pyblish\plugin.py", line 522, in __explicit_process
#     runner(*args)
#   File "D:\kayla\OpenPype\build\exe.win-amd64-3.9\openpype\pipeline\publish\publish_plugins.py", line 242, in process
#     plugin.repair(instance)
#   File "D:\kayla\OpenPype\build\exe.win-amd64-3.9\openpype\hosts\maya\plugins\publish\validate_arnold_scene_source_cbid.py", line 73, in repair
# TypeError: get_invalid_couples() takes 2 positional arguments but 3 were given
# Traceback (most recent call last):
#   File "D:\kayla\OpenPype\build\exe.win-amd64-3.9\dependencies\pyblish\plugin.py", line 522, in __explicit_process
#     runner(*args)
#   File "D:\kayla\OpenPype\build\exe.win-amd64-3.9\openpype\pipeline\publish\publish_plugins.py", line 242, in process
#     plugin.repair(instance)
#   File "<string>", line 73, in repair
TypeError: get_invalid_couples() takes 2 positional arguments but 3 were given
// Error: pyblish.plugin : Traceback (most recent call last):
//   File "D:\kayla\OpenPype\build\exe.win-amd64-3.9\dependencies\pyblish\plugin.py", line 522, in __explicit_process
//     runner(*args)
//   File "D:\kayla\OpenPype\build\exe.win-amd64-3.9\openpype\pipeline\publish\publish_plugins.py", line 242, in process
//     plugin.repair(instance)
//   File "D:\kayla\OpenPype\build\exe.win-amd64-3.9\openpype\hosts\maya\plugins\publish\validate_arnold_scene_source_cbid.py", line 73, in repair
// TypeError: get_invalid_couples() takes 2 positional arguments but 3 were given
// Traceback (most recent call last):
//   File "D:\kayla\OpenPype\build\exe.win-amd64-3.9\dependencies\pyblish\plugin.py", line 522, in __explicit_process
//     runner(*args)
//   File "D:\kayla\OpenPype\build\exe.win-amd64-3.9\openpype\pipeline\publish\publish_plugins.py", line 242, in process
//     plugin.repair(instance)
//   File "<string>", line 73, in repair
// TypeError: get_invalid_couples() takes 2 positional arguments but 3 were given

### Additional context:

_No response_

[cuID:[OP-6123](https://app.clickup.com/t/863gx8xqu)]

I create PR for this: https://github.com/ynput/OpenPype/pull/5096


Scroll to end on initial load

Is there a way to scroll to the end of the view after the animation is complete? or even before the animation starts?

There is no scrolling animation, but the the variable 'direction' can be used to decide which side of the graph to start at.
Possible values:
ScrollableGraphViewDirection.LeftToRight
ScrollableGraphViewDirection.RightToLeft

For example, if it is set to .RightToLeft, the graph will start on the "right hand side" of the graph and the user will have to scroll towards the left.


Not working in Xcode 7+

Please check whether you are using some pasteboard managing apps (which might prevent other apps to put text into the pasteboard) or the the paste keyboard shortcut in Xcode is modified. VVDocumenter is using the system paste board to insert the documentation.

I fixed it through 『defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-7.1』.
its me  don't select "Load bundles"  when install Xcode

@fyxjsj Have made it work?

@onevcat Thanks! I had "Shift+Command+V" set as my default paste command. Revering it back to "Command+V" fixed the discussed issue.


New compound brush! Hollow Box.

Supports:

Wall thickness. If the thickness is too high, then it simply creates a box instead.
Setting size. Vector3 field.

Defaults to a 2x2 box with .25 wall thickness. Pictured is 16x16x16 with 1 wall thickness.

Considering adjusting some of the logic to allow the middle subtractive brush to resize to the vertical size of the box if its too small for the ceiling and floor. Something like this:

Thank you! This makes it easier than ever before to quickly build rooms! 😁


Serializer tests fail ( 5.26 related? )

Not enough magic markers are here to know why this fails, but its failing on 5.25.10 with -Ddefault_inc_excludes_dot
Only indication its @INC related is setting PERL_USE_UNSAFE_INC=1 in ENV works around the problem.
PERL_DL_NONLAZY=1 "/home/kent/perl5/perlbrew/perls/5.25.10-nossp-sdbm-nopmc-nodot/bin/perl5.25.10" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/10_Basic/*.t t/20_Serializer/*.t t/30_Logger/*.t t/40_Transport/*.t t/50_Cxn_Pool/*.t t/60_Cxn/*.t t/95_TestServer/*.t t/Client_5_0/*.t
No such file or directory at t/20_Serializer/21_xs_encode_bulk.t line 9.
t/20_Serializer/21_xs_encode_bulk.t ...........
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
No such file or directory at t/20_Serializer/20_xs_encode_decode.t line 9.
t/20_Serializer/20_xs_encode_decode.t .........
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
No such file or directory at t/20_Serializer/22_xs_encode_pretty.t line 9.
t/20_Serializer/22_xs_encode_pretty.t .........
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
No such file or directory at t/20_Serializer/30_cpanel_encode_decode.t line 9.
t/20_Serializer/30_cpanel_encode_decode.t .....
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
No such file or directory at t/20_Serializer/31_cpanel_encode_bulk.t line 9.
t/20_Serializer/31_cpanel_encode_bulk.t .......
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
No such file or directory at t/20_Serializer/32_cpanel_encode_pretty.t line 9.
t/20_Serializer/32_cpanel_encode_pretty.t .....
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
No such file or directory at t/20_Serializer/41_pp_encode_bulk.t line 9.
t/20_Serializer/41_pp_encode_bulk.t ...........
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
t/20_Serializer/11_load_xs.t .................. ok
No such file or directory at t/20_Serializer/40_pp_encode_decode.t line 9.
t/20_Serializer/40_pp_encode_decode.t .........
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
t/20_Serializer/12_load_pp.t .................. ok
t/20_Serializer/10_load_cpanel.t .............. ok
No such file or directory at t/20_Serializer/42_pp_encode_pretty.t line 9.
t/20_Serializer/42_pp_encode_pretty.t .........
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
t/10_Basic/10_load.t .......................... ok
t/20_Serializer/13_preload_cpanel.t ........... ok
t/20_Serializer/14_preload_xs.t ............... ok
t/30_Logger/90_error_json.t ................... ok
t/30_Logger/30_log_methods.t .................. ok
t/30_Logger/40_trace_request.t ................ ok
Current cxns: ["http://localhost:9200"]
Forcing ping before next use on all live cxns
Ping [http://localhost:9200] before next request
t/30_Logger/20_implicit.t ..................... ok
Current cxns: ["http://localhost:9200"]
Forcing ping before next use on all live cxns
Ping [http://localhost:9200] before next request
t/30_Logger/50_trace_response.t ............... ok
t/30_Logger/10_explicit.t ..................... ok
t/30_Logger/70_trace_comment.t ................ ok
t/30_Logger/60_trace_error.t .................. ok
t/40_Transport/10_tidy_request.t .............. ok
t/30_Logger/80_deprecation_methods.t .......... ok
t/50_Cxn_Pool/10_static_normal.t .............. ok
t/40_Transport/20_send_body_as.t .............. ok
t/50_Cxn_Pool/12_static_node_fails.t .......... ok
t/40_Transport/30_perform_request.t ........... ok
t/50_Cxn_Pool/17_static_runaway_nodes.t ....... ok
t/50_Cxn_Pool/15_static_both_nodes_fail.t ..... ok
t/50_Cxn_Pool/14_static_both_nodes_timeout.t .. ok
t/50_Cxn_Pool/32_sniff_node_fails.t ........... ok
t/50_Cxn_Pool/16_static_nodes_starting.t ...... ok
t/50_Cxn_Pool/13_static_node_timesout.t ....... ok
t/50_Cxn_Pool/11_static_node_missing.t ........ ok
t/50_Cxn_Pool/30_sniff_normal.t ............... ok
t/50_Cxn_Pool/31_sniff_new_nodes.t ............ ok
t/50_Cxn_Pool/50_noping_normal.t .............. ok
t/50_Cxn_Pool/37_sniff_runaway_nodes.t ........ ok
t/50_Cxn_Pool/34_sniff_node_timeout.t ......... ok
t/50_Cxn_Pool/36_sniff_nodes_starting.t ....... ok
t/50_Cxn_Pool/33_sniff_both_nodes_fail.t ...... ok
t/50_Cxn_Pool/35_sniff_both_nodes_timeout.t ... ok
t/50_Cxn_Pool/38_bad_sniff.t .................. ok
t/50_Cxn_Pool/51_noping_node_fails.t .......... ok
t/50_Cxn_Pool/52_noping_node_timesout.t ....... ok
t/50_Cxn_Pool/40_sniff_extract_host.t ......... ok
t/50_Cxn_Pool/39_sniff_max_content.t .......... ok
t/50_Cxn_Pool/53_noping_all_nodes_fail.t ...... ok
t/author-no-tabs.t ............................ skipped: these tests are for testing by the author
t/author-eol.t ................................ skipped: these tests are for testing by the author
t/50_Cxn_Pool/55_noping_runaway_nodes.t ....... ok
t/author-pod-syntax.t ......................... skipped: these tests are for testing by the author
t/95_TestServer/00_test_server.t .............. ok
t/50_Cxn_Pool/54_noping_nodes_starting.t ...... ok
t/Client_5_0/00_print_version.t ............... skipped: No Elasticsearch test node available
t/50_Cxn_Pool/56_max_retries.t ................ ok
t/95_TestServer/10_test_server_fork.t ......... ok
t/Client_5_0/10_live.t ........................ skipped: No Elasticsearch test node available
t/60_Cxn/20_process_response.t ................ ok
t/Client_5_0/22_fork_hijk.t ................... skipped: Hijk doesn't work with Netty4
t/60_Cxn/10_basic.t ........................... ok
t/Client_5_0/21_fork_lwp.t .................... skipped: No Elasticsearch test node available
t/Client_5_0/20_fork_httptiny.t ............... skipped: No Elasticsearch test node available
t/Client_5_0/15_conflict.t .................... skipped: No Elasticsearch test node available
t/60_Cxn/30_http.t ............................ ok
t/Client_5_0/30_bulk_add_action.t ............. skipped: No Elasticsearch test node available
t/Client_5_0/32_bulk_flush.t .................. skipped: No Elasticsearch test node available
t/Client_5_0/31_bulk_helpers.t ................ skipped: No Elasticsearch test node available
t/Client_5_0/40_scroll.t ...................... skipped: No Elasticsearch test node available
t/Client_5_0/33_bulk_errors.t ................. skipped: No Elasticsearch test node available
t/Client_5_0/61_auth_lwp.t .................... skipped: LWP - No https server specified in ES_SSL
t/Client_5_0/60_auth_httptiny.t ............... skipped: HTTPTiny - No https server specified in ES_SSL
t/Client_5_0/34_bulk_cxn_errors.t ............. ok

Test Summary Report
-------------------
t/20_Serializer/21_xs_encode_bulk.t         (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/20_Serializer/20_xs_encode_decode.t       (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/20_Serializer/22_xs_encode_pretty.t       (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/20_Serializer/30_cpanel_encode_decode.t   (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/20_Serializer/31_cpanel_encode_bulk.t     (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/20_Serializer/32_cpanel_encode_pretty.t   (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/20_Serializer/41_pp_encode_bulk.t         (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/20_Serializer/40_pp_encode_decode.t       (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/20_Serializer/42_pp_encode_pretty.t       (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
Files=75, Tests=354,  7 wallclock secs ( 0.26 usr  0.17 sys + 18.82 cusr  3.20 csys = 22.45 CPU)
Result: FAIL
Failed 9/75 test programs. 0/354 subtests failed.
make: *** [Makefile:970: test_dynamic] Error 255

thanks for reporting @kentfredric
i had a brief look at this, and ended up adding use lib '.' to the respective tests.  Not sure if that is the right approach, but it is what was suggested in http://www.nntp.perl.org/group/perl.cpan.workers/2016/11/msg1513.html
please let me know if i should be doing something different
thanks

I'm personally trying to avoid "use lib '.'" and instead encouraging a more specific path ( ie: inc/ , t/ + rewriting ), or the use of explict paths with do/require ( eg: do "./foo.pl" ), mostly because that will make the tests work while minimising the number of ways it makes the runtime code magically start working.
For example: https://rt.cpan.org/Ticket/Display.html?id=120671
^ this module fails without '.' in @INC, and adding . to @INC makes tests pass .... but its the wrong strategy, because it hides the fact runtime is broken. Runtime should fail on the . in @INC case.


Add in-repo addon for dns-prefetch tags

This in-repo addon will loop through an array of hosts and output dns-prefetch tags in the index.html HEAD.
Example output:

We load an awful lot of different domains.
cc @rwjblue

LGTM

Fixes #384


Bump iree, mlir-air, mlir-aie

Changes in updated submodules that require adaptation in iree-amd-aie:

NpuWriteBdOp lost its ddr_id argument
AIRPipeline.cpp was removed
mlir::ceilDiv and the rest of mlir/Support/MathExtras.h was removed in favor of the LLVM equivalents (https://github.com/llvm/llvm-project/pull/95087)

Hi @daveliddell, I just took a look at the failure test which is from AIESerializer.cpp test, and this code is actually no longer in use. We can safely delete those tests. Can you try to update all submodules to latest and try build it again?

Removed tests and associated obsolete code in PR https://github.com/nod-ai/iree-amd-aie/pull/475.

Could you bump AIR and (maybe AIE) to latest again? We'd like to include Erwei's latest commits to test conv2d ops.

Could you bump AIR and (maybe AIE) to latest again? We'd like to include Erwei's latest commits to test conv2d ops.

Ok, I'll give it a try.

Ok, I'll give it a try.

Thanks! If you haven't started doing a new bump, maybe we can merge this first because it has bump for IREE to unblock @erwei-xilinx. Then we can raise another PR bump mlir-air/aie again. I'm approving now.

Ok, I'll give it a try.

Thanks! If you haven't started doing a new bump, maybe we can merge this first because it has bump for IREE to unblock @erwei-xilinx. Then we can raise another PR bump mlir-air/aie again. I'm approving now.

Ok, that's good.  I'm happy to do another bump, but I'd rather take it in two steps, in case I encounter more difficulties.  Will land this one as soon as CI finishes.  Thanks!


Add a Page for Strategic Design in DDD

Currently in progress in sadukie/ddd-updates-202312 branch


Support C++

It'd be nice if C++ support was also available. I was specifically thinking of supporting Arduino libraries from Typescript, and those are all C++. I was going to take a stab at it at first by replacing C templates and support code with C++ one, incrementally, see what falls out and then figure out how to merge the two.
But perhaps you have some idea of how the split would be best implemented, and I would then try and follow this path from the beginning.

My universal-transpiler tool can already compile a subset of TypeScript into C++. It would also be possible to convert JavaScript into C++ by combining a  TypeScript-to-Python compiler with a Python-to-C compiler.

The JS-to-C++ via Python is a crazy route. I specifically want a translation that looks nice :) The universal transpiler seems like a very general tool - is it ever supposed to support what ts2c does already?

There are quite a few ways to compile JS to C++. For example, I tested ts2hx project and some others and it worked more or less fine. However, size and quality of resulting code is very bad, and considering the huge overhead such compilation brings (at least the ones I tested), I wonder if there is a real scenario where it makes sense to use this. For example with ts2hx, "Hello world" example resulted in >800k executable, so...
Actually if you peek into V8 or other modern browser JIT compilers source code and how they do things, they seem to be a much better option, performance-wise and all.
TS2C is a very different beast. The main goal is to create a readable code as the result of transpilation, so that it could be then debugged, maintained and further improved by humans.
Back to the original question: Yes, I was thinking of supporting several different transpilation targets, and Arduino and friends (including i.e. ESP8266) were one of the first candidates. But understand me correctly: there are so many shades of C++, and I don't want to go there. What I am talking of here is a tailored transpilation target that uses Arduino-specific libraries, such as String and so on.
For now I don't have any concrete approach of how to implement this. I was thinking of template overrides, so some of the templates can be overriden depending on the transpilation target (more about Code Templating used in ts2c you can read here). There are many tricky things there though. For example, I'm not sure how RAll would play out with escape analysis I am using for memory management.   Type recognition also changes a bit when we introduce those C++ classes.
Have to say, my personal current goal is to bring coverage of ES3 up to 96-99%, and only after this start improving other areas, so it's still a long way until transpilation targets engine (unless community contributes this).


How to edit Window List Items (on tabs section)

Good morning!
How can I edit items of Window List:

I would like to have list of only non-visible tabs (I mean tabs which are opened, but which are not shown because panel is overflowed) in this DropDownList. I would like to see only TestForm4, TestForm5, TestForm6:

How can I do it?
Thanks for your time
Mikhail

This is more of a feature request. But I am not quite interested in it, because VS always show all tabs (visible or not does not matter). There is no real benefit to change this behavior.
But if you do want to customize the behavior, you can do so by creating your own DPS theme and then modify your dock pane strip derived from DockPaneStripBase class.
You can see from the VS2005 version that in WindowList_Click method how add tabs are added to the list. The filtering can be added there to remove visible tabs.
If you don't know which tabs are visible, you can always resort to methods such as DrawTabStrip_Document which shows exactly how to determine which tabs are visible to be drawn out.

Ok, thanks for help!


Sample project not compiling

The sample code snippet listed - https://github.com/Azure-Samples/active-directory-b2c-dotnet-webapp-and-webapi/archive/master.zip is not compiling in VS 2022, showing many missing packages.

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

ID: 976c73ce-6915-43a0-d862-2c05465341f8
Version Independent ID: f4f562c1-8a77-4e36-4815-14533492e52d
Content: Quickstart: Set up sign-in for an ASP.NET web app - Azure AD B2C
Content Source: articles/active-directory-b2c/quickstart-web-app-dotnet.md
Service: active-directory
Sub-service: b2c
GitHub Login: @garrodonnell
Microsoft Alias: godonnell

@abhilashca
Thanks for your feedback! We will investigate and update as appropriate.

@abhilashca
Thank you for your feedback!
Since this issue isn't directly related to improving our docs, and to gain a better understanding of your issue, I'd recommend working closer with our support team via an Azure support request. Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue or finding potential workarounds.
Teams Q&A forum for technical questions about the configuration and administration of Microsoft Teams on Windows.
Microsoft Teams Community forum

@abhilashca
We are going to close this thread, if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.
#Please-close


Tutorial Outline: An introduction to napari for yt users

This issue is a tutorial overview for one of the tutorials listed in #40
Title
An introduction to napari for yt users
Summary
This tutorial will cover installation and basic usage of napari, without using yt-napari. It will, however, use yt data and touch on a number of considerations particular to working with simulation data within napari.
Outline
1. Introduction

installation of napari
overview of the napari standalone GUI

2. Test data and the notebook interface

prepare a test image from yt data: extract a 3D region to load
load the test image using the jupyter notebook interface for napari

3. Interacting with data
Overview of interaction with image layers:

2D, 3D views
coordinate system (image vs dataset coordinates)
colormap adjustment
cutting planes
linking layers

tutorial requirements

ability to install packages from pip
yt > 4.0

recording and uploaded, awaiting youtube processing

This is exciting!  Should we have a premiere?  :)
On Fri, Jun 23, 2023 at 3:04 PM Chris Havlin @.***>
wrote:

recording and uploaded, awaiting youtube processing
—
Reply to this email directly, view it on GitHub
https://github.com/data-exp-lab/yt-napari/issues/42#issuecomment-1604879742,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAVXOYETZF52SA4JAMZIKTXMXZFZANCNFSM6AAAAAATYG5ERE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

released! Video available at https://youtu.be/tNdIetamf98


Fix system state test

Description
Update system (bridge) state functions and fix tests for them.
Changes include

[x] Bugfix (non-breaking change that solves an issue)
[ ] Hotfix (change that solves an urgent issue, and requires immediate attention)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Breaking changes
Please complete this section if any breaking changes have been made, otherwise delete it
Checklist

[x] I have assigned this PR to myself
[x] I have added at least 1 reviewer
[ ] I have added the relevant labels
[ ] I have updated the official documentation
[ ] I have added sufficient documentation in code

Testing

[x] I have tested this code with the official test suite
[ ] I have tested this code manually

Manual tests
Please complete this section if you ran manual tests for this functionality, otherwise delete it
Documentation update
Please link the documentation update PR in this section if it's present, otherwise delete it
Additional comments
Please post additional comments in this section if you have them, otherwise delete it

The blade-contract commit hash should be reverted IMO.

Sorry, my bad, the commit of the blade-contracts is correct and SC artifacts are generated.


[Cosmos] Update dependency  execa to latest

https://github.com/Azure/azure-sdk-for-js/blob/2a9c0b2207b60ee73daf00cb68ec19c49256444a/sdk/cosmosdb/cosmos/package.json#L112
Latest is 2.0.4

This is done on master


Update to clap 4

Hey, I tried to update clap to version 4 in the lib.
The conversion of any field to a string is a bit wonky... maybe you have a better idea?

Hey thanks ! I also had a wip version on my laptop but didn't find time to finish it. Are you able to compile and launch all examples ?

Good point, done and fixed that now. cargo test also runs successfully, when activating all features. I had to make small changes to the examples/tests though, that you might want to look into.
Especially I couldn't get --help to work with ignore_errors(true) as used in the clap_derive example.

Thanks a lot @w0xel, it has been release on v0.8.0 on crates.io


Rolemaster Unified Official: Bugfixes for spell failures and attack generation

Updates 2024-8-6

Spells:

Fix bug where OE Low rolls failed with NaN
Show the correct OE Low roll when rolling OE Low
Tweak message for PP on failure

Fonts; add some more fallback fonts.  Impact is terrible
Create:

Fix a bug where languages spent in creation were not showing.

Add validation that events are registered correctly.
Inventory/Attacks

Correctly cleanup old attacks.  No longer thousands of attacks
Refactor code to be cleaner in process
Use pending infrastructure to remove potential race conditions
Automatically update the bonuses for attacks.

Remove encoded attack message on attacks.

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[x] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

Character Sheet Info Roll20 Internal Use only.


PKCS#10 complex example - dont show in browsers

Affected browsers: IE, Chrome, Firefox
They have a problem with the "#" in the directoryname.
Please delete it. :)

This code is only an example. If you wish you could create your own directory structure for your real environment.

@Manuelp443
I just downloaded: https://github.com/PeculiarVentures/PKI.js/archive/master.zip
And then downloaded: https://github.com/PeculiarVentures/ASN1.js/archive/master.zip
Copied the org folder from PKIjs to the PKCS10 sample directory, copied the org folder from the ASN1js folder into the sample directory and tried the PKCS 10 sample and it worked:

When we release the next major release of PKIjs we will remove these two steps but for now that's how you need to get the samples working.


Typing annotations for arithmetic overrides (e.g., DataArray + Dataset)

This change explicitly adds annotations for arithmetic like DataArray + Dataset in _typed_ops.py.
To test this, I've updated mypy on GitHub actions to use Python 3.12
Note: I've added a dependency on jinja2, a standard Python templating engine. It is only required for manually regenerating typed operations, which should impact only a handful of xarray developers.

[x] Closes #9656
[x] Tests added

Any chance we can add jinja2 to the dev dependencies in pyproject.toml? Or I can do it at some point. (and if we have an equivalent for conda). That way, our instructions for generating these remain valid.

Done!


Create Tokens::findBlockStart

Having findBlockEnd with a boolean flag to invert the behaviour is very confusing, makes the code harder to read. I propose we add a new findBlockStart method that replicates this behaviour in a more readable way.
Am I right in thinking I should target 2.2 with this, ~as this is an internal class~ it should be OK to add new features on patch releases?

How would I go about deprecating a specific parameter?

Deprecating the param has to be done in a new PR because it can only be done in a new minor.
The implementation would be something like:

let the public methods findStart and findEnd call a new private method (directly, so find findStart no longer calls findEnd
in the findEnd method, check the number of arguments passed, if to much trigger the deprecation. An example can be found here: https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/v2.10.2/src/FixerDefinition/FixerDefinition.php#L44

Sorry accidentally deleted my comment instead of editing it 🤦♂

haha no worries man :)

Thank you @ntzm.


README: show 'data' method for "Associated and nested models"

It's unclear from reading the README how to define the data method when dealing with associated/nested models. The get_raw_records example is shown, but not for data. I mean, how would the records.map function work in the context of associated/different models?

Yeah, maybe you're right... the overall idea is this:
Suppose you have a Client model, who has an associated ShippingAddress model. This ShippingAddress has a method named label_friendly which outputs an address as a one line string, example: 123 Some St., Smallville, KS, 12345... pretty much this:
# app/models/client.rb
class Client < ActiveRecord::Base
  has_one :shipping_address
  has_one :billing_address
end

# app/models/address.rb
class Address < ActiveRecord::Base
  belongs_to :client

  def label_friendly
    [address_line1, address_line2, city, state, zip].compact.join(",")
  end
end

# app/models/shipping_address.rb
class ShippingAddress < Address
end

# app/models/billing_address.rb
class BillingAddress < Address
end

So, suppose you need to output a dataTables enhanced table in your view that displays a client name, client status, client shipping address, client billing addres (as a one liner each), and the usual show, edit, delete actions. You would do something like this:
# app/datatables/client_datatable.rb
class ClientDatatable < AjaxDatatablesRails::Base
  # other methods and config not shown for brevity

  def get_raw_records
    # Rails 4+
    Client.includes(:shipping_address, :billing_address).all
    # Rails 3
    # Client.includes(:shipping_address, :billing_address).scoped
  end

  def data
    records.map do |record|
      [
        record.name, # client name
        record.status, # client status
        record.billing_address.label_friendly, # billing address data
        record.shipping_address.label_friendly, # shipping address data
        link_to("show", client_path(record)), # show link
        link_to("edit", edit_client_path(record)), # edit link
        link_to("delete", client_path(record), method: :delete, data: { confirm: "Are you sure?" }) # delete link
      ]
    end
  end
end

Notice the following, in the get_raw_records method, we are defining that our point of entry to the query is the Client model... so, the end product of the method are instances of the Client model, and are assigned to an internal variable: records.
From there, it's a simple matter of calling the corresponding methods on those instances to return the data we need.... remember, as we are using ActiveRecord to query the database, and the end product are always instances of a model that inherits from ActiveRecord (enclosed in an ActiveRecord::Relation) and not raw records from the database, then all methods (and relations) are available to be called inside the datatable class... the only thing you should put special attention to, is to add the proper joins or includes in your query inside the get_raw_records method, to create an optimized SQL query and avoid an N+1 scenario, specially because you'll be calling methods on associated models.
The same applies for nested models... just put special attention on the models relationships and the corresponding code inside the joins or includes calls, as explained here: https://github.com/antillas21/ajax-datatables-rails#associated-and-nested-models , once you have the resulting object inside the records variable, just call the corresponding methods to access the data you need.
It is worth mentioning that having delegate methods in ActiveRecord models, help greatly to clean method chaining.
Hope this helps.

Thank you, that does help. To summarize, it's necessary to define the right methods in the respective model classes so that we can call those methods from the record.whatever syntax in #data.
But I have a related question --- in the README, all of the examples have the same order of values in #sortable_columns, #searchable_columns, and #data. Does the ordering matter?
I.e., is
@sortable_columns ||= ['foo.bar', 'foo.quux']

different from
@sortable_columns ||= ['foo.bar', 'foo.quux']

?
I only ask because the README is silent about this, while following a convention about keeping everything in the same order across sortable_columns, searchable_columns, and data.

I forgot to ask a more general question --- how does this gem know which columns in def sortable_columns to associate with which records in def data? Is it based on the ordering of the definitions?

Yes, ordering is important... remember that the end product, is a jQuery dataTables enhanced
 in an html view... this table, has a specific order in its columns, right?
So, you start from there... from the order you will display columns in this table, and map that to the corresponding methods in the datatable class: sortable_columns, searchable_columns, data. Example:
From the example above in my previous comment... suppose you need to display a table like this:

Client Name
Client Status
Billing Address
Shipping Address

John Doe
active
123 Some St., Smallville, KS, 12345
456 Some St., Smallville, KS, 12345
show
edit
delete

Jane Doe
active
123 Some St., Smallville, KS, 12345
456 Some St., Smallville, KS, 12345
show
edit
delete

Then, mapping columns in our table to our datatable class:
# app/datatables/clients_datatable.rb
class ClientsDatatable < AjaxDatatablesRails::Base
  def sortable_columns
    @sortable_columns ||= [
      'Client.name', 'Client.status', 'BillingAddress.address_line1',
      'ShippingAddress.address_line1'
    ]
  end

  def searchable_columns
    @searchable_columns ||= [
      'Client.name', 'Client.status', 'BillingAddress.address_line1',
      'ShippingAddress.address_line1'
    ]
  end

  def data
    records.map do |record|
      [
        record.name, # client name
        record.status, # client status
        record.billing_address.label_friendly, # billing address data
        record.shipping_address.label_friendly, # shipping address data
        link_to("show", client_path(record)), # show link
        link_to("edit", edit_client_path(record)), # edit link
        link_to("delete", client_path(record), method: :delete, data: { confirm: "Are you sure?" }) # delete link
      ]
    end
  end

  def get_raw_records
    # will need to use joins here to allow ActiveRecord to search in fields
    # from related database tables
    Client.joins(:billing_address, :shipping_address).all
  end
end

Notice I am cheating a little bit here, as an Address model won't have a label_friendly field in its database table... so I am choosing what could be the closest thing to get sorting and searching functionality, the first line of an address (for the sake of brevity). Of course you can use Arel or .select with raw SQL to concat and alias fields from the database and use the alias name in the sortable_columns, searchable_columns methods.
Now in the view, as I won't be interested in searching and sorting by the columns that contain the show, edit, delete links... I would do the following:
<table id="clients-table" data-source="<%= clients_path(format: :json) %>">

      Client Name
      Client Status
      Billing Address
      Shipping Address

$('#clients-table').dataTable({
      processing: true,
      serverSide: true,
      ajax: $('#clients-table').data('source'),
      columns: [
        { sortable: true, searchable: true },
        { sortable: true, searchable: true },
        { sortable: true, searchable: true },
        { sortable: true, searchable: true },
        { sortable: false, searchable: false },
        { sortable: false, searchable: false },
        { sortable: false, searchable: false }
      ]
    });

Thank you for confirming that ordering is important. I don't believe this info is absent in the README.
As for the original issue, there's obviously more than enough info regarding def data in the context of complex models. I believe you can close this issue, although to be fair most of the things should be converted and put into the README.

@listx would you like to contribute an enhancement to the README file to properly explain this?... to be honest, it would be a little hard to do this for me, as I will fall in the typical case of developer short-sight.
What do you say? would you like to help me improve documentation?

Sure, why not? I would like to fill in some holes where I can find them. Currently I am using this gem in a larger project (sadly, it is a private repo https://github.com/LearnToBeFoundation).
I'm currently wrestling with implementing a datatable, but once I'm done with that (later this week at the latest, hopefully), I'll gladly contribute some patches to the README, distilling what I've learned.

:+1: excellent! Let me know if there's anything else I may help you clarify.
Looking forward to your contribution!
P.S. I will close this issue now.

Hmm, well, now that #84 is being considered for 0.4.0, I guess any clarifications in the README will have to be specifically labeled as for the current 0.3.x release.

I made https://github.com/antillas21/ajax-datatables-rails/pull/85. The changes are minimal, but hopefully it will save other developers some time.
The complex datatable I was working on ended up not being searchable/sortable at all, because the single column called 'Name' depended on two different models. I am not enough of an SQL wizard to combine two different SQL tables' columns into a single "column" that this gem expects.
Anyway, I've also made some edits to the Wiki that repeats some of the stuff in the pull request.

@antillas21  Regarding ordering, what if i have a column that i don't want to filter positioned between two columns that i want to filter ? For example in the example you gave, what if i don't want BillingAddress to be searchable , but yet remain positioned between Client Status and Shipping Address in the view. Is that possible to do by doing it like this :
$('#clients-table').dataTable({
      processing: true,
      serverSide: true,
      ajax: $('#clients-table').data('source'),
      columns: [
        { sortable: true, searchable: true },
        { sortable: true, searchable: true },
        { sortable: false, searchable: false }, // put  falses for Billing address
        { sortable: true, searchable: true },
        { sortable: false, searchable: false },
        { sortable: false, searchable: false },
        { sortable: false, searchable: false }
      ]
    });

#removed  Billing address from sortables
 def sortable_columns
    @sortable_columns ||= [
      'Client.name', 'Client.status',
      'ShippingAddress.address_line1'
    ]
  end

#removed Billing address from searchables
 def searchable_columns
    @searchable_columns ||= [
      'Client.name', 'Client.status',
      'ShippingAddress.address_line1'
    ]
  end

Does this works ? or is it necessary to have all your searchables first, followed by un-searchables ?

@YoussefTourki no, unfortunately that won't work. The columns inside sortable_columns and searchable_columns must map exactly to your html view columns.
Also... I've reworked some of the internals of the gem, removing the need to declare to separate methods for columns (sortable and searchable) in favor of declaring just one method view_columns, yet again, the columns declared in this method need to match exactly your html view columns. If you like, you can test drive this in your project by adding to your Gemfile:
gem "ajax-datatables-rails", github: "antillas21/ajax-datatables-rails", branch: "v-0-4-0"

@antillas21 In your comment on Feb 1 you said the following:

Notice I am cheating a little bit here, as an Address model won't have a label_friendly field in its database table... so I am choosing what could be the closest thing to get sorting and searching functionality, the first line of an address (for the sake of brevity). Of course you can use Arel or .select with raw SQL to concat and alias fields from the database and use the alias name in the sortable_columns, searchable_columns methods.

Based on your example I managed to display the label_friendly full address (with city, state,... included) in my DataTable. In your example the filtering (searching) and sorting happens only for the address_first_line field. But what if I also want to be able to search for a city or state name? You said you can use Arel or .select to concat and alias fields from the database and use the alias name in the sortable_columns and searchable_columns, can you maybe give an example of how to do this?

guys, you look at branch https://github.com/antillas21/ajax-datatables-rails/tree/v-0-4-0 - README not fully updated but its under development. also there is sample project https://github.com/ajahongir/ajax-datatables-rails-v-0-4-0-how-to
Now Iam improving searching and filtering on this gem so its importand you opinion. Take a look if you have a chance :smile:

@ajahongir Can you give me an example of how to solve the problem I have? In my specific case I have 2 database fields profile.first_name and profile.last_name I want to show together in 1 column as full_name. I can display them by making a method in the Profile model class to concatenate first_name and last_name, but I can't get searching & sorting to work... I think this can be done by using the right .select statements and using aliases, but I still didn't get it to work...

I got sorting to work by using the following query:
Order.where({status: 0}).joins(:profile).select("orders.*", "concat(profiles.first_name, ' ', profiles.last_name) as fullname").all

I then use the alias 'fullname' in the data method and the @sortable_columns, @searchable_columns.
@searchable_columns ||= [
        'fullname',
        'Order.value',
        'Order.created_at',
        'Order.updated_at'
    ]

def data
    records.map do |record|
      [
        record.fullname,
        record.value,
        record.created_at.strftime('%d-%m-%Y %T'),
        record.updated_at.strftime('%d-%m-%Y %T')
      ]
    end
  end

Now displaying the concatenated full_name and sorting on it works, but when I start typing in the DataTable's search field I get the following MySQL error:
Completed 500 Internal Server Error in 8ms (ActiveRecord: 1.4ms)

NameError (uninitialized constant Fullname):
  app/controllers/admin/orders_controller.rb:11:in `block (2 levels) in datatable_new'
  app/controllers/admin/orders_controller.rb:9:in `datatable_new'

It's weird that sorting works but searching breaks... I'm using v3.0.1 since I understood v4 is still in development mode.

Have you tried declaring fullname as Profile.fullname in the searchable_columns method? as we need to have a valid model name Profile in this case (from your query) to which call a method (fullname from your query).

@Turkish Why did you remove the def sortable_columns and def searchable_columns methods?
Was it because you added lines like { sortable: true, searchable: true }, to the JavaScript file?


feat: green line map

This is far from perfect. Issues:

I can't seem to find a way of preventing the station names from rendering on the curves. I don't entirely understand the rendering/station-displacement-finding code that interacts with Bezier.js, so I will  probably have to do a deeper dive to figure out how to prevent that from happening.
distance between stations in the trunk seems smaller than the rest of the diagram. This could be a weird interaction with all of the lines I rendered to get the correct offset between branches and the trunk

@skaplan-dev yep, you're probably right... I'll work on that when I start to integrate it into the data dashboard page :pray:


Remove deprecated method which causing gcc10 warnings

Solving issue #253

@Axel-Naumann, should we merge it? I cannot do it


Changed OAuth Login username to use "nickname" from oauth vice "email address"

When logging in via Oauth, I noticed your username would be forced as your email address and therefore show in the top right as your user. Given that regular users have a username, I found it necessary for oauth to do the same.

My concern with this is that not every user will have nickname set up, and some users will have the claim preferred_username, some will have a custom username claim setup, etc, it can very quickly become a rabbit hole of trying to figure out how to best construct the placeholder / default username for the user when they are logging in via OpenID for the first time.
My goal when implementing OIDC in LL is to hopefully be able to avoid the headache of coming up with usernames for the user, which is why email was chosen. Otherwise we will have to come up with the following logic:
https://www.thethingsindustries.com/docs/reference/federated-auth/oidc/#generating-usernames
Regardless, the user has the ability to change their username when registering, the email address is just the default value for it since we know that email address is always going to be provided.
As such, I cannot merge this PR at this time since it can potentially break other OAuth implementations used by other users or require a bunch of other workarounds to make it work.

@Saryniah I think the better alternative would be to allow users to change their usernames after registration, let me create a ticket for that and I'll get working on it.


PR: Implement workspace/didChangeWorkspaceFolders correctly, fix major issues with workspace-only servers

Description of Changes
This PR fixes the implementation of workspace/didChangeWorkspaceFolders, which was incorrect according to the LSP spec. It also implements the response to the call client/registerCapability, essential for some workspace-oriented servers.
We also reduce the total number of calls to workspace/didChangeConfiguration for non-Python servers and enable stdio server logs

[ ] Wrote at least one-line docstrings (for any new functions)
[ ] Added unit test(s) covering the changes (if testable)

[ ] Included a screenshot or animation (if affecting the UI, see Licecap)

Issue(s) Resolved

Fixes #11654
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: @andfoy

Hello @andfoy! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/plugins/completion/languageserver/__init__.py:

Line 595:1: E302 expected 2 blank lines, found 1


Terraform template to build, upload and verify peer pod VM image

Add Terraform template to build, upload and verify the podvm image
using Terraform and Ansible
Include support for running the Terraform against test.cloud.ibm.com as well as cloud.ibm.com
Updated documentation for running the new Terraform template
New Terraform template tested on amd64 and s390x VSIs on IBM Cloud

I also added IBMCLOUD_VERSION_CHECK to login.sh so that if an update to the IBM Cloud CLI client is available, it won't show the update prompt like this
Stop New version 2.7.0 is available.
Change logs: https://github.com/IBM-Cloud/ibm-cloud-cli-release/releases/tag/v2.7.0
TIP: use 'ibmcloud config --check-version=false' to disable update check.

Do you want to update? [y/N]

and wait for a response when the CLI client is being ran non-interactively by the login.sh script.


removeDemo should remove types -> index.js

The removeDemo.js script should remove the index.js file in the types folder.
It could also replace it with an empty file with a comment.
Thanks.

Good catch. Removes it now.


Release unneeded memory more eagerly from conhost

The _CONSOLE_API_MSG buffer is resized to cover an entire message.
Later on any UTF-8 data is cached in a separate temporary
buffer inside til::u8state to prevent lone surrogate pairs.
Both cases are problematic as neither buffer is freed after the read
has finished. Passing a 100MB buffer to conhost once will thus cause it
to continue using ~220MB of physical memory until the conhost process exits.
This change releases unneeded memory as soon as the requested buffer
size has halved. In practice this means that once a command has returned
all buffers will shrink, as the shell commonly sends very small messages.
PR Checklist

[x] Closes #10731
[x] I work here
[x] Tests added/passed

Validation Steps Performed

Buffers aren't reallocated during printing ✔
Buffers shrink after printing finished ✔

@msftbot make sure @miniksa signs off

@lhecker Once that I worked on the code I was facing a huge performance drop caused by shrink_to_fit and I explicitely removed it in an early stage.
https://github.com/microsoft/terminal/pull/4093#issuecomment-570959619
I recall that I was quite surprised because it seems shrink_to_fit doesn't just flag the unused memory space as available for the OS. Based on the influence I've observed I'm of the opinion that a new buffer whith updated size is allocated, the used content is moved to the new memory space, and after that the old buffer is released.
I'm absolutely aware that your latest update is not the same as what I originally did. I called shrink_to_fit literally after each and every conversion. However, I just want to highlight that it may affect the performance. (And it was all about performance back then 😄)

@german-one Yeah in this case specifically we're only dropping the buffer after calling .clear().
That way no memory copy occurs and instead the buffer is dropped entirely.
I wrote a tool to test output performance at various sizes and as long as buffers are <16 KiB, or of a consistent size, no reallocation occurs. This reminds me though that I should add a test to my tool, which measures performance for randomly sized buffers.


Sign Up and Login page

I would like to add Sign Up and Login Page to website @CSEdgeOff can u please assign this issue under GSSOC'24

After reviewing the current tasks, I believe I can offer valuable input by working on the SignUp and Login pages. I would be grateful if you could consider assigning me the SignUp and Login page task. Please let me know if there are any specific requirements or guidelines I should follow.
Thank you for considering my request. I look forward to your response.

@Syed0206 and @komalgururanii There is no use and necessary of the signup and login pages in this website. work on any other tasks
If you're more interested to work this kind we have a Application form which is filled by the interns try to make connection both of them for more info text here<PHONE_NUMBER>


The function AcpiOsStall doesn't work properly

Describe the bug
According to the comment in hwsleep.c:
...
/*
* We wanted to sleep > S3, but it didn't happen (by virtue of the
* fact that we are still executing!)
*
* Wait ten seconds, then try again. This is to get S4/S5 to work on
* all machines.
*
* We wait so long to allow chipsets that poll this reg very slowly
* to still read the right value. Ideally, this block would go
* away entirely.
*/
AcpiOsStall (10 * ACPI_USEC_PER_SEC);
...
It looks like we don't wait. I changed the code in hwsleep.c to check it:
...
    ACPI_DEBUG_PRINT ((ACPI_DB_INIT,
        "Entering sleep state [S%u]\n", SleepState));
    AcpiOsStall (10 * ACPI_USEC_PER_SEC); /* Temp changes */
    ACPI_DEBUG_PRINT ((ACPI_DB_INIT, /* Temp changes */
        "The second entering sleep state [S%u]\n", SleepState)); /* Temp changes */
    while (true) {}; /* Temp changes */
...

And I see that we don't wait:

Host configuration
Linux Veriton 5.13.0-51-generic #58~20.04.1-Ubuntu SMP Tue Jun 14 11:29:12 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
Toolchain configuration
Standard.
Tilck build configuration

Tilck commit: see screenshot above

Type of issue (select one)

Incorrect behavior

Reproduction details
Reproducible on different hardware with code changes above.
Expected behavior
Wait requested time.
Screenshots
Screenshot is above.
Additional context
It looks like borrowed modules (for example, utosi.c, actypes.h, hwsleep.c, ... are out of date. Do you have any ideas/plans to synchronize these modules time to time?

Hi Vladimir! Sorry, but it's not clear to me how you triggered that code path for userspace.
By searching in hwsleep.c (ACPICA), I found that code is located in AcpiHwLegacySleep(). It should not be possible to end up there from user space without changing the kernel itself.
If you changed the kernel and wanted to test if ACPI can be used with Tilck to enter in the S3 sleep state, well... I didn't even being to work on that at all. So, it's not supposed to work at the moment. Therefore, this is not a bug. Entering and exiting from sleep requires a considerable amount of work around power management of devices and none of that has been done on Tilck. I don't plan to do that for the foreseeable future.
The AcpiOsStall() function per se should work, because it simply calls delay_us(), which works and I have a test for that. But, in that context (never tested), everything is possible. You're practically in an error case in the AcpiHwLegacySleep() function. AcpiOsEnterSleep() didn't work as expected (of course!) and ACPICA is trying to handle that somehow by busy-waiting for 10 seconds and then trying again. And, that's even in the poweroff code path, after calling kernel_shutdown(). At that point, most of the assumptions simply won't hold. Even if at some point I decide to support ACPI sleep, it won't be in the shutdown code path. It will have a separate code path, where tasks are simply paused (stopped).
In conclusion, I have to close this because it's not really a bug, but the lack of a feature (support for ACPI sleep). The us_delay() function can be tested individually using a selftest on real hardware by running on Tilck the following command:
selftest delay

You should see something like:
root@tilck:/# selftest delay
[devshell] Executing built-in command 'selftest'
[    4.863] Running self-test: delay
[    4.915] Expected in ticks: 12
[    4.915] Actual ticks:      13

Given that AcpiOsStall() is implemented like this:
void
AcpiOsStall(UINT32 Microseconds)
{
   disable_preemption();
   {
      delay_us(Microseconds);
   }
   enable_preemption_nosched();
}

You can be sure it works in general ;-)

I checked S5 not S3.
If you try my code changes in hwsleep.c then you will see that AcpiOsStall doesn't work as expected.
It may be HW depended, because the loop count in asm depends from it.
I don't see also your comments why there is no time gap (10 seconds) between 2 last messages in the screenshot.
In QEMU I don't see 10 seconds too:

Regards,
Vladimir

I don’t understand: have you changed anything else other than adding log messages in hwsleep.c? poweroff works great on QEMU and on many HW machines as well. At least on QEMU we can test exactly the same thing. After you run poweroff, the VM powers off, doesn’t it? It doesn’t matter if the sleep function works or not in that context, what matters to me is if poweroff itself works. On VMs it should work perfectly. Can you reproduce the problem (VM not powering off) with a clean build without any changes? If that’s the case, I’ll need a lot of info about your setup, because it never happened on QEMU for me.
Vlad

I'm working on the problem #99 - power led after poweroff. I hope that may be this problem will be solved if "sleep 10 seconds" will work correctly. If poweroff works "correctly" (power is of, no power led after it) in QEMU, your books and one (from two) of my books, it doesn't mean that the problem with "sleep 10 seconds" (if it exists) should not be investigated.
If you insert few lines of the code in hwsleep.c in the right place to test "sleep 10 seconds" problem, you will see even in QEMU that the system doesn't sleep these 10 seconds. At least it is what I see in the screenshots above.
The changes are after:
    ACPI_DEBUG_PRINT ((ACPI_DB_INIT,         "Entering sleep state [S%u]\n", SleepState));
in hwsleep.c (see above).
Regards,
Vladimir

@duselguy Vladimir, I really appreciate your effort and interest in this project :-)
Just, in this case I'm not convinced you're investigating in the right direction. The fact that poweroff doesn't work correctly on all the HW machines, has probably nothing to do with AcpiOsStall() not working as expected: if you check the code you'll see that the function is called only if execution continues after AcpiHwWritePm1Control(). ACPICA makes a desperate attempt: wait 10 seconds and then re-try the register write, hoping it will work. I don't believe it will work even after 10 seconds. Making poweroff to work on the machines where currently it doesn't will probably require weeks of hard-work and the implementation of the address space for the Embedded Controller. That will depend on the specific hardware and several implementations will be required to support different machines. In other words, weeks or months of research and work. I don't have the time for that, but I know that has to be done at some point.
Still, for the sake of the experiment, just replace AcpiOsStall (10 * ACPI_USEC_PER_SEC); with the following code, which should work for sure, even if it won't be precise:
for (unsigned j = 0; j < 10; j++) {
   for (unsigned i = 0; i < 1000 * 1000 * 1000; i++)
      asmVolatile("nop");
}

If that changes the outcome and poweroff really succeed on the same machine where previously it didn't, then I'll agree to investigate why AcpiOsStall() does not work as expected in that specific context and will fix it as well. Otherwise, it doesn't make sense to spend time improving the handling of an error-case given that the main code path won't work anyways. Of course, if you believe you'll have fun debugging the problem by yourself and proposing a fix, I would appreciate that.
Anyway, I have to ask again the same question of above: can you really reproduce a problem with poweroff on QEMU? Does QEMU in any case hang instead of powering off the machine and closing the window? I'm really curious to know how you got the QEMU screenshot you attached here. I expect at least on QEMU poweroff to work in 100% of the cases, because it's impossible for me to test Tilck on all the HW machines, but at least on QEMU where the (virtual) machine should be always the same, Tilck must behave correctly. In case it doesn't, I'll fix the bug, if you give me enough context to reproduce it.
Thanks,
Vlad

@duselguy Btw, I spent a few minutes taking a look at delay_us(). It turns about that the function doesn't work simply because it has not been designed to work for too big values for of us. If the value is too big (e.g. 10 seconds = 10 million microseconds), when us is multiplied by loops_per_us, the unsigned wraps around, so we end up waiting way less than 10 seconds.
I'll add some ASSERTs and fix AcpiOsStall() to work. I'll fix this just because it's extremely simple. But, it was a (missed) good opportunity for you to spend some time debugging and discover the problem by yourself.

It took me longer yesterday to figure out the same thing. An open issue doesn't mean I've stopped working on it. Or do you prefer that the issue can only be opened when the issuer has already found (and code) a solution? Not sure if this is the correct approach.
In any case, my solution cannot be better than the author's solution. Thanks for the fix, I'll check it today later.
Regards,
Vladimir

If you have a patch for a bug, please open a pull request instead of an issue. Issues are for the case you just discovered a bug and don’t know how to fix it. Ultimately, only if enough people start contributing to the project by fixing bugs and implementing features, the project will have a chance to become something more than a toy.
Anyway, could you tell me how how did you reproduce an issue with poweroff on qemu?

I didn't have the patch, I only saw a possible problem in the loops count.
The reproducing doesn't depend from QEMU/HW. Simply: issue message, sleep 10 seconds, issue message (as I described in my previous comments above).

OK, no worries ;-)
Aha. So it's not true that poweroff hanged the machine. You just did a screenshot at the right time or put the sleep call before the actual poweroff call (AcpiHwWritePm1Control()).

Sleep function is ok now.
Power/Led problem from the issue #99 still exists - continue investigation.
Thanks,
Vladimir