[Spark-22360][SQL] Add unit tests for Window Specifications

What changes were proposed in this pull request?
Improve the test coverage of window specifications.
New tests cover basic cases more systematically in DataFrameWindowFunctionsSuite:

different partition clauses (none, one, multiple)
different order clauses (none, one, multiple, asc/desc, nulls first/last)
defaults if clauses are missing

New tests were added to cover some more complex cases when partitionBy or orderBy uses expressions.
ExpressionParserSuite.'window function expressions' was also extended to check parsing of some additional window expressions.
How was this patch tested?
Only new tests were added, automated tests were executed.

Can one of the admins verify this patch?

Jenkins, ok to test

Test build #85277 has started for PR 20045 at commit 797c907.

Test build #85277 has finished for PR 20045 at commit 797c907.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/85277/
Test FAILed.

failure seems to be unrelated ...
Jenkins, retest this please

Test build #4023 has started for PR 20045 at commit 797c907.

Test build #4023 has finished for PR 20045 at commit 797c907.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

I think I've addressed all your points @jiangxb1987.
Do you think I need any more changes?

Sorry for the delay, I'll check the results later this week.

ping @jiangxb1987

ping @jiangxb1987

Can we add them to the file based test suites instead?

Can one of the admins verify this patch?

ok to test

gentle ping @smurakozi

Test build #93049 has finished for PR 20045 at commit 5feb4f7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/93049/
Test PASSed.

Do you still need this, @jiangxb1987 ? Also, gentle ping, @smurakozi .

I'm pretty sure @smurakozi will not finish this PR.

Closing due to inactivity here.


TextField clear button

i can not switch on the clear button as autocomplete

Can you provide more information about your problem and give an example?

the component Autocomplete has button to clear and its show when hover. but the component TextField not have button to clear its input field. i need button to clear input field of TextField as Autocomplete.

example pictures / Autocomplete has button to clear around red.

TextField not have button to clear  (around red expty).

in one picture

Ok, got it but you probably miss the point from where input stands from an HTML specification perspective.
In HTML you got input types like text, search https://www.w3schools.com/code/tryit.asp?filename=GT9HP909NMYW

If you type something in the search input you get what you want (on hover clear button)

The same applies for material UI components when you pass inputProps with a type search for now.
https://codesandbox.io/s/basictextfields-material-demo-forked-wnyel?file=/demo.tsx

Of course, this example uses a native browser.
So overall it would be a great enchantment to create like a clearable prop or you can add it yourself like in material UI docs https://next.material-ui.com/components/text-fields/#input-adornments similar to password example.

thanl You for support. but i can not to see any button on this

I am testing this in chrome you?

in crome its work. but i need also in firefoxe

an old issue https://github.com/mui-org/material-ui-pickers/issues/1156 and working solution with only additional code https://codesandbox.io/s/material-ui-pickers-usage-demo-2vnf5?file=/src/App.jsx

i need in textfield

ok so implement it in TextField https://codesandbox.io/s/material-ui-pickers-usage-demo-forked-jfmuw?file=/src/App.jsx

i do example but onclick is bad

thank You. but its do not clear the input.

i changed it and its work. setValue('') . thank You.

great success!


[Bug]: Python - SQL Transform fails with only one named PCollection

What happened?
Description:
When attempting to execute a SQL query on a PCollection named 'data1', the following error occurs:
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.sql.validate.SqlValidatorException: Object 'data1' not found

Steps to Reproduce:

Initialize an Apache Beam pipeline.
Create a PCollection named 'data1' using the beam.Create and beam.Map transforms.
Attempt to execute a SQL query "SELECT * FROM data1" on the 'data1' PCollection using the SqlTransform transform.
Run the pipeline.

Expected Behavior:
The pipeline should execute the SQL query successfully on the 'data1' PCollection without errors.
Actual Behavior:
The pipeline throws an error when attempting to execute the SQL query, stating that the object 'data1' is not found.
Error Stack Trace:
RuntimeError: org.apache.beam.sdk.extensions.sql.impl.ParseException: Unable to parse query SELECT * FROM data1
    ...
Caused by: org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.tools.ValidationException: org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.runtime.CalciteContextException: From line 1, column 15 to line 1, column 19: Object 'data1' not found
    ...

Additional Observations:

When passing a dictionary containing both 'data1' and another PCollection named 'data2' to the same SQL query, the code runs successfully.
Output is generated as expected with no errors in this scenario.

Code Snippets:
Error-causing code snippet:
p = apache_beam.Pipeline()
data1 = p | "Create data1" >> beam.Create(['a']) | beam.Map(lambda x: beam.Row(a='a'))
{'data1': data1} | SqlTransform("SELECT * FROM data1") | beam.Map(print)
p.run()

Successful code snippets:

Adding another unused pCollection -

p = apache_beam.Pipeline()
data1 = p | "Create data1" >> beam.Create(['a']) | beam.Map(lambda x: beam.Row(a='a'))
data2 = p | "Create data2" >> beam.Create(['b']) | beam.Map(lambda x: beam.Row(b='b'))
{'data1': data1, 'data2': data2} | SqlTransform("SELECT * FROM data1") | beam.Map(print)
p.run()

Replacing data1 with PCOLLECTION, in the SQL query -

p = apache_beam.Pipeline()
data1 = p | "Create data1" >> beam.Create(['a']) | beam.Map(lambda x: beam.Row(a='a'))
{'data1': data1} | SqlTransform("SELECT * FROM PCOLLECTION") | beam.Map(print)
p.run()

Environment:

Apache Beam version: 2.53.0
Operating System: macOS 14.3 (M1 chip)
Python version: 3.11.7

Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components

[X] Component: Python SDK
[ ] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam YAML
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[X] Component: Google Cloud Dataflow Runner

It is a bit strange. But by checking https://github.com/apache/beam/blob/master/sdks/python/apache_beam/transforms/sql_test.py#L119, tagged pcolls are for joining. If you only have one pcoll for your sql, you should just use PCOLLECTION in the sql query.
So this works:
import apache_beam as beam
from apache_beam.transforms.sql import SqlTransform

p = beam.Pipeline()
data1 = p | "Create data1" >> beam.Create(["a"]) | beam.Map(lambda x: beam.Row(a="a"))
{"data1": data1} | SqlTransform("SELECT * FROM PCOLLECTION") | beam.Map(print)
p.run()

or
p = beam.Pipeline()
data1 = p | "Create data1" >> beam.Create(["a"]) | beam.Map(lambda x: beam.Row(a="a"))
data1 | SqlTransform("SELECT * FROM PCOLLECTION") | beam.Map(print)
p.run()


Change from a mock server to live OData service for TechEd

Step 6 : "Change the word ToysSet to Sets in line 18."
Line number is wrong. Should be line 11.

https://developers.sap.com/tutorials/pre-teched-2018-webide-odata.html

Thanks for reporting this @kavishdahekar

You're welcome @qmacro :)


non exhaustive typo and spelling corrections

just a small contribution - hope to be able to contribute more in the future.

Hi @brianteeman,
Thank you again for you MR.
Can you please fix a small thing in the review (unwanted uppercase OCCURRENCES) and also remove/revert changes in changelog.md from MR? Changelog is generated automatically from the commit messages and would be overwritten in the next version.

updated as requested


Some changes and a question

Under atomic installation the second sentence reads "Uptane does not provide a way to guarantee atomic installations because the problem is out of its scope." What "problem" is this referring to? It seems to me that this is just a security option, but no problem has been defined.
Some of these corrections may be a bit nit-picky, which is why I'm doing this entire review as a pull request.

Oops...created new PR by accident. Will try to put the rest of these changes on this PR.


useFetch method patch is not work

Environment
Nuxi 3.2.2
Nitro 2.2.3
Nodejs:19.6.0
Reproduction
I build a repo to Test this bug.
https://github.com/weiyidechicheng/TestPatch.git
Describe the bug
// app.vue
<template>
  <div>
    <button @click="upd">Test Patch</button>
  </div>
</template>

<script setup lang="ts">
const upd = async () => {
  const fileInfo = {
    name: 'testfile',
    ext: '.docx',
    size: 1024,
    sha1: 'B4C8BE74F084A2CE432654DA027419E8FAF7740B'
  }
  const { data, error, pending, refresh } = await useFetch('api/file/1', { method: 'patch', body: fileInfo })
  console.log('data', data)
  console.log('error', error)
  console.log('pending', pending)
  console.log('refresh', refresh)
}
</script>

// nuxt.config.ts
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
  vite: {
    server: {
      proxy: {
        "/api": {
          target: "http://biaozhun.online:88",
          changeOrigin: true,
          rewrite: path => path.replace(/^\/api/, ""),
        },
      },
    },
  },
})

when i click "Test Patch" button, the console will show:"400 Bad request"，but the api is work well in ApiPost.
I think the problem is the body of the request, but i don't know how to fix it.
Additional context
No response
Logs
No response

Hey,
Could you create a reproduction in Stackblitz? Looking at the code I do not know what the issue can be

Hey,
Could you create a reproduction in Stackblitz? Looking at the code I do not know what the issue can be

I'll try it. I haven't used Stackblitz

Hey,
Could you create a reproduction in Stackblitz? Looking at the code I do not know what the issue can be

I create a reproduction in Stackblitz，but i this bug should reappear in browser console, i don't know hov to show browser  console in Stackblitz, and it seems not work well in Stackblitz.so i suggest you test this repo in vs code.
https://stackblitz.com/edit/nuxt-starter-wldbqb

useFetch, useLazyFetch, useAsyncData and useLazyAsyncData only work during setup or Lifecycle Hooks. So please use $fetch.

useFetch, useLazyFetch, useAsyncData and useLazyAsyncData only work during setup or Lifecycle Hooks. So please use $fetch.

I have use it during setup, and i just write 50 lines code in the test repo, but it just not work, the api work well in ApiPost.
https://github.com/weiyidechicheng/TestPatch.git
400 Bad request

work well or 401 Unauthorized(when have no token,this is right)

You seem to have used useFetch in the  "upd" method, not during setup or lifecycle.
And perhaps vite server proxy only works in development ?
using server routes will be fine instead.
<template>
<button @click="someMethod">btn</button>
</template>

<script lang="ts" setup>

// during setup
const { data, error, pending, refresh } =  await useFetch('/api/someurl/', { method: 'GET' });

onMounted(async () => {
    // mounted lifecyle
    const { data, error, pending, refresh } =  await useFetch('/api/someurl/', { method: 'GET' });
});

const someMethod = async () => {
    // in the method
    const data = await $fetch('/api/someurl/', { method: 'GET' });
}

</script>

I don't think so, in my real projects,i declare many function as like this. This function always use useFetch with different "method" post/get/patch/delete, only "patch" is not work,  post/get/delete work very well, so i think it is bug.

You seem to have used useFetch in the "upd" method, not during setup or lifecycle.
And perhaps vite server proxy only works in development ? using server routes will be fine instead.
<template>
<button @click="someMethod">btn</button>
</template>

