add readme explaining how to get started with this app

Flesh out the readme to explain how to run tests and smoke test this application from scratch.
ideally it'll use docker to build the app / deps and then docker-compose to run the app locally with all it's dependencies built it.

https://github.com/zooniverse/zoo-ml-subject-assistant has a simple Docker setup that you can probably copy. The web app is the dev service in the docker-compose file. You can ignore the proxy service, which sets up a simple API proxy server.

Good call. I'll add a couple quick yarn commands in the meantime until I can get Docker setup.


Feature: Add authorization

Authorization on Trailblazer!
On controller is easy to check authorization, just need to define your action as like this:
def action
  run Thing::Action
  render text: "Action Allowed"
rescue Trailblazer::Operation::NotAuthorized
  render text: "Action Not Allowed"
end

Of course you can handle this stuff on your ApplicationController, so you always rescue from the exception with a shiny beautiful page.
And how define on our operations? Here is a complete example considering every case and option available:
class Thing < ActiveRecord::Base
  class Create < Trailblazer::Operation
    include CRUD, Policy
    action :create

    model Thing

    # Policy definition for operation
    policy do
      # Strict policy is a behavior that force policies to exists
      # strict :true raises an exception if no policy is defined for operation
      # If you are on Op::Update and theres no update? prepare for an exception!
      # It forces developers to always define a policy for action
      strict true

      # If not user is set on params[:current_user], raise Exception
      allow_guest false

      def create?
        user.admin?
      end

      def update?
        user.admin?
      end
    end

    def process(params); self end
  end

  class Update < Create
    action :update
  end

  class Publish < Create
    action :update # so will check using `update?` method
  end

  class Index < Create
    policy do
      # If you wanna check the policy used index? instead of create?
      # use policy_action to specify the desired action check
      policy_action :index
      def index?
        true
      end
    end
  end
end

And thats it... everything is working! Amazing hun?
Testing
And what about the tests?
testing for a valid policy (minitest examples)
it { Thing::AllowAccess[current_user: admin_user].policy.verify(:create).must_equal (true) }

and checking exception for a invalid policy
it do
  err = ->{ Thing::NotAllowedAction[current_user: admin_user] }.must_raise Trailblazer::Operation::NotAuthorized
  err.message.must_match /Not Authorized/
end

many non merged stuff here that already has PR open like https://github.com/apotonick/trailblazer/pull/36 https://github.com/apotonick/trailblazer/pull/38 and https://github.com/apotonick/trailblazer/pull/39 so if you'd like to check just authorization support, its on a single commit https://github.com/fernandes/trailblazer/commit/9d62df75d0ff7ad5def98b889ff109f54764f0e7

Hey @fernandes,
This looks great!
Is there an ETA on when this is gonna be merged and released?

Tried the commit and it works great!
Little suggestion though. Could you consider naming user -> current_user?
Since it is pretty confusing when using the user (params[:current_user]) in a user model
require 'trailblazer/operation/policy'

class User < ActiveRecord::Base
	# Initialize
	class Create < Trailblazer::Operation
		include CRUD, Policy
		action :create
		model User

		policy do
			# Strict policy is a behavior that force policies to exists
			# strict :true raises an exception if no policy is defined for operation
			# If you are on Op::Update and there is no update? prepare for an exception!
			# It forces developers to always define a policy for action
			strict true

			# If not user is set on params[:current_user], raise Exception
			allow_guest false

			# user == current_user
			# resource == model == user
			def create?
                                # Pundit
				UserPolicy.new(user, resource).create?
			end

			def update?
				UserPolicy.new(user, resource).update?
			end
		end

hi @the-ult, glad you liked it
Mr. @apotonick needs to merge... I "finished" this feature, whenever he wants to merge, its ok
I kept the same API Pundit does... thats why its called user and resource is the object you're handling... you don't need to call UserPolicy, but if you wanna, its ok.
When you're in a op like User::Index resource will be User.find(:id) thats why the idea is to keep the user / resource... An alternative is method_alias :current_user, :user so you can call what makes more sense on policy, I (personally) prefer calls user
ty :wink:

That looks great!!! :heart: Can I have an overview about the added API. Also, is this the API from pundit?

what info you need beyond PR description? hahahah
I followed the same principle of Pundit, the idea of create? update?... but adding Pundit would add some much overhead for a single class that I implemented on Default Policy and voilá... its all ok!

just keeping https://github.com/apotonick/trailblazer/pull/40 once it includes authorization

@the-ult Check this: https://github.com/apotonick/trailblazer/tree/policy

Thanks! Gonna check it out next week and update our trailblazer version.

Cool, I will try and push a new Trb gem out this weekend!


Extend video recording-duration to more than 13 hours?

Hi,
Thanks for your work here. I have successfully removed the 30 minute recording limit on my old HX50V!
But when testing, recording stopped at exaclty 13 Hours.
After a litte research I found this post: https://github.com/ma1co/OpenMemories-Tweak/issues/147#issuecomment-272064932
where it is stated, that the max-duration is set to "13 hours, 1 minute, 0 seconds not more, not less.".
Is there a technical reason that it stops at 13 hours?
Because I would really like to record for 2-3 Days... :/
Would it be possible to extend the max-recording time to > 60h?
Or could it be done somehow manually with a custom  pmca-console command?
Thanks and stay healty!

Damn... seems to be a limitation by the calculation method and number format..
https://github.com/ma1co/OpenMemories-Platform/blob/1808df8827a267726197fceb8db09a82afbf06a2/api/tweaks.cpp#L250
Anyone got any idea if it is somehow possible to "hack" this?
What would happen if I change this to 15h? Would the cam crash or just keep recording?
I don't want to brick my cam, but I really would like to try this.
What would happen if I change this value to 50h? Would I be able to change it back again to 13h, if it doesnt' work, or will my cam be bricked?
Bye and Thx!


[stable/prometheus-operator] Update grafana dashboards

Signed-off-by: Karol Pucynski<EMAIL_ADDRESS>
Is this a new chart
No.
What this PR does / why we need it:
Grafana dashboards update.
Follow-up update after merge in kubernetes-mixin https://github.com/kubernetes-monitoring/kubernetes-mixin/commit/a19b4c0a6ec563aa002c64e764ef652b42316472 and kube-prometheus https://github.com/coreos/kube-prometheus/pull/265
Which issue this PR fixes
Special notes for your reviewer:
Prepared with sync_grafana_dashboards.py according to prometheus-operator/hack/README.md.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[X] DCO signed
[X] Chart Version bumped
[X] Variables are documented in the README.md
[X] Title of the PR starts with chart name (e.g. [stable/chart])

/assign @vsliouniaev

/assign @maorfr

/ok-to-test

/retest

/retest

It seems that there is no enough nodes to fit prometheus operator tests :|
I'll contact #sig-testing

/retest

