Implement Caching for API Keys Pt 2

User Story - Business Need
Our application make calls to SQL database for data that does not change often. dao_fetch_service_by_id_with_api_keys() makes the largest number of queries against our database. We would like to use a caching to reduce the frequency of the SQL queries against our database.

[ ] Ticket is understood, and QA has been contacted (if the ticket has a QA label).

User Story(ies)
As a   developer
I want  to implement in-memory caching
So that we reduce the frequency we query for infrequently changed data.
Additional Info and Resources

Previous Spike
Cachetools
types-cachetools
Example of Cachetools
Steps to verify:

Datadog -> APM -> Select dev env -> click Postgres -> Select postgres.query from the dropdown at the top of the screen -> scroll down to the resources -> click the appropriate query -> observe graph

AuthenticatedServiceInfo class was created to store information coming out of dao_fetch_service_by_id_with_api_keys in an object unrelated to SQLAlchemy's models. Use/expand __dict__  method to make serialization work for caching.
Engineering Checklist

[ ] Add the following to modules: cachetools +  types-cachetools
[ ] Add TTL decorator for dao_fetch_service_by_id_with_api_keys() see cachetools documentation
[ ] def __dict__(self) of AuthenticatedServiceInfo adjusted to work with everything we need in the cache'd object
[ ] .deserialize() method of AuthenticatedServiceInfo can restore objects if/when needed
[ ] verify that data going in cache and out of it identical and no information was lost (this was previously the case)
[ ] Caching time should be set to 1 hour

Acceptance Criteria
Making multiple requests in a short period of time from the same service does not show more than one request to the Database for the mentioned query.
QA Considerations
This covers how to test dao_fetch_service_by_id_with_api_keys()

[ ] Test Case 1: should hit the database using a given input
[ ] Test Case 2: should call the function and hit the database once each
[ ] Test Case 3: should call the function with two different input and hit the database 2x, not 3x

We discussed the following in refinement:
The concept here is that if you are executing a route that validates api key (auth), then the subsequent requests for the following hour would use the cached the api key validation assuming the api key used has not changed.  It should also be faster than the first request. You should be able to see the caching being used vs the db query via cloudwatch logs. Example route, email notifications. Easiest way to test might be to use postman manually and sending the same request body multiple times.

Hey team! Please add your planning poker estimate with Zenhub @babyjunior56 @cris-oddball @EvanParish @k-macmillan @kalbfled @ldraney @nikolai-efimov

This ticket appears to have been prepped based on old information. That class does not exist and it is not necessary to go down to the __dict__ level.
I have added caching in the appropriate spot and the functionality is exactly as expected. Repeat requests with the same information (internally) result in the ServiceData class only being instantiated once every 10 minutes (per worker). Calls with different data result in instantiation of a new ServiceData class.

Two approvals, merged to master, tagged and sent to Perf. Will test based on the criteria in the PR.

Didn't exactly get what Kyle got in Dev, so I will need to wait for him to be in today to ask him about this testing. Sent two 10 email bursts 6 minutes apart and Datadog showed initially 10 database queries on the first burst then 1 db query on the second burst for a total of 11 DB queries.

doah I get it, 4 workers per task, 3 tasks in Perf = 12 workers. so I should be sending more bursts.

Testing by sending more than the number of workers in Perf, which is 3 tasks * 4 workers max = 12 max calls, so 20 per burst should do, send at least 6 minutes apart.
1st burst of 20 resulted in 16 calls to the DB

a little after 6 minutes later, another burst of 20 emails and DB calls remained at 16?

Not really sure I'm understanding this correctly. @k-macmillan

Kyle and I rested, but this time it made 20 calls to the db. also discovered that the failed v3 notification for the bad prefix was still being retried. Kyle cut a branch to kill that by catching the exception. deployed that to perf, which killed the retry, re-deploying master with the code for this ticket in it and will re-test after waiting 20-30 minutes.

Retested by sending 20 requests via Postman, which resulted in 8 db calls (indicates not all workers used?), which is great.

Then waited and sent a burst of 50 via the hammer script. This resulted in a total of 13 DB calls, 1 more than expected. Possible race condition, but at the end of the day, the caching is working, but with slightly unexpected but not alarming results.

Passing and closing ticket.


Fixing a sentence

The sentence makes more sense if it starts either with before seeing how or before moving on to see how, instead of heaving both statements.

Hi, how do we unsubscribe from all email from this repo. when "Whoops! That unsubscribe link isn't valid for your account." occures?

Hi, how do we unsubscribe from all email from this repo. when "Whoops! That unsubscribe link isn't valid for your account." occures?

@Kolesto1997  ---  did you ever get to the bottom of this errror msg?.. I get it too when attempting to unsubscribe.


Template-based functional components arent working

Subject of the issue
See issue title, for convenience here is a quick link to the Vue2 docs.
Btw, Im aware that template-based functional components arent supported by Vue3, Im hoping its a 'quick' fix though because it will take some time to move everything from v2 to v3 :)
Steps to reproduce
// TestComponent.vue
<template functional>

Hello

</template>

// vtu.test.js
import { mount } from '@vue/test-utils'
import TestComponent from './TestComponent'

test('render functional component', () => {
  const wrapper = mount(TestComponent)
  expect(wrapper.html()).toBe('
Hello
')
})

Expected behaviour
The test should pass
Actual behaviour
The test fails with:
 console.error
    TypeError: Cannot read property 'aClass' of undefined
        at Proxy.render (test/TestComponent.vue:27:22)
        at VueComponent.Vue._render (node_modules/vue/dist/vue.runtime.common.dev.js:3538:22

Possible Solution
A functional component with a render function does work, but it seems that VTU currently only checks for the functional prop on a component and doesnt understand the functional attribute of the template.
More info
Adding a prop functional: true in the script part of the SFC doesnt work either, then you will get the error
TypeError: Cannot read property '$createElement' of null

Also, if you pass a (functional) context to mount then VTU will log the error:
[vue-test-utils]: mount.context can only be used when mounting a functional component

This might be a Vue / Vue-compiler issue actually. The compiled render function with a template based functional component looks like:
    function render() {
      var _vm = this;

      var _h = _vm.$createElement;

      var _c = _vm._self._c || _h;

      return _c('div', {
        class: _vm.props.aClass
      }, [_vm._v("Hello")]);
    }

which triggers the TypeError about $createElement because there is no this


libpng warning: iCCP: known incorrect sRGB profile

i want know whats wrong about this , THX very much.
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
Traceback (most recent call last):
File "deep_q_network.py", line 215, in
main()
File "deep_q_network.py", line 212, in main
playGame()
File "deep_q_network.py", line 209, in playGame
trainNetwork(s, readout, h_fc1, sess)
File "deep_q_network.py", line 82, in trainNetwork
readout_action = tf.reduce_sum(tf.multiply(readout, a), reduction_indices=1)
AttributeError: 'module' object has no attribute 'multiply'

"AttributeError: 'module' object has no attribute 'multiply'":
my tensorflow's version is too low that the 'multiply' must changed to 'mul'.
https://www.tensorflow.org/install/migration


after exp detach, react-navigation initial route has been constructed twice

i am using the latest react-navigation&expo, running app on an ios simulator. before exp detach, everything is fine.

see #2599 and #2904

Duplicate of https://github.com/react-community/react-navigation/issues/2599


Class inheritance from Array(T) with YAML.mapping in T

Hello!
I have a code:
require "yaml"

class Child
  YAML.mapping(
    name: String,
    age: Int32
  )
end

class Children < Array(Child)
end

yaml = <<-END
- name: Alex
  age: 6
- name: Jessy
  age: 8
END

Children.from_yaml yaml

And I have a problem:
Error in line 20: instantiating 'Children:Class#from_yaml(String)'

in ./src/yaml/from_yaml.cr:3: instantiating 'YAML::PullParser#read_stream()'

  parser.read_stream do
         ^~~~~~~~~~~

in ./src/yaml/from_yaml.cr:3: instantiating 'YAML::PullParser#read_stream()'

  parser.read_stream do
         ^~~~~~~~~~~

in ./src/yaml/from_yaml.cr:4: instantiating 'YAML::PullParser#read_document()'

    parser.read_document do
           ^~~~~~~~~~~~~

in ./src/yaml/from_yaml.cr:4: instantiating 'YAML::PullParser#read_document()'

    parser.read_document do
           ^~~~~~~~~~~~~

in ./src/yaml/from_yaml.cr:5: no overload matches 'Children.new' with type YAML::PullParser
Overloads are:
 - Children.new(size : Int, value : T)
 - Children.new(initial_capacity : Int)
 - Children.new()

      new parser
      ^~~

How I can do that Children class?
Reproducible on master branch.
Crystal 0.18.7 (2016-07-04) on Arch Linux.
Thanks.

More generally, this works:
class Foo
  def initialize(x : Int32)
  end

  def self.new(x : Char)
  end
end

class Bar < Foo
end

Bar.new('a')

But this doesn't:
class Foo(T)
  def initialize(x : Int32)
  end

  def self.new(x : Char)
  end
end

class Bar < Foo(Int32)
end

Bar.new('a')

Something to do with generic classes.
As a workaround, you can use this:
class Children < Array(Child)
  def self.new(pull : YAML::PullParser)
    super
  end

  def self.new(pull : YAML::PullParser)
    super do |elem|
      yield elem
    end
  end
end

Alternatively, just using alias Children = Array(Child) should be enough. I personally consider subclassing containers like Array and Hash a bad practice or a bad design, and would try to use composition instead of inheritance in these cases.

Alternatively, just using alias Children = Array(Child) should be enough.

I want to add method like concat for Children class, where Child will be compare by one attribute and update from another Children:
children # => [#<Child @name="Rob", @age=8>, #<Child @name="Alice", @town="New York", @age=7>]
other_children # => [#<Child @name="Alice", @age=9>, #<Child @name="John", @age=6>]
# some magic method
children | other_children # => [#<Child @name="Rob", @age=8>, #<Child @name="Alice", @town="New York", @age=9>, #<Child @name="John", @age=6>]

and would try to use composition instead of inheritance in these cases

What do you mean?

I mean that you are defining a | method that basically has nothing to do with what Array#| does. Why not simply use Array(Child) and define, somewhere, a merge_children methods that does the operation? Less classes around, more explicit names, etc.
I would always think twice (or maybe many more times) before subclassing a generic type, specially when subclassing containers.

| is just example.
merge_children is FP, not OOP :) It's accessible, but is not so beautiful (for me).
Okay, thanks.


add natural size for original image

When we load one thumbnail for image, we want to know the original image size same time. I found the 2nd param in callback get image extra info. So I add a new property in default object.

Thanks for your contribution, @ArcRain
The loadImage function returns the original image (see API doc), which you can use to retrieve any HTMLImageElement property:
var loadingImage = loadImage(
  'https://blueimp.github.io/Gallery/img/loading.gif',
  function (img) {
    console.log(loadingImage.naturalWidth, loadingImage.naturalHeight)
  },
  { maxWidth: 100, canvas: true}
)

Do you have any use case that cannot make use of that return value?

I haven’t noticed the return value. You’re right, it’s a good way to retrieve img property.
I just think we can get more about original image info from  result in callback function.

Ok, unless you have a solid use case that prevents you from using the return value, I'd prefer to not merge this pull request.
Thanks for your understanding.

That's OK. Thanks for your reply. :-)

btw. if you definitely want to have the natural image properties in the callback, you can wrap the function like this:
function customLoadImage(file, callback, options) {
  var loadingImage = loadImage(
    file,
    function customCallback (img, data) {
      data = data || {}
      data.naturalWidth = loadingImage.naturalWidth
      data.naturalHeight = loadingImage.naturalHeight
      callback(img, data)
    },
    options
  )
  return loadingImage
}


Update sbt-scoverage to 2.0.1

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

Files still referring to the old version number
The following files still refer to the old version number (2.0.0).
You might want to review and update them manually.
project/Dependencies.scala

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

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.scoverage", artifactId = "sbt-scoverage" }
}]