<script lang="ts" setup>

// during setup
const { data, error, pending, refresh } =  await useFetch('/api/someurl/', { method: 'GET' });

onMounted(async () => {
    // mounted lifecyle
    const { data, error, pending, refresh } =  await useFetch('/api/someurl/', { method: 'GET' });
});

const someMethod = async () => {
    // in the method
    const data = await $fetch('/api/someurl/', { method: 'GET' });
}

</script>

I don't think so, in my real projects,i declare many function as like this. This function always use useFetch with different "method" post/get/patch/delete, only "patch" is not work, post/get/delete work very well, so i think it is bug.

This is indeed a bug. I faced it some time ago but didn't find the time to open the issue.
The problem is that Nuxt useFetch and $fetch understand both post and POST as the method, but for patch requests, they only understand PATCH, although the typings don't suggest so.
The temporary solution would be to replace patch with PATCH, but it needs to be fixed.

This is indeed a bug. I faced it some time ago but didn't find the time to open the issue. The problem is that Nuxt useFetch and $fetch understand both post and POST as the method, but for patch requests, they only understand PATCH, although the typings don't suggest so. The temporary solution would be to replace patch with PATCH, but it needs to be fixed.

Thank you! you are right. I can definitely show that this is a bug. Like you say, just when I replace patch with PATCH, my program work very well.

This is not a bug in Nuxt but rather an unusual detail in the HTTP spec - patch is the only HTTP method that is not normalised to all caps: https://github.com/github/fetch/issues/37#issuecomment-64010454. If your API requires it to be all caps, then you need to do that yourself.

In my case, my API was created using Nuxt itself. When I'm using useFetch or $fetch, Typescript typings suggest that I can put both PATCH and patch as the method, but only PATCH works. This in the best case is misleading and it definitely needs to be fixed in someway, at least the typings.


[Feature] Update GrantPermissions.ps1 to check for versions

We could leverage the GrantPermissions.ps1 script to do two things:

Check the version of script and pause if a new version exists
Check the versions installed for each module and reports available updates

I think that's out of scope of the solution. I am thinking of closing this.


Feature add css

First draft of the CSS - do not merge with the master yet...
Works with Chrome, 100% zoom, no resizing yet


RangeError: Index out of range error

I am getting below error while uploading the apk.
RangeError: Index out of range
 at checkOffset (buffer.js:968:11)
 at Buffer.readUInt16LE (buffer.js:1014:5)
 at BinaryXmlParser.readU16 (/home/travis/.nvm/versions/node/v8.7.0/lib/node_modules/playup/node_modules/node-apk-

I got the same issue, did you manage to get this fixed @kevalpatel2106 ?

@dmastag Nope.

I found out that this issue for me happened when I was using cordova 6.4.0
So I had to downgrade to 6.3.0 and its now working again
Hope that helps of you are using cordova also

we fixed this issue by replacing node-apk-parser with adbkit-apkreader in our fork

@Makatumba  Am gonna keep an eye on the Merge Request, hope you can check why the tests are failing so it will be merged

+1

@Makatumba , is your fork public?


[KafkaSource] Use control protocol to share parts of the contract

Proposed Changes

🎁 This allows to reconfigure the consumer group name, the bootstrap servers, the topic and the key deserializer without redeploying the adapter, nor recreating a new kafka source:

Now the spec fields of kafka source are mutable
Using the control protocol to send the contract of the source

🧽 Refactor of the adapter to fit the new commands
🧽 Improved coverage of adapter to > 80%

Release Note

🎁 Now you can reconfigure the consumer group name, the bootstrap servers, the topic and the key deserializer without redeploying the adapter, nor recreating a new kafka source

Docs

Can you think of a way to decouple the control protocol from the st adapter?
In my mind, there should be 3 components:

a shared single adapter support starting and stopping operations
a top-level single adapter leveraging both the share single adapter and the control protocol
a multi-tenant adapter leveraging the shared single adapter (and eventually the control protocol)

Keep in mind that the contract between the adapter and control plane is different whether it is handled by the single-tenant controller vs the multi-tenant one (e.g since the multi-tenant contract contains placements).
One thing I didn't see is how the adapter state gets restored when restarting. I know it's WIP, the code to do this might be missing in the controller (missing pod event handler?).

One thing I didn't see is how the adapter state gets restored when restarting. I know it's WIP, the code to do this might be missing in the controller (missing pod event handler?).

Yep probably that's the missing thing (I recall I had to add it in the prototype)

/retest

/cc @matzew @lionelvillard
Do you wanna check it out? I've added proper testing (and meanwhile improved coverage of the adapter) and splitted the adapter in the adapter and controlled_adapter. The former is used by both mtadapter (multi tenant kafka source) and controller_adapter, while the latter is used by the single tenant kafka source.

/close
seems outdated ... feel free to reopen


Add SOCKS support

Would you consider adding SOCKS support, with a TCP listener, {rather than,as well as} tunnelling over websockets?
In a way, that actually simplifies the processing, because there is less encapsulation required. On accept on the named pipe, open a connection back to your own TCP listener, via the specified SOCKS server. Copy bytes received in either direction. Close the connection if either the named pipe or the TCP connection is closed. This could even be used to discriminate between concurrent connections to the named pipe, by using a random TCP port to listen on for each incoming named pipe connection. The port would then be specified in the SOCKS connection negotiation.
This would make it trivial to support tools such as Mallet (https://github.com/SensePost/Mallet), which can then be used to decode the protocol in use. (From the screenshots, I can see that even the Docker protocol has some binary encoding going on).

Hi @RoganDawes ,
Thanks for your comment!
I will definitely look into it. In the beginning I thought of using HTTP POST requests, but I decided to go with WebSockets since they provide full-duplex. I didn't think about TCP through a SOCKS proxy, sounds like a good option.

You could also support HTTP CONNECT, I suspect that there is not much difference in the implementation effort. While Mallet doesn't have current support for CONNECT proxies, it would be pretty trivial to add it.


Update Java SDK for latest proto for 0.8 and bidirectional binding

Expected Behavior
Java SDK should work with the master branch planned for release 0.8.
Actual Behavior
Latest proto are not backwards compatible with this SDK.
Binding's API is not backwards compatible with this SDK.
Steps to Reproduce the Problem
Try to use this SDK with the latest master from dapr-cli and dapr.

@artursouza @mukundansundar are you working on this?

I am working on it today.

Please, take a look at the PR above.


Emphasize that there is no user-facing Otel Logs API

/fix:format

/fix:all

/fix:all

@tigrannajaryan please take a look at my copy edits, if they are OK with you. If so this is ready to be merged.

@tigrannajaryan please take a look at my copy edits, if they are OK with you. If so this is ready to be merged.

Looks good to me, thanks. Let's merge and we can improve further in a future PR.


报错 Error: the object capabilities

系统环境：
docker version
Client: Docker Engine - Community
 Version:           20.10.1

docker-compose.yml 内容：

# To start Docker in Swarm mode, you need to run `docker swarm init`
# To deploy the Grid, `docker stack deploy -c docker-compose.yml grid`
# Stop with `docker stack rm grid`

version: '3.7'

services:
  hub:
   image: selenium/hub:3.141.59
   environment:
    TZ: Asia/Shanghai
    JAVA_OPTS: -Xmx8192m
    POOL_MAX: 30000
    GRID_NEW_SESSION_WAIT_TIMEOUT: -1
    GRID_JETTY_MAX_THREADS: -1
    GRID_NODE_POLLING: 5000
    GRID_CLEAN_UP_CYCLE: 5000
    GRID_TIMEOUT: 120
    GRID_BROWSER_TIMEOUT: 120
    GRID_MAX_SESSION: 18000
    GRID_UNREGISTER_IF_STILL_DOWN_AFTER: 120
    GRID_DEBUG: "true"
   ports:
     - "4444:4444"

  chrome:
    image:  selenium/node-chrome:3.141.59
    volumes:
      - /dev/shm:/dev/shm
    environment:
      HUB_HOST: hub
      HUB_PORT: 4444
    deploy:
        replicas: 10
    entrypoint: bash -c 'SE_OPTS="-host $$HOSTNAME" /opt/bin/entry_point.sh'

报错：
commons/start_mode/start_mode_Inte : chrome
    1) "before all" hook
    2) "after all" hook

  0 passing (724ms)
  2 failing

  1) commons/start_mode/start_mode_Inte : chrome
       "before all" hook:
     Error: the object {
  "capabilities": {
    "acceptInsecureCerts": false
    "browserName": "chrome"
    "browserVersion": "88.0.4324.96"
    "chrome": {
      "chromedriverVersion": "88.0.4324.96 (68dba2d8a0b149a1d3afac56fa74648032bcf46b-refs/b
      "userDataDir": "/tmp/.com.google.Chrome.baFK1C"
    }
    "goog:chromeOptions": {
      "debuggerAddress": "localhost:41536"
    }
    "networkConnectionEnabled": false
    "pageLoadStrategy": "normal"
    "platformName": "linux"
    "proxy": {}
    "setWindowRect": true
    "strictFileInteractability": false
    "timeouts": {
      "implicit": 0
      "pageLoad": 300000
      "script": 30000
    }
    "unhandledPromptBehavior": "dismiss and notify"
    "webauthn:extension:largeBlob": true
    "webauthn:virtualAuthenticators": true
    "webdriver.remote.sessionid": "490f0dca7efedf7a4e8d7f537d5980b1"
  }
  "sessionId": "490f0dca7efedf7a4e8d7f537d5980b1"
} was thrown, throw an Error :)
      at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:189:7)

I have a similar issue. Any solution for that? Issue started with selenium 3.141.59. Everything works fine on 3.141.5.


Added Firmware Password section

Setting a Firmware password prevents starting up from other disks/devices without a password, which is essential for a secure machine.

Thank you for the PR. This looks good. It's worth noting that  a firmware password does not deter all physical attacks (e.g., https://trmm.net/Thunderstrike_FAQ#Does_a_firmware_password_prevent_this_attack.3F) but it's still good to mention.


Add support for toei-animation.com