Tests are failing on cleanup - it seems that something is messing with namespaces names :|
I1015 10:01:54.619] release "prometheus-operator-cc72wpmota" deleted
I1015 10:01:54.627] Deleting namespace 'metheus-operator-presubmit-17955-1184043671457107968-cc72wpmota'...
I1015 10:01:55.029] namespace "metheus-operator-presubmit-17955-1184043671457107968-cc72wpmota" deleted
I1015 10:04:55.163] error: timed out waiting for the condition on namespaces/metheus-operator-presubmit-17955-1184043671457107968-cc72wpmota
I1015 10:04:55.164] Namespace 'metheus-operator-presubmit-17955-1184043671457107968-cc72wpmota' did not terminate after 180s.```

@vsliouniaev tests are failing, but they are not related with this PR - some kind of problem with namespaces naming. Can you check it?

tests are working locally
------------------------------------------------------------------------------------------------------------------------
 ✔ prometheus-operator => (version: "6.18.1", path: "stable/prometheus-operator")
------------------------------------------------------------------------------------------------------------------------

I'll try to add separate PR with name override, so the test may pass.

@kpucynski
You probably need to limit namespaces what prometheus-operator tried to fetch. If you look closely into the pull-charts-e2e logs, there're a lot of lines look like below:
...
I1015 10:01:14.835] level=error ts=2019-10-15T09:51:22.824892471Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"jaeger-operatorpresubmit-10064-17576-jixsfgbwji\" does not exist" err=null
I1015 10:01:14.835] level=error ts=2019-10-15T09:51:22.824957837Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"prometheus-adapter-presubmit-10269-19049-zcec42qjqd\" does not exist" err=null
I1015 10:01:14.835] level=error ts=2019-10-15T09:51:22.82510638Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"nginx-ingress-presubmit-16139-1159522177662324736-fm1ef1gtbk\" does not exist" err=null
I1015 10:01:14.835] level=error ts=2019-10-15T09:51:22.825183325Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"redis-presubmit-11579-1141347282533224448-hmigbtrxda\" does not exist" err=null
I1015 10:01:14.836] level=error ts=2019-10-15T09:51:22.825225918Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"rnetes-dashboard-presubmit-13215-1123295741830238208-g8iy641qe9\" does not exist" err=null
I1015 10:01:14.836] level=error ts=2019-10-15T09:51:22.825267789Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"metheus-operator-presubmit-15150-1153587266484965376-vwi64znm8r\" does not exist" err=null
I1015 10:01:14.836] level=error ts=2019-10-15T09:51:22.825319893Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"a8ab533c93d624d209c16c1f8c0dbae3-1144370330500861952-t6oxjfh7s5\" does not exist" err=null
I1015 10:01:14.837] level=error ts=2019-10-15T09:51:22.825369521Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"prometheus-postgres-exporterpresubmit-10027-17613-fqra27bktt\" does not exist" err=null
I1015 10:01:14.837] level=error ts=2019-10-15T09:51:22.825404191Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"drupal-presubmit-13128-1118759550267166727-p7lr0a42p0\" does not exist" err=null
I1015 10:01:14.837] level=error ts=2019-10-15T09:51:22.825446806Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"5f6c539644a28f539ca1ff9bf5339e9a-1144337115476135936-95dgkd280t\" does not exist" err=null
I1015 10:01:14.838] level=error ts=2019-10-15T09:51:22.825498084Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"ambassador-presubmit-16904-1171579382859304964-1453licqc3\" does not exist" err=null
I1015 10:01:14.838] level=error ts=2019-10-15T09:51:22.827523188Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"batch-a0b94a46fef8ce09cc068046813efca7d141780e-20615-pgic3la1n6\" does not exist" err=null
I1015 10:01:14.838] level=error ts=2019-10-15T09:51:22.827641726Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"ometheus-adapter-presubmit-14570-1138405723533742080-8tr8jzdjgs\" does not exist" err=null
I1015 10:01:14.838] level=error ts=2019-10-15T09:51:22.827766162Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"concoursepresubmit-9204-18824-5duiul8q45\" does not exist" err=null
I1015 10:01:14.839] level=error ts=2019-10-15T09:51:22.827810372Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"mysql-presubmit-13864-1128728445027618819-0ubu8rq0ov\" does not exist" err=null
I1015 10:01:14.839] level=error ts=2019-10-15T09:51:22.827880942Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"atlantis-presubmit-11438-20669-gj3jf0b8th\" does not exist" err=null
I1015 10:01:14.839] level=error ts=2019-10-15T09:51:22.827919988Z caller=operator.go:878 component=prometheusoperator msg="get namespace to enqueue Prometheus instances failed: namespace \"dex-presubmit-14345-1134462677821689856-si5593djrl\" does not exist" err=null
...

In other words, prometheus-operator pull every pre-submit build, where each one is an isolated namespaces. Each build will only live very short amount of time before prometheus-operator realize  it's gone.  And this will cause the k8s-ci-bot timeout. I don't think it will succeed even you submit another PR, unless some restriction on fetching namespaces applied.

@zanhsieh the problem seems to be also with chart-testing - it cuts names and created additional errors, e.g.:
I1015 10:01:12.582] level=warn ts=2019-10-15T09:51:14.068Z caller=cluster.go:228 component=cluster msg="failed to join cluster" err="1 error occurred:\n\t* Failed to resolve alertmanager-prometheus-operator-cc72wp-alertmanager-0.alertmanager-operated.metheus-operator-presubmit-17955-1184043671457107968-cc72wpmota.svc:9094: lookup alertmanager-prometheus-operator-cc72wp-alertmanager-0.alertmanager-operated.metheus-operator-presubmit-17955-1184043671457107968-cc72wpmota.svc on <IP_ADDRESS>:53: no such host\n\n"

I wonder how earlier tests worked...

/retest
let's see what will happen today

@kpucynski
Same bug as I mentioned before happens.

Let's see after merge with test fixes https://github.com/helm/charts/pull/18066/commits/d1637cfcdd52b7b3754e499bafb35d814967a031

/lgtm


Angular lazy loading with slow connection shows empty page

Description

When navigating to a route with lazy loaded components the sc-placeholder will show a empty block.
Expected behavior

Ability to provide a loading/placeholder component during lazy loading
Steps To Reproduce

create route with lazy loaded components
set chrome dev tools to
route to page with lazy loaded components

Possible Fix

Your Environment

Sitecore Version: 9.0.1
JSS Version: 11.0.2
Browser Name and version: every browser with slow connection
Operating System and version (desktop or mobile): n.a.

Screenshots

Fix has been merged.


tuning MixedCapped constants

reset this release

Current coverage is 41.64% (diff: 71.42%)

No coverage report found for master at a32a7ee.

Powered by Codecov. Last update a32a7ee...7995c66


Refactor and fix generator

new_builder

[x] Unify method and attribute handling. Don't ever check :kind. Instead, render everything that is available in a member, and omit everything that is not.

get_methods

[ ] Replace get_methods to a more generic get_members function. It should return an ungrouped array of all kind of members (instance/class attributes/methods). Every member is a hash that contains enough information for determining its group and for rendering.

[ ] Use symbols instead of strings for :kind, e.g. :attribute instead of "attribute".

get_member_group

[ ] All grouping logic should be moved to this function. It should receive exactly one argument (a hash describing a member) and return a group. If regex grouping is enabled, it should calculate the group using member name and regex. Otherwise, it should calculate the group from member kind (instance/class attribute/method).

get_groups

[ ] Make get_groups independent of member kinds and grouping policy:

Use get_members instead of get_methods.
Move grouping logic to get_member_group.

We also need to move anchor building logic from renderer to member initialization.
Currently renderer uses code like this:
 href: '#' + klass[:name] + '::' + group[:name]

It would be better if it looked like:
 href: '#' + group[:id]

So we need to add :id to classes, groups, and members, and use them in renderer.

We should also ensure that such identifiers don't contain spaces.
Currently we have:
<section id="Rake::Class Attributes">

We also should get rid of hardcoded values:

[ ] group names
[ ] preview text for code


Example circle background drawable

A example with background drawable full in button?

There is already a sample.
https://github.com/ogaclejapan/ArcLayout/blob/master/demo/src/main/res/layout/like_a_tumblr.xml


Stub out some functionality on non-Linux platforms

This is a drive-by attempt to improve the compilability of the Cilium codebase
on non-Linux platforms, taking steps in the direction of simplifying the build
and test process for developers on those platforms. There's still some fairly
significant Linux-only dependencies in the BPF and datapath sections of the
code which this PR does not attempt to resolve, but these are some steps
forward.

mountinfo: Add stubs for non-Linux platforms
cgroups: Add stubs for non-Linux platforms
health: Add stubs for non-Linux platforms
modules: Add stubs for non-Linux platforms

Tested via:
$ GOOS=darwin go build ./pkg/$foo

Thanks @tklauser , I indeed don't actually have the platform available so have been relying on go tooling for this so far. I didn't think of compiling the tests as well, I can probably figure out another command to do just that on other platforms as well. I recall there's some trick to it but I'd have to look it up.
I think that when it comes to the privileged tests, we are almost sure to be relying on Linux to perform the test since the elevated privileges are used to perform syscalls that we otherwise wouldn't have the rights for. So another approach for those tests would be to exclude them from !Linux platforms via go build tags.
Beyond that, sure feel free to push changes if you like. Otherwise I'd be happy to pick up these patch hunks, apply them on top and share authorship with you. In that case I'll take a look later on after some ☕.

Thanks @tklauser , I indeed don't actually have the platform available so have been relying on go tooling for this so far. I didn't think of compiling the tests as well, I can probably figure out another command to do just that on other platforms as well. I recall there's some trick to it but I'd have to look it up.

You can use e.g. GOOS=darwin go test -c ./pkg/$foo to cross-build the tests on any platform - and pass -tags privileged_test where appropriate. This will create a macOS binary ./pkg/$foo/$foo.test.

I think that when it comes to the privileged tests, we are almost sure to be relying on Linux to perform the test since the elevated privileges are used to perform syscalls that we otherwise wouldn't have the rights for. So another approach for those tests would be to exclude them from !Linux platforms via go build tags.

Agree, I think for the privileged tests it would make sense to add linux build tags.

Beyond that, sure feel free to push changes if you like. Otherwise I'd be happy to pick up these patch hunks, apply them on top and share authorship with you. In that case I'll take a look later on after some ☕.

Whatever works best for you. I've your happy applying the patch hunks, I'll let you go ahead so I don't mess with your workflow.

I finally got that :coffee:  ;) I applied the suggested hunks from @tklauser, added you as a co-author, and re-ran all of the package tests with GOOS=darwin to double-check.

Actually, the linter didn't like defining vars for the FS magic vars so I just made the tests run on linux only instead.

test-me-please

Filed #15630 for the failure on test-1.21-4.9 since I see no way that some code tidying like this could cause only the net-next run to fail.


Introduce a placeholder instead of a default value for the added Parameters when creating a Sequence Template.

Description:
There is a default value for newly adding parameters to a sequence template with the value parameter_value. It can be changed into a placeholder.
Identified Version
v1.0.3
Describe your problem(s)
Describe your solution(s)
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

The latest release v1.1.1 has resolved this issue. Please reopen if the problem persists.


Add hwb color conversion

Converts to and from HWB.

This also refactors the hslToRgb and hueToRgb methods so the math is simpler.


Make launcher always run as administrator

Basically, I think may be it's not useful for most people but a some people didn't want to open launcher with a required prompt to run this as admin and they have to re-open launcher twice!

Also if this pull request didn't acepted, can I add Vietnamese (vi-VN) to this launcher?

It was supposed to be added inside the app manifest file but there was a conflict with preview WindowsAppSDK's own app manifest file and causing build issues.

My english is not good too much so I think I should sorry about this one but I just thought this idea when I installed this launcher, I just found how to make it run as admin but i didn't expect this one._.

Btw, can you make the installer that after the installation it created a shortcut which will run the launcher as adminstrator?
I can created one using Innosetup.

I think that I will make it soon! Maybe it will cost a little bit of time to translate all!

Yes, of course you can. Please make another PR for the translation so we can make it on track.

My english is not good too much so I think I should sorry about this one but I just thought this idea when I installed this launcher, I just found how to make it run as admin but i didn't expect this one._.

Don't worry, You're doing good! 😃

Btw, can you make the installer that after the installation it created a shortcut which will run the launcher as adminstrator?
I can created one using Innosetup.

Actually, we've already made one for this. You can check out this script.

I think we can merge this already. But since there are many conflicts in this PR, I will cherry-pick only the necessary commit into both #main and #memory-squash branches.

Actually, we've already made one for this. You can check out this script.

I think we should add some parameter for the *.iss file. I didn't sure that if it work or not but better than do nothing^^

Anyway, as I've said before:

Additional information about the translation PR:
Please use #memory-squash as a base for your PR. There are many changes going on since the last changes in this #main branch.

What I meant was for your new translation PR later and not this PR. You can change the base branch for this PR back to #main to avoid the conflicts so we are able to merge this PR 🦖

Okay, I think we are good to go. Can I merge this PR for now?

Anyway, as I've said before:

Additional information about the translation PR:

Please use #memory-squash as a base for your PR. There are many changes going on since the last changes in this #main branch.

What I meant was for your new translation PR later and not this PR. You can change the base branch for this PR back to #main to avoid the conflicts so we are able to merge this PR 🦖

Sorry about that, I didn't notice that I changed to main branch!😓

Sorry about that, I didn't notice that I had changed to the main branch!😓

You've done it right previously but I noticed you're changing the base branch for this PR back again to #memory-squash.
Could you please change it back to #main? 😅

Sorry about that, I didn't notice that I had changed to the main branch!😓

You've done it right previously but I noticed you're changing the base branch for this PR back again to #memory-squash.

Could you please change it back to #main again? 😅

Sure! I had changed it to #main again!😁

Alright. But before we merge this PR.
Could you please tell me what this part does in the installer script?
[Run]
Filename: "{app}\CollapseLauncher.exe"; Description: "{cm:LaunchProgram,CollapseLauncher}"; Flags: runascurrentuser nowait postinstall skipifsilent; Check: returnTrue()
Filename: "{app}\CollapseLauncher.exe"; Flags: runascurrentuser; Parameters: "-install -svcName ""CollapseLauncher"" -svcDesc ""CollapseLauncher"" -mainExe ""CollapseLauncher.exe""  "; Check: returnFalse()```