labels: sbt-plugin-update, early-semver-patch, semver-spec-patch, old-version-remains, commit-count:1

There are incompatibilities here with a few more essential packages, so let's wait until those are updated:
[error] (update) found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[error]
[error] 	* org.scala-lang.modules:scala-xml_2.12:2.1.0 (early-semver) is selected over 1.3.0
[error] 	    +- org.scoverage:scalac-scoverage-reporter_2.12:2.0.1 (depends on 2.1.0)
[error] 	    +- com.github.sbt:sbt-native-packager:1.9.9 (sbtVersion=1.0, scalaVersion=2.12) (depends on 1.3.0)


Auto Provision ChirpStack Gateway not working

I am using the default ChirpStack compose file from: https://github.com/chirpstack/chirpstack-docker/blob/master/docker-compose.yml
My additions:
  udp-packet-forwarder:
    image: rakwireless/udp-packet-forwarder:latest
    container_name: udp-packet-forwarder
    privileged: true
    depends_on:
      - chirpstack-gateway-bridge
    environment:
      MODEL: "RAK7371"
      INTERFACE: "USB"
      DEVICE: "/dev/ttyACM0"
      BAND: au_915_928
      GATEWAY_EUI_SOURCE: chip
      SERVER_HOST: chirpstack-gateway-bridge
      CS_TENANT_ID: "XXXX-XXXX-XXXX..."
      CS_TOKEN: "eyJ0eXXXXXXXXXX..."
      CS_API_URL: "chirpstack-rest-api:8090"

If I manually define the RAK7371 Gateway in ChirpStack is is detected, but I would expect it to be automatically created on startup.

Should use CS_API_URL: "chirpstack-rest-api:8090"

Was missing depends on rest api:
    depends_on:
      - chirpstack-gateway-bridge
      - chirpstack-rest-api

Hi @CoenraadS
Thank you for troubleshooting this!


Volar cannot find module '/node_modules/typescript/lib/tsserverlibrary.js'

Problem description
After install volar wih :LspInstall volar, when opening a .vue file in a project created with vue create the following error message occurs:
`Error executing vim.schedule lua callback: /usr/share/nvim/runtime/lua/vim/lsp.lua:894: RPC[Error] code_name = Int
ernalError, message = "Request initialize failed with message: Cannot find module '/home/daniel/code/vueHard/test/
node_modules/typescript/lib/tsserverlibrary.js'\
Require stack:\
-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>stack traceback:
        [C]: in function 'assert'
        /usr/share/nvim/runtime/lua/vim/lsp.lua:894: in function 'cb'
        vim.lua:285: in function <vim.lua:285>`

I was able to fix this issue by running npm install typescript typescript-language-server
Neovim version (>= 0.6)
NVIM v0.6.1
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by builduser
Features: +acl +iconv +tui
See ":help feature-compile"
system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/usr/share/nvim"
Run :checkhealth for more info
Operating system/version
Linux danielpc 5.16.8-zen1-1-zen #1 ZEN SMP PREEMPT Tue, 08 Feb 2022 21:21:15 +0000 x86_64 GNU/Linux
I've recently downloaded the latest plugin version of both nvim-lsp-installer and nvim-lspconfig

[X] Yes

Affected language servers
Volar
Actual behavior
An error is thrown when opening up a .vue files after installing volar with lsp-installer. In order for it to work, I had to run npm install typescript typescript-server
Expected behavior
I expect the language server to throw no errors and work as expected without having to install additional npm packages.
LspInstallInfo output
I cannot provide this
The installed servers are bashls, cssls, html, lemminx,omnisharp,pyright,sumneko_lua,svelte,tsserver,vimls,volar,yamlls