[x] I've verified and I assure that I'm running youtube-dl 2<IP_ADDRESS>
[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Site support request (request for adding support for a new site)

Description of your issue, suggested solution and other information
Please add support for toei-animation.com. Example URL: http://www.toei-animation.com/en/catalog/master_hamsters

http://www.toei-animation.com/files/videos/Master_Hamsters_eng.flv
any others? the site only has about 20 trailers and most aren't intersting


Show disabled feedback when dragging views to other viewlets

It is possible to visually drag an explorer to another viewlet, but when you drop it, nothing happens.
open the debug viewlet
click, hold, and drag the watch explorer sash to the search viewlet icon on the activity bar and hold it there for a couple of seconds
the search viewlet will appear
drop the explorer on the search viewlet
result: nothing happens
expected: the explorer should be in the search viewlet
This is a little more interesting when dragging/dropping custom explorers. for example, dragging the docker explorer to another viewlet.

@chrisdias it would be great if you assign the issue to the owner of the testplan so that the bot does not need to guess. Thanks

I do not think we support moving views from one view container (activity bar entry) to another. We should show some feedback that it is not droppable.

@sbatten Closing this as we support moving views across locations with feedback.


RTL Support

I want to know what is the status of the RTL support?

That's a great idea! We can definitely add RTL support and include it in our next release.

Do you have an idea about when the next release is going to be?
Is there any work around could be done now?

I'm curious what specific issues you are having with designing for RTL languages? Are there specific styles or components that look bad when you use the direction property? (Reference: https://developer.mozilla.org/en-US/docs/Web/CSS/direction)

Fix has been committed, will go out in a minor release tonight.


CLI: document noteworthy environment variables in --help output

Caveat: I didn't find a way to format Environment as a proper header (next_help_heading does not seem to after_help).

...but I think it's RUST_MIN_STACK, not RUST_MIN_SIZE. Isn't it?

On Sun, Apr 14, 2024 at 09:25:59PM -0700, Sebastiano Vigna wrote:

...but I think it's RUST_MIN_STACK, not RUST_MIN_SIZE. Isn't it?

Oopsie, that was a braino on my part.
I've fixed it now in 931d3fe06eae0e59a82a7e7ca10962498c43bfcb
Thanks for noticing!


"[Errno 2] No such file or directory"

I'm getting this error when I try to run Sass Beautify on Sublime Text 2 on a Mac running Yosemite. I have SASS installed.

Are you using RVM or rbenv?

Nope.

Hmm, it should just work with a default ruby install on OSX, although I haven tested this plugin in ST2 in a while.
Can you run the following in Terminal and paste the output here: which sass

Have the same problem here.

Can you run the following in Terminal and paste the output here: which sass

I'm having the same issue. which sass returns /Users/mps/.gem/ruby/2.1.3/bin/sass. Tried setting this as the gemPath in settings, but still getting the error.

Ah - we solved it by following your instructions here!

I've followed the echo $PATH instructions and so forth, but I'm getting this error when I try and run SassBeautify:
There was an error beautifying your Sass:

rbenv: sass-convert: command not found

The `sass-convert' command exists in these Ruby versions:
  2.1.4

Here are my various paths:
which sass: /usr/local/var/rbenv/shims/sass
which ruby: /usr/local/var/rbenv/shims/ruby
which sass-convert: /usr/local/var/rbenv/shims/sass-convert
echo $PATH: /usr/local/heroku/bin:/usr/local/var/rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin
echo $GEM_PATH: [blank]
What am I doing wrong?

I also have a blank $GEM_PATH.
I don't know how to proceed.

I am having the same issue.

Worked for me:
Under Preferences > Package Settings > SassBeautify > Settings – User add this:
{
	"path": "/usr/local/bin",
}

Thanks @felixprojekt , this work for me also. #YoBoyz

How to find this Path (Under Preferences > Package Settings > SassBeautify > Settings), Can some one explain

check in the top menu of sublime.
Best Regards,
Kiran Kadam | UI Team Lead
[image: Inline image 1]
| www.iksula.com | 702, B Wing, Mangalya Building | Off. Marol Maroshi
Road, Marol, Andheri (East), Mumbai - 400 059
On Thu, Nov 23, 2017 at 2:05 PM, sunilpujar<EMAIL_ADDRESS>wrote:

How to find this Path (Under Preferences > Package Settings > SassBeautify

Settings), Can some one explain

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/badsyntax/SassBeautify/issues/73#issuecomment-346556561,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGneOE3ZHA3Qd4u6NgmclwoPIqCQWyY5ks5s5S5HgaJpZM4Dbna6
.

@sunilpujar it is actually under Sublime Text > Preferences > ...


Added setting of ignoring newline characters

Added setting to ignore newline characters.
'\n' and '\r' are not counted if the setting is valid.

Hey @TetsuyaNegishi
Thank you very much for this PR. I was not aware that the plugin does count newline characters. I would rather consider this a bug 🐜 then a feature request. This I wanted to ask if you could remove the setting and implement this change right away.
Thanks for your help!

I deleted the setting and changed it to ignore the newline character at all times!

Thank you very much! Looks good to me. Let get this fella out 🚢

released with 2.10.4


Drop uneeded files and add extra label

Stuff under dmidecode is part of the register command.
Also drops some old sutff unused from the ros-installer
Signed-off-by: Itxaka<EMAIL_ADDRESS>

Codecov Report

Merging #135 (e14fa86) into main (f170a1a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #135   +/-   ##
=======================================
  Coverage   28.53%   28.53%
=======================================
  Files           5        5
  Lines         368      368
=======================================
  Hits          105      105
  Misses        259      259
  Partials        4        4

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Generate Jazzy docs

Host the docs on GitHub pages

https://github.com/pusher/push-notifications-server-swift/issues/3


Support fractional threshold

Dear all,
I wonder can we support the fractional threshold number for uv index? Since the openweather does provide an index up to two decimal places. In my area (Vancouver, Canada), day time uv index can be range from 0.1 to 3. And even at 1, it is still very bright outside (I'm living in high rise also). Like UVI goes to 1 at around 3pm in summer while the sun is still high up (you can check the openweathermap). I want to trigger an automation to turn my light on when going dark but the current threshold will not work.
Thank you.

I can submit a merge request to convert the uvi to floating point. But I wonder if Eve can support it as I have little knowledge on Eve.

Open to a merge request


Feature request: support near as single chained search expression

Following up on the great work on https://github.com/hapifhir/hapi-fhir/pull/4687 https://github.com/hapifhir/hapi-fhir/issues/4650 https://github.com/hapifhir/hapi-fhir/pull/4633 it would be SO neat if the following queries could be supported:
/fhir/PractitionerRole?location.near=47.3686498|8.5391825|16.0|km&practitioner.name=Irene&_include=PractitionerRole:location&_include=PractitionerRole:practitioner&_sort=location.near

Expected response would be like the following:
{
  "entry": [
    {
      "resource": {
        "resourceType": "PractitionerRole",
        "id": "1",
        "practitioner": {
          "reference": "Practitioner/2"
        },
        "location": [
          {
            "reference": "Location/3"
          }
        ]
      },
      "search": {
        "mode": "match"
      }
    },
    {
      "resource": {
        "resourceType": "Location",
        "id": "3",
        "name": "Praxis Irene",
        "address": {
          "line": [
            "Dorfstrasse 78"
          ],
          "city": "Meilen",
          "district": "ZH",
          "postalCode": "8706",
          "country": "CH"
        },
        "position": {
          "longitude": 8.6424,
          "latitude": 47.2697
        }
      },
      "search": {
        "mode": "include"
      }
    },
    {
      "resource": {
        "resourceType": "Practitioner",
        "id": "2",
        "name": [
          {
            "family": "Test",
            "given": [
              "Irene"
            ]
          }
        ],
        "telecom": [
          {
            "system": "email",
            "value"<EMAIL_ADDRESS>          }
        ]
      },
      "search": {
        "mode": "include"
      }
    }
  ]
}


Issue with using encrypted connections

Regular unencrypted connections work. However, both using SSL and StartTLS fails.
This is the error that is shown in the log:
DEBUG: ldapAuth: 2024/03/14 10:53:07 restricted.go:52: [LDAP Result Code 200 "Network Error": TLS handshake failed (remote error: tls: handshake failure)]
For SSL I used ldaps:// instead of ldap and port 636
I am running traefik with the official docker image: traefik:v2.11.0
I was able to install ldapsearch and succesfully connect using SSL and StartTLS in the docker image.
This is the current configuration I'm trying to use with the yml dynamic file provider:
http:
  middlewares:
    ldap_auth:
      plugin:
        ldapAuth:
          Enabled: true
          LogLevel: "DEBUG"
          Url: "ldap://mydomain.example"
          Port: 389
          StartTLS: true
          insecureSkipVerify: true
          BaseDN: "dc=company,dc=local"
          Attribute: "uid"
          BindDN: "cn=read,dc=company,dc=local"
          BindPassword: "<password>"
          SearchFilter: (\{\{.Attribute\}\}=\{\{.Username\}\})

Feel free to ask for more debugging information.

Hi, @sasjafor
There is an example for TLS connection in the docs.
If you don't have a CA certificate to provide you can also use insecureSkipVerify.
Please provide all ldapAuth's debug logs if you still have issues.

@sasjafor
By default, the ldapAuth plugin uses TLS 1.2 and TLS 1.3 as min and max versions.
You could check what versions your LDAP server supports using
nmap --script ssl-enum-ciphers -p 636 yourDomain.example

If your LDAP only supports TLS 1.1 or TLS 1.0 you could use the minVersionTLS option to set the right value.
Let me know if this works for you.

Hello @wiltonsr
Thank you for the quick replies.
I just checked and the server supports TLS 1.0, 1.1 and 1.2. so I think we can rule that out.
I have already tried following the example and it worked without TLS. When I enabled TLS by using ldaps and port 636 it stopped working. I dropped StartTLS: true from my config now as I learnt that actually it's recommended to use port 636 with proper TLS instead of startTLS over the regular port.
I tried the following ldapsearch command in the traefik docker container:
ldapsearch -s base -D "cn=read,dc=company,dc=local" -w <censored> -H "ldaps://mydomain.example:636" -P 3 -LLL -b "ou=groups,dc=company,dc=local"

That worked and gave me the following output as expected:
dn: ou=groups,dc=company,dc=local
ou: groups
objectClass: organizationalUnit
objectClass: top

Here is the censored log:
INFO: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: Starting ldap_auth@file Middleware...
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: Enabled => 'true'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: LogLevel => 'DEBUG'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: URL => 'ldaps://mydomain.example'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: Port => '636'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: CacheTimeout => '300'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: CacheCookieName => 'ldapAuth_session_token'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: CacheCookiePath => ''
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: CacheCookieSecure => 'false'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: CacheKey => 'super-secret-key'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: StartTLS => 'false'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: CertificateAuthority => ''
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: InsecureSkipVerify => 'true'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: Attribute => 'uid'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: SearchFilter => '(\{\{.Attribute\}\}=\{\{.Username\}\})'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: BaseDN => 'dc=company,dc=local'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: BindDN => 'cn=read,dc=company,dc=local'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: BindPassword => '<censored>'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: ForwardUsername => 'true'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: ForwardUsernameHeader => 'Username'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: ForwardAuthorization => 'false'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: ForwardExtraLdapHeaders => 'false'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: WWWAuthenticateHeader => 'true'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: WWWAuthenticateHeaderRealm => ''
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: EnableNestedGroupFilter => 'false'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: AllowedGroups => '[]'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: AllowedUsers => '[]'
DEBUG: ldapAuth: 2024/03/14 12:46:32 restricted.go:51: Username => ''
DEBUG: ldapAuth: 2024/03/14 12:46:42 restricted.go:51: Session details: &{ map[] 0xc003aad0c0 true {0xc0034aca00 {0xc00370b580 0xc003ab0308 406}} ldapAuth_session_token}
DEBUG: ldapAuth: 2024/03/14 12:46:42 restricted.go:52: [no valid 'Authorization: Basic xxxx' header found in request]
DEBUG: ldapAuth: 2024/03/14 12:46:51 restricted.go:51: Session details: &{ map[] 0xc0039a3b00 true {0xc0034aca00 {0xc00370b580 0xc003a19338 406}} ldapAuth_session_token}
DEBUG: ldapAuth: 2024/03/14 12:46:51 restricted.go:52: No session found! Trying to authenticate in LDAP
DEBUG: ldapAuth: 2024/03/14 12:46:51 restricted.go:51: Connect Address: 'ldaps://mydomain.example:636'
DEBUG: ldapAuth: 2024/03/14 12:46:51 restricted.go:52: [LDAP Result Code 200 "Network Error": remote error: tls: handshake failure]

Could you provide the nmap output command? It could be a cipher suite problem.

Sure, here you go. I only replaced the domain and removed the IP of the server:
~ nmap --script ssl-enum-ciphers -p 636 mydomain.example
Starting Nmap 7.80 ( https://nmap.org ) at 2024-03-15 07:38 CET
Nmap scan report for mydomain.example (<censored>)
Host is up (0.013s latency).

PORT    STATE SERVICE
636/tcp open  ldapssl
| ssl-enum-ciphers:
|   SSLv3:
|     ciphers:
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 4096) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 4096) - A
|       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 4096) - A
|       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 4096) - A
|     compressors:
|       NULL
|     cipher preference: client
|     warnings:
|       CBC-mode cipher in SSLv3 (CVE-2014-3566)
|       Forward Secrecy not supported by any cipher
|   TLSv1.0:
|     ciphers:
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 4096) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 4096) - A
|       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 4096) - A
|       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 4096) - A
|     compressors:
|       NULL
|     cipher preference: client
|     warnings:
|       Forward Secrecy not supported by any cipher
|   TLSv1.1:
|     ciphers:
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 4096) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 4096) - A
|       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 4096) - A
|       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 4096) - A
|     compressors:
|       NULL
|     cipher preference: client
|     warnings:
|       Forward Secrecy not supported by any cipher
|   TLSv1.2:
|     ciphers:
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 4096) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 4096) - A
|       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 4096) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 4096) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 4096) - A
|       TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 4096) - A
|       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 4096) - A
|       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 4096) - A
|     compressors:
|       NULL
|     cipher preference: client
|     warnings:
|       Forward Secrecy not supported by any cipher
|_  least strength: A

Nmap done: 1 IP address (1 host up) scanned in 0.63 seconds

I tested connecting to the public ipa.demo1.freeipa.org from your example. That works with TLS. I ran the nmap command there as well:
$ nmap --script ssl-enum-ciphers -p 636 ipa.demo1.freeipa.org
Starting Nmap 7.80 ( https://nmap.org ) at 2024-03-15 08:36 CET
Nmap scan report for ipa.demo1.freeipa.org (<IP_ADDRESS>)
Host is up (0.011s latency).
rDNS record for <IP_ADDRESS>: ec2-52-57-162-88.eu-central-1.compute.amazonaws.com

PORT    STATE SERVICE
636/tcp open  ldapssl
| ssl-enum-ciphers:
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A
|       TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (ecdh_x25519) - A
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (ecdh_x25519) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (ecdh_x25519) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (ecdh_x25519) - A
|       TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A
|       TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (dh 2048) - A
|       TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 2048) - A
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 2048) - A
|       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|_  least strength: A

Nmap done: 1 IP address (1 host up) scanned in 1.39 seconds

Apart from the differences in the ciphers I noticed that this server has cipher preference: server, whereas the server I'm trying to connect to uses cipher preference: client. Maybe that's also a clue as to why it's not working for my server.

Thanks for your reply.
It's not a cipher suite problem. Many are compatible with crypto/tls.
Unfortunately, I have no more clues on what it's the problem. However, I think the issue is unrelated to the ldapAuth plugin because we use just go-ldap/ldap/v3 that uses crypto/tls module to perform a connection.
https://github.com/wiltonsr/ldapAuth/blob/590144334bba55a99727907cd6f9a52ecd236a19/ldapauth.go#L437-L454

Apart from the differences in the ciphers I noticed that this server has cipher preference: server, whereas the server I'm trying to connect to uses cipher preference: client. Maybe that's also a clue as to why it's not working for my server.

The crypto/tls docs say this about the PreferServerCipherSuites option.

// PreferServerCipherSuites is a legacy field and has no effect.
//
// It used to control whether the server would follow the client's or the
// server's preference. Servers now select the best mutually supported
// cipher suite based on logic that takes into account inferred client
// hardware, server hardware, and security.
//
// Deprecated: PreferServerCipherSuites is ignored.
PreferServerCipherSuites bool

I recommend you test again using the v0.1.7 and setting minVersionTLS and maxVersionTLS to each of the available TLS versions in your server.
VersionTLS10
VersionTLS11
VersionTLS12

There are some reports that for some reason the server doesn't accept the TLS1.2 handshake, nor does it properly fall back to another version.
The configs would be:
...
MinVersionTLS: "tls.VersionTLS10"
MaxVersionTLS: "tls.VersionTLS10"
...

...
MinVersionTLS: "tls.VersionTLS11"
MaxVersionTLS: "tls.VersionTLS11"
...

...
MinVersionTLS: "tls.VersionTLS12"
MaxVersionTLS: "tls.VersionTLS12"
...

Another good test is to use gotlsscan tool to validate compatibility from your server with golangs's crypto/tls.
If possible, please provide the below command output:
wget https://raw.githubusercontent.com/jbardin/gotlsscan/master/main.go
go run main.go -insecure -host yourDomain.example -port 636

Thank you for all the help so far. I tried the Min and Max TLS version variables. Thank you for the quick patch on that!
Unfortunately, I got the same result on all 3 versions.

You can check how to do this in the examples folder. Just clone this repository and put your configs in examples/dynamic-conf/ldapAuth-tls-conf.yml and run with
docker-compose -f examples/conf-from-tls-yml-file.yml up
But before running, edit the ldapauth.go file and change this piece of code:
https://github.com/wiltonsr/ldapAuth/blob/590144334bba55a99727907cd6f9a52ecd236a19/ldapauth.go#L437-L443
to:
tlsCfg := &tls.Config{
  CipherSuites: []uint16{
    tls.TLS_RSA_WITH_AES_128_CBC_SHA,
  },
  InsecureSkipVerify: true,
  MinVersion:         tls.VersionTLS12,
  MaxVersion:         tls.VersionTLS12,
}

I just did that and it seems to work for connecting to my LDAP server.
I used the following command to test with
user: abc
password: abc
curl -H "Host: whoami.localhost" -H "Authorization: Basic YWJjOmFiYw==" <IP_ADDRESS>
Then it could connect, don't mind the empty result, there's no actual abc user in the directory:
traefik    | DEBUG: ldapAuth: 2024/03/15 15:29:14 restricted.go:52: No session found! Trying to authenticate in LDAP
traefik    | DEBUG: ldapAuth: 2024/03/15 15:29:14 restricted.go:51: Connect Address: 'ldaps://mydomain.example:636'
traefik    | DEBUG: ldapAuth: 2024/03/15 15:29:14 restricted.go:51: Running in Search Mode
traefik    | DEBUG: ldapAuth: 2024/03/15 15:29:14 restricted.go:51: Performing User BindDN Search
traefik    | DEBUG: ldapAuth: 2024/03/15 15:29:14 restricted.go:51: Search Filter: '(uid=abc)'
traefik    | ERROR: ldapAuth: 2024/03/15 15:29:14 restricted.go:51: search filter return empty result
traefik    | ERROR: ldapAuth: 2024/03/15 15:29:14 restricted.go:51: Authentication failed
traefik    | DEBUG: ldapAuth: 2024/03/15 15:29:14 restricted.go:52: [search filter return empty result]

However, I tried both with and without your suggested change of fixing the cipher and both worked...

Even with the following TLS config it still is able to connect
tlsCfg := &tls.Config{
		InsecureSkipVerify: false,
		MinVersion:         tls.VersionTLS12,
		MaxVersion:         tls.VersionTLS12,
	}

The only thing that was able to break it was to set tls.VersionTLS13, since the server doesn't support that.

Do you know if it would be possible to edit the go file inside the container while it's live? Then I could quickly test it in the container where I'm having the issue. I tried editing
/plugins-storage/sources/gop-342378020/src/github.com/wiltonsr/ldapAuth/ldapauth.go but that doesn't seem to respect the changes in traefik.

Even with the following TLS config it still is able to connect
tlsCfg := &tls.Config{
		InsecureSkipVerify: false,
		MinVersion:         tls.VersionTLS12,
		MaxVersion:         tls.VersionTLS12,
	}

The only thing that was able to break it was to set tls.VersionTLS13, since the server doesn't support that.

Strange, the option to set
MinVersionTLS: "tls.VersionTLS12"
MaxVersionTLS: "tls.VersionTLS12"

Should work. Could you test the plugin without changes in this same environment?

When I tested without changes it also worked on my local machine. The only place where it doesn't work is on the Nomad worker where I'm running the Traefik container.
However, there testing is a bit more difficult, since editing the ldapauth.go file directly in the container doesn't seem to load the changes. But I'll try again.

When I tested without changes it also worked on my local machine.

That's enough to validate that the problem isn't with the ldapAuth middleware.

The only place where it doesn't work is on the Nomad worker where I'm running the Traefik container.

Maybe something in this specific network is changing certificates or dropping network packets.
Please let me know if I can help you with any other questions.

Ok, thanks for the great support in debugging!

If you solve your issue, please post how to. This could help someone else.

So far, the only thing that worked was switching to a different LDAP server, sadly.


[WIP] Validate that the workflow payload is correct

Rules from ASL spec https://states-language.net/
Top-level fields

A State Machine MUST have an object field named "States", whose fields represent the states.
A State Machine MUST have a string field named "StartAt", whose value MUST exactly match one of names of the "States" fields. The interpreter starts running the the machine at the named state.

States

The state name, whose length MUST BE less than or equal to 80 Unicode characters, is the field name
State names MUST be unique within the scope of the whole state machine. (NOTE JSON.parse() only returns the last entry)
All states MUST have a "Type" field. This document refers to the values of this field as a state’s type, and to a state such as the one in the example above as a Task State.
Any state except for Choice, Succeed, and Fail MAY have a field named "End" whose value MUST be a boolean. The term "Terminal State" means a state with with { "End": true }, or a state with { "Type": "Succeed" }, or a state with { "Type": "Fail" }.

Transitions

All non-terminal states MUST have a "Next" field, except for the Choice State. The value of the "Next" field MUST exactly and case-sensitively match the name of the another state.

Timestamps

TODO These are strings which MUST conform to the RFC3339 profile of ISO 8601, with the further restrictions that an uppercase "T" character MUST be used to separate date and time, and an uppercase "Z" character MUST be present in the absence of a numeric time zone offset, for example "2016-03-14T01:59:00Z".

Data

TODO The interpreter passes data between states to perform calculations or to dynamically control the state machine’s flow. All such data MUST be expressed in JSON.
TODO As each state is executed, it receives a JSON text as input and can produce arbitrary output, which MUST be a JSON text.

Reference Paths

TODO all Reference Paths MUST be unambiguous references to a single value, array, or object (subtree).

Payload Template

TODO A Payload Template MUST be a JSON object; it has no required fields.  (I believe this is covered already)
If the field value begins with only one "$", the value MUST be a Path.
If the field value begins with "$$", the first dollar sign is stripped and the remainder MUST be a Path
TODO If the field value does not begin with "$", it MUST be an Intrinsic Function (see below)
TODO A JSON object MUST NOT have duplicate field names after fields ending with the characters ".$" are renamed to strip the ".$" suffix. (I believe this is covered already)

Intrinsic Functions

TODO An Intrinsic Function MUST be a string.
TODO The Intrinsic Function MUST begin with an Intrinsic Function name.
TODO An Intrinsic Function name MUST contain only the characters A through Z, a through z, 0 through 9, ".", and "_".
TODO The Intrinsic Function name MUST be followed immediately by a list of zero or more arguments, enclosed by "(" and ")", and separated by commas.
TODO Intrinsic Function arguments may be strings enclosed by apostrophe (') characters, numbers, null, Paths, or nested Intrinsic Functions.
TODO The following characters are reserved for all Intrinsic Functions and MUST be escaped: ' { } \

There are more...

Why is this WIP?
This is a beauty and needs to get merged stat ;)

Why is this WIP?
Maybe we should move the criteria into the parent issue? and add check boxes?

Yes I was seeing how far I could get through all of the rules but I think this is in a pretty good spot, I'll move the list to the parent issue and take this out of WIP

Okay I wanted to get the Next state checks for Choice done, have added that now

Are there any ordering issues here?  That is, are the states validated as they are being processed, and if so, could a state defined after a reference to it cause issues?  For example, I see the Choice state validates the "Default", but what if the Default state is defined after the Choice state.  I feel like that is a common layout and would have been caught in specs, but the way I'm reading the code, it feels like it could still happen?

That's why we're validating the payload rather than the parsed states objects when checking for things like "does Default exist in States"

Oh I see, so for https://github.com/ManageIQ/floe/pull/136/files#diff-76feb017cc942fa02bf72a61cb066c70342a42039ace6610b861b9de0a5463a9R52, the payload of the higher order workflow is already parsed and validated at this point.
Thanks :+1:

super-super-minor, but it makes me wonder if the method should be named validate_payload to make it clear we are validating against the raw payload.

but it makes me wonder if the method should be named validate_payload to make it clear we are validating against the raw payload.

Possibly?  I was thinking there could be a number of things that we are validating and the raw payload is just one of them though


Add connection pool settings and connection request timeout for event posts

Additions in this PR
This commit adds the following properties to HttpEventCollectorSender and consequently, to all the appenders (JUL, Logback and Log4j2):
Connection pool properties:

select interval (pool_select_interval)
socket timeout (pool_socket_timeout)
connection timeout (pool_connection_timeout)
max total connections (pool_max_connections, only for parallel send mode)

Event's HttpPost properties:

connection request timeout (connection_request_timeout)

Why is this useful
In the 1.5.3 library version, if Splunk server hangs and HttpPost for one event never completes, JVM will eventually run out of memory, because:

connection has no timeout and, thus, is never failed and reestablished
no limit on waiting time is defined for the queued HttpPosts

These are the test results for the logger under moderate load (~400 rps) with emulated Splunk hang:
Current behavior exhibits an OOM error :

With the proposed additions, when using pool_select_interval = 100 msec, pool_socket_timeout = 5000 msec, pool_connection_timeout = 1000 msec, connection_request_timeout = 60000 msec, the JVM no longer dies with OOM:

Backward compatibility
For backward compatibility, the default settings of the new values are set identical to the defaults of the Apache HttpClient, so the default behavior will not be changed.

The tests fail because Splunk license has expired in the container used for testing on Travis (splunk/splunk-sdk-travis-ci:6.6-sdk).
I don't think I can fix this on my side.

I am experiencing the same problem (OOM).
What can we do to get this merged?

Any news on this?
We are currently having some performance issues in our splunk infrastructure. This leads to crashes in our production applications, which send their logs to splunk via hec.
This has a huge impact!
Can this PR be integrated soon?
Should we open a regular splunk case for this?

This problem should be resolved by the fix merged in #135 and deployed as version 1.8.  If you continue to see similar behavior, please let us know.

@zenmoto with splunk 1.8.0 , still having high cpu spikes and high heap usage, so analyzed the heap dump, its showing issues with the dispatcher

Please help me with this.

Earlier with splunk 1.5.3 we were facing issues as mentioned in https://github.com/splunk/splunk-library-javalogging/issues/128, so I updated the library to 1.8.0 and analyzed the heap dump because of cpu spikes and continous cpu spikes and gc activity, so the issues are due to dispatcher.


Modification I made to the Makefile to get this working

Thank you for making this available!
While setting it up for experiments, I had to make a few changes.
I had to replace the input to ocr --model in line 92 to $(ocr) so that I could load my base model for the task.
https://github.com/OpenITI/acdc_train/blob/0e7c696d100b10cf837f3b5a787e375693dbc6c7/etc/Makefile#L92
Simlarly, I had to replace print-n7m5.out/alto-nall/ft_best.mlmodel in line 79 with $(ocr)
https://github.com/OpenITI/acdc_train/blob/0e7c696d100b10cf837f3b5a787e375693dbc6c7/etc/Makefile#L79
As I was working with an LTR script for my tests, I also had to change -d to horizontal-lr and --base-dir to L instead of horizontal-rl and R.
Will it be useful to change -d and --base-dir to auto?

Turns out I was hacking at it without actually understanding the paper. The above trick simply disregards the three step iterative improvement principle in the paper as it retains the results just once, in the final stage.
Still, I couldn't get the makefile to work in its original state with make gen2-print-n7m5.out/alto-union/ft_best.mlmodel as  the model needed to transcribe gen2-print depends on gen1-print, and the model needed for gen1-print depends on print, which are not triggered with this command.
A solution could be to work through each stage one command at a time:
So I started with the base model by doing make print-n7m5.out/alto-nall/ft_best.mlmodel.
Then for stage 2, I applied the model retained from the stage 1 with make gen1-print-n7m5.out/alto-nall/ft_best.mlmodel. And finally did make gen2-print-n7m5.out/alto-union/ft_best.mlmodel
Another way is to specify model path as a dependency for each target, so that the makefile can build backwards with make gen2-print-n7m5.out/alto-union/ft_best.mlmodel
So, I replaced gen1-print/_SUCCESS:	splits/_SUCCESS in line 78 with gen1-print/_SUCCESS:	splits/_SUCCESS print-n7m5.out/alto-nall/ft_best.mlmodel
And gen2-print/_SUCCESS:	splits/_SUCCESS $(patsubst splits/%,gen2-print/jobs/_%,$(wildcard splits/x*)) in line 87 to gen2-print/_SUCCESS:	splits/_SUCCESS gen1-print-n7m5.out/alto-nall/ft_best.mlmodel $(patsubst splits/%,gen2-print/jobs/_%,$(wildcard splits/x*))

Thanks, @rohanchn . I fixed those dependencies, but also changed the wildcard command to backticks in making splits. Finally, I added a target all that runs for 3 iterations. See if this commit works for you:
https://github.com/OpenITI/acdc_train/commit/b7afc8c65db872ba41d2b0b03d7cecbcd050ca0d

Thanks, this is much better.


Context Menu: explorer navigation pane issues

I have some issues with context menu opening from explorer navigation pane:

OS: Win 10 x64

Menu items are not ordered correctly (only when the folder has no sub-folders):

Menu registration:

[x]  [COMServerAssociation(AssociationType.Directory)]
[ ]  [COMServerAssociation(AssociationType.DirectoryBackground)]

Menu is created both for directory and directory background:

Menu registration:

[x]  [COMServerAssociation(AssociationType.Directory)]
[x]  [COMServerAssociation(AssociationType.DirectoryBackground)]

My code:

protected override ContextMenuStrip CreateMenu()
{
   var contextMenu = new ContextMenuStrip();

   EventHandler action = (s, e) => MessageBox.Show("Test");

   contextMenu.Items.Add(new ToolStripSeparator());
   contextMenu.Items.Add("Menu 1", null, action);
   contextMenu.Items.Add("Menu 2", null, action);
   contextMenu.Items.Add(new ToolStripSeparator());

   return contextMenu;
}

Hey DevLn,
Maybe you could try using one static ContextMenuStrip or some sort of Singleton (workaround) to only have the menu exist once.
The other problem is odd...
Maybe because of the Separator? I never tried these....
I think positioning items in a foreign list is always problematical, maybe use a SubCollection to have more control.
Will try it myself tomorrow.

There is a solution for the duplicate menus:
I can check uFlags param passed to QueryContextMenu method, but to do this the base class SharpContextMenu should be modified so derived class can have access to the param.
I see three options for that:

Make QueryContextMenu method protected so derived class can override it.
Pass is as param to CanShowMenu and CreateMenu methods.
Add protected field and set it's the value in  QueryContextMenu method.

example:

base class

[ServerType(ServerType.ShellContextMenu)]
public abstract class SharpContextMenu : ShellExtInitServer, IContextMenu3
{
    protected CMF flags;

    int IContextMenu.QueryContextMenu(IntPtr hMenu, uint indexMenu, int idCmdFirst, int idCmdLast, CMF uFlags)
    {
        flags = uFlags & ~CMF.CMF_RESERVED;

        /* original method body */
    }

    //...
}

derived class

[ComVisible(true)]
[COMServerAssociation(AssociationType.Directory)]
[COMServerAssociation(AssociationType.DirectoryBackground)]
public class MyContextMenu : SharpContextMenu
{
    protected override bool CanShowMenu()
    {
        return flags.HasFlag(CMF.CMF_ITEMMENU) || !string.IsNullOrEmpty(FolderPath);
    }
}

Hey DevLn,
that sounds like a solution, but isn't the actual problem that CreateMenu is called twice?
It should only be called once for 1 right click, so I am curious why that happens.
AFAIK using multiple COMServerAssociation shouldn't force it to do it multiple times.
If so, maybe that should be changed first.
But giving some more information/access to the underlying system would be nice, too.
My recommendations would be:

Make it protected CMF LastQueriedCmfFlags { get; private set; }
So that only the base class can change the value and it's more clear what "Flags" are used.

Or provide the flags as an argument in CanShowMenu or even better, as a custom type like ContextMenuShowFlags.ItemMenu instead of giving need to understand what CMF is all about ;)

It seems that the problem is not in the multiple COMServerAssociation. If I put AllFilesAndFolders, Folder for example it's not called twice.
The strange things here are

It's called for DirectoryBackground for the navigation item (not only for the background)
It's called separately for DirectoryBackground and Directory
The order problem is only for Directory, Folder, ... , but not for DirectoryBackground
(and, yes, it seems that the problem is related to the separators and maybe the state of the 'Expand' verb)

I'll make more experiments tomorrow ;)

It's called for DirectoryBackground for the navigation item (not only for the background)

This seems to be a Windows feature/bug. I've tested with static menu created through the registry and the result was the same.
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\test]
@="Test"

But this one was not reproduced:

It's called separately for DirectoryBackground and Directory

If there is the same menu for Directory only one menu is created.
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\test]
@="Test"

[HKEY_CLASSES_ROOT\Directory\shell\test]
@="Test"

Hey DevLn,
Just to be clear, this is the navigation pane you are talking about?

Will try it myself.

Yes, that's it.

Does it happen in this one too (I don't know the name, maybe the "jump list context menu")?

(please try with and without holding SHIFT while right clicking on a folder).
Just curious ;)

On the jumplist context menu:

It's shown only with SHIFT key pressed (as expected)
I can't see ordering problem, but I have no empty folders there (and I don't know how to add new one)
It's not shown for DirectoryBackground
The only uFlags set is CMF_EXTENDEDVERBS

Within Explorer the SHIFT key only changes uFlags setting the CMF_EXTENDEDVERBS flag (expected)
Everything else is the same (both nav pane and folder view)

Okay did some testing:
All you said is the same for me, however

The ordering problem is different for "Folder" (vs. Directory)
The ordering problem is even more differnt when clicking on "Desktop under 'This PC'" vs. "Desktop under 'Quick Access'"

When the first one is a windows problem, I suggest using 2 workarounds:

Use 1 Server for the DirectoryBackground and another Server for the Directory with shared logic
Use only 1 entry with multiple subentries, I don't think we can really say where the item will pop up and having [1,2 something something something 3] looks stupid.

OK, after deep look at SharpContextMenu/NativeContextMenuWrapper code and debugging I finally found the problem. :) (with ordering)
QueryContextMenu/BuildNativeContextMenu methods are not correctly implemented: they ignore indexMenu param passed to QueryContextMenu, and always insert the menu at position 0.
As it's described here:

indexMenu
Type: UINT
The zero-based position at which to insert the first new menu item.

this param should be used for the position of the first menu item.
So if pass it to BuildNativeContextMenu and use it instead of uint positionCounter = 0; everything works perfect.

Now, a few clarifications to the "duplicated menus issue":
The way Windows decides if two items are actually the same and should show only one is the VERB.
So if we set the same verb for an item when creating the Directory and DirectoryBackgroud menus it will be shown only once. For VERB, SharpContextMenu uses the ToolStripItem.Name property if set, otherwise it generates a unique one. That's why the static MenuStrip workaround works, but if the menu should be dynamic we just need to set ToolStripItem.Name and we are fine.
It will be good to include that info in the documentation.

And finally, now derived class doesn't need access to uFlags, but I think it will be good to have this opportunity (for "advanced users"). So my proposal is to add new empty method in SharpContextMenu like protected virtual void OnQueryContextMenu(CMF uFlags){} and call it in the beginning of QueryContextMenu body (like the OnInitialiseMenu method called in HandleMenuMsg2). And if someone needs it, he can override that method and use the flag.

This is excellent @DevLn - I will make a branch with the fixes, once I've done that would you be OK to test it quickly and verify that it works? If so, I can then merge to master (or if needs be, I can create some test cases for this, just takes more time).

Sorry @DevLn I see the PR now, checking now.

Resolved in #273


Missing results on RollTerm

Hello,
This property is missing on the interface RollTerm
interface RollTerm {
    results: DiceTerm.Result[];
}

I don't see results in RollTerm in foundry.js. It's simply not part of that abstract class. It's only present on the DiceTerm and PoolTerm subclasses.

I'll close this as invalid. If you still think there is something to discuss, we can continue doing that regardless.


Karatsubas algorithm for multiplication of larger numbers

Multiplication should switch to Karatsuba above some configurable factor size limit

Implemented in 2ab92fa7cf67e91de0ac1f761109f68ac7b10dd2


APP - adapt to use generated encrypetion key, different from OSCM

APP should be adapted to use own encryption key, different from the one of OSCM.
OSCM is already adapted to use generated encryption key. Use the same logic for APP.

APP uses now a generated encryption key like OSCM. Fix merged into master.

Added description of APP_KEY_PATH to the APP documentation and all Controller manuals.


don't generate label for attribute to nonexistent id, closes #344

closes #344
discussion is here- https://github.com/plataformatec/simple_form/pull/347

Is a label without a for valid in the html specification? Just wondering, the current scenario is invalid anyway.

@josevalim, According to this doc (http://www.w3.org/TR/html4/interact/forms.html#edef-LABEL) it's optional attribute.

Awesome, thanks!

Yes. It is.

Merged.
@nashby thank you for the contribution with SimpleForm. You are doing a great job.

Thanks! I really :heart: this project


simplify contributions by fully automating the dev setup with gitpod

Hi! :slightly_smiling_face:
This Pr simplifies code contributions by fully automating the dev setup with Gitpod(A free online VS Code like IDE).
With a single click, it allows anyone to have a ready to code workspace where:

plyr repo is already cloned.
dependencies are already installed.
gulp is running and watching for changes.

So that anyone interested in contributing can start coding straight away without wasting time on the setup.
You can give it a try on my fork of the repo via the link below:
https://gitpod.io/#https://github.com/nisarhassan12/plyr

Awesome! 😎

Would you like your project to be listed on https://contribute.dev ?


Explain about BASE_DIR fix in README

Fixes #270

Can you please take a look?
Running Sphinx v5.2.1
making output directory... done
[autosummary] generating autosummary for: api.rst, changelog.rst, index.rst
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 3 source files that are out of date
updating environment: [new config] 3 added, 0 changed, 0 removed
reading sources... [ 33%] api
reading sources... [ 66%] changelog
reading sources... [100%] index

/home/docs/checkouts/readthedocs.org/user_builds/django-split-settings/checkouts/454/docs/index.rst:3: CRITICAL: Title level inconsistent:

API Reference
=============
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [ 33%] api
writing output... [ 66%] changelog
writing output... [100%] index

generating indices... genindex py-modindex done
highlighting module code... [100%] split_settings.tools

writing additional pages... search done
copying static files... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
Updating searchtools for Read the Docs search... build finished with problems, 1 warning.

@sobolevn fixed!


fix: Included details in summary

Enriched check summary with detailed outcome

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


[2pt] Set up RSpec and Capybara testing libraries

Write unit and integration tests for the app using rspec and capybara testing library.

Completed with the Pull Request https://github.com/AbeeraTahir/Recipe-App/pull/22


[rcore_desktop] Inacurate mouse delta with DisableCursor()

Issue description
When running the "3d camera free" on Linux in both web and desktop, GetMouseDelta() is more biased to mouse movements up and to the left. This becomes more noticeable as the frames per second increase.
These can fix the issue without changing raylib's source:

Using the SDL backend
Replacing DisableCursor() with HideCursor(), with the obvious downside of not locking the cursor anymore.

This is sourced within GLFW when using GLFW_CURSOR_DISABLED without GLFW_RAW_MOUSE_MOTION, as can be seen with this code also exhibiting the issue:
  glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_DISABLED);

  double curx = 0, cury = 0;
  double lastx = 0, lasty = 0;

  while (!glfwWindowShouldClose(window)) {
    lastx = curx;
    lasty = cury;

    double xpos, ypos;
    glfwGetCursorPos(window, &curx, &cury);

    double deltax = curx - lastx, deltay = cury - lasty;

    if (deltax < 0) {
      negatives += deltax;
    } else {
      positives += deltax;
    }

    if (deltay < 0) {
      negatives += deltay;
    } else {
      positives += deltay;
    }

    printf("%f %f\n", negatives, positives);

    // ...
  }

When moving your mouse in a circle, the negatives are consistently larger (in absolute value) than the positives, leading to the up-left drift:
-10995.000000 7994.000000 => abs difference of 3001
-23081.000000 17624.000000 => abs difference of 5457
-35581.000000 29573.000000 => abs difference of 5908
When adding these lines:
  if (glfwRawMouseMotionSupported())
    glfwSetInputMode(window, GLFW_RAW_MOUSE_MOTION, GLFW_TRUE);

The issue disappears:
-27196.000000 27147.000000 => abs difference of 49
-65799.000000 65810.000000 => abs difference of 11
-73800.000000 73830.000000 => abs difference of 30
#3874 implements this fix for rcore_desktop.
Light testing on Windows showed no effect, another reported case was on Arch Linux.
Environment
Platform backend: DESKTOP (GLFW)
OS: Pop!_OS Ubuntu x64
OpenGL version: 4.6 (Compatibility Profile) Mesa 24.0.0-1pop0~1706872735~22.04~0fa430c
GPU: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] / Mesa Intel® UH
(Laptop integrated Intel graphics card and a discrete RTX 3060)
Issue Screenshot
https://github.com/raysan5/raylib/assets/53349189/3d98d6e3-c2bb-4711-89cb-19271be1f1a1
In this video I'm moving my mouse in a circle, and the cube is very quickly moving down and to the right, which comes from mouse movements being more sensitive up and to the left.
Code Example
"3d camera free", "3d camera first person", "3d picking", and most likely any example that uses DisableCursor() and GetMouseDelta() together on Linux.

@freakmangd After implementing #3874, is the issue still present on Linux/Web?

@raysan5 #3874 fixed the issue on desktop, but web still has this problem (or at least the examples page does) This issue can be closed if you want to use #3916 to track web

@freakmangd Nice! Closing this issue! Web will be tracked on #3916.


Add TS linting

This looks promising to use with webpack: https://www.npmjs.com/package/tslint-loader

Delivered in #53


brew install fails on Mojave

Traceback (most recent call last):
File "/private/tmp/chirp--homebrew-virtualenv-20181111-59350-1pcztsn/target/bin/virtualenv", line 11, in
load_entry_point('virtualenv==16.0.0', 'console_scripts', 'virtualenv')()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/init.py", line 484, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/local/lib/python2.7/site-packages/pkg_resources/init.py", line 2714, in load_entry_point
return ep.load()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/init.py", line 2332, in load
return self.resolve()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/init.py", line 2338, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "/private/tmp/chirp--homebrew-virtualenv-20181111-59350-1pcztsn/target/lib/python2.7/site-packages/virtualenv.py", line 22, in
import zlib
ImportError: No module named zlib

I can confirm that it still runs just fine in the latest version of Mojave, and that I installed it in the past using Homebrew.

I'm encountering the same zlib problem as @toddbertels but my error message is slightly different (line 33) Furthermore, I definitely have zlib installed
$ brew info chirp
tdsmith/ham/chirp: stable 20181014
Programs amateur radios
http://chirp.danplanet.com/projects/chirp/wiki/Home
Not installed
From: https://github.com/tdsmith/homebrew-ham/blob/master/chirp.rb
==> Dependencies
Required: gtk-mac-integration ✔, libxml2 --with-python ✔, py2cairo ✔, pygtk ✔, python@2 ✔

$ brew install tdsmith/ham/chirp
==> Installing chirp from tdsmith/ham
==> Downloading https://trac.chirp.danplanet.com/chirp_daily/daily-20181014/chirp-daily-20181014.tar.gz
Already downloaded: /Users/masukomi/Library/Caches/Homebrew/downloads/cd200b1aa50435e87c2a48793f4589ada7ca06295f71779b33e8de0d1f222dff--chirp-daily-20181014.tar.gz
==> Downloading https://files.pythonhosted.org/packages/4e/8b/75469c270ac544265f0020aa7c4ea925c5284b23e445cf3aa8b99f662690/virtualenv-16.1.0.tar.gz
Already downloaded: /Users/masukomi/Library/Caches/Homebrew/downloads/bda8bcde19a275fd9c84a7ec957593976e90dfd0e461a87f5698f1d2286c0197--virtualenv-16.1.0.tar.gz
==> python2 -c import setuptools... --no-user-cfg install --prefix=/private/tmp/chirp--homebrew-virtualenv-20181113-44450-f7w24/target --install-scripts=/private/tmp/chirp--hom
==> python2 -s /private/tmp/chirp--homebrew-virtualenv-20181113-44450-f7w24/target/bin/virtualenv -p python2 /usr/local/Cellar/chirp/20181014/libexec
Last 15 lines from /Users/masukomi/Library/Logs/Homebrew/chirp/02.python2:

Traceback (most recent call last):
  File "/private/tmp/chirp--homebrew-virtualenv-20181113-44450-f7w24/target/bin/virtualenv", line 11, in <module>
    load_entry_point('virtualenv==16.1.0', 'console_scripts', 'virtualenv')()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 484, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2714, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2332, in load
    return self.resolve()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2338, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/private/tmp/chirp--homebrew-virtualenv-20181113-44450-f7w24/target/lib/python2.7/site-packages/virtualenv.py", line 33, in <module>
    import zlib
ImportError: No module named zlib

$ brew install zlib
Warning: zlib 1.2.11 is already installed and up-to-date
To reinstall 1.2.11, run `brew reinstall zlib`

I am having a problem too; I have the latest Mojave.
Updating Homebrew...
==> Installing chirp from tdsmith/ham
==> Downloading https://trac.chirp.danplanet.com/chirp_daily/daily-20181014/chirp-daily-20181014.tar.
Already downloaded: /Users/gregghoward/Library/Caches/Homebrew/downloads/cd200b1aa50435e87c2a48793f4589ada7ca06295f71779b33e8de0d1f222dff--chirp-daily-20181014.tar.gz
==> Downloading https://files.pythonhosted.org/packages/4e/8b/75469c270ac544265f0020aa7c4ea925c5284b2
Already downloaded: /Users/gregghoward/Library/Caches/Homebrew/downloads/bda8bcde19a275fd9c84a7ec957593976e90dfd0e461a87f5698f1d2286c0197--virtualenv-16.1.0.tar.gz
==> python2 -c import setuptools... --no-user-cfg install --prefix=/private/tmp/chirp--homebrew-virtu
Last 15 lines from /Users/gregghoward/Library/Logs/Homebrew/chirp/01.python2:
-c
import setuptools, tokenize
file = 'setup.py'
exec(compile(getattr(tokenize, 'open', open)(file).read()
.replace('\r\n', '\n'), file, 'exec'))
--no-user-cfg
install
--prefix=/private/tmp/chirp--homebrew-virtualenv-20181220-45885-83mq6q/target
--install-scripts=/private/tmp/chirp--homebrew-virtualenv-20181220-45885-83mq6q/target/bin
--single-version-externally-managed
--record=installed.txt
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named setuptools


Add SPSA optimization method

The  Simultaneous Perturbation Stochastic Approximation (SPSA) optimisation method is a faster optimisation method.

If the number of terms being optimized is p, then the finite-difference method takes 2p measurements of the objective function at each iteration (to form one gradient approximation), while SPSA takes only two measurements

It is also naturally suited for noisy measurements. Thus, it will be useful when simulating noisy systems.
The theory (and implementation) for SPSA is:

Described in James C. Spall, “An Overview of the Simultaneous Perturbation Method for Efficient Optimization”, 1998;

Furthermore, it is implemented:

In the noisyopt package, specifically see the source code here;
In Qiskit, see the SPSA optimizer documentation.

More information:
https://www.jhuapl.edu/SPSA/

@mtthss if no one is working on it, I would like to try. Can you provide me with some general points before I start, like which files to update, what to take care of etc., as I haven't contributed to optax before.

Is there any updates on this? I have previously worked with SPSA in TF (https://github.com/tensorflow/quantum/pull/653) and would be interested in working on this.

Hi @lockwo, are you still interested? If you can implement SPSA, it'll be of great help!

@ankit27kh : since there hasn't been activity for this in a year, I think it's safe for you to take over.
if you end up contributing this example, please do so to the contrib/ directory. Thanks!

@fabianp I've created the following implementation of a pseudo-gradient estimator:
https://gist.github.com/carlosgmartin/0ee29182a17b35baf7d402ebdc797486
SPSA corresponds to the special case where sampler=random.rademacher.
I'd be happy to contribute this implementation to Optax. I also welcome any feedback. A good place to put it might be under optax.tree_utils.

It would also be nice to have helper utility functions for estimation of the gradient via forward and central finite differences:
https://gist.github.com/carlosgmartin/a147b43f39633dcb0a985b51a5b1af0c
I'd be happy to contribute these as well.

Thanks for looking into this @carlosgmartin.
@q-berthet is contributing to a similar approach in #827 (which should be merged soon).
Also the whole stochastic gradient estimator part of the codebase may be relevant (https://optax.readthedocs.io/en/latest/api/stochastic_gradient_estimators.html). Unfortunately the original authors of that part of the codebase have left and we are not sure that we will keep maintaining it given its poor support and adoption. But you may find interesting links there.
It may be great to discuss between both of you @q-berthet and @carlosgmartin, how to integrate such effort.
About the forward/central difference schemes, similar discussions have happened in JAX (see e.g. https://github.com/jax-ml/jax/issues/15425). It seems that other users have expressed similar needs. If some libraries already propose such tools maybe it would be better to use those rather than reinventing them. (and maybe also check whether JAX ended up having such module).
Thanks again @carlosgmartin


ABR not working?

i try to use ABR: http origin wowza +nginx edges. it works well with peer5 but can't get it with p2ploader - maybe setup??
p2ploader:
https://go.shidur.net/player/testlive.php
(can't get ABR atleast not automatic)
peer5:
https://go.shidur.net/player/testlive-js.php
(automatic abr works "out of the box")
any ideas?
BTW: this is the setup ->
cachedSegmentExpiration: 5 * 60 * 1000,
cachedSegmentsCount: 30,
useP2P: true,
consumeOnly: false,
requiredSegmentsPriority: 1,
simultaneousHttpDownloads: 2,
httpDownloadProbability: 0.1,
httpDownloadProbabilityInterval: 1000,
httpDownloadProbabilitySkipIfNoPeers: false,
httpFailedSegmentTimeout: 10000,
httpDownloadMaxPriority: 20,
httpDownloadInitialTimeout: 0,
httpDownloadInitialTimeoutPerSegment: 4000,
httpUseRanges: true,
simultaneousP2PDownloads: 5,
p2pDownloadMaxPriority: 20,
p2pSegmentDownloadTimeout: 60000,
webRtcMaxMessageSize: 64 * 1024 - 1,
trackerAnnounce: ["wss://trk1.shidur.net:8533", "wss://vdo.shidur.net:8020", "wss://tracker.openwebtorrent.com"],
peerRequestsPerAnnounce: 10,
rtcConfig: Peer.config
BTW2: i use my own private trackers. as a matter of fact - they keep crushing... any ideas how to keep them stable? (I use your wt-tracker on one vps and bittorent-tracker on the other. the wt-tracker doesn't go through nginx but has ssl in it's config.json)

Why do you think that ABR is not working?
When I put the stream into demo adaptive bitrate and manual bitrate switching work: http://novage.com.ua/p2p-media-loader/demo.html?url=https%3A%2F%2Fstream71.shidur.net%2Fhtvlive2%2F_definst_%2Fsmil%3Alive2.smil%2Fplaylist.m3u8&type=clappr

manual bitrate is working well. my problem is with Adaptive.
first of all - maybe there is a difference between FETCH and XHR. p2ploader uses XHR and peer5 uses FETCH - since i tried to use google's network throtelling, even on fast3g or slow3f i could still get 1200kbit stream (in peer5 it switched down to 748k maybe XHR requests bypass google throttle?!@#) - so I tried to use an app called THROTTELER (i use MacOS) and this time the player simply was stuck - it tried to get the 1200k version instead of requesting the 748k one.
did it work well for you? meaning when you tried throtelling it actually choose the lower quality stream? (i am talking about my stream).
by the way - i tried both with WOWZA live stream and KALTURA NGINX VOD stream - both didn't work well adaptively...
if it does work for you - any idea why it doesn't work for me and peer5 does??

As far as I know, throttling affects XHR, fetch and regular browser HTTP request. But it doesn't affect WebRTC bandwidth.
Hls.js engine doesn't know about P2P network and random video pre-downloading. That is why we calculate and report the average P2P network bandwidth to it. On your screen I see peers that is why network bandwidth can be different from real throttled speed.
But I see some issues with detecting correct bandwidth with p2p-media-loader and without. I will try to investigate the issue.

tnx! you're doing amazing work.

hi mrlika - any news? am i the only one that tries to use it with HLS ABR?

@mrlika
I tried another test using the latest version of jwplayer v8.13.4
I think the previous test I have done above is inaccurate.
First pic without p2pml.

2nd pic with p2pml.

Both setup using the same stream, using 360p as default.
For p2pml setup, "usep2p" has been disable to make the test as accurate as possible. So both tests is running without any p2p involve.
See the difference? jwplayer.bandwithEstimate is way off.
It's like the bandwith estimate is x3 the value without p2pml.
By the way, the value can be seen at the local browser storage, not cookies.

Hi there take a look at https://swarm.video/#/home is a nice production platform
cheers


[QUESTION] Where to apply CORS header. Documentation unclear

Question
I'm trying to use the pi-hole-stats widget.
Confirmations:

hostname http://pi.hole is accessible from dashy host and container
PiHole admin api page renders data: http://pi.hole/admin/api.php
Referencing https://github.com/Lissy93/dashy/blob/1777a00bc577d6a49022d1985e3d9be814031b9a/src/components/Widgets/PiHoleStats.vue#L38-L45 I can see that the /admin/api.php is appended to the hostname value, so I am only providing http://pi.hole as the hostname value.

Additionally, I've tried providing the IP address: http://<IP_ADDRESS> in my case.

I couldn't initially, but I eventually got my browser to reveal that it is a CORS error:

After reading through Widget CORS Errors I'm unsure where the Access-Control-Allow-Origin header is meant to be set. Is this in the widget itself?
The docs on the CORS error are unclear to me, and this header is not documented on the widget itself.
If this is a silly question, please let me know. 😊
Category
Widgets
Please tick the boxes

[X] You are using a supported version of Dashy (check the first two digits of the version number)
[X] You've checked that this question hasn't already been raised
[X] You've checked the docs and troubleshooting guide
[X] You agree to the code of conduct

Depends what, if any proxy your using, as that's where the headers need to go.
But this should work normally if you use just  Pi-Hole's IP instead. To use the domain, I guess you'll need to update this in Pi-Hole's Lighttpd config.

Yeah, I just have a standard install of Pi-Hole, no proxy.

And you've tried proxying the request through Dashy's backend?  With the useProxy: true option?

Got it.
Added setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*" ) to /etc/lighttpd/external.conf and enabled the useProxy option.
I tried useProxy before, but without the lighttpd set it still failed.
Thank you!

Nice, glad you've got it working, and thanks for sharing the solution :)

For sure! I've got the lighttpd config in my ansible scripts and I'm ready to roll. 😊


Replace Babel with SWC

Feature
SWC is a compiler for JS and TS written in Rust and is designed to be a replacement for Babel. According to their website, SWC is "20x faster than Babel on a single thread and 70x faster on four cores." Moving past marketing claims, SWC is better for this package in my opinion for a couple of reasons:

SWC supports much of what this repo needs out of the box, including decorator and typescript support, removing the need for a bunch of Babel plugins.
SWC is only 16kB, while Babel is over 1MB, not including plugins, which are hundreds of kilobytes themselves.
SWC is actually faster. Even setting aside examples like Next.js switching to SWC and getting up to 5x faster builds, on my machine, cold running this repo's tests resulted in 2x faster completion when using SWC, dropping times from 10.692s to 4.916s.

Ideal solution or implementation
Replace all the Babel dependencies with @swc/core (compiler) and @swc/jest (jest integration). It's not hard to replace as SWC is designed to be as close to drop-in for Babel as possible.
Alternative solutions or implementations
Stick with Babel.
Other context
I am willing to PR this if it gets approved, after all, I had to do the swap anyway to test if it improved anything.

I don't see why this is necessary, our tests are fast enough and coverage reports are actually quite buggy with swc still.


DBZ-7619 Metric ScnFreezeCount never increases

https://issues.redhat.com/browse/DBZ-7619

/packit test --labels oracle

Applied to main (=2.6) and branch 2.5.


weird package imports

hi i hav this issue
pillow
cairosvg
why this packg improt ? is this lib spying? thx :D

Hi! It's just a dev dependencies required to generate static documentation. It is not a part of any distribution, so you will not install them with the package.


rustless.org domain name expired

http://rustless.org/
NOTICE: This domain name expired on 10/5/2016 and is pending renewal or deletion.

I confirm, the description is not up to date. (btw, you can see the previous site with http://web.archive.org/web/20160424041045/http://rustless.org/)

This is now squatted by malware.  I assume this project is dead?

I've removed the link to the site. I've decided not to renew the domain, because it costs too much for me without any profit. README.md is enough.
About status of the project: Rustless has a full set of features for now. I’m waiting until Rust’s async story will be stabilized. Also we need full async support in Hyper and Iron to continue improvements of the project.

Thanks for the update!


[Bug] [Mater] Not got latest task intance by task code

close #14493

Codecov Report

Merging #14529 (47c27e2) into dev (484f841) will decrease coverage by 0.02%.
The diff coverage is 13.33%.

:exclamation: Current head 47c27e2 differs from pull request most recent head e429ffe. Consider uploading reports for the commit e429ffe to get more accurate results

@@             Coverage Diff              @@
##                dev   #14529      +/-   ##
============================================
- Coverage     38.73%   38.72%   -0.02%
  Complexity     4579     4579
============================================
  Files          1237     1237
  Lines         43537    43538       +1
  Branches       4823     4818       -5
============================================
- Hits          16863    16858       -5
- Misses        24804    24811       +7
+ Partials       1870     1869       -1

Impacted Files
Coverage Δ

.../server/master/runner/WorkflowExecuteRunnable.java
10.53% <13.33%> (-0.10%)
:arrow_down:

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Ajax load issue: Should shim.css be loaded from relative path?

When I attempt to (re)load webshim to populate a modal dialog, etc... via ajax, the browser spits out warnings/errors about trying to load the shim.css file from an odd path.  I've found two fixes for this:

Set 'loadStyles:false' if the instance is doing an ajax load
Rewrite the polyfill.js line where the stylesheet is loaded to include the path

The code change is in line 230 of v1.15.10 and goes from
if(webCFG.loadStyles){
    loader.loadCSS('styles/shim'+(needExtStyles ? '-ext' : '')+'.css');
}

to
if(webCFG.loadStyles){
    loader.loadCSS(path+'styles/shim'+(needExtStyles ? '-ext' : '')+'.css');
}

webshim.setOptions('basePath', );
did you try this?


Improvements for dealing with CMS measures - part 2

Improves dealing with queries on non-list sources that result in list items
Avoids use of choice-typed objects on crucial places by improving the underlying CQL
Improved handling of choice-typed objects represented as DataType objects in the POCOs.

For the last bullet, I had to enrich the TypeResolver to be able to communicate which type is used by the model to represent choice types.
Fixes #197 and #200.

Making this a draft, as I still have to fix errors in the generated C# that belong to these issues.


removed Handles column from Process formatter

addressing #1812

Hi @SteveL-MSFT, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Steve Lee (POWERSHELL)). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

I see commit from Mike about the .spelling file, but that changes has already been merged in PR #2603. Is that a mistake?

@daxian-dbw travis-ci was failing because of the spelling check, so I rebased on his change to get past that

what about the changes in https://github.com/PowerShell/PowerShell/pull/2617/commits/21ed897e461e74c05c81484634cef57ef7c90634? Is that included in this PR on purpose?

@daxian-dbw that one wasn't on purpose, will need you to show me how to remove it

@lzybkr helped me to fix it


use atum hotkey on title screen for every minecraft version

fixes 1.12 and such, depends on atum 1.2.2 (?)

Oh this works now?
My todo list does include "assume latest version of mods" so this is really convenient


bazel build //tensorflow/examples/android:tensorflow_demo missing dependency declarations

For bugs/issues, please fill in the following.  The more information you
provide, the more likely we can help you.
Environment info
Operating System: Mac OS X (10.10.5)
If installed from binary pip package, provide:

Which pip package you installed.
The output from python -c "import tensorflow; print(tensorflow.version)".

If installed from sources, provide the commit hash:  3b8f0df34b80f2b0019e24dd91e099e0e6874bd6
Steps to reproduce

Build TensorFlow from source following [these instructions] (https://gist.github.com/ageitgey/819a51afa4613649bd18) for building with CUDA support on Mac
Tested TensorFlow installed correctly
Attempted to build Android demo following these instructions

What have you tried?

Tried adding the missing dependencies into this [BUILD file] (https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/BUILD) between lines 14 and 15.  Added lines that looked like:
 "tensorflow/core/platform/default/logging.h", "tensorflow/core/platform/macros.h",

My thought was that maybe adding the asked for dependencies might do the trick.
My thought when that didn't work was maybe I need to use the "deps" option instead of the "srcs" option, but since I have NO familiarity with Bazel that seems problematic. :-/

Logs or other output that would be helpful
(If logs are large, please upload as attachment).
bazel build //tensorflow/examples/android:tensorflow_demo --verbose_failures INFO: Found 1 target... ERROR: /Users/[USERNAME]/Documents/Dev/tensorflow/tensorflow/examples/android/BUILD:10:1: undeclared inclusion(s) in rule '//tensorflow/examples/android:libtensorflow_demo.so': this rule is missing dependency declarations for the following files included by 'tensorflow/examples/android/jni/jni_utils.cc':   '/Users/[USERNAME]/Documents/Dev/tensorflow/tensorflow/core/platform/default/logging.h'   '/Users/[USERNAME]/Documents/Dev/tensorflow/tensorflow/core/platform/macros.h'. Target //tensorflow/examples/android:tensorflow_demo failed to build INFO: Elapsed time: 2.053s, Critical Path: 1.93s

Looks like the arrangement of some items in the header files in the core framework got moved around and the target for the android build didn't get updated.  Working on finding all of the wandering .h files now. :-/

Actually, looking into this more it looks like the issue is the pull request I'm basing from doesn't have all of the Android bits built like the current master does. :-/


Change API proxy not updating 'API URL' in Details view

Steps

Visit https://staging.apinf.io
Login as admin
Go to 'Proxies'
Add multiple proxies and save (eg. proxy 1 , proxy 2)
Sign out
Sign Up / Sign In as owner
Add API (eg. API 1) with proxy (eg. proxy 1)
Go to API view and click on 'Proxy'
Select 'proxy 2' from drop down menu
Confirm clicking on 'Change API proxy' button

Findings

API URL in 'Details' view not updated
User not notified with successful message
Clicking on 'Save&Publish' button not working

Interested

@jykae Assigned you. Please estimate.

@bajiat This is probably related to bigger proxy changing issue last year, and might be fixed. Verifying..

@bajiat Tested with latest develop. Details are updated, changed from nightly Umbrella to staging Umbrella. "Change API proxy" button is not triggering proxy change but "Save & Publish" button after that. Save & Publish works & shows message on success.

@saralavanip @bajiat Tested also on staging. Works. Proposing issue to be closed.

@saralavanip Can you verify that this issue can be closed?

@bajiat , @jykae  , verified this issue on https://staging.apinf.io version 0.38.1
Findings:

Change Proxy from (staging: API umbrella)  to another proxy (nightly: Nightly umbrella) displays error 'Cannot read property 'length' null

Screenshot 1: Currently have these proxies on staging

Verification blocked by #267.

@saralavanip @bajiat The server has correct settings. Please try again. On my side, it works as expected

@bajiat , @marla-singer , verified this resolved issue on https://staging.apinf.io version 0.39.0 and it is not reproducible.

Closing as resolved.


fix(db diff): change local flag default value

Doesn't actually change the logic, but makes it clearer.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
7 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.07%) to 61.9%

Files with Coverage Reduction
New Missed Lines
%

internal/gen/keys/keys.go
7
7.94%

Totals

Change from base Build<PHONE_NUMBER>:
-0.07%

Covered Lines:
4671

Relevant Lines:
7546

💛  - Coveralls