Alright. But before we merge this PR. Could you please tell me what this part does in the installer script?
[Run]
Filename: "{app}\CollapseLauncher.exe"; Description: "{cm:LaunchProgram,CollapseLauncher}"; Flags: runascurrentuser nowait postinstall skipifsilent; Check: returnTrue()
Filename: "{app}\CollapseLauncher.exe"; Flags: runascurrentuser; Parameters: "-install -svcName ""CollapseLauncher"" -svcDesc ""CollapseLauncher"" -mainExe ""CollapseLauncher.exe""  "; Check: returnFalse()```

Actually I didn't sure that if it was a feature of the Inno setup but I just add a feature which make the app run as adminstrator by adding flag: runascurrentuser to the script. I had done it in my project before HoyoLauncher

I think we are okay to merge this.
About the translation, please make a new PR the next time you have something to fix with it.
Thank you again for your contribution!


PowerShellLexer sometimes fails on test_lexer_classes()

(Original issue 870 created by roskakori on 2013-05-09T23:34:02.174821+00:00)
When running make test sometimes the PowerShellLexer fails in test_lexer_classes():

ERROR: test_basic_api.test_lexer_classes(<class 'pygments.lexers.shell.PowerShellLexer'>,)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/pyg/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/Users/agi/workspace/pygments-main/tests/test_basic_api.py", line 67, in verify
    tokens = list(inst.get_tokens(test_content))
  File "../pygments/lexer.py", line 186, in streamer
    for i, t, v in self.get_tokens_unprocessed(text):
  File "../pygments/lexer.py", line 604, in get_tokens_unprocessed
    statetokens = tokendefs[statestack[-1]]
IndexError: list index out of range

As the test_content is random, this cannot be easily reproduced by just running the test. So I dumped test_content to a file and attached it so you can reproduce it from the console:
$ ./pygmentize -f html -O full,style=emacs -l powershell /tmp/test_content.txt >/tmp/example.html

This results in:
*** Error while highlighting:
IndexError: list index out of range
   (file "/Users/agi/workspace/pygments-main/pygments/lexer.py", line 604, in get_tokens_unprocessed)

(Original issue 870 last updated on 2013-05-09T23:56:39.653440+00:00)
(Issue automaticaly closed due to status in Bitbucket: duplicate)

(Original comment by tshatch on 2013-05-09T23:56:39.773960+00:00)
Duplicate of #869.


So I continuosily get this error when running

When attempting to run the bot I get
I have made sure of all the configuration being correct. I am unsure of exactly what the env file's name is suppose to be. I have no idea what so ever. If someone could help me it would really be appreciated.
INFO Starting YAGPDB version unknown
INFO Set redis pool size to 10  p=common stck="common.connectRedis:common.go:197"
FATA Failed running core init  stck="run.Init:run.go:104" error="Did not set required config option: \"yagpdb.clientid\" (YAGPDB_CLIENTID as env var)"

Can Someone Please help? I'm asking a question of what am I suppose to name the config file for the bot. The example .env file

Seeing this too

I also get this

So CLIENT_ID possibly could have forgotten to put the client Id I’mma look into this more

I have gained more knowledge about stuff so, I’m look into it more

Any findings?

Error is pretty explicit. The client ID for the bot has not been set as an env var.

It’s Becuase of a docker config error


[Feature][Api] API to Provide the Most Recent Synchronization Time for a Data Scope

Search before asking

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

Use case
As a user of Apache DevLake, I want to have an API that can provide the most recent synchronization time for a data scope. This is important because a data scope can exist in multiple blueprints (BPs), and using the most recent synchronization time of a BP cannot accurately describe the most recent synchronization time of a data scope.
Description
Currently, Apache DevLake allows us to synchronize data from various DevOps tools. However, there is a need for an API that can provide the most recent synchronization time for a data scope. This is because a data scope, which is the smallest collection of data that can be synchronized by DevLake (like a Jira board or a Jenkins job), can exist in multiple BPs. The synchronization time of a BP cannot accurately represent the synchronization time of a data scope, hence the need for this feature.
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

Needs to cherrypick to v0.20

@narrowizard What are the request parameters and responses of this API?

request body: data scope id?
responses:

If this data scope has synced before: the finish time of the last sync? Is only transform data considered a sync?
Else, NULL?

Please point out the wrong parts.

@Startrekzky

request body: multi data scope ids is better since I can get several results in a request.
response: only transform data should be exclude when calculate the finish time of last sync.


Update fritzdect to 2.5.11

Update to 2.5.11 as of automatic whish

@foxthefox
[E204] Version "2.5.10" listed at common.news at io-package.json does not exist at NPM. Please remove from news section.
Please remove from news section as releases not existing at npm confuse users if they select them at "install dedicated version" dialog. A change at io-package.json at GitHub is sufficient - NO new release is required as repo builder picks GitHub head version anyway.

RE-CHECK!

RE-CHECK!

Sorry - one more change request:
Please remove discouraged installation guide from README:md. (New Release is NOT required)
https://github.com/foxthefox/ioBroker.fritzdect/issues/575

README has been fixed - THANKS

RE-CHECK!


Tabs

Hello !
I'm using react-native-mobx to build my app.
Is there a way to use react-native-tabs in it? The tabs used don't allow me to change the opacity.

This is just thin wrapper around RNRF, so post issue there if it still exists with latest version.


WIP EPIC: Remote Executor ala Sagemaker

Sagemaker
It  will:

Upload your training script and dependencies to Amazon S3
Provision the specified number of instances in a fully managed cluster
Pull the specified container image and instantiate containers on every instance
Download the training code from Amazon S3 into the instance and make it available in the container
Download training dataset from Amazon S3 and make it available in the container
Run training
Copy trained models to a specified location in Amazon S3

Additionally with spot instances:

automatically backup your training checkpoints to Amazon S3 stored in /opt/ml/checkpoints by default
if the training instance is terminated due to lack of capacity, it’ll keep polling for capacity, and automatically restart training once capacity becomes available coping your dataset and the checkpoint files into the new instance and make it available to your training script in a docker container so that you can resume training from the latest checkpoint

Cons:

Docker dep
Sagemaker Python SDK dep and entrypoint stimator functions

TPI Remote Executor
Use case
Users want to train their models with:

a) remote machines that give access to better hardware #210
b) using spot instances to reduce costs #211
c) resilient to failures like machine disposal or other hardware issues #211
d) Easy access to logs and machine
e) Support for many languages (R, python... like DVC cli)
f) current workspace is replicated in remote #212
g) sync data with remote #211

Plausible Solutions
TPI Machine
Users could just spin a TPI machine setting the startup script.
The problem is that this approach does not satisfy b nor c, nor f. Having the user to sync the workspace and data on her own and migrate to another spot instance.
Executor
A very simple multi platform program that executes a piece of code and also is in charge of:

Preparing workspace via repo cloning
Watch out files to automatically sync them within a remote
Watch out instance termination and initiate migration strategy
Additionally exposes:

logging
interactive shell
metrics

Additionally:

The executor is started locally but does not need the local machine to keep alive

We already have a pretty close executor in place, our cml-runner that actually runs CI runners. If it would execute a script instead of execute the runners we would have an executor skeleton.
Watch out files to automatically sync them within a remote
Executor watches a configurable folder that syncs with a configurable remote storage on file change:

internally dvc?
must handle interruptions

Watch out instance termination and initiate migration strategy

Fire and forget. Using cloud vendors capabilities of requesting spot instances via api with max wait time this would allow to do the request before die. Problems to this strategy:

We do not have how to contact with the executor during this migration.
If the request fails by any meaning the executor is not able to resume

Seed on cheaper instance. The executor moves to a small instance to be able to  poll for capacity and then continue from the spot instance.

Logging
The agent could expose a small UI with logs and shell with Basic auth using introspectable local tunnels like the Github action tmate or ngrok.
The subdomain would be generated by the TPI reusing it always during the executor lifetime granting the access via password like Jupyter.
I.E. 1234.cml.dev
#209 would be tricky having to use a constant lock mechanism in the remote bucket probably to determine if the executor is already up.
Agent
The user launches an agent that waits for jobs to be executed. The main difference between an executor and the agent is that the latter needs the support of an external queue of jobs like a CI runner. Indeed, It would be close to a cml-runner, however instead of using the SCM they would be using Viewer UI to experiment.
Effective to address #209 .
Cons:

It would depend on Viewer or another solution. If this happens

This could be also an extended feature of an Executor.
Also a good reason for Viewer adoption

Acceptance tests proposal WIP
name: Remote executor acceptance tests
on:
  push

env:
  REPO_TOKEN: ${{ secrets.REPO_TOKEN }}
  AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
  AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

jobs:
  case-1:
    runs-on: ubuntu-18.04
    timeout-minutes: 10
    steps:
      - name: Execute remote script with ENV
          run: |
            cat << EOF
              terraform {
                required_providers {
                  iterative = {
                    source = "iterative/iterative"
                  }
                }
              }

              provider "iterative" {}

              resource "iterative_remote_exec" "exec" {
                cloud = "aws"
                region = "us-west"
                instance_type = "t2.micro"
                instance_hdd_size = 30
                spot = true

                command = <<-EOF
                  echo $MYVAR
                -EOF
              }
            EOF

            export MYVAR='Hello world'

            terraform init
            terraform apply --auto-approve

            # We have to loop here to check if status is finished

            if [! grep 'Hello world' main.tfstate;] then
              exit 125
            fi

  case-2:
    runs-on: ubuntu-18.04
    timeout-minutes: 10
    steps:
      - name: Execute remote script with work folder
          run: |
            cat << EOF
              terraform {
                required_providers {
                  iterative = {
                    source = "iterative/iterative"
                  }
                }
              }

              provider "iterative" {}

              resource "iterative_remote_exec" "exec" {
                cloud = "aws"
                region = "us-west"
                instance_type = "t2.micro"
                instance_hdd_size = 30
                spot = true

                command = <<-EOF
                  cat myfile.txt
                -EOF
              }
            EOF

            echo 'Hello world' > myfile.txt

            terraform init
            terraform apply --auto-approve

            # We have to loop here to check if status is finished

            if [! grep 'Hello world' main.tfstate;] then
              exit 125
            fi

  case-3:
    runs-on: ubuntu-18.04
    timeout-minutes: 10
    steps:
      - name: Sync data with remote assuming /opt/tpi/
          run: |
            cat << EOF
              terraform {
                required_providers {
                  iterative = {
                    source = "iterative/iterative"
                  }
                }
              }

              provider "iterative" {}

              resource "iterative_remote_exec" "exec" {
                cloud = "aws"
                region = "us-west"
                instance_type = "t2.micro"
                instance_hdd_size = 30
                spot = true

                command = <<-EOF
                  echo 'Hello world' > /opt/tpi/myfile.txt
                -EOF
              }
            EOF

            terraform init
            terraform apply --auto-approve

            # We have to loop here to check if status is finished

            $EXEC_ID=''
            apt install -y awscli
            aws s3 ls "s3://${EXEC_ID}/myfile.txt"
            if [[ $? -ne 0 ]]; then
              exit 125
            fi

How we could reuse the main.tf declaring a new resource? Is a good idea? From @jbencook
Is remote State going to be stored in the same provider than the executor instance? Could be different?
Do we have to sync a specific folder or could be better just the current workdir?
Do we have to sync all the env or maybe the ENV specified in a variable ENV in TPI?

Agent
The user launches an agent that waits for jobs to be executed. The main difference between an executor and the agent is that the latter needs the support of an external queue of jobs like a CI runner. Indeed, It would be close to a cml-runner, however instead of using the SCM they would be using Viewer UI to experiment.

So this sounds much more in line with what we would like to have in DVC with regard to remote execution vs the current task runner implementation.
Basically, we would like to be able to start a machine that we can use to run some set of <arbitrary jobs/commands> on. DVC would handle syncing the appropriate data to some workspace directory on the remote machine. Then DVC (locally) determine what should get run remotely, and queue the appropriate tasks via the agent. Once tasks are added to the queue, the agent would run them "unattended" and then DVC (locally) would be able to request the status/results of those tasks as needed. The machine & agent would continue to stay up and wait for more tasks, until DVC (locally) is told to destroy the remote resource.
So in this scenario, terraform/TIPI would be used to create/destroy the terraform resource (machine + agent daemon), but data sync and the actual task (DVC pipeline) execution would be handled by DVC (via API calls made to the agent daemon).

Currently in DVC, we are prototyping a very basic & simplified way to do this ourselves over SSH, without any daemon/server process running on the remote machine. But if a more full-featured agent/daemon is something that is actually needed by CML/the viewer/any other potential consumers, from the DVC perspective I think this would be much nicer (and higher priority) to have than the standalone executor/task runner.
@dberenbaum @dmpetrov

@pmrowla
Originally the task™ was conceptually just a plain executor being the agent a more interesting piece.
As conceived the agent could run dvc.yaml exactly the same way that a runner do CI pipelines.
However to do so we should investigate how to achieve the communication between the two parts. Having a middleware is something that we have been always constrained to, being the Viewer our only product having one.

Right, I think and having some kind of middleware that provides more granular control over task/job execution is what would fit DVC's needs the best


Customize the Feedback page done ! #420✅✨

Hello, PR
Customize the Feedback page - #420
Done -
https://github.com/user-attachments/assets/cbf4c25c-7f52-4f6a-96d7-aa76460118e5

How should this be tested?

[x] Test A
[x] Test B

Mandatory Tasks

[x] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.

@YadavAkhileshh PA merge and add Level 3

@YadavAkhileshh PA merge my PR and add Level 3

@YadavAkhileshh PA merge my PR and add Level 3

@YadavAkhileshh please upgrade the level 2 to 3..
level 2 is too low for this work 😭😭.. check my code,...

@YadavAkhileshh kindly upgrade the level 2 to 3.. 🙏🏻😓

@YadavAkhileshh Thank You 🙏🏻


Some systems failed to build for Quicklisp dist

Building with SBCL <IP_ADDRESS>-d506e0e75 / ASDF 3.3.1 for quicklisp dist creation.
Commit id eb2df9f2fe4f0960211cf8312aeeb82342769dba
aether-tests fails to build with the following error:
; caught WARNING:
;   Constant NIL conflicts with its asserted type HASH-TABLE.
;   See also:
;     The SBCL Manual, Node "Handling of Types"
...
; caught WARNING:
;   Constant NIL conflicts with its asserted type INTEGER.
;   See also:
;     The SBCL Manual, Node "Handling of Types"
...
Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {100E450233}>: COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "aether-tests" "examples" "distributed-mst">

Full log here

Related to https://github.com/quicklisp/quicklisp-projects/issues/1929

This was resolved in #27


#380 use final variable

fixes #380

Current coverage is 47.14%

Merging #381 into master will not affect coverage as of c18b0f8

@@            master    #381   diff @@
======================================
  Files          126     126
  Stmts         2815    2815
  Branches       232     232
  Methods          0       0
======================================
  Hit           1327    1327
  Partial         53      53
  Missed        1435    1435

Review entire Coverage Diff as of c18b0f8

Powered by Codecov. Updated on successful CI builds.

we should really add a test case with multiple instance ids per event

:+1:


Sidebar use accordion to toggle second level links

The sidebar is too long. Maybe use accordion to hide/show second level links.

Will not change to accordion. It seems like scrolling is better than hiding the menu. It's friendlier to show all menus at once than to click to see what's beneath the accordion.


Support defaulting profile, profileDir, keepProfileChanges etc. from user specific settings

Hello,
It think it would be useful to configure default values for profile, profileDir, keepProfileChanges and maybe other settings in user and/or workspace settings (settings.json). E.g. I might prefer to use my custom profile for debugging while other team members might not. I don't want to impose my will by adding these to lauch.json.
Thanks!

Thanks for the suggestion! I've added settings that override firefoxExecutable, firefoxArgs, profile, profileDir and keepProfileChanges. Unlike your suggestion, the settings take precedence over the launch configuration properties (so they're not just defaults), but for your use case this probably doesn't make a difference.

Are docs on how to use these? I'd like to use my current profile settings when launching a debug session. Currently, whenever I launch Firefox to debug it starts out as if it has just been installed and run for the first time. All settings and preferences are lost.
If this is a separate issue let me know and I'll create it.

@velara3 Add "profile": "default" to your launch.json to make your current default profile the template for the temporary debugging profile. Alternatively you can add "firefox.profile": "default" to your vscode settings (if you don't want to have this setting in the project's debug configuration). Use firefox -P on the command line to manage your profiles.


Pull request to trigger Action that calls Vester to visually test the branch attempting to merge, with no visually altering changes

It's expected to confirm that the changes of this branch do not alter the visuals of the resulting application.

As expected Vester confirms that the branch's changes do not alter the resulting application's visuals.
The GitHub Action result:

text:Token is valid, process executed, scan passed.. Ended success:true


Allow users to setup control repo

This provides the ability to setup the common directories needed for
working with rspec-puppet by extracting out the logic that shouldn't be
happening in a control repo which is symlinking (see
https://github.com/rodjek/rspec-puppet/issues/607)

Coverage decreased (-0.05%) to 85.423% when pulling a3b998a97c83d1ab5d68a74165106247403c8f74 on NerdsvilleCEO:feature/js-allow_users_to_setup_control_repo into 6b29693ceddd1a71b2dae67fb8f266727d7f7608 on rodjek:master.

Working on tests to bring coverage back up

@rodjek I am having trouble finding the tests for the rspec-puppet-init utility, could you point me to where I should be looking for that?

Hello @DavidS,
This was so long ago, somehow it slipped my plate... I forgot what a control repo was or what this code was achieving. I'll take a look and then update the docs accordingly.
Thanks


Deadlock Avoidance

In deadlock avoidance, the operating system is provided with extra information related to all resources any process will require during its lifetime. Then at every request, the system can decide whether to grant that request or not. This decision depends upon

resources currently available
resources currently allocated to each process
future request and release of resources by each process

please assign this issue in c  to me.

Please open issue pertaining to specific algorithm and not a broad concept

Please open issue pertaining to specific algorithm and not a broad concept

@Kumar-laxmi I know its a concept having algorithm like bankers algorithm. I am asking for this algo

Please open issue pertaining to specific algorithm and not a broad concept

@Kumar-laxmi I know its a concept having algorithm like bankers algorithm. I am asking for this algo

Okay 👌😅

Please open issue pertaining to specific algorithm and not a broad concept

@Kumar-laxmi I know its a concept having algorithm like bankers algorithm. I am asking for this algo

Okay 👌😅

Already an issue is open on Bankers Algorithm


Added language as a filter to explore/repo_search

Added a new language filter beside the existing sort for  repos in explore

Any screenshot?

Any screenshot?

Sure!
Just updated the PR message

I will send my LGTM now. But a further step is to use async menus with a search box because the programming languages may be very big on public websites.

But a further step is to use async menus with a search box because the programming languages may be very big on public websites

I think this should be done, before this is merged.

But a further step is to use async menus with a search box because the programming languages may be very big on public websites

I think this should be done, before this is merged.

Added search for now

I will send my LGTM now. But a further step is to use async menus with a search box because the programming languages may be very big on public websites.

Please define "big". The number after which to go async depends on the dropdown performance. I have other UI's where I don't consider pagination until 10k items. Test first how many items the dropdown can render performantly, and then decide whether pagination is worth it.

Test first how many items the dropdown can render performantly, and then decide whether pagination is worth it.

Well, I don't think I have the resources to test on even a moderately sized instance.
However initially, rendering .LanguagesColor (~500 items) directly from enry (without db calls) seemed fine

Okay, if 500 entries render without performance issues, then we don't need async.

You should probably switch the position of Sort and the Language Filter. Sorting is usually the last in Gitea.

You should probably switch the position of Sort and the Language Filter. Sorting is usually the last in Gitea.

Done!

How long can the List get before a scrollbar appears?

500px, I believe that's the value for issue labels

Should we maybe set this in relation to the size of the site, so it will not be to long?

I agree, just set the max-width to 60vh looks much better now

Should we maybe set this in relation to the size of the site, so it will not be to long?

Just set the max-width to 60vh looks much better now

Could you provide a screenshot of that.

Your suggestion has unbalanced ". Also I agree we shoud ideally not need this z-index adjustment at all. What is the exact problem?

the search input would cover the dropdowns on smaller screens with 1.19, removed it as it seems to be fixed with 1.20

PS: Unsure if i messed it up, but I apologise for the force push

Small merge conflict in CSS.

Small merge conflict in CSS

Should be fixed now

There is one more problem.
Since this template is shared by different pages, now, on the "User Profile" page, the list is always empty.

There is one more problem.

Since this template is shared by different pages, now, on the "User Profile" page, the list is always empty.

@wxiaoguang sorry about that, I'm quite new to gitea's codebase ... I have added support for user and org too now, for other cases it's currently hidden
Note: currently in user/org all the languages used in the instance are displayed (since the language_stat table does not contain an owner_id field, unsure if searching in the repos is scalable)

Never mind (no need to "sorry" 😄 ) , Gitea's code base is quite complex .....
But for the "language" filter on the user's profile page .... is it better to just hide it at the moment? The global language list doesn't seem fit the user's repo list.

But for the "language" filter on the user's profile page .... is it better to just hide it at the moment? The global language list doesn't seem to fit the user's repo list.

True :)
I'll try creating the langs from the already fetched repos first, it wouldn't list all the languages used by the user but it's better than displaying nothing :P

@JakobDev looking good?

The API needs a little bit of improvement. If you want to get all languages for a User you need o load all Repos of that User and pass the IDs to /repos/languages. I think we should also add /user/{username}/languages and /org/{orgs}/languages to get the languages for a User/Org.
We need also tests for the API to make sure it keeps working as expected. If you don't know how to write tests, I can do that for you.

The API needs a little bit of improvement. If you want to get all languages for a User you need o load all Repos of that User and pass the IDs to /repos/languages. I think we should also add /user/{username}/languages and /org/{orgs}/languages to get the languages for a User/Org.

@JakobDev I have added a query param for the ownerId (ignored when repo ids are provided fn) ... felt it was easier than adding multiple api routes :P

We need also tests for the API to make sure it keeps working as expected. If you don't know how to write tests, I can do that for you.

Thank you! I have added in a minimal test fn

@snematoda Can you send the PR again? I want to resolve the conflicts but made the PR broken.


feat: add --partition-api-key parameter

Summary
Added --partition-api-key parameter for connectors. Updated StandardConnectorConfig, added partition_api_key string value.

Note that this API key should be passed as as header here: https://github.com/Unstructured-IO/unstructured/blob/7942bc9/unstructured/ingest/interfaces.py#L126
where the header name is unstructured-api-key.
Also, please rename the argument name to --api-key from --unstructured-api-key so that it doesn't get confused as a "true" partition arguments that get passed along in non-api mode here: https://github.com/Unstructured-IO/unstructured/blob/7942bc9/unstructured/ingest/interfaces.py#L117 .


Bump groovy-eclipse-batch from 2.4.3-01 to 2.5.6-01

Bumps groovy-eclipse-batch from 2.4.3-01 to 2.5.6-01.

Release notes
Commits

Signed-off-by: dependabot[bot]<EMAIL_ADDRESS>

Can you take a look at this please to see if it is still relevant, and address the comments above if appropriate
Thanks

@kemitix I'd guess we'd also need to upgrade the groovy version to match. For example, changing pom.xml to:
<groovy.version>2.5.8</groovy.version> <!-- Version 2.5.8 supported by https://github.com/groovy/groovy-eclipse/wiki/3.5.0-Release-Notes -->

from:
<groovy.version>2.4.15</groovy.version> <!-- Version 2.4.7 supported by https://github.com/groovy/groovy-eclipse/wiki/Groovy-Eclipse-2.9.1-Release-Notes; not sure what more recent will be -->

There are also newer versions of groovy-eclipse-batch available, since you opened this PR.


Hops-file-bundle-change

All .hops files must live in their own subdirectory as we move to having a bundle of files per automation, and one hops file per automation.
Additional files in the subdirectory (only one level) are also included in the bundle

 Additional resources as part of hops bundle


Add Constants to Transform

Is it possible to add constants to CSV extract?, i.e. 'USER' => '123'

Hi @jlopez0313 Is this request still opened. If so, do you have an example ?

Closing since no news for months.


Create sign in functionality

User authentication functionality
This application uses Next Auth technology to authenticate a user with a Spotify Provider, learn more here
When using the Spotify provider, you must set an application in the Spotify dashboard. Follow the instructions here. This will provide you with the CLIENT_ID & CLIENT_SECRET necessary for the Next Auth setup.
why do we authenticate a user?
The app uses authentication process to retrieve the necessary permissions from the user to interact with its Spotify account and its information (such as username, playlists, ...)
Specifically, this app takes care of the creation of custom playlists!. For this functionality we use the Spotify API. If you learn more here you will see that the user consent is required for this type of actions.
You may see how these functionalities were implemented in #6 ticket
Abou this Pull Request
In here you will find:

implementation of the Next Auth technology using the Spotify provider
integration of user authentication in the app

Here's a look to how it works!

If you are using new environment variables in the development process, you must set them in Vercel (production environment). Otherwise, it won’t work in production

Every environment variable is all set!
Remember everything is setup to use the domain link exclusively. I attach it here https://jamming-sooty.vercel.app/


Add weather icon set

Hi there. I`d like to propose a new icon set in the next verion of inkscape-open-symbols project.
That would be : https://erikflowers.github.io/weather-icons/
Thanks! :smile:
(I'd like to help if needed. By doing this I'll learn all the process and spare you some time. hehe)