Installation log
[INFO  Mon 14 Feb 2022 04:05:51 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:644: Starting install server_name="volar", requested_version=""
[ERROR Mon 14 Feb 2022 04:05:51 PM] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:153: Failed to spawn process. cmd="gh", err="ENOENT: no such file or directory"
[INFO  Mon 14 Feb 2022 04:06:14 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:663: Installation completed server_name="volar", success=true
[ERROR Mon 14 Feb 2022 04:07:58 PM] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:153: Failed to spawn process. cmd="gh", err="ENOENT: no such file or directory"
[INFO  Mon 14 Feb 2022 04:08:16 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:644: Starting install server_name="vuels", requested_version=""
[INFO  Mon 14 Feb 2022 04:08:19 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:663: Installation completed server_name="vuels", success=true
[INFO  Mon 14 Feb 2022 04:09:04 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:644: Starting install server_name="volar", requested_version=""
[INFO  Mon 14 Feb 2022 04:09:06 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:663: Installation completed server_name="volar", success=true
[INFO  Mon 14 Feb 2022 04:14:17 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:644: Starting install server_name="volar", requested_version=""
[ERROR Mon 14 Feb 2022 04:14:17 PM] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:153: Failed to spawn process. cmd="gh", err="ENOENT: no such file or directory"
[INFO  Mon 14 Feb 2022 04:14:37 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:663: Installation completed server_name="volar", success=true
[ERROR Mon 14 Feb 2022 04:15:09 PM] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:153: Failed to spawn process. cmd="gh", err="ENOENT: no such file or directory"
[INFO  Mon 14 Feb 2022 04:18:56 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:644: Starting install server_name="volar", requested_version=""
[ERROR Mon 14 Feb 2022 04:18:56 PM] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:153: Failed to spawn process. cmd="gh", err="ENOENT: no such file or directory"
[INFO  Mon 14 Feb 2022 04:18:59 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:663: Installation completed server_name="volar", success=true
[INFO  Mon 14 Feb 2022 04:19:25 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:644: Starting install server_name="vuels", requested_version=""
[INFO  Mon 14 Feb 2022 04:19:30 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:663: Installation completed server_name="vuels", success=true
[ERROR Mon 14 Feb 2022 04:21:02 PM] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:153: Failed to spawn process. cmd="gh", err="ENOENT: no such file or directory"
[INFO  Mon 14 Feb 2022 04:21:20 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:644: Starting install server_name="vuels", requested_version=""
[INFO  Mon 14 Feb 2022 04:21:24 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:663: Installation completed server_name="vuels", success=true
[INFO  Mon 14 Feb 2022 04:21:31 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:644: Starting install server_name="volar", requested_version=""
[INFO  Mon 14 Feb 2022 04:21:50 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:663: Installation completed server_name="volar", success=true
[ERROR Mon 14 Feb 2022 04:36:52 PM] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:153: Failed to spawn process. cmd="gh", err="ENOENT: no such file or directory"
[INFO  Mon 14 Feb 2022 05:07:53 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:644: Starting install server_name="volar", requested_version=""
[ERROR Mon 14 Feb 2022 05:07:53 PM] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:153: Failed to spawn process. cmd="gh", err="ENOENT: no such file or directory"
[INFO  Mon 14 Feb 2022 05:08:13 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:663: Installation completed server_name="volar", success=true
[ERROR Mon 14 Feb 2022 05:20:35 PM] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:153: Failed to spawn process. cmd="gh", err="ENOENT: no such file or directory"
[INFO  Mon 14 Feb 2022 05:20:57 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:644: Starting install server_name="sumneko_lua", requested_version=""
[ERROR Mon 14 Feb 2022 05:20:57 PM] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:153: Failed to spawn process. cmd="gh", err="ENOENT: no such file or directory"
[INFO  Mon 14 Feb 2022 05:20:57 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:644: Starting install server_name="svelte", requested_version=""
[INFO  Mon 14 Feb 2022 05:20:59 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:663: Installation completed server_name="sumneko_lua", success=true
[INFO  Mon 14 Feb 2022 05:21:06 PM] ...-installer/lua/nvim-lsp-installer/ui/status-win/init.lua:663: Installation completed server_name="svelte", success=true
[ERROR Mon 14 Feb 2022 05:24:09 PM] ...rt/nvim-lsp-installer/lua/nvim-lsp-installer/process.lua:153: Failed to spawn process. cmd="gh", err="ENOENT: no such file or directory"

Healthcheck
nvim-lsp-installer: require("nvim-lsp-installer.health").check()
========================================================================
## nvim-lsp-installer report
  - OK: neovim version >= 0.6.0
  - WARNING: **Ruby**: not available
  - WARNING: **RubyGem**: not available
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - WARNING: **javac**: not available
  - WARNING: **java**: not available
  - WARNING: **julia**: not available
  - OK: **tar**: `tar (GNU tar) 1.34`
  - OK: **gzip**: `gzip 1.11`
  - OK: **curl**: `curl 7.81.0 (x86_64-pc-linux-gnu) libcurl/7.81.0 OpenSSL/1.1.1m zlib/1.2.11 brotli/1.0.9 zstd/1.5.2 libidn2/2.3.2 libpsl/0.21.1 (+libidn2/2.3.0) libssh2/1.10.0 nghttp2/1.46.0`
  - OK: **wget**: `GNU Wget 1.21.2 built on linux-gnu.`
  - OK: **python3**: `Python 3.10.2`
  - OK: **node**: `v17.3.0`
  - OK: **Go**: `go version go1.17.6 linux/amd64`
  - OK: **sh**: `Ok`
  - OK: **bash**: `GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)`
  - OK: **npm**: `8.4.1`
  - OK: **pip3**: `pip 20.3.4 from /usr/lib/python3.10/site-packages/pip (python 3.10)`

Screenshots
No response

Hello! Could you try branch volar-vendor-typescript (https://github.com/williamboman/nvim-lsp-installer/pull/485)?

After switching branches to volar-vendor-typescript it worked perfectly and as expected.


Added getJumpUrl method to GenericMessageEvent

Pull Request Etiquette

[x] I have checked the PRs for upcoming features/bug fixes.
[x] I have read the contributing guidelines.

Changes

[ ] Internal code
[x] Library interface (affecting end-user code)
[ ] Documentation
[ ] Other: _____

Closes Issue: NaN
Description
This PR adds a getJumpUrl method to the GenericMessageReactionEvent, as you had to create your own method for this before.

Won't it be better to add it on GenericMessageEvent directly

Won't it be better to add it on GenericMessageEvent directly

Good point, ill change that in a new commit.

Added the change, should be good now.


Include a page's complete frontmatter in its navigation entry

I have a navigation entry named writing, with several child pages. Each child page has one or more tags. To facilitate easy browsing, I want to be able to display the tags of each child page (along with other metadata) when rendering the navigation
.
Example
/writing/moby-dick,md
---
title: &title Moby-Dick
author: Herman Melville
tags:
  - fiction
  - whale
eleventyNavigation:
  key: moby-dick
  title: *title
  parent: writing
---

/writing/a-brief-history-of-time,md
---
title: &title A Brief History of Time
author: Stephen Hawking
tags:
  - non-fiction
  - physics
eleventyNavigation:
  key: a-brief-history-of-time
  title: *title
  parent: writing
---

/writing/index.html (rendered)

        Moby-Dick by Herman Melville

#fiction

#whale

        A Brief History of Time by Stephen Hawking

#non-fiction

#physics

See Archive of Our Own for a live example.
But at the moment, page-specific information like tags or author isn't included in the entry returned by eleventyNavigation, making implementing this challenging.
Proposal
Inspired by the collection item data structure, add a field data to the entry returned by eleventyNavigation. This field would contain all data for this piece of content (includes any data inherited from layouts), minus the eleventyNavigation field (to avoid infinite recursion).
With this implemented, the above example could be written as:
/writing/index.njk
{% set navPages = collections.all | eleventyNavigation(eleventyNavigation.key) %}

    {%- for entry in navPages %}

        {{ entry.title }} by {{ entry.data.author }}

            {% for tag in entry.data.tags %}

                #{{ tag }}

            {% endfor %}

    {%- endfor %}

I see this issue was already brought up in #17. It would be great to have an official word on whether this could be considered for inclusion in the library itself.


Update AccessRules to allow for IPv6.

Currently it is impossible to set an IPv6 address to an AccessRule from the API.
This pull will add a new method setIPv6 to match setIP which only supports IPv4.
Thanks,
Andy

Let me know if the method name doesn't fit any guidelines and I'll adjust the request.

I don't believe the Travis-CI tests are related to my code...
In ToolInfo.php line 50:

  Undefined index: name

Please advise.

please rebase off the latest master branch, the CI provider has been fixed

@jacobbednarz Done.

I've pulled the upstream changes down.

looks like you've got some lint issues to address and we can merge this.

I don't have this pulled down to a local machine, been working inside github.
Can you tell me what the lint issue is.
I don't see it being declared in the output.
Loaded config default from ".php_cs".
   1) cloudflare-php/src/Configurations/AccessRules.php

Checked all files in 0.589 seconds, 12.000 MB memory used
make: *** [Makefile:9: lint] Error 8
Error: Process completed with exit code 2.```

Locally, you would run make fix and it would handle the fix for you. In this case, it's the braces and spacing.
@@ -9,9 +9,9 @@ class AccessRules implements Configurations
     public function setIP(string $value)
     {
         if (strpos($value, ':') !== false) {
-          $this->config = ['target' => 'ip6', 'value' => $value];
+            $this->config = ['target' => 'ip6', 'value' => $value];
         } else {
-          $this->config = ['target' => 'ip', 'value' => $value];
+            $this->config = ['target' => 'ip', 'value' => $value];
         }
     }

PHPMD also wants this to not use else (which I don't agree with) so we can just suppress that by prepending the method with
/**
  * @SuppressWarnings(PHPMD.ElseExpression)
  */

For best results, I'd recommend pulling this locally and using the tools provided or use something like GitHub codespaces.


Implement Google-style search for quoted strings.

This implements Google-style search quoting as discussed here: https://github.com/code4recovery/react/issues/43
You can see it in action here:
https://www.aasepia.org/?day=any&search="center city west"
https://www.aasepia.org/?day=any&search=malvern paoli
https://www.aasepia.org/?day=any&search=devon malvern paoli "west chester"

LGTM! Thanks


jsoup 1.6.3 breaks functionality with Android

Hello,
I tried to upgrade from 1.6.2 to 1.6.3 of the lib in my Android app project but now experience force closes. The problem seems to be the loading procedure of properties from file, which is unavailable on Android.
The following is the stack trace, not complete as it was retraced with proguard mapping. So some method calls could not be identified correctly and choices were given.
Caused by: java.lang.ExceptionInInitializerError
at org.jsoup.nodes.Document$OutputSettings.(Unknown Source)
at org.jsoup.nodes.Document.(Unknown Source)
at org.jsoup.parser.TreeBuilder.initialiseParse(Unknown Source)
at org.jsoup.parser.TreeBuilder.parse(Unknown Source)
process
at org.jsoup.parser.HtmlTreeBuilder.parse(Unknown Source)
process
process
transition
state
framesetOk
maybeSetBaseUri
insert
insert
insert
insert
isElementInQueue
popStackToClose
insertOnStackAfter
replaceInQueue
inSpecificScope
inSpecificScope
inScope
insertInFosterParent
at org.jsoup.parser.Parser.parseInput(Unknown Source)
isTrackErrors
at org.jsoup.helper.DataUtil.load(Unknown Source)
parseByteData
readToByteBuffer
getCharsetFromContentType
at org.jsoup.helper.HttpConnection$Response.parse(Unknown Source)
at org.jsoup.helper.HttpConnection.url(Unknown Source)
timeout
get
... my code calling "Document = Jsoup.connect(service).timeout(timeout).get();"
Caused by: java.lang.ExceptionInInitializerError
at org.jsoup.nodes.Entities$EscapeMode.(Unknown Source)
... 24 more
Caused by: java.lang.NullPointerException
at java.util.Properties.load(Properties.java:264)
at org.jsoup.nodes.Entities.loadEntities(Unknown Source)
access$200
at org.jsoup.nodes.Entities.(Unknown Source)
... 25 more
Hope this helps.
Regards,
Florian

There is no need for such wide rule as -keep public class org.jsoup.**
Simple
-keepnames class org.jsoup.nodes.Entities
is enough.
Jsoup tries to load .properties files from the package of this class, but it couldn't if its package is changed, because ProGuard doesn't respectively change package of properties files. So we should simply keep name for this class.

I confirm that amal's solution works. Thanks.


chore: bump and align dependencies; dedupe typescript

This bumps and aligns dependency versions to resolve inefficiencies and fixed upstream issues.

<EMAIL_ADDRESS>currently pulls in multiple different versions of typescript. This removes the 3.x and 4.x transitive dependencies, aligning on a single ^5.0.4, which is now also the version used as devDependency.
Remove redundant explicit detective-* packages which are already included through precinct
Bump dependencies

Some dependency packages have been updated to ESM modules. Updating to latest for these packages will require converting madge to ESM as well, which should be done as a future breaking change in madge v7 or later. These have been kept at the latest CommonJS version.

test: Remove specific typescript configuration for ASP.net

This reduces the size of node_modules on a local checkout from 333MB to 149MB.

This also updates dependencies
"dependency-tree": "^10.0.9"
   --> "filing-cabinet": "^4.1.6",

which would pull in https://github.com/dependents/node-filing-cabinet/issues/117 which should fix some breakage with index.ts files

Hi, I'm just back to dev.
Thanks for this great PR. Aligning ts version was what I wanted to do. Great to see someone actually did it. And those detective-* are never explicitly imported in the code so removing them are reasonable.
As for the ESM conversion, I remembered that @pahen was against it, right? If not we can do that in v7.

Hi, @legobeat ! thanks for the PR and I think it's almost ready to get merged! Only thing is that I find the base of your branch is 499 commits ago. Could you rebase it to current master? I tried to do it but it seems you didn't select "Allow edits from maintainers" so my hands are tied.
Thanks for the PR again!

Sorry I just logged off. This will be the first priority on my next session. Thanks again!

I found TS>5.2.0 gets a warning (no error) with @typescript-eslint/typescript-estree So I'm limiting it to 5.2.0. I think it's enough for our current stage. And since it's already in the dev dependency, we no longer need it as a peer dep nor in the peer dep meta. So I removed those fields.
How does this look to you @legobeat ? If you are ok with these changes, I'll try to merge it now.

Sorry that I was sloppy on 9db3ebd
Your statements are all correct, I'm just trying to relate them to [726d2c2](https://github.com/pahen/madge/commit/726d2c213949c33b6636c52c97bc82c540fb1127)

@typescript-eslint/typescript-estree is only used as a devDependency for linting.

While it seems reasonable to restrict the version used as devDependency, this shouldn't affect what versions can be used for runtime.
We should restrict typescript version as devDependency

devDependencies is not recognized for users / dependents of the package. They are only relevant for devs, ie when running ${PACKAGEMANAGER} install in the repo.
Did anything other related to this change since Move typescript to peer dependencies #350 / constrain and bump typescript versions #376? Otherwise seems like the motivations for keeping it as optional peerDependency would still be as valid?
Should keep TS as peerDependency for non-dev users.

Finally, thanks for the correction and the work.


Update version to 0.2.2

To update package for npm.

Thanks. I'm (currently) bumping this package when there's a new cli release (what's actually published to npm).
I may change that in the future.


Do not overwrite human-readable changes to old versions

This might be best left to external scripts, but I'm interested to see how people feel about it.

My ideal workflow would be:

To run github-changelog-generator on every merge into master as an automatic commit.
Directly commit human-readable changes to CHANGELOG.md in master.
Repeat.

Problem right now is that the human-readable changelogs would be overwritten by step 1. The idea of this feature request is to only add changes to the CHANGELOG.md file in versions that are older than the latest found tag.
An external script can do this:

Parse the CHANGELOG.md file using regex (or by creating a Markdown AST) and collect a file containing all of the sections of versions that have tags.
Create a HISTORY.md file using step 1's output.
Run github-changelog-generator. It will pull HISTORY.md by concatenating to the end of the file.
Delete HISTORY.md (optional).

Any thoughts on this? Thanks!

I wrote a GitHub Action that does this (and other stuff) here.


FieldElement doesn't seem to support deserializing from non self-describing format

https://github.com/xJonathanLEI/starknet-rs/blob/0df9ad3417a5f10d486348737fe75659ca4bcfdc/starknet-ff/src/lib.rs#L577-L584
Not sure if this is intended, but the use of deserialize_any in FieldElement's Deserialize impl means I cant use bincode/postcard with it as they don't support the method. Deserializing FieldElement from bincode/postcard will result in an error like:
Bincode does not support the serde::Deserializer::deserialize_any method

And as mentioned in serde website,

When implementing Deserialize, you should avoid relying on Deserializer::deserialize_any unless you need to be told by the Deserializer what type is in the input. Know that relying on Deserializer::deserialize_any means your data type will be able to deserialize from self-describing formats only, ruling out Postcard and many others.

Fix now released as starknet-ff v0.3.6.


[Bug] [Task Plugin] hive sql execute failed

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
I got the following error when using sql node to execute hive sql
[ERROR] 2021-11-29 04:56:17.926 org.apache.dolphinscheduler.server.worker.runner.TaskExecuteThread:[210] - task scheduler failure
java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.conf.Configuration
        at org.apache.dolphinscheduler.plugin.task.util.CommonUtils.loadKerberosConf(CommonUtils.java:84)
        at org.apache.dolphinscheduler.plugin.task.datasource.hive.HiveDatasourceProcessor.getConnection(HiveDatasourceProcessor.java:129)
        at org.apache.dolphinscheduler.plugin.task.datasource.DatasourceUtil.getConnection(DatasourceUtil.java:59)
        at org.apache.dolphinscheduler.plugin.task.sql.SqlTask.executeFuncAndSql(SqlTask.java:184)
        at org.apache.dolphinscheduler.plugin.task.sql.SqlTask.handle(SqlTask.java:155)
        at org.apache.dolphinscheduler.server.worker.runner.TaskExecuteThread.run(TaskExecuteThread.java:192)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

What you expected to happen
hive sql execute successfully.
How to reproduce
using sql node to execute hive sql.
Anything else
After copy lib/*.jar to lib/plugin/task/sql/,everything works fine.
Version
2.0.0
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Could you shed some more light on that? Give more details about the issue.

Could you shed some more light on that? Give more details about this issue.
@calvinjiang
do you want fix this bug?

Running command like this in 2.0.0-release.This problem can be reproduced. @calvinjiang

Running command like this in 2.0.0-release.This problem can be reproduced. @calvinjiang

All right, I'll try to check this issue ASAP.

@SbloodyS This issue didn't reproduce in my environment. I guess that the issue may be fixed already. Could you pull or download new code  and then take a try one more time. If there will still be this issue , please tell me , I will have a look.

I reinstall ds 2.0.0-release from https://www.apache.org/dyn/closer.lua/dolphinscheduler/2.0.0/apache-dolphinscheduler-2.0.0-bin.tar.gz.It can be reproduce every time.
[ERROR] 2021-11-30 16:34:34.938 org.apache.dolphinscheduler.server.worker.runner.TaskExecuteThread:[210] - task scheduler failure
java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
        at org.apache.dolphinscheduler.plugin.task.util.CommonUtils.loadKerberosConf(CommonUtils.java:84)
        at org.apache.dolphinscheduler.plugin.task.datasource.hive.HiveDatasourceProcessor.getConnection(HiveDatasourceProcessor.java:129)
        at org.apache.dolphinscheduler.plugin.task.datasource.DatasourceUtil.getConnection(DatasourceUtil.java:59)
        at org.apache.dolphinscheduler.plugin.task.sql.SqlTask.executeFuncAndSql(SqlTask.java:184)
        at org.apache.dolphinscheduler.plugin.task.sql.SqlTask.handle(SqlTask.java:155)
        at org.apache.dolphinscheduler.server.worker.runner.TaskExecuteThread.run(TaskExecuteThread.java:192)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at org.apache.dolphinscheduler.spi.plugin.DolphinPluginClassLoader.loadClass(DolphinPluginClassLoader.java:81)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 11 common frames omitted

There is no corresponding jar in lib/plugin/task/sql/

@SbloodyS Can you try to use the hive client command to access your hive under the same environment and system user like this:
./bin/beeline -u jdbc:hive2://xxxxxx:10000 -n your-name -p your-password
show databases;

This is production environment.And show databases works fine in 1.3.9.@calvinjiang

@SbloodyS I guess that the environment of the worker didn't find hadoop-common-xxx.jar that contains the class 'org.apache.hadoop.conf.Configuration'.

@calvinjiang I think so. So I copy lib/*.jar to lib/plugin/task/sql. It works fine.

@calvinjiang I think so. So I copy lib/*.jar to lib/plugin/task/sql. It works fine.

@SbloodyS  Does this issue fix by @calvinjiang suggest or not? If fix I'd like to close it.

@zhongjiajie It's already fixed in 2.0.1-release.thanks.I will close it.


Moving objects between OUs?

Hi,
Thank you for this tool.
I am currently testing out the attack shown here in which the presenter uses a member of the Exchange domain group Exchange Trusted Subsystem to create a new OU, enable inheritance on that then move the Domain Controller OU into the new OU after which it is possible RBCD a DC. I don't think you can move the Domain Controller OU anymore but it is still possible to target individual computers or users as long as they don't have "adminCount" set to "1".
I see that Powerview.py can add OUs and grant yourself GenericAll rights on that. However, I cannot find a way to move an object into the added OU. Is that possible?

Hi! We already implemented the Set-DomainObjectDN module in dev branch. Please verify in your environment if it works as intended. Example command:
Set-DomainObjectDN -Identity 'CN=DC,OU=Domain Controllers,DC=RANGE,DC=local' -BaseDN 'OU=EvilOU,DC=RANGE,DC=local'

Great. That works! Thanks!
However, it seems using the command Add-DomainObjectAcl -PrincipalIdentity adlab1_domainuser2 -Rights all -TargetIdentity 'OU=test5,DC=adlab1,DC=local' does not enable inheritance. After moving an object into the new OU it is still not possible to for example write Shadow credentials on it.
If I use Impacket's dacledit.py (PR 1291) to enable inheritance on the new OU things works. My GenericAll rights are inherited which means I can for example write Shadow credentials.
Here is the DACL of OU test5 after using the Add-DomainObjectAcl command above:

Here is the DACL of OU test5 after enabling inheritance using dacledit.py. As you can see there are differences:

Is it possible to toggle inheritance using Powerview.py? If yes, how? If not, can that be implemented?

I checked out the updated Dev branch and tested this again. The parameter -Inheritance is now available but either GenericAll rights or inheritance is not set since writing shadow credentials fails.
Using the command Add-DomainObjectACL with the new parameter:

DACL of OU pentest after the command Add-DomainObjectACL:

To me it seems ACE [10] is missing. See earlier screenshot.

Hi, thank you for your patience. We have updated the "dev" branch, you may need to pull the latest version.
You can use the same command previously mentioned by @aniqfakhrul:
Add-DomainObjectAcl -PrincipalIdentity 'CN=Issue75_compr_user,OU=Issue75_OU,DC=RANGE,DC=local' -TargetIdentity 'Issue75_OU' -Rights FullControl -Inheritance

After applied:

Can you please verify is this resolves the issue. Thanks!

Good work! Now it works. Thank you!
I did however find a small issue. The installation of the current Dev branch fails due to the trailing "´´" on line 2 in requirements.txt. After removing those the installation works.

Thanks! The issue in requirements.txt has been fixed. Appreciate it.


Android build fails with gradle

Problem description
Tabris build does not use the latest version of cordova.
Expected behavior
I added a plugin called Layar, while building the android app, i encountered an error:
A problem occured evaluating root project 'android'.
Could not find method exclude() for arguments [{module=CordovaLib}] on project :com.layar.cordova.LayarPlugin:layar_sdk of type org.gradle.api.Project.
Environment

Tabris.js version: 2.0
Device: PC
OS: Windows

Code snippet
// Issue is with this code generated by gradle named build.gradle
implementation project(":com.layar.cordova.LayarPlugin:layar_sdk"){
        exclude module:("CordovaLib")
    }

@josiahking You should update your tabris version to the latest 2.6.x.


[UX] Avoid mix use of SetIput and Argument Passing

Currently we use SetInput to prepare input arguments to a function.
The different calling style is distinguished through whether or not arguments are being passed.
Specifically, if we already set the input, but still passes in additional argument, we should send a proper error or warning to indicate that this is perhaps a wrong behavior.
It is also good to think about UX implication about possible usecases, document them clearly in our runtime on about the expected way to use things.

 vm_rt.set_input("main", data, weight)

# this code now still uses data, weight as input, instead of data2, weight2
 my_res = vm_rt["main"](data2, weight2)

Thanks for noting this issue!
I propose we explicitly distinguish these two sets of APIs:
# API 1: directly invoke
res = vm_rt["main"](data, weight)

# API 2: set_input() and invoke() as an API pair
vm_rt.set_input("main", data, weight)
res = vm_rt["main"]() # error! this way of invoking a VM function is not allowed when the input is set
res = vm_rt.invoke("main")  # user has to use the invoke api to invoke the function

It would be good to think about implications of time_evaluator. Since normally time evaluator will measure the direct impact of the function.
For example, the following code is commonly used for timer.
timer = vm_rt.module.time_evaluator("main")
results = timer(inputs)

Switching to invoke is likely fine but might create another overhead of lookup during timing
timer = vm_rt.module.time_evaluator("invoke")
results = timer("main")

Other than this the API implication sounds good.
One quick idea is to move specification of what to invoke to set_input or some earlier stages. To ensure invoke invokes the last function that we set input for. But would be good to think a bit deeper about UX implications

I totally agree with this UX improvement.
One quick question - would it be possible to unify the user-facing interface?
To my best understanding, the API with set_input() can cover all functionalities of direct invocation and do more. (Please correct me if I'm wrong.)
But direct invocation style seems more convenient to use.
So, I'm wondering if we can do something like only exposing the direct invocation user interface that implicitly performs set_input(), invoke(), set_output() APIs and preload the given function (to avoid unnecessary overhead in time_evaluator).

If VMFunctions have a pointer back to the VM, we could desugar the function call interface into the stateful API, but they don't (though we could add it).
Would/should calling get_output() on a tuple return value without an index return the whole tuple?

Summarize some discussions we had offline among @psrivas2, @yongwww, @sunggg and me:
We agreed on splitting the stateful API into three steps:

vm_rt.set_input("main", *inputs)
Invoke a VM function:
O0: vm_rt["invoke_stateful"]("main")
O1: vm_rt["invoke_stateful"]()
O2: vm_rt.invoke_stateful("main")
O3: vm_rt.invoke_stateful()
O4: vm_rt["main"]()   <== rule out, distinguish from the stateful API
Get the outputs from invoke_stateful.
O0: vm_rt.get_outputs("main")
O1: vm_rt.get_outputs()
It's a convenience api, under the hood it calls get_out(index) and assemble the outputs.

The major difference between these API options(for example O0 vs O1) is whether we want users to explicitly pass the function name to invoke_stateful or get_outputs. The sticky point is what's the best interface to interact with time_evaluator when doing benchmarking:
vm_rt.set_input("main", *inputs)
timer = vm_rt.module.time_evaluator("main")  # Error! main function has inputs set, but here still calling the stateless API
timer = vm_rt.module.time_evaluator("invoke_stateful") # Success, the user wants to evaluate the function invocation time of the last function that had input set

# Set up the timer
O0: results = timer("main") # explicitly evaluate function "main", but it incorporates a hashmap lookup overhead in the measurement
O1: results = timer() # implicitly evaluate the last function that had its input set, in this case "main"

To avoid incorporating the hashmap lookup overhead in benchmarking results, it seems that we have to go with O0: results = timer(). We expect the users to use the following set of API, in which the function we want to measure is determined at the very beginning stage (in set_input).
vm_rt.set_input("main", *inputs)
timer = vm_rt.module.time_evaluator("invoke_stateful")
results = timer()
outputs = vm_rt.get_outputs()

One downside of this API is we cannot set inputs for multiple functions and evaluate them, for example:
vm_rt.set_input("func1", *inputs1)
vm_rt.set_input("func2", *inputs2)
# this will only allow us to benchmark func2
timer = vm_rt.module.time_evaluator("invoke_stateful")
results = timer()

Considering it's a stateful API, it makes sense to keep the state (the last function that we set input for), and implicitly assume invoke_stateful and get_outputs work on the last function that we set input for. In most cases user just wants to benchmark the performance of one function (an e2e ML model), so the O0 API for time_evaluator seems acceptable.

Would/should calling get_output() on a tuple return value without specifying an index return the whole tuple? (We could have the VM request the parity of the tuple, if needed.)

@slyubomirsky, Yes, I think we can have a convenience api vm_rt.get_outputs() like the Relay VM to return a list of NDArrays if the Relax function output is a Tuple. Under the hood it calls VM->GetOutputByIndex(index) to fetch each value in the return tuple, and compose them as a list. The reason to have GetOutputByIndex is that RPC does not support TVM object containers such as runtime.ADT.Tuple and runtime.Array.

Another possibility: Rather than have a stateful/stateless API, we could instead have a method that creates a closure using the function that a user wants to call. The closure just calls the function with the given arguments.
E.g., vm_rt.module.create_closure("main", *args), returning a PackedFunc that calls main with the given args. This avoids the hash table lookup issues in the TimeEvaluator

Possible issue with set_output as described: Return values can be nested tuples, so the VM should have to deal with possible nesting structures. Not insurmountable, but it has to be handled.

Implemented


Allow empty Strings when using whiny Accessor.

When setting accessor: :whiny, you are permitted to pass in a key value of nil but not an empty String "".
to_do.state = nil
#=> nil

to_do.state = ""
#=> ArgumentError ( is not a valid enum value for state)

This can cause issues, especially on forms with select elements. For example, by default a blank option with a value set to nil comes through as a param value of an empty String. Setting the enum attribute with an empty String throws an error.
Even normalizing your data with gems like strip_attributes that strip leading/trailing whitespace and converts empty Strings into nil does not fix the issue because that occurs before validation, after simple_enum applies the attribute's value and throws the error.
This commit checks that the key is present, not just a non-nil value, and allows for empty Strings not to raise an error.
> key = ""
=> ""
> puts 'hi' if key
hi
=> nil
> puts 'hi' if key.present?
=> nil

Two things,

The error in the Travis CI build doesn't look to be related to this PR at all. Might just be a broken build.

I just realized that .present? is a Rails method and not sure if simple_enum is intended to support non-Rails projects. If so, we'll need to change key.present? to key && key != "".

Hi @joshuapinter, thanks for the PR, no this project does not intend to support non-Rails projects.

Excellent. We're using my fork in production now. Let me know if you need anything from me for this.
Cheers.

Thanks @joshuapinter, just merged it.

Excellent! What gem version do you think this will make its way in to?


[Structured Commons] Remove both captions and description instead of just descriptions

Summary:
Continuing the discussion from thread
When Structured Commons are implemented, change the action of "X" to delete both Captions and Description instead of just Descriptions.
Use the UI mockup discussed in PR where the X and the Spinner are vertically centered.
Mockup:

I hope you don't mind me asking, I promise I DID some research about this but I couldn't find anything  helpful. What is structured commons? Is it a repository that holds another version of the android app? What is the difference between this one and that-if any?

@FawziyahAlebiosu there is a branch on the repo called structuredData that I am working on after inheriting, you can read more here. It seems like this ticket will now be done as part of the original ticket to remove descriptions once Structured Data is merged so I wouldn't worry about it

@FawziyahAlebiosu there is a branch on the repo called structuredData that I am working on after inheriting, you can read more here. It seems like this ticket will now be done as part of the original ticket to remove descriptions once Structured Data is merged so I wouldn't worry about it

Ohhhhhhh that page has so much information, thank you!! I was just curious because I had seen it referenced in multiple issues.

Do we really need a X button? The field is already quite narrow, so an X button would make it too small, I think. Leaving the fields empty would be enough, I think. We have to check that empty fields are not uploaded.
What do you think about it? :-)

It feels a bit messy to not have a way of removing them?
On my contacts app if I try to add a custom field I get the x option once I have added data

It would be a larger change to the ui but we could launch an Add caption & description dialog and not have input fields in this list. It gives us the space we need and I think lets the user see what they have typed a lot better. We would then need edit functionality too. Just a thought on my own frustrations at adding a description of any substantial length.

Fixed in master, thanks all! :-)


anyone have a working version of this in Python 3.7?

1st of all this is an awesome repo.
Update: I have it working on Python 3.7 for science_rcn/run.py but had to make a few specific code design change to achieve the Total test accuracy = 0.7.
There were a few changes you had to make to update the code to Python 3.7. Unrelated to updating the code from Python 2.7 to Python 3.7 are the following design changes:
1 important change is in preproc.py fwd_infer(...) function I had to change
localized[localized < 1] = 0
to
localized[localized < background_threshold] = 0 & added a background_threshold=.001 function argument to fwd_infer(...)
I also changed max_cxn_length=100 in add_underconstraint_edges(...) to max_lateral_connection_pixel_length=15 to create graphs that looked like the following:

NOTE: changing max_cxn_length=100 to max_cxn_length=15 did not effect the Total test accuracy = 0.7.
If you do this & rerun science_rcn/run.py with 10 train & test images instead of the default 20 you also get Total test accuracy = 0.7.

I'm extremely interested in figuring out how to programmatically & automatically optimize all of the RCN model constraints such as:

train_size = 10
pool_shape = (25,25)
perturb_factor = 2.0
num_oriented_edge_features=16
filter_scale=4.0
gabor_size=21
get_gabor_filters(...) _get_sparse_gaussian() gaussian[gaussian < 0.05 * gaussian.max()] = 0 why 0.05?
brightness_diff_threshold = 40.0
background_threshold=.001
pooled_channel_weights = [(0, 1), (-1, 1), (1, 1)]
suppress_radius=3
% edge landmark features / total input image pixels = 0.00220 for above numbers on digit "0"
max_lateral_connection_pixel_length = 15 =
The maximum radius to consider adding laterals. This number is dependent on the average length of pixels between landmark feature nodes.
tolerance = 4 = How much relative error to tolerate in how much two points vary relative to each other.
number of edge_factors?

Updated (and somewhat simplified) code to work on Python 3.


Integration test framework

Framework to run integration tests:

Uses kubernetes integration test framework
Shallow clones k/k into a local directory for importing into tests to avoid complexity
with generated code.
Adds a test which adds a config map entry and attempts to authenticate.
The test currently expects to be run on an EC2 instance because the authenticator server cannot start otherwise.  I'd like to get rid of this dependency.
The diff currently does not include go.mod or vendor changes.  Should we continue vendoring dependencies?  I'm not sure what what the original reasoning for vendoring was but I'd like to avoid it if we don't have any hard dependencies on it.
I made a number of changes to config/certs and config/kubeconfig to make reusing some methods in tests easier.

The test currently expects to be run on an EC2 instance because the authenticator server cannot start otherwise. I'd like to get rid of this dependency.

why is this, do we need instance metadata for some reason?

why is this, do we need instance metadata for some reason?

I should say we need some type of AWS credentials for the initialization of the ec2Provider, if I remember correctly.  Haven't looked too closely at the dependency yet though.

/lgtm


failed run xdp program

bpf.c
SEC("xdp")
int xdp_pass(struct xdp_md *ctx)
{
	void *data = (void *)(long)ctx->data;
	void *data_end = (void *)(long)ctx->data_end;

	return XDP_PASS;
}

.c
err = bpf_program__attach_xdp(skel->progs.xdp_pass, 1)

error

failed to resolve CO-RE relocation <byte_off> [185] struct xdp_md.data_end (0:1 @ offset 4)
processed 2 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
-- END PROG LOAD LOG --
libbpf: prog 'xdp_pass': failed to load: -22
libbpf: failed to load object 'bandwidth_bpf'
libbpf: failed to load BPF skeleton 'bandwidth_bpf': -22
Failed to open BPF skeleton

but kprobe is work well,
does bpf_program_attach_xdp third param is mean ip link print nic ifindex?

Please send generic BPF questions to<EMAIL_ADDRESS>this repo is about libbpf bootstrap examples.

May I ask how this issue was ultimately resolved, or is there still a problem in the latest version?


Fixes contract admin from removing denoms with balance from the contract

Currently if the admin of a wrapping contract wanted they can remove the a denom with a balance from the wrapping contract trapping coins in the contract until the specific denom is re-added. Adds a check and raises an error if admin tries to remove a denom with a non-zero balance.

Sorry about all the commits, I ran a reformatter and committed that without realizing lol

There's almost no way that in the real world a balance of a token will be completely 0, so adding this essentially means locking the denoms. Which does make sense in a lot of scenarios, so I added this as an init config option - whether the denoms are locked or not


Atomic update of conditions to prevent oscillation.

Issue:

https://github.com/fusor/mig-controller/issues/120
https://github.com/fusor/mig-controller/issues/153

The oscillation is caused by the number of Update() used to update conditions.  In each controller, the validate() effectively clear and re-sets all conditions and updates the resource.  For controllers that manage all conditions in validate() the change is atomic.  However, the plan controller is a bit more complicated.  It manages the error conditions in validate() but manages the required (category) conditions (including Ready) elsewhere.  As a result, all of the required conditions (including Ready) are removed with the 1st Update() and then potentially re-set in the 2nd Update().  Since the plan reconciles a lot, this causes quite a bit of oscillation of the Ready condition.  Especially for the Plan.
The fix proposed here is to do condition staging at the reconcile level.  The pattern looks like this:
In Reconcile():

Begin condition staging.
Validate.
Reconcile things.
Set ready condition.
End condition staging.
Update.

This pattern would be applied to all controllers.
As a result of the single update, the Ready condition will not oscillate unless the resource actually goes in and out of ready on each reconcile.
A potential concern: Currently, the Ready condition is cleared quickly at be beginning of each reconcile which means that if the resource is actually no longer ready, resources watching will detect this faster.  As a result of the proposed single-update,  the Ready condition (removal) can potentially take longer to be updated and noticed by watching resources.  This could be exacerbated by the reconcile being interrupted by an error (or the scheduler).  Since there is always are race condition between resources (and the UI), I believe the potential delay is worth it.  Also, in kube, there is never a guarantee that the main controller for a resource will reconcile first when multiple controllers are watching a resource.  If things are changing that affect readiness while a migration is running, chances are, things are going to get hosed anyway.
This PR includes a change to coerce the controller reconcile ordering to be deterministic for resources being watch by multiple controllers.  This will reduce some of unnecessary reconciles.  But the goal is to ensure that secondary controllers will reconcile only for changes already reconciled by the main controller.  This will make it more intuitive and deterministic which supports easier troubleshooting.  For example, the migration controller will only reconcile changes to the plan after the plan controller has reconciled (that ResourceVersion) first.
While profiling watches and reconciles, I eliminated a few unnecessary resource updates.  As of this PR, each resource is only updated once by their controller at the end of the Reconcile().
Fixes SEGV when discovering PVs when the source cluster ref cannot be resolved.  Needs to use HasAnyCondition() because HasCondition() returns true when matching ALL the specified conditions.

This is working great now!


When example status or description is undefined, the returned OAS is not valid

As mentioned here #255, when a collection has no valid status code in an example, the returned OAS is not valid. Here is an example:

The suggestion for this issue is to apply the readme.io suggested solution, so that the resultant OpenAPI definition is valid

close because of archive, read the README for more info about that decision.


Make plugin work also with DITA OT 1.8

It's plugin.xml should also contain a:
 <feature extension="dita.conductor.transtype.check" value="dita" type="text"/>

because the transtype metadata way of declaring transtypes does not work with DITA OT 1.8.

Closing as won't fix because 1.8 is not supported any more.


[WFCORE-4374] security-manager permissions are loaded using java.se m…

…odule
Issue: https://issues.jboss.org/browse/WFCORE-4374
Adding dependency on java.se module to security-manager would allow most of standard permissions to be defined in security-manager permissions configuration without the need to specify module option

@jmesnil could you take a look please


Python 2.7.3 (64-bit) for Windows 7 (64-bit)?

Hi
I'm trying to install the prerequisite described in the installation steps. It is not clear to me which Python 2.7.3 installer to download if I'm using Windows (64-bit) and Node.js v0.12.0 (64-bit):

Windows x86 MSI Installer or,
Windows X86-64 MSI Installer?

Well, my best guess is the Windows x86-64 MSI but I just want to be sure.

It probably shouldn't matter. But you should try to match the version of your operating system, so 64-bit in this case.


TypeError: Cannot read properties of undefined (reading 'videoId')

Describe the bug

When I try to get informations about a video on my hosting machine, it returns me the following error:
TypeError: Cannot read properties of undefined (reading 'videoId')
    at fetchIosJsonPlayer (/home/container/node_modules/@distube/ytdl-core/lib/info.js:342:41)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async exports.getInfo (/home/container/node_modules/@distube/ytdl-core/lib/info.js:245:29)

I also tried to get these informations on my computer (which runs on windows 11) and unlike my hosting machine, it worked perfectly.
I first thought that was an issue with the node version but my computer has the same node version therefore it's not that.
And this bug happens on every video that I'm trying to get info.
Debug File

const fs = require('fs');
const ytdl = require("@distube/ytdl-core");
const agent = ytdl.createAgent(JSON.parse(fs.readFileSync("agent.json")));
await ytdl.getInfo("https://www.youtube.com/watch?v=uu2XSQgdQDY", { agent })

Environment

@distube/ytdl-core version: 4.14.0
Node.js version: 18.7.0
Operating system: Ubuntu 18.04

Can you update to 4.14.1, then log the error.response to know why it happens?
await ytdl.getInfo("https://www.youtube.com/watch?v=uu2XSQgdQDY", { agent }).catch(e => {
    console.error(e);
    console.log(e.response)
})

Can you update to 4.14.1, then log the error.response to know why it happens?
await ytdl.getInfo("https://www.youtube.com/watch?v=uu2XSQgdQDY", { agent }).catch(e => {
    console.error(e);
    console.log(e.response)
})

Now it returns me this:
Error: Malformed response from YouTube
    at fetchIosJsonPlayer (/home/container/node_modules/@distube/ytdl-core/lib/info.js:345:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async exports.getInfo (/home/container/node_modules/@distube/ytdl-core/lib/info.js:247:29) {
  response: {
    responseContext: {
      visitorData: 'CgsyMmNITkhMdlhSNCjEuMC1BjIKCgJERRIEEgAgKjoMCAEg9vCdrsaIh9hm',
      serviceTrackingParams: [Array],
      maxAgeSeconds: 0
    },
    playabilityStatus: {
      status: 'LOGIN_REQUIRED',
      reason: 'Sign in to confirm you’re not a bot',
      errorScreen: [Object],
      skip: [Object],
      pictureInPicture: [Object],
      contextParams: 'Q0FFU0FnZ0I='
    },
    trackingParams: 'CAAQu2kiEwi6puzay9yHAxWK6U8IHYQoDm4=',
    onResponseReceivedEndpoints: [ [Object] ],
    onResponseReceivedActions: [ [Object] ],
    adBreakHeartbeatParams: 'Q0FBJTNE',
    frameworkUpdates: { entityBatchUpdate: [Object] }
  }
}
{
  responseContext: {
    visitorData: 'CgsyMmNITkhMdlhSNCjEuMC1BjIKCgJERRIEEgAgKjoMCAEg9vCdrsaIh9hm',
    serviceTrackingParams: [ [Object], [Object], [Object], [Object] ],
    maxAgeSeconds: 0
  },
  playabilityStatus: {
    status: 'LOGIN_REQUIRED',
    reason: 'Sign in to confirm you’re not a bot',
    errorScreen: { playerErrorMessageRenderer: [Object] },
    skip: { playabilityErrorSkipConfig: [Object] },
    pictureInPicture: { pictureInPictureRenderer: [Object] },
    contextParams: 'Q0FFU0FnZ0I='
  },
  trackingParams: 'CAAQu2kiEwi6puzay9yHAxWK6U8IHYQoDm4=',
  onResponseReceivedEndpoints: [
    {
      clickTrackingParams: 'CAAQu2kiEwi6puzay9yHAxWK6U8IHYQoDm4=',
      elementsCommand: [Object]
    }
  ],
  onResponseReceivedActions: [
    {
      clickTrackingParams: 'CAAQu2kiEwi6puzay9yHAxWK6U8IHYQoDm4=',
      startEomFlowCommand: [Object]
    }
  ],
  adBreakHeartbeatParams: 'Q0FBJTNE',
  frameworkUpdates: { entityBatchUpdate: { mutations: [Array], timestamp: [Object] } }
}
TypeError: Cannot read properties of undefined (reading 'videoDetails')
    at Object.execute (/home/container/slash_commands/play.js:194:24)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Object.execute (/home/container/events/interactionCreate.js:116:17)
```

Thanks for your response, I will throw a better error message in the next update.
Anyway, you ip has been restricted and you have to use cookies to fix it, refer #21

It seems that using an older version of ytdl-core solves the issue (I downgraded to the version 4.13.7)


Analyzer support for type arguments on annotations

(Parent issue #44917)
This issue tracks the analyzer work necessary to support type arguments on annotations, for example:
@TypeHelper<int>(42, "The meaning")

For justification and additional planning details, please see:

The feature request in the language issue tracker: https://github.com/dart-lang/language/issues/1297
The feature specification: https://github.com/dart-lang/language/blob/master/accepted/future-releases/small-features-21Q1/feature-specification.md
The implementation plan: https://github.com/dart-lang/language/blob/master/accepted/future-releases/small-features-21Q1/implementation-plan.md
The implementation plan PR: https://github.com/dart-lang/language/pull/1417

@leafpetersen @eernstg  Are we allowed to combine generic metadata and generic functions as type arguments? Is this valid code?
class A<T> {
  const A();
}

@A<U Function<U>()>()
void f() {}

Or with inference?
class A<T> {
  const A(T _);
}

@A(g)
void f() {}

U g<U>() => throw 0;

I see no reason to make that combination an error, whether inferred or written explicitly.

AFAIK this is done.

https://github.com/dart-lang/sdk/issues/45579

#45579 was fixed.


Can't read Registry value

Hello, i made this code but return null .
const reg = require('native-reg');
const key = reg.openKey(
reg.HKLM,
'SOFTWARE\Microsoft\Windows NT\CurrentVersion',
reg.Access.ALL_ACCESS);
const version = reg.getValue(key, 'Install', 'CurrentBuild');
I want to read CurrentBuild from registry in this path 'SOFTWARE\Microsoft\Windows NT\CurrentVersion'.

Do you mean CurrentBuild from SOFTWARE\Microsoft\Windows NT\CurrentVersion\Install? Because that's what it looks like you're reading, so if it is there, I'm not sure. You might instead want queryValue, which doesn't take a subkey.

Can you please post example how read, write registry value, and delete key and subkey instead HKCR but HKCU or HKLM like : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentBuild

No.


Fix for self-signed

Sorry for all the whitespace changes, I auto-formatted in vscode.
This fixes #12

Could you also add the fix for the branch completed-demo?

I could, that would require a separate PR. I'd like to see if the maintainers want to merge this first though.
If you want to merge it into your completed-demo branch, you could do
$ git remote add inorganik git@github.com:inorganik/webauthn-demo.git
$ git fetch inorganik
$ git checkout inorganik/master --  utils.js

which should keep you on your completed-demo branch but take my updated copy of utils.js

Could you also add the fix for the branch completed-demo?
The current state of your completed-demo branch allows to register with a built-in sensor on macOS, but if you log out you can only log in with a security key.

@estensen  Did you find a solution for this?

@NFhbar Yes, I got it to work! Had some browser issues. Think I ended up using Chrome. Don't know it browser support has been improved since.

@NFhbar Yes, I got it to work! Had some browser issues. Think I ended up using Chrome. Don't know it browser support has been improved since.

Yeah, works on Chrome just fine, but the login keeps forcing security key and has no built-in-sensor option. You got a link I can look at your implementation of this?

@NFhbar you have to copy the changes from this branch to the branch completed-demo. These are the only changes. It's a bit hard to see because of the automatic linting.
 } else if (ctapMakeCredResp.fmt === 'packed') { // Self signed
        let authrDataStruct = parseMakeCredAuthData(ctapMakeCredResp.authData);
        if (!(authrDataStruct.flags & U2F_USER_PRESENTED))
            throw new Error('User was NOT presented durring authentication!');

        const clientDataHash = hash(base64url.toBuffer(webAuthnResponse.response.clientDataJSON))
        const publicKey = COSEECDHAtoPKCS(authrDataStruct.COSEPublicKey)
        const signatureBase = Buffer.concat([ctapMakeCredResp.authData, clientDataHash]);
        const PEMCertificate = ASN1toPEM(publicKey);

        const { attStmt: { sig: signature, alg } } = ctapMakeCredResp

        response.verified = // Verify that sig is a valid signature over the concatenation of authenticatorData
            // and clientDataHash using the attestation public key in attestnCert with the algorithm specified in alg.
            verifySignature(signature, signatureBase, PEMCertificate) && alg === -7

        if (response.verified) {
            response.authrInfo = {
                fmt: 'fido-u2f',
                publicKey: base64url.encode(publicKey),
                counter: authrDataStruct.counter,
                credID: base64url.encode(authrDataStruct.credID)
            }
        }


array.prototype.filter - 'not loaded: define-properties'

I'm using aurelia v1.0, bootstrap 5.0.1
I ran yarn upgrade and am now getting an error not loaded: define-properties.
I've been able to track the error down to array.prototype.filter which is installed only by bootstrap 5.0.1
I'm guessing that the error is in the first line of index.js
'use strict';

var define = require('define-properties');
var RequireObjectCoercible = require('es-abstract/2020/RequireObjectCoercible');
var callBound = require('call-bind/callBound');

var implementation = require('./implementation');
var getPolyfill = require('./polyfill');
var polyfill = getPolyfill();
var shim = require('./shim');

var $slice = callBound('Array.prototype.slice');

// eslint-disable-next-line no-unused-vars
var bound = function filter(array, callbackfn) {
	RequireObjectCoercible(array);
	return polyfill.apply(array, $slice(arguments, 1));
};
define(bound, {
	getPolyfill: getPolyfill,
	implementation: implementation,
	shim: shim
});

module.exports = bound;

I have run npm define-properties but to no avail.
I have also cloned the array.prototype.filter project and can't even get it to run the tests
The project seems to have been updated a few days ago, but I can't find the previous version.
I should add that my project was running perfectly until this morning.
Window 10 pro 10.0.19043
Microsoft Edge Version 90.0.818.62

I solved this in the end by reverting to the old versions:
yarn add<EMAIL_ADDRESS>yarn add<EMAIL_ADDRESS>

I'm pretty convinced this isn't a problem in array.prototype.filter; we can discuss further in https://github.com/es-shims/Array.prototype.filter/issues/2


Fix provider versions and add output description

This PR fixes provider versions to use the correct minimum aws and random provider versions.
It also adds a missing output description for account IDs.

Once this is merged we can release v1.0.0 of this, so we can pin it as part of ministryofjustice/modernisation-platform#72.


[FEATURE REQUEST] Add support for flutter web

Is your feature request related to a problem? Please describe.
Right now, there is no good way to embed a youtube video in a flutter webapp. I've used this plugin extensively on Android and IOS, really satisfied with it.
Describe the solution you'd like
If possible, add support for an iframe / webview based youtube player with the same UI that we can embed as a widget. Right now, if I try to run the youtube player on web, get this error :
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following UnsupportedError was thrown building RawYoutubePlayer(dirty, dependencies:
[InheritedYoutubePlayer], state: _RawYoutubePlayerState#63a90):
Unsupported operation: Platform._operatingSystem
The relevant error-causing widget was:
  RawYoutubePlayer

Describe alternatives you've considered
I've tried embedding youtube's official embed player in an iframe but it doesn't seem to work for me.

Duplicate of #58.


Add overlay for files marked as modules to prevent unintentional editing.

Todo:

More inspired UI.
Input on text so UI strings can be created/used.


Cask request: Station

Cask details
Name: Station
Homepage: https://getstation.com
Download URL: http://dl.getstation.com
Description: One app to rule them all, Station unifies all your web apps in one neat & productive interface.

https://github.com/caskroom/homebrew-cask/blob/98ec959621bfca7af6ff3d53c5ff2af6e0bfcbbd/Casks/station.rb


Write tests for error cases from Sierra

[ ] An item has been deleted
[ ] An item has been suppressed
[ ] The item is on hold by somebody else
[ ] The item is on hold by me
[ ] I'm at my hold limit
[ ] I'm a naughty user and I've been suspended/blocked (how?)
[ ] This user doesn't exist

Closing in favour of a more detailed ticket (to follow)

Actually, no, leaving this open


[QUESTION] How to upgrade vom 2.x.x to 3.x.x?

Question
Hello,
thanks for your great work ;)
But how can I upgrade from 2.x.x to 3.x.x?
I'm created dashy with a simple command like docker run -p 8080:8080 lissy93/dashy (but for the old version).
I'm not realy confirm with docker so I don't know how to upgrade.
I copied my files to the new directory from /home/haruzept/dashy/public to /home/haruzept/dashy/user-data/ and then I tried to run "docker start dashy". But I get an error, that docker can't find the files under /home/haruzept/dashy/public.
Than I tried the command docker run -p 8080:8080 lissy93/dashy, but my cpu and ram usage are directly to 100%, so that I have to restart my lxc.
I also tried the update command from the troubleshooting guide docker start dashy -V ./my-local-conf.yml:/dashy/user-data/conf.yml but I get unknown shorthand flag: 'v' in -v.
Category
Setup and Deployment
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

Hi
Here you go:
sudo docker run -d \
  -p 8080:8080 \
  -v /home/haruzept/dashy/user-data:/app/user-data \
  --name my-dashboard \
  --restart=always \
  lissy93/dashy:latest

That command is copied from
https://dashy.to/docs/deployment
Where I added your folder.

Thank you, but I guess it doesn't work.
Now I see on the website building...
And the cpu/ram has a 100% usage.
After 10 minutes of waiting still building.

Thank you, but I guess it doesn't work.
Now I see on the website building...
And the cpu/ram has a 100% usage.
After 10 minutes of waiting still building.

Hi what are your resources that you assigned to dashy?
Like ram and cpu cores?

2 CPU Cores from an Intel i5 6500T and 1GB RAM.
After fixing my spelling issue on the path I get this error:
Possible Error, Check Logs
If I run docker logs dashy I get:
Welcome to Dashy! 🚀
Your new dashboard is now up and running with Docker

Using Dashy V-3.0.0. Update Check Complete
✅ Dashy is Up-to-Date

Building for production...
WARN  A new version of sass-loader is available. Please upgrade for best experience.

What happens if you wait another two minutes the refresh the page after possible error appears?
On low end hardware that may pop up if dashy hasn't yet finished to build.

Still the same error.
If I run docker logs dashy I get:
Using Dashy V-3.0.0. Update Check Complete
✅ Dashy is Up-to-Date

Building for production...
WARN  A new version of sass-loader is available. Please upgrade for best experience.

I deleted the docker "docker rm dashy", I moved my folder away and I run docker run -p 8080:8080 lissy93/dashy.
Still the same.

Still the same error.
If I run docker logs dashy I get:
Using Dashy V-3.0.0. Update Check Complete
✅ Dashy is Up-to-Date

Building for production...
WARN  A new version of sass-loader is available. Please upgrade for best experience.

Hmm that looks to me like it did not finish building correctly.
What os are you running?
How long did you wait ?
Is you system up to date?

I use ubuntu 22.04 with latest updates.
I waited ~10 Minutes

I deleted the docker "docker rm dashy", I moved my folder away and I run docker run -p 8080:8080 lissy93/dashy.
Still the same.

If not even the basic command without any volumes is working, there seriously seems to be an issue!
Can you assign more ressources?

After migrate to my powerfull host and assign 10 Cores (i9 12900HK) and 4GB of RAM its build in a few moments.
So the problem is/was that dashy 3.0 needs a lot of ressources for building.

Awesome!
Good that you got it working!
Seems a bit odd, mine was running fine on a raspberry pi with 2 gb ram.
But now at least it only needs a rebuild on start and not anymore on each config change.
I'll close this but will keep the high resource usage problem in mind.


Documentation on Changes

Hey guys,
I've been following this project and I was wondering if more clarification/details could be added in regards to the changes introduced with v0.2 (which is the big-refactor milestone if I'm not mistaken).
It seems like hypergrid is now contained within an 'index.js' file for the examples now? In reference towards: https://github.com/openfin/fin-hypergrid/tree/master/examples/v0.2
I've noticed that there's a lot of changed or removed apis with:
https://github.com/openfin/fin-hypergrid/blob/master/fin-hypergrid.dev.html
that currently break my application using this older version of fin-hypergrid.dev.html:
https://github.com/openfin/fin-hypergrid/commit/f705bd43ec7df77e138471157ebabd84c4b75a3d
Features in particular that seem to have been changed are column global styling and rollups/tree formatting.
Thanks,
Ethan

I will be updating the Readme on the big-reactor milestone. I'll keep you posted


Refactoring

Refactored PropertyTemplateOutline prior to working on #346 - make property with type resource repeatable.
Tried to clean up some variable and method names and so on for the code to be more readable.

Coverage decreased (-0.03%) to 75.951% when pulling 86af31a42ae0838be8c5b5e18e0cdbb582b4306e on refactoring into 9e213e4410dc60f6b2b219f7dd71f03b7e00350e on master.

@jermnelson ok, I think I've const-ed where I can over previous let;  I believe I've addressed your other feedback as well.  I did a little bit more reorg and test description tweaks in PropertyTemplateOutline test as well.
Ready for your re-review


Bad downloaded file after last commit

Hi,
After commits in Apr 23, 2023, with passive mode, file load bad, first a folder is created in it a file. Example:

created folder video/2023-04-23_EDM_at_LAK_(HOME_RSN_HOME_
in this folder have file _HOME)_720p_archive.mp4

This line needs to be updated to replace / with _: https://github.com/kompot/nhl-tv-geeky-streams/blob/a3b2177766446aefac3a895a0148784249647734/src/index.ts#L262

@rseanhall yes, working

Fixed in https://github.com/kompot/nhl-tv-geeky-streams/commit/94b1a702d5e351935e02be15012c57c1a804ee0f


[Feature][Master] migrate the global priority implementation of version 1.2 to the dev branch

hi guys,
Is there any contributor who can migrate the global priority implementation of version 1.2 to the dev branch and add the Redis implementation at the same time?
for now, The priority of the implemented workflow 1.3.x is partial priority, which cannot meet business needs.
If you're interested in this task, please let me know.
If you have any questions about this migration, please also leave a message, thx

this feature is mainly related with the following classes in version 1.2.1.


Integration of Openhab Adpater Items.

Hello,
it would be cool if you could enable that openhab items get listed. Right now I dont see them.

Thanks, Jens

Please try with next version that is coming soon, the autocreate function was reworked. Best regards!


build(release): build scripts permissions

Description
permissions for release scripts

:tada: This PR is included in version 4.1.0-develop.1 :tada:
The release is available on:

v4.1.0-develop.1
GitHub release

Your semantic-release bot :package::rocket:


Upgrade is utf8

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 88.21%. Comparing base (1ddb40b) to head (754ac0a).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff            @@
##           develop      #36   +/-   ##
========================================
  Coverage    88.21%   88.21%
========================================
  Files           37       37
  Lines         6642     6642
  Branches       530      530
========================================
  Hits          5859     5859
  Misses         523      523
  Partials       260      260

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add UofT CS email domain

Request to add University of Toronto's Computer Science department to the approved domain list

@masgouri Thank you for your patience while waiting for a review and processing your request. Pull request merged. Please start applying for JetBrains educational subscription at https://www.jetbrains.com/shop/eform/students in an hour, to allow the changes to propagate through JetBrains systems.


COMPASS-1171: Backport #4

This should backport changes in #4 to the 1.7-releases series of Compass.

Goal is to release a v0.3.1 or similar with just this bug fix.

https://github.com/mongodb-js/hadron-react/releases/tag/v0.3.1


Can't override colorAccent?

I might be missing some nuance due to using this library, but I couldn't figure out how to override colorAccent.
The reason for this is because I want to change the color of the overall datepicker, without propagating those changes throughout the rest of the app.
Am I missing something or does this truly not work:
    <style name="datepicker" parent="Theme.AppCompat.Light.Dialog">
        <item name="colorAccent">#FF0000</item>
    </style>

...

    <com.takisoft.datetimepicker.widget.DatePicker
        android:id="@+id/date_picker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@style/datepicker"
        />

I also tried setting the style attributes from your readme, with similar results (or a lack of, rather)
An alternative would be to change all the colors of the datepicker manually, but I couldn't figure out the attribute for the selected day indicator, only for the other colored components.

Sorry, didn't see this message (apparently GitHub doesn't subscribe me to my own repo automatically...).
Well, the colorAccent is coming from the theme (using ?colorAccent). Maybe try using the theme attribute instead of style? Also, the com.takisoft.datetimepicker.widget.DatePicker is a widget, not a dialog, so you should use Widget.Material.DatePicker or Widget.Material.Light.DatePicker as the parent.

Okay, so I checked out the things and here is the situation:
The day selector's color comes from Widget.Material.CalendarView. If you check out out the styles_material.xml file, you'll see that it has a dtp_daySelectorColor attribute that sets it. This is set to ?attr/colorControlActivated by default which gets set from the theme according to the accent color. You can try overriding the chain (style for the DatePicker extending Widget.Material.DatePicker -> set calendarViewStyle to your style extending Widget.Material.CalendarView -> dtp_daySelectorColor) to achieve what you want or set the theme on the DatePicker.


Use cocoa pods instead of Carthage?

Is it possible to use cocoa pods instead of Carthage with under dark? Our large project uses already cocoa pods and integrating Carthage would just be another hassle.

@Ge0rges No, because CocoaPods have flawed linking architecture, which is gradually deprecated by Carthage and SwiftPackageManager.
You don't need to "integrate Carthage", because all the "Carthage integration" there is just linking with framework.


Why doesn't it work?

I've been trying to fix the freeagarbots v2.5 but I can't seem to figure it out. Anyone have a version that is actually fixed? Right now all i've got is bots that spam and go in random directions. Oh and on a completely different topic anyone know where i can learn agario api?

Carlosislazy i will help you add me on skype sandor.potjer

rip


Feature/fix for querying

Works for node.js and next.js
Added:
fields querying for fetching one publication data

Hey @Lexonouri ! Thxs!
We will add the fields option seems logic, I need to rework it a bit to match up with the V1.1.0.


Fix missing storeEmptyArray attribute for embed relationships in XML driver

Q
A

Type
bug

BC Break
no

Fixed issues
#2588

Summary
Fixes a missing default attribute for embedMany relationships. @frenchcomp please report back if this fixes your issue.

Thanks @alcaeus!


Pass configured region to WebRTC lib in GST plugin

Issue #, if available: #152
Description of changes:
This passes the region given to the GST plugin via the aws-region property to the WebRTC library. This ensure that when a region is specified to the GST plugin that both the Video Stream and Signaling Channel are created in the requested region.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thank you for the changes @adamthesax !


License prerequisites?

Hello,
Can you please advise if any license prerequisites for Azure AD must be met?
Thanks

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

ID: 90fd487d-65b9-917b-4687-650b34dc4d81
Version Independent ID: 27a18d45-66ab-bc71-d928-93f93fb190dd
Content: Tutorial: Configure SuccessFactors inbound provisioning in Azure Active Directory
Content Source: articles/active-directory/saas-apps/sap-successfactors-inbound-provisioning-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @cmmdesai
Microsoft Alias: chmutali

The licensing requirements are captured here: https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/plan-cloud-hr-provision#licensing

@MaximeRastello Hi, how is it being a racist?
https://twitter.com/emrahsamdan/status/1322613752525692931


enum fix

serialize and deserialize enums (integers and strings)

I'm just a "bystander", but what is with this commit:
https://github.com/jasonmead/simple-json/commit/bf5b50f88b8b638dcebedc19294475f62806b3d6
Here the commiter also has Nullable support, maybe you can improve your code a bit?
Another note, you changed/added way to much (.sln etc) and I don't think the maintainer would merge your commits.

https://github.com/facebook-csharp-sdk/simple-json/pull/64
SimpleJson was not deserializing enum strings/integers.  I used the "master" version.  I need to modify the SimpleJson.cs file to get enums to serialize and deserialize.   The changes are posted in the link above.


Fix VariablesToExport, AliasesToExport and FunctionsToExport field in module manifest

This is to address issue https://github.com/GoogleCloudPlatform/google-cloud-powershell/issues/399 where AliasesToExport, VariablesToExport and FunctionsToExport are still set to '*' in the current release.

This change is

Thanks!


Add Psiphon3

#1123

I guess you're using "https://s3.amazonaws.com/psiphon/web/60l3-nnss-6gsn" instead of https://www.psiphon3.com/ because it prevents blocking? :grin:

@r15ch13 Yeah, and actually I'm not able to access psiphon3.com now.😅


Hardware support

Is there any plan to support real OPL3 hardware? I was thinking about Freq Monster 801 (http://fm801.kewl.org/app/screenshots/) that can switch between engines (emulator or hardware), but yours looks modern, and already includes very handy instrument banks :)
Thanks! I'm testing it and works great

Hi @redraw.
It's within the realm of possibility, and there exists already an implementation of this kind in OPL Bank Editor.
What OS platform is it? there exist support drivers for Win9x and modern Windows, but most of machines having OPL sound chip are running 9x.
This plugin is restricted to not being Win9x compatible, unfortunately, unlike the BankEditor.
(https://github.com/Wohlstand/OPL3BankEditor)


All dates showing in UTC time zone

Hello! I am using the docker compose version on a Raspberry Pi.
The Raspberry Pi has the correct date (UTC-3).
But Camera UI is showing all the dates in UTC (logs, recording, notifications, etc).
Is there a way to set the time zone or take the date/timezone from the system?
Thanks.

Solved by adding:
environment:
  - TZ=Asia/Dhaka

To the Docker Compose file


RFP - Golly

Golly is an open source, cross-platform application for exploring Conway's Game of Life and many other types of cellular automata.

http://golly.sourceforge.net/

for any would-be maintainers, this software is licensed under GPLv2 and as such is allowed to be embedded on chocolatey.org (which is recommended whenever possible).
The size limit is not an issue with this software either.

I'm working on creating a package for this software now.

The package for this software have been pushed to chocolatey:
https://chocolatey.org/packages/golly/3.1

that package have been approved


Dead link http://go.microsoft.com/fwlink/?LinkId=273878

Found in a few of the old release notes https://github.com/MicrosoftDocs/vsts-docs/search?q=http%3A%2F%2Fgo.microsoft.com%2Ffwlink%2F%3FLinkId%3D273878&type=Code

Fixed


Syntax error install_vendors.sh

I got a syntax error in file install_vendors.sh
markus@development:/var/www/geocoder/Geocoder$ sh ./bin/install_vendors.sh
: not foundll_vendors.sh: 2:
./bin/install_vendors.sh: 3: function: not found
: not foundll_vendors.sh: 4: {
Installing/Updating
: not foundll_vendors.sh: 6:
./bin/install_vendors.sh: 30: Syntax error: end of file unexpected (expecting "then")

@dguyon Your workaround doesn't work.
Error:
-bash: ./bin/install_vendors.sh: /bin/bash^: Broken Interpreter: File or directory not found

That's because sh and bash don't have the same syntax. And it seems you don't have bash installed

My bad, didn't take your shell in consideration.
I'm using zsh and as @willdurand said, there are different syntax.

Ah okay.
Thank you @dguyon and @willdurand.


Error message after every data update

After every data update I get one of two error messages:

Object reference not set to an instance of an object.

or

Unexpected character encountered while parsing value: <. Path “, line 0, position 0.

How can I provide more information?

Same here

https://github.com/Lacro59/playnite-isthereanydeal-plugin/commit/a592cf88d445884366d182c56e5ac5ccf4cf60a1


Consider moving open-browser/a version of web serve into ambient

It occurs to me that people will want to test their games with the web client before they deploy, especially as they aren't at parity yet. Given that, it makes sense to give them the same option we have to test with their local server and browser.

Another consideration which will further increase transparency is having the equivalent of RC deployments that don't show as the default/latest deployment, but will allow you to both publish, test, and share a work in heavy work in progress version.
I consider this because the web hosting workflow is unfortunately fundamentally very complicated, you need both a web server, and an ambient server. On top of that, you need to get your browser to trust your server's self-signed cert.
There are lots of moving parts, and you will still not be able to test with other people or get anyone else to join, like a friend you are in a discord call with.
As such I think that having small frequent pre-release deployments would be the better idea, unless we want our users to juggle multiple commands and our network stack implementation details


[skip ci] Update wlan0, fix typo

I realized where we got the problem. 😊
You're looking at it from the perspective that there's a profile for the device, it's executed and everything works, I agree with that.
But the user above had a custom configuration where he manually added commands fixing "post-up". of course it won't work and he needed to fix it to "pre-up".
So everyone was right in their own way, it's fine.


Sort legend for -acc

i'll get right on it

this issue could possibly be closed with the most recent merge request