Hi @victorwestmann I wrote an article on how to create your own symbol library: https://medium.com/@xaviju/creating-your-own-symbol-library-in-inkscape-0-91-and-make-your-front-end-developer-you-338588137aaf

Will try to help this become real. But it should be a nice addition for the list in README.MD I think.

If you make a PR with this icon set as a symbol you will be added to the contributors list both in the README (as currently happens with other contributors) and in the github repo contributors list (this is automatically done). You can do it yourself and add it to the readme in the same PR if you want to :)

Done. :smile:

I cannot see any PR with this symbol set, are you sure you made it?

I though I just needed to put the name inside the README.MD. Do you want me to personally convert all icons to a new library icon set then?
To be honest I also tried to do that. But failed. Need to investigate a little more on how to do this. Could you advise? It's a font that has icons in it.

@victorwestmann sorry for the misunderstanding
There is only one way to be added to the README.md: contribute with a set of inkscape symbols. Otherwise contributors are automatically added here: https://github.com/Xaviju/inkscape-open-symbols/graphs/contributors
If you add a new set of icons (or help fixing a 'help wanted' issue) your name will be added to the Readme next to the icon set that you helped to create.
Thanks!

I did a small set of icons (SURU - Actions) and it is available right here: https://www.dropbox.com/s/9ybojfeqk05uv15/actions scalable all.svg?dl=0
230 kb. It was a lot of work but I believe it will work. Can someone, please, test it? :)

Wow!!!
It works like a charm, but some fixes could be done before PR to improve it:

Remove the  tag at the end of the file. It does not need it, inkscape will create it in the document by itself. Will reduce its size.
Remove the Ids. It does not need it.
Add a title tag to every icon with its name: currently you have ids like id="symbol25750"
Remove inkscape trash: Inkscape tags like inkscape:connector-curvature="0"  or software metadata.
Add file metadata, like title and author, you can see an example in the repo on the template file.

That would make them almost perfect. :D
Hint, the template symbol in the repo its a good exsmple of the structure is should have and yo will see how many code you can delete.

I used the Inkscape XML editor all the time. About the symbols having a name I agree its a good idea.  Cant we make a macro or python small script to ge the file name and replace the id tag inside the SVG file with the filename? :)
Another thing... is there a way we can ADD all symbols at once? Like a massive import? This would also make things IMMENSELY easy for other contributors to create and fix Symbol Libraries.

Hi @victorwestmann
To make them I used to use SVGO and then fix the broken SVGS by replaceing them.
Then I used to add the names manually. Yes,its a lot of work.
I am currently working on a python script to create a symbol by using SVGO first and then adding the name of the icon based on the file. Then the work to fix it would be much much smaller. Since I am not a python developer, i need to learn on how to make the regex and stuff...

Hi Xaviju. Merry Christmas! Do you know if you were able to make any progress on your python script regarding this? What is the smallest set of icons someone (like me) could try to tackle?

Very nice icon set. I hope somebody can help out with this one.


Odigos instrumentation does not work on RedHat Openshift

Describe the bug
We are trying to instrument applications running RedHat Openshift (OCP 4.15 is the latest as of now). There are couple of problems:
a) the odiglet and odigos-data-collections requires privileged SCC
$ kubectl get events -n odigos-system
LAST SEEN   TYPE      REASON              OBJECT                                      MESSAGE
3m11s       Warning   FailedCreate        daemonset/odiglet                           Error creating: pods "odiglet-" is forbidden: unable to validate against any security context constraint: [provider "anyuid": Forbidden: not usable by user or serviceaccount, provider restricted-v2: .spec.securityContext.hostNetwork: Invalid value: true: Host network is not allowed to be used, provider restricted-v2: .spec.securityContext.hostPID: Invalid value: true: Host PID is not allowed to be used, spec.volumes[0]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[1]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[2]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[3]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, provider restricted-v2: .containers[0].privileged: Invalid value: true: Privileged containers are not allowed, provider restricted-v2: .containers[0].capabilities.add: Invalid value: "SYS_PTRACE": capability may not be added, provider restricted-v2: .containers[0].hostNetwork: Invalid value: true: Host network is not allowed to be used, provider restricted-v2: .containers[0].hostPID: Invalid value: true: Host PID is not allowed to be used, provider "restricted": Forbidden: not usable by user or serviceaccount, provider "nonroot-v2": Forbidden: not usable by user or serviceaccount, provider "nonroot": Forbidden: not usable by user or serviceaccount, provider "hostmount-anyuid": Forbidden: not usable by user or serviceaccount, provider "machine-api-termination-handler": Forbidden: not usable by user or serviceaccount, provider "hostnetwork-v2": Forbidden: not usable by user or serviceaccount, provider "hostnetwork": Forbidden: not usable by user or serviceaccount, provider "hostaccess": Forbidden: not usable by user or serviceaccount, provider "node-exporter": Forbidden: not usable by user or serviceaccount, provider "privileged": Forbidden: not usable by user or serviceaccount]

b) other odigos services require at least the anyuid SCC
$ kubectl get events -n odigos-system
41s         Warning   FailedCreate        replicaset/odigos-gateway-54d466ddc9        Error creating: pods "odigos-gateway-54d466ddc9-" is forbidden: unable to validate against any security context constraint: [provider "anyuid": Forbidden: not usable by user or serviceaccount, provider restricted-v2: .containers[0].runAsUser: Invalid value: 10000: must be in the ranges: [1000710000,<PHONE_NUMBER>], provider "restricted": Forbidden: not usable by user or serviceaccount, provider "nonroot-v2": Forbidden: not usable by user or serviceaccount, provider "nonroot": Forbidden: not usable by user or serviceaccount, provider "hostmount-anyuid": Forbidden: not usable by user or serviceaccount, provider "machine-api-termination-handler": Forbidden: not usable by user or serviceaccount, provider "hostnetwork-v2": Forbidden: not usable by user or serviceaccount, provider "hostnetwork": Forbidden: not usable by user or serviceaccount, provider "hostaccess": Forbidden: not usable by user or serviceaccount, provider "node-exporter": Forbidden: not usable by user or serviceaccount, provider "privileged": Forbidden: not usable by user or serviceaccount]

c) the odiglet clusterrole is missing kubernetes permissions
{"level":"error","ts":1713183591.5206065,"caller":"runtime_details/shared.go:121","msg":"Failed to update runtime info","name":"custom-app","kind":"Deployment","namespace":"default","error":"instrumentedapplications.odigos.io \"custom-app\" is forbidden: cannot set blockOwnerDeletion if an ownerReference refers to a resource you can't set finalizers on: , <nil>","stacktrace":"github.com/keyval-dev/odigos/odiglet/pkg/kube/runtime_details.persistRuntimeResults\n\t/go/src/github.com/keyval-dev/odigos/odiglet/pkg/kube/runtime_details/shared.go:121\ngithub.com/keyval-dev/odigos/odiglet/pkg/kube/runtime_details.inspectRuntimesOfRunningPods\n\t/go/src/github.com/keyval-dev/odigos/odiglet/pkg/kube/runtime_details/shared.go:43\ngithub.com/keyval-dev/odigos/odiglet/pkg/kube/runtime_details.(*DeploymentsReconciler).Reconcile\n\t/go/src/github.com/keyval-dev/odigos/odiglet/pkg/kube/runtime_details/deployments.go:37\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:119\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:316\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.17.2/pkg/internal/controller/controller.go:227"}

d) the virtual device is not readable
$ kubectl logs -f pod-85b5976d68
Starting JVM...
Executing startup command: "java -javaagent:/var/odigos/java/javaagent.jar -Dotel.traces.sampler=always_on -Dotel.exporter.otlp.endpoint=http://<IP_ADDRESS>:4317 -jar action-orchestrator-8.12.0.jar"
Error opening zip file or JAR manifest missing : /var/odigos/java/javaagent.jar
JVMJ9TI064E Agent initialization function Agent_OnLoad failed for library instrument, return code -1
JVMJ9VM015W Initialization error for library j9jvmti29(-3): JVMJ9VM009E J9VMDllMain failed

and if you exec in
$ mount|grep sda4
/dev/sda4 on /var/odigos/java type xfs (ro,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,prjquota)
$ ls -al /var/odigos/java/javaagent.jar
ls: cannot access '/var/odigos/java/javaagent.jar': Permission denied
$ cat /var/odigos/java/javaagent.jar
cat: /var/odigos/java/javaagent.jar: Permission denied

Expected behavior
expected for the instrumentedapplications cr to be created, instrumentation to be injected and readable

The solution for the first two problems is to use a more permissive SCC, respectively for each odigos component
The gateway, odiglet and data-collector components need to run with 'anyuid' and the odiglet and odigos-data-collecttion with 'privileged' scc
oc adm policy add-scc-to-group anyuid system:serviceaccounts:odigos-system
oc adm policy add-scc-to-user privileged -z odiglet -n odigos-system
oc adm policy add-scc-to-user privileged -z odigos-data-collection -n odigos-system

The solution to the third problem is use the generated clusterrole for the odiglet (specifically to allow the modification of the finalizer of the controllers):
https://github.com/keyval-dev/odigos-charts/pull/39/files
And the lastly, the fourth problem is caused by the enforced selinux policy that is default on the ocp nodes.
[core@master ~]$ sestatus
Current mode:                   enforcing
Mode from config file:          enforcing

which results in
$ cat /var/odigos/java/javaagent.jar
cat: /var/odigos/java/javaagent.jar: Permission denied

but if you
[root@master core]# setenforce 0
[root@master core]# sestatus
Current mode:                   permissive
Mode from config file:          enforcing

then the hostmounted files inside the container became readable and the applications start.
But this one is not a good enough solution, let me research how to do this safely in OCP.


NavigationDrawerDestination label color changed don't work

Duplicate Check

[X] I have searched the opened issues and there are no duplicates

Describe the bug
look at the my sending code...
theme1 It should work like this but it doesn't work! Delete the label_text_style property, other properties and their assigned values always work. When I assign a value to the label_text_style property, everything on the screen becomes invisible but values assigned to other properties work normally.
Code
import flet as ft

def home(page: ft.Page):
    theme1 = ft.Theme(
        navigation_drawer_theme=ft.NavigationDrawerTheme(
            label_text_style={
                ft.ControlState.HOVERED: ft.TextStyle(color=ft.colors.WHITE),
                ft.ControlState.FOCUSED: ft.TextStyle(color=ft.colors.YELLOW),
                ft.ControlState.DEFAULT: ft.TextStyle(color=ft.colors.BLUE),
            },
            bgcolor=ft.colors.GREEN,
            shadow_color=ft.colors.BLUE_ACCENT_700,
            elevation=16,
            indicator_color=ft.colors.RED,
            indicator_shape=ft.RoundedRectangleBorder(radius=10),
            surface_tint_color=ft.colors.AMBER,
            tile_height=120
        )
    )
    page.theme = theme1

    drawer = ft.NavigationDrawer(
        controls=[
            ft.Container(height=12),
            ft.NavigationDrawerDestination(
                label="Item 1",
                icon=ft.icons.DOOR_BACK_DOOR_OUTLINED,
                selected_icon_content=ft.Icon(ft.icons.DOOR_BACK_DOOR),
            ),
            ft.Divider(thickness=2),
            ft.NavigationDrawerDestination(
                icon_content=ft.Icon(ft.icons.MAIL_OUTLINED),
                label="Item 2",
                selected_icon=ft.icons.MAIL,
            ),
            ft.NavigationDrawerDestination(
                icon_content=ft.Icon(ft.icons.PHONE_OUTLINED),
                label="Item 3",
                selected_icon=ft.icons.PHONE,
            ),
        ],
    )

    page.add(
        ft.SafeArea(
            content=ft.Column(
                controls=[
                    ft.Container(
                        content=ft.Row(
                            controls=[
                                ft.IconButton(
                                    icon=ft.icons.MENU,
                                    on_click=lambda e: page.open(drawer),
                                ),
                                ft.Text(
                                    "Casa del Rey de la Gloria",

                                ),
                                ft.IconButton(
                                    icon=ft.icons.SEARCH,
                                    # on_pressed=lambda: page.open_drawer(),
                                ),

                            ],
                            alignment=ft.MainAxisAlignment.SPACE_BETWEEN,
                            expand=True

                        ),

                    ),
                    ft.Container()
                ],
                alignment=ft.MainAxisAlignment.CENTER,
                horizontal_alignment=ft.CrossAxisAlignment.CENTER,
                spacing=20,
                expand=True
            ),
        )
    )

if __name__ == "__main__":
    ft.app(target=home, assets_dir="assets")

To reproduce
no error message appears.
Expected behavior
No response
Screenshots
No response
Operating System
Linux
Operating system details
Debian 12
Flet version
0.23.1
Regression
I'm not sure / I don't know
Suggestions
No response
Additional details
No response

Issue has been fixed.
Give it a try by installing the latest Flet prerelease: pip install flet --pre (https://pypi.org/project/flet/#history)
Report if the issue persists.

Yes it is completed. It works correctly.

Not all the states are supported by this property. Only the following work: DEFAULT, SELECTED and DISABLED.


Fix file descriptors order imported by grpc.federation.file.import

Fixed a problem where the code for the cel plugin was not generated when defining the file import rule.

LGTM 👍


Use youtube-player to simplify Atom

What does this change?
Use youtube-player to simplify interations with youttube embed iframe API. This removes the need to worry about if and when the player has been initialised, and allows use to easily add and remove event emitters to the player without having to implement our own event emiter logic.
How to test
Launch a video on storybook and check that it plays with and without overlay. You should see logs for each event we track on youtube but looking at the browser's console.
Have we considered potential risks?
We now depend on the logic from youtube-player

Note. The argument for not using a useEffect hook is that the code inside it will only run after the initial render and then any changes could then cause a second render. If we don't need this behaviour we should avoid it


Cannot Process the Raw Data

When I use the command: "python data_process.py --dataset SHS27k" to pre=process the raw data, there occurs and error,

I wonder if the processing file is the right version. Thanks for your notice and really appreciate your work.

The processing file is the correct version to run on my site. I noticed that this error may be due to the latest version of numpy discarding this usage.
As per the official instructions, "If you meant to do this, you must specify 'dtype=object' when creating the ndarray". Following this hint, we can solve this problem.

Thanks, Lirong.
We can use the following code to pre-process the raw data.
r_edge_list = np.array(r_edge_list, dtype=object)
k_edge_list = np.array(k_edge_list, dtype=object)
np.save("../processed_data/protein.rball.edges.{}.npy".format(dataset), r_edge_list, allow_pickle=True)
np.save("../processed_data/protein.knn.edges.{}.npy".format(dataset), k_edge_list, allow_pickle=True)


BasicVariant fails to compile with Clang 6 and stdlibc++ 9.4.0

Compiling the generated NDS.Live's schema with the newly released v0.1.0 generator yields some weird compile errors.
I'm using Clang 6 with GCC 9.4.0's stdlibc++.
Full error log is attached (see full-error-log.txt), but the core of it is this:
/usr/local/pkg/gcc/include/c++/variant:156:13:  error: cannot cast private base class 'std::__detail::__variant::_Variant_storage<false, ...>' to 'std::variant<...>'
...
usr/local/pkg/gcc/include/c++/variant:1229:7: note: constrained by private inheritance here
    : private __detail::__variant::_Variant_base<_Types...>,

This is ultimately called from here:
zserio-2.15-cpp17/zserio/Variant.h:310:36: note: in instantiation of function template specialization 'std::variant<...>::emplace<...>' requested here
            return m_data.template emplace<static_cast<size_t>(I)>(std::forward<ARGS>(args)...);

Best I can make out from the error log and looking at stdlibc++'s <variant>, the following happens:

std::variant privately inherits from std::__detail::__variant::_Variant_storage.
_Variant_storage::_M_reset_impl invokes std::__variant_cast to get a reference to the top-level std::variant<...> from *this, in order to use visit and clean up the stored object.
std::__variant_cast is declared as a friend in std::variant (to get around the private inheritance).

Despite the friend declaration, the compiler still complains about the cast-from-private-base-class. I do not understand why.
I could not reproduce this myself in a smaller standalone test case using std::variant::emplace as used in BasicVariant, so there must be something about its usage in zserio that I do not yet understand.

I'm not sure if we really need to support old compilers - even the old C++ generator states that it supports Clang 11.0 (and probably newer) - https://github.com/ndsev/zserio/blob/master/compiler/extensions/cpp/README.md#supported-compilers.
Currently we test the c++17 extension with Gcc-11, Clang-14 and Clang-18 - see https://github.com/ndsev/zserio-cpp17/blob/master/.github/workflows/build_linux_cpp.yml.

Fair point. However, I'm seeing this generic error in <variant> reported in other places, e.g.:

https://root-forum.cern.ch/t/variant-including-rresultptr-doesnt-compile-with-gcc-9-1/35029 (GCC 9.1, stdlibc++ 9.1.0).
https://alice-talk.web.cern.ch/t/qualitycontrol-not-compiling-under-gcc9/619/7 (GCC 9)

Either way, we're not on one of the latest compilers, and the fact that the error is triggered depending on usage, makes me wonder if we can't try to fix it in the zserio runtime so it can work on our setup.
I might also try to reproduce with a newer compiler and same stdlibc++, but that might take some time for me to set up. I'm still not sure if it's a compiler issue, or stdlibc++ issue, or both.

To me it seems like a problem with the stdlibc++ 9.x, maybe only in combination with newer compilers.
We can leave this issue open and try to fix it when everything is implemented - in the worst case we can write the zserio Variant completely without usage of std::variant, but it was quite handy to use std::variant inside and moreover std::variant usually has some space optimizations directly in the STL library.
In any case we should decide first which compilers / STD library versions we need to support.

Some more info: I can reproduce it in a minimal isolated test case. For some reason, it seems to depend on the types of the variant:
int main()
{
    //using T = float;                       // OK
    //using T = std::array<bool, 2>;         // OK
    //using T = bool[2];                     // OK
    //using T = int*;                        // OK
    //using T = std::reference_wrapper<int>; // OK
    //using T = std::unique_ptr<int>;        // FAIL
    //using T = std::shared_ptr<int>;        // FAIL
    //using T = std::set<int>;               // FAIL
    //using T = std::map<int, int>;          // FAIL
    //using T = std::vector<float>;          // FAIL
    //using T = std::string;                 // FAIL

    std::variant<bool, T> x;
    x.emplace<0>(true);
}

For some reason, it seems that any type that uses dynamic (de)allocation causes this problem.

Update: apparently this is related to Clang-6: https://github.com/llvm/llvm-project/issues/32569. We're discussing upgrading the compiler to properly support C++17. I guess it's fine to close this as "compiler too old, not supported".

Thanks for the investigation and the link to clang issue! We will close it for now but feel free to reopen if it will be a problem.

compiler too old


[Potential migration] Feature/Fix for Veer Preregistration Schema [OSF-6510]

Purpose
ID missing from one of the nested questions in Veer Preregistration Schema which was making API requests to update registration metadata fail.  A jsonschema could not be created to validate metadata via the API due to the missing ID.   Also, the missing ID in the schema caused an undefined key in the registration metadata.

Changes
Adds missing id to schema.
Side effects
Have any users made a registration of this type?  If so, their registration metadata might have the undefined key in the screenshot and will need a migration.
Ticket
https://openscience.atlassian.net/browse/OSF-6510

Replaced by hotfix https://github.com/CenterForOpenScience/osf.io/pull/5851


Ability to specify website hosting configuration

what

We already use this module for S3 and want to be able to use it to deploy S3 buckets with static website hosting configs
The change in this PR adds that support

why

Would like to be able to use cloudposse/terraform-aws-s3-bucket (this module) to deploy buckets that support static website hosting and have very custom-tailored S3 bucket policy.
Tried using cloudposse/terraform-aws-s3-website for the same need and hit the roadblock of it not supporting custom bucket policies.
Our TF modules (in our org) are pinned down to use cloudposse/terraform-aws-s3-bucket for most S3 bucket needs, so we didn't have interest in using and modifying cloudposse/terraform-aws-s3-website module to support bucket custom bucket policies that are different then the "opinionated" ones that come with cloudposse/terraform-aws-s3-website.

usage
Downstream TF modules using this feature then can specify website configuration as in the example below.

file: profiles/s3_hosting_bucket/main.tf
 module "s3_bucket" {
      source = "git::https://github.com/SkywardIO/terraform-aws-s3-bucket.git//?ref=feature/website-hosting-config"

      ## Switch to CP release version if PR gets accepted
      # source  = "cloudposse/s3-bucket/aws"
      # version = "0.38.0"

      #...
      # other config of the module
      #...

      # website hosting - switchboard specific
      website_inputs = var.website_inputs
 }

file: profiles/s3_hosting_bucket/variables.tf
# ...
# other variables
# ...
variable "website_inputs" {

    type = list(object({
      index_document           = string
      error_document           = string
      redirect_all_requests_to = string
      routing_rules            = string # if you need to render valid JSON for this, use var.routing_rules and export such map construct to JSON
    }))
    default = null

    description = "Specifies the static website hosting configuration object."
}

file: profiles/website/main.tf
module "website" {
  source     = "../../profiles/s3_hosting_bucket"
  context    = module.this.context
  region     = var.region
  name       = module.this.name

  #...
  # other config of the module
  #...

  # determines static website hosting of the bucket - we are not interested in any kind of redirects by S3
  website_inputs = [
    {
      index_document           = "index.html"
      error_document           = "error.html"
      redirect_all_requests_to = null
      routing_rules            = var.routing_rules == null ? "" : jsonencode(var.routing_rules)
    }
  ]
  # next 4 variables determine "aws_s3_bucket_public_access_block" configuration
  block_public_acls       = var.block_public_acls
  block_public_policy     = var.block_public_policy
  ignore_public_acls      = var.ignore_public_acls
  restrict_public_buckets = var.restrict_public_buckets

}

file: profiles/website/variables.tf
# ...
# other variables
# ...
variable "routing_rules" {
   type = list(object({
     RoutingRuleCondition = object({
       KeyPrefixEquals             = string
       HttpErrorCodeReturnedEquals = string
     })
     RedirectRule = object({
       HostName             = string
       HttpRedirectCode     = string
       Protocol             = string
       ReplaceKeyPrefixWith = string
       ReplaceKeyWith       = string
     })
   }))
   default = null

   description = "Specifies the helper generator for routing_rules key of website_inputs var - to obtain JSON easily."
}

references

Can open an issue in this repo if there is need to further elaborate this.

/test all

/test all

/test all


Inquiry Regarding Training Material in the Repository

Dear @hamiltonoh
First of all, thank you for your work and congratulations on the work published in Nature.
I am currently exploring the repository associated with your work but have encountered some difficulty in locating the specific materials used for training the model. While I noticed that the repository includes data pertaining to 200 individuals in the test folder, the training dataset seems to be absent or not immediately identifiable.
Could you kindly assist me in locating the training material within the repository?
Thank you in advance for your time and assistance!
Bests
Danilo

Thanks Danilo!
Unfortunately, the data is not publicly accessible due to patient privacy and data ownership reasons. Our training data were samples from the healthy controls in the Knight-ADRC cohort, which can be provided upon reasonable requested here https://www.niagads.org/knight-adrc-collection. Hope this helps.
Best,
Hamilton

Dear Hamilton
thank you very much for your quick reply.
Bests
Danilo


[metricbeat] Support secrets

[x] Chart version not bumped (the versions are all bumped and released at the same time)
[x] README.md updated with any new values or changes
[ ] Updated template tests in ${CHART}/tests/*.py
[ ] Updated integration tests in ${CHART}/examples/*/test/goss.yaml
closes #777

Here's an initial attempt to adding secrets to the metricbeat chart, I hope the PR is welcome. I looked at what was done in #712, and copied and adjusted the template for metricbeat accordingly. Was unsure whether or not to add tests, since similar tests are covered in the logstash chart.

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?

@fatmcgav sorry to bother you directly. Will this PR be reviewed any time soon?

Jenkins test this please

Is there anything missing here?

I would really like to see this PR merged so we can start using this chart. How do we get hold of someone who can verify?

Sorry for the radio silence here.
@erihanse This is looking good. Would you be able to add a new test to exercise creating a secret?
Something like https://github.com/erihanse/helm-charts/blob/b6f54a621a0797e58ab047f4f6014d3d7c4162fa/metricbeat/tests/metricbeat_test.py#L1152-L1173 should do the job...

@fatmcgav would it make sense to copy the secret-related tests from the logstash chart (#712) and make necessary adjustments? The template is the same.

@erihanse sounds like an awesome idea!

@fatmcgav it's ready for review again. I rebased on master, therefore the force-push. I copied the tests, the only change I made was to remove the assert of secretschecksum in the test method test_adding_a_secret.

Cool, thanks for that @erihanse
Jenkins test this please

This has been back-ported to the relevant branches, and will be included in the next 7.9 minor release.
Thanks again for the contribution @erihanse


Schema inference - similar to yup.mixed<Type>()

I can't find this anywhere in the documentation or issues on github.
import { PaletteOptions } from "@mui/material/styles";

type Account = {
  uuid: string;
  name: string;
  palette?: Pick<PaletteOptions, "primary" | "secondary">;
}

// yup
const Schema = y.object({
  uuid: y.string().required(),
  name: y.string().required(),
  palette: y.mixed<Pick<PaletteOptions, "primary" | "secondary">>() //     <----
});

// zod
const Schema = z.object({
  uuid: z.string(),
  name: z.string(),
  palette: // ???     <----
});

I know that using z.infer I can get type from schema but can I get schema from type like in yup?

perhaps this is what you are looking for: https://github.com/colinhacks/zod/discussions/1928

I found it https://zod.dev/?id=custom-schemas 😄


Add Az CLI functionapp create for .NET 5

We should have an issue in the Azure CLI repo to track this.

PR for stacks changes: https://github.com/pragnagopa/azure-functions-supported-runtime-stacks/pull/26
Expecting to have AZ CLI PR soon

AZ CLI PR: https://github.com/Azure/azure-cli/pull/17066

Thanks Graham! Closing as completed.


UI/sidebar_widget: Improved hierarchy between UI elements in settings sidebar

Modified elements:
-No circle/background around "x"
-"x" slightly bigger, and bolder
-Spacing is added below close_btn instead of above
-Only 1 element is white IF pressed versus the "x" and current menu text
-Text is aligned left
-Menu text added left padding to align with "x" close_btn
https://github.com/commaai/openpilot/assets/142481257/d8e57e0b-b3a0-4935-a214-80d6d8666465
Noise in sidebar
To much is grabbing for attention in sidebar when settings is opened up. There is a circle emphasizing the "x" and also the color white making the X stand out while also using that color white to show your active tab/section.
Over using a color to differentiate makes the emphasis less impactful. Ideally one element should be highlighted in white to mark as the "pressed" element. Making it white and with a circle behind it is overkill and adds more noise to the UI.

Why place close_btn top left?
Placing the close_btn in the top left corner is more familiar for users and is where most back/close buttons are found on mobile and web apps making it easier to interact with.

Why left-align text matters for vertical menus?
Aligning menu items to the left helps users eyes scan rapidly in a straight downward motion versus a zigzag motion when using right-aligned text in vertical menus. Link below talks deeper about it. Not a huge deal on its own , but the little things of experiences add up.
https://www.nngroup.com/articles/right-justified-navigation-menus/

New sidebar UI

Old sidebar UI

Thanks for the PR, but closing as this falls under https://github.com/commaai/openpilot/blob/master/docs/CONTRIBUTING.md#what-doesnt-get-merged


unable to connect to storage explorer

Preflight Checklist

[x] I have installed the latest version of Storage Explorer.
[x] I have checked existing resources, including the troubleshooting guide and the release notes.
[x] I have searched for similar issues.

Storage Explorer Version
unable to locate version
Regression From
No response
Architecture
i86
Storage Explorer Build Number
No response
Platform
All
OS Version
No response
Bug Description
storage explorer not working
Steps to Reproduce
storage explorer not working tried to authenticate but not working.
Actual Experience
storage explorer not working tried to authenticate but not working.
Expected Experience
No response
Additional Context
No response

@Padmaja511 Can you explain your problem in more detail by providing the exact steps you followed? Does the app launch at all?
The version of Storage Explorer and most other information we ask for can be found by selecting Help > About from the menu (in Windows or Linux) or Storage Explorer > About (in Mac). The version is also visible in the splash window that appears when you launch the app.

Please note that 32-bit systems (i86) are no longer supported. If your machine has an x64 or ARM64 architecture, we encourage you to install the matching flavor of Storage Explorer.


simple_differencing

Can you expose the simple_differencing option or allow us to pass kwargs to the ARIMA and SARIMA class instantiation methods into the auto_arima class? This helps in some cases where fitting is prohibitively slow.

Care to take a crack at a PR?

Was hoping we'd get someone else to contribute this feature, but given the amount of time it's been open I merged it in #171. Will be available in 1.3.0 or immediately if building from master


Failed to deploy app from Local Git via VScode

Repro steps:

Action: appService.Deploy
Error type: Error
Error Message: Failed to get status of deployment.
Version: 0.15.0
OS: win32
Product: Visual Studio Code
Product Version: 1.36.1
Language: en

Call Stack
Object.<anonymous> extension.bundle.js:332:350604
a extension.bundle.js:332:350244
process._tickCallback next_tick.js:68:7

Hi @AtinMaiti
Thanks for reporting.  Could you provide repro steps?


Host functions returning f32/f64 aren't working correctly

From https://discord.com/channels/1011124058408112148/1050087728269766737/1260966340605513838:

Plugin / c-pdk
typedef float f32;
EXTISM_IMPORT("test", "f32") extern f32 test_f32(f32);
/* ... */
#include <math.h>
f32 val = test_f32( (f32)-M_PI );
Host / c-sdk
void test_f32(ExtismCurrentPlugin* plugin, const ExtismVal* inputs, ExtismSize n_inputs, ExtismVal* outputs, ExtismSize n_outputs, void* data) {
outputs[0].v.f32 = inputs[0].v.f32;
}
/* ... /
ExtismValType types[] = { ExtismValType_F32 };
ExtismFunction f = extism_function_new("f32", types, 1, types, 1, test_f32, 0, 0);
extism_function_set_namespace(f, "test");
... test_f32 seems to receive the f32 value correctly, but only ever return zero as output.

See https://gist.github.com/humbletim/e80ca56791a1add434d0ebfa64a7f146 for a reproduction of the issue.
Logging around the extism::Function inner calls (here) shows that the values are correct when the function returns.

I'm pretty sure that this is due to some weird code I found while looking through the runtime:
https://github.com/extism/extism/blob/7b6664d019265fb2e61596f230f4bce152231209/runtime/src/sdk.rs#L269-L270
This isn't right. Here is the documentation in wasmtime:

Note that the raw bits of the float are stored here, and you can use f32::from_bits to create an f32 value.
Note that the raw bits of the float are stored here, and you can use f64::from_bits to create an f64 value.

What struck me as weird there is that "as u32"/"as u64" just cuts off the non-integer part, so there has to be data loss there.

Thank you @anlumo for catching that! Making this change seems to fix the reproduction I linked in the original issue! I have PR up here: https://github.com/extism/extism/pull/779 and will merge it once CI passes.


Error sorting an unsorted result set

Attempt to add sort to page limited results
java.lang.RuntimeException: Attempt to add sort to page limited results
   at stroom.query.common.v2.CompiledSorters.update(CompiledSorters.java:81)
   at stroom.query.common.v2.LmdbDataStore.fetch(LmdbDataStore.java:782)
   at stroom.query.common.v2.TableResultCreator.create(TableResultCreator.java:121)
   at stroom.query.common.v2.SearchResponseCreator.getResults(SearchResponseCreator.java:256)
   at stroom.query.common.v2.SearchResponseCreator.lambda$create$4(SearchResponseCreator.java:162)
   at stroom.util.logging.LocationAwareLambdaLogger.logDurationIfTraceEnabled(LocationAwareLambdaLogger.java:275)
   at stroom.util.logging.LambdaLogger.logDurationIfTraceEnabled(LambdaLogger.java:80)
   at stroom.query.common.v2.SearchResponseCreator.create(SearchResponseCreator.java:161)
   at stroom.query.common.v2.ResultStore.search(ResultStore.java:255)
   at stroom.query.common.v2.ResultStoreManager.doSearch(ResultStoreManager.java:339)
   at stroom.query.common.v2.ResultStoreManager.lambda$search$1(ResultStoreManager.java:164)
   at stroom.security.impl.SecurityContextImpl.useAsReadResult(SecurityContextImpl.java:405)
   at stroom.query.common.v2.ResultStoreManager.lambda$search$2(ResultStoreManager.java:163)
   at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$2(TaskContextFactoryImpl.java:253)
   at stroom.util.logging.LocationAwareLambdaLogger.logDurationIfDebugEnabled(LocationAwareLambdaLogger.java:307)
   at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$4(TaskContextFactoryImpl.java:253)
   at stroom.util.pipeline.scope.PipelineScopeRunnable.scopeResult(PipelineScopeRunnable.java:36)
   at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$5(TaskContextFactoryImpl.java:250)
   at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$6(TaskContextFactoryImpl.java:262)
   at stroom.security.impl.SecurityContextImpl.useAsReadResult(SecurityContextImpl.java:405)
   at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
   at java.base/java.lang.reflect.Method.invoke(Method.java:580)
   at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:50)
   at jdk.proxy2/jdk.proxy2.$Proxy122.useAsReadResult(Unknown Source)
   at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$7(TaskContextFactoryImpl.java:262)
   at stroom.security.impl.SecurityContextImpl.asUserResult(SecurityContextImpl.java:337)
   at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
   at java.base/java.lang.reflect.Method.invoke(Method.java:580)
   at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:50)
   at jdk.proxy2/jdk.proxy2.$Proxy122.asUserResult(Unknown Source)
   at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$11(TaskContextFactoryImpl.java:260)
   at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
   at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
   at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
   at java.base/java.lang.Thread.run(Thread.java:1583)

This is because a search that does not sort or group data, deliberately terminates as soon as it has at least a page of results. This is an optimisation to prevent excessively long searches in cases where they are not needed, but does result in a partial result set.
In order to accurately group and sort data a search needs to run through all of the data, so searches that are grouped or sorted always require a full result set. Therefore applying a post query sort to a partial result set results in an error.
We could automatically run a new search when sort is applied to a partial result set but in some ways it is no different from trying to change grouping which currently results in the table being cleared awaiting a new search. Perhaps in both cases the table should be cleared although the user might be confused that sometimes they can change the sort order and sometimes it seems they cannot. Perhaps whenever any conditions are changed that would require a new search, the table should show a message or button saying Run new query maybe.
Alternatively we could remove the partial result optimisation but it is a useful feature in a resource contended environment. It could however be optional in system config.


Changed View to Animated.View for TabBarBottom

Changing the View to Animated.View for TabBarBottom connected to this discussion:
https://github.com/react-community/react-navigation/issues/1270

@satya164 Formatting is done. Thank you again!


[stable/hadoop] Add GCS support

Signed-off-by: Khwunchai Jaengsawang<EMAIL_ADDRESS>
What this PR does / why we need it:
This PR add GCS FileSystem support for Hadoop Chart using the official Google Cloud Storage Connector for Hadoop. The connector lets you run Apache Hadoop jobs directly on data in Google Cloud Storage.
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/assign @maorfr

/ok-to-test


Uncaught TypeError: b.setCapture is not a function

Using the US3 demo, I receive the following error when trying to move the pin around the map.
Uncaught TypeError: b.setCapture is not a function
_.r.Jj @ common.js:199
(anonymous function) @ js?key=XXXXX&libraries=places

wild guess. No API key and using the minified version.


GA release for mgmt. SDK

ring0 before May 13th.
full coverage before May 18th.
sample, live test update

completed.


bash error: Line 234: line is not set

Thank you for your work! Most of my fonts I could download very well with the script. However, some URLs cause problems:
Works:
. /google-font-download --url="https://fonts.googleapis.com/css?family=Lora: 400,700,400italic, 700italic&subset=latin, latin-ext" -o Lora. css
This URL throws an error:
./google-font-download --url="http://fonts.googleapis.com/css?family=Source+Code+Pro" -o SourceCodePro.css
The example from README.md doesn't work for me either:
./google-font-download --url="https://fonts.google.com/?selection.family=Open+Sans: 300,400,400i, 700,700i"
Here is the error message:
Line 234: line is not set.
Could it be that it is the "+" character within the URL?
Thanks!

Thanks for the report, should be fixed in 1.4.1.


Disallow classes, ids and data-attributes

List of classes to remove
list of ids to remove
list of data attributes to remove

Added excludeClass option.