Recent change has large implications for Sidekiq running on multiple machines

We run sidekiq-scheduler as part of a multiple machine deployment in production. We recently upgraded from 2.0.8 to 2.0.18 and saw an issue where our schedules were being overwritten with an empty hash. This change meant that our second server was emptying the schedule rather than ignoring the missing option.
This caused some fairly serious production issues which we've now fixed by disabling the scheduler in all environments by default and being explicit when we enable it.
Would it be useful to document this behavior in the README for future users? If you think so and you have a suggestion where that should go I will open a PR with the updates.

This also happened to us, with a deployment of multiple sidekiq instances.

At version <= 2.0.8 if the following config was given to a sidekiq-scheduler instance:
:dynamic: true

:schedule:
  SomeWorker:
    every: '5s'
    class: SomeWorker

And then, if the config is changed, followed by a restart, to something like:
:dynamic: true

:schedule:
  #SomeWorker:
    #every: '5s'
    #class: SomeWorker

sidekiq-scheduler will still push SomeWork into sidekiq for processing.
The dynamic flag stores/reads from the schedule into/from Redis. So in this case, although the schedule was commented out, it was being read from Redis.
The intent of the change that @elskwid mentioned is to prevent that behavior.
In order to prevent purging the schedule stored in Redis, the enable flag could be set to false:
:enabled: false

@elskwid, @danarnold That behavior was documented here (recently): https://github.com/moove-it/sidekiq-scheduler/commit/a49fd5507b9a95cfabe1de03d1a925f8587d66ca

What I'm confused about is why I'm getting an empty schedule at all. Maybe you can help.
This is in the app, inside our sidekiq initializer:
Sidekiq.configure_server do |config|
  config.redis = { url: redis_url, namespace: namespace }
  schedule_file = 'config/schedule.yml'

  if File.exist?(schedule_file)
    Sidekiq.schedule = YAML.load_file(schedule_file)[Rails.env]
    Sidekiq::Scheduler.load_schedule!
  end
end

Then we simply initialize a few different servers with sidekiq and a few web servers.

Hello @danarnold

Could you post here the standard output of the sidekiq startup?
Could you post here the contents of 'config/schedule.yml'  ?
Do all the servers run within the same Rails.env?
In case they are running with different Rails environments, each env has it's own redis / redis namespace ?
Are you using Active Job for your jobs?

Here is the output of startup on 2.0.19: https://gist.github.com/danarnold/49b557863f2f87c69b948e9f137fef8e
Here is the output of startup on 2.0.8: https://gist.github.com/danarnold/e24d00f8306aa305499ee55b05ecbabf
Here is the contents of config/schedule.yml with all of the worker names changed (they are all different in our actual app): https://gist.github.com/danarnold/94f3d3a9f748c004891806859a1d82a6
The servers do all run with the same Rails.env, yes. They all are set to "production" in a fairly standard production configuration. We use separate Redis instances for different environments, like our staging environment.
We are not using ActiveJob.

Hi @danarnold
Could you verify that the line Sidekiq.schedule = YAML.load_file(schedule_file)[Rails.env] in initializers/sidekiq.rb is actually being executed?
I'm asking that because when dynamic flag is true, then the scheduler loads the configuration from Redis. When version >= 2.0.9, it also empties the configuration stored in Redis during startup (if local config is empty).
By looking at your logs, I see the message "SidekiqScheduler is disabled", so if sidekiq-scheduler, no matter which version is being used, tries to load the schedule is because it's being re-enabled somewhere.
Sidekiq::Scheduler.enabled = true

The initializer is definitely being executed. (The code did not change in any way between the above examples. The only thing that changed was the version of sidekiq-scheduler that was being run.) Our configuration is basically an even simpler version of what's specified in the README, with Sidekiq::Scheduler being loaded in the Sidekiq.configure_server block, which all runs inside the config/initializers/sidekiq.rb file.
The initializer is the only place where we run any code on the Sidekiq or Sidekiq::Scheduler classes. I too noticed the message saying "SidekiqScheduler is disabled, and I have no idea why it would say that, since we do not have any code that sets Sidekiq::Scheduler.enabled.

"SidekiqScheduler is disabled" message is printed out when Sidekiq::Scheduler.enabled is false. Another way to configure that flag is by having this:
# config/sidekiq.yml
:enabled: false

With version 2.0.8, if the schedule config was stored in Redis it will load even if the initializer didn't execute.
I setup a Rails app with pretty much the same sidekiq initializer as you. I'm able load the schedule using 2.0.8 and then loading an empty schedule using 2.0.19.

It's strange that it's displaying that message, yeah. I was confused when I first noticed it, too, but didn't worry too much about it since our schedules were being loaded. We don't have a config/sidekiq.yml file at all, by the way.
I should note that if I switch back to 2.0.8 after the schedules have been cleared by the higher version, the next load of sidekiq will successfully load all of the schedules. This, to me, makes it clear that the schedules should be loading successfully and that there aren't issues in the loading code - because if they were cleared by >2.0.8, they wouldn't have been able to have been loaded from Redis.

Do you have this in your Gemfile?
gem 'sidekiq-scheduler', '2.0.19', require: false

If so, could you remove the require: false option? I was able to reproduce the problem you mention by  having that option set to false.
It you are not able to remove that option, could you try by requiring sidekiq-scheduler at the top of your sidekiq initializer? That should work too
require 'sidekiq-scheduler'

We don't have require: false in our initializer.
I tried that require line anyway, and require returned false indicating that it was already required, and I still get the disabled message when starting sidekiq.

@danarnold Our logs looked a lot like yours. My poking around when we hit our issue showed that the Sidekiq.schedule is not used during initialization.
Take a look where the schedule is set. Both dynamic and enabled use the class methods or the config value. The schedule setting is unique in that it only uses the config value. Which leads to an empty schedule on boot as the message in your log shows. Then, load a schedule, assign it, and call load_schedule! which displays the "schedules loaded" message.
The change that prompted me to file the issue assigned options[:schedule] to Sidekiq.schedule or an empty hash and thus we see empty schedules on some servers.
My workaround was to change the initializer to:

be much more explicit
always load the schedule
conditionally enable the scheduler

Here's a shortened version:
# requires...

# Scheduler default configuration
Sidekiq::Scheduler.enabled = false
Sidekiq::Scheduler.dynamic = false

schedule_config = Rails.root.join("config/sidekiq_schedule.yml")
schedule = YAML.load_file(schedule_config)[Rails.env] || {}

# Set the schedule outside the config block
Sidekiq.schedule = schedule

# server config
Sidekiq.configure_server do |config|
  # Make schedule available to the SidekiqScheduler::Manager during initialize
  #
  # Due to a twist in the logic during the SidekiqScheduler boot sequence
  # `Sidekiq.schedule` gets overwritten with the value of `options[:schedule]`
  # which means it has the same value but this makes it available to us outside
  # the server configuration and takes advantage of the manager boot to
  # avoid the need to reload the schedule after it's found to be empty.
  config.options[:schedule] = Sidekiq.schedule

  # Scheduler enabled in non-prod environments or on a single server in prod
  if !Rails.env.production? || ENV["SERVER_NAME"] == "our-server-name"
    Sidekiq::Scheduler.enabled = true
  end
end

I just found the way to reproduce the issue @danarnold describes. In my previous setup I used the :startup hook, when in fact the examples provided here directly passed the configuration block to configure_server
I just pushed some changes to branch issue/147, could you guys give it a try by setting this in your Gemfile?:
gem 'sidekiq-scheduler', git: 'https://github.com/moove-it/sidekiq-scheduler.git', branch: 'issue/147'
# run `bundle` after changing the Gemfile

I tested different scenarios and it would be awesome if you can test the fix within your apps

That branch works for me, I started sidekiq and see the schedules being loaded successfully.

@elskwid  did you have a chance to test issue/147 branch? The plan is to release tomorrow. Thanks

@snmgian I can't actually test in an environment like our production environment but I will make time to roll it out as soon as you have an update. Sorry, but our other envs aren't quite the same. (Not yet anyways). 😄


Error when trying to link a file to a custom project

DBeaver - Version 5.2.1 CE
DBeaver JDBC driver: jTDS or Microsoft
Operating System: Windows 7 / Windows 8.1 / Windows 10
Database Server: Microsoft SQL Express 2014
When I try to link a file to a newsly created custom project,, I get an error message:

Unable to create link
Cannot create linked resource '/PostgreSQL/Scripts/TestJoinX.sql'.  The parent
resource is not accessible.

To view the misbeahviour:
o Start DBeaver
o View the Project tab by choosing the Windows -> Projects meny choice.
o Create a new project (in my case called "PostgreSQL").
o Right click on the Scripts folder in the new project and choose Link File.
o Choose a file you want to link.
o An error messages is shown and no file is linked.
The DBeaver .log file contains:

!ENTRY org.jkiss.dbeaver.model 4 0 2018-09-29 18:46:27.367
!MESSAGE Unable to create link
!STACK 1
org.eclipse.core.runtime.CoreException: Cannot create linked resource '/PostgreSQL/Scripts/TestJoinX.sql'.  The parent resource is not accessible.
at org.jkiss.dbeaver.ui.actions.navigator.CreateLinkHandler$1.execute(CreateLinkHandler.java:80)
at org.eclipse.ui.actions.WorkspaceModifyOperation.lambda$0(WorkspaceModifyOperation.java:107)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2267)
at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:128)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
!SUBENTRY 1 org.eclipse.core.resources 4 77 2018-09-29 18:46:27.368
!MESSAGE Cannot create linked resource '/PostgreSQL/Scripts/TestJoinX.sql'.  The parent resource is not accessible.

Note
If I try to link a file to the General project, everything works as expected.

Thanks for the bug report (missed this earlier)

Verified


JavaScript

Does this tool offer any value to those not using TypeScript. The README sounds like it's just for TS projects, but doesn't explicitly say that.

Volar purpose is, close to native *.js/*.ts performance and development experience in <script> block. And provide more interactivity between <script>, <style>, <template> and custom blocks to get SFC maximize its benefits.
So JavaScript is just a part and it's not a limitation, you can typing js in <script> block like typing in *.js.

In VS Code, even JS files are provided by ts server for advanced features, and Volar is the same way.


Update config URL

Old link 404s
Please provide a description for what this PR is for.
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[x] Docs
[x] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jcantosz
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
If they are not already assigned, you can assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @jcantosz. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: howardjohn, jcantosz
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [howardjohn]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hey sorry, didn't see the CLA part - I signed the agreement. Is there anything I need to to do re-run the check?

/test istio_e2e_cloudfoundry-master

@jcantosz: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

integ-security-k8s-presubmit-tests-master
eaa3a3c99ce8ab0d39c5aa4df9a84e31c0de64b4
link
/test integ-security-k8s-presubmit-tests-master

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

/retest


Expand GitHub Actions docs into a full guide

Notably, this mentions how to run multi-line run commands inside a devenv shell, which addresses a question I saw on our Discord.

Not sure what Cloudflare Pages is so upset about 🤔

The Cloudflare issue should be fixed in #827.


Update service registration code

:watch:

showed @dougbu updated changes in person.

Yuppy :shipit:


Error loading resources with exported exe/pck files

Godot version:
3.1.1
OS/device including version:
windows 10
Issue description:
It's the same issue as this, but I don't think people can see archived posts that got reopened? https://github.com/godotengine/godot/issues/26379
So basically the exe file only runs as it should if the exe and pck files are inside the main project folder, whereas if theyre both outside that folder, a bunch of loading resource errors pop up. I assume the pck should be all the assets in the main project folder, but it just won't run unless inside the project folder. All the resources are autoload scenes minus the map files, but i assume it won't work only because the autoloads aren't loaded. The game still runs, its just nonfunctional because of the specific resources not being loaded.
These are the debug print statements
OpenGL ES 3.0 Renderer: GeForce GTX 1060 6GB/PCIe/SSE2
ERROR: No loader found for resource: res://assets/info_icon.png
At: core/io/resource_loader.cpp:285
ERROR: poll: res://globals/hud.tscn:5 - Parse Error: [ext_resource] referenced nonexistent resource at: res://assets/info_icon.png
At: scene/resources/resource_format_text.cpp:440
ERROR: load: Condition ' err != OK ' is true. returned: RES()
At: core/io/resource_loader.cpp:208
ERROR: Failed loading resource: res://globals/hud.tscn
At: core/io/resource_loader.cpp:285
ERROR: Can't autoload: res://globals/hud.tscn
At: main/main.cpp:1549
ERROR: load_source_code: Condition ' err ' is true. returned: err
At: modules/gdscript/gdscript.cpp:813
ERROR: load: Condition ' err != OK ' is true. returned: RES()
At: modules/gdscript/gdscript.cpp:2172
ERROR: Failed loading resource: res://dialogue/progress.gd
At: core/io/resource_loader.cpp:285
ERROR: Can't autoload: res://dialogue/progress.gd
At: main/main.cpp:1549
ERROR: load_interactive: Condition ' err != OK ' is true. returned: Ref()
At: scene/resources/resource_format_text.cpp:1226
ERROR: Failed loading resource: res://dialogue/dialogue.tscn
At: core/io/resource_loader.cpp:285
ERROR: Can't autoload: res://dialogue/dialogue.tscn
At: main/main.cpp:1549
ERROR: load_interactive: Condition ' err != OK ' is true. returned: Ref()
At: scene/resources/resource_format_text.cpp:1226
ERROR: Failed loading resource: res://dialogue/dialogue.tscn
At: core/io/resource_loader.cpp:285
SCRIPT ERROR: GDScript::load_byte_code: Parse Error: Can't preload resource at path: res://dialogue/dialogue.tscn
At: res://scripts/map.gdc:7
ERROR: load_byte_code: Method/Function Failed, returning: ERR_PARSE_ERROR
At: modules/gdscript/gdscript.cpp:785
ERROR: load: Condition ' err != OK ' is true. returned: RES()
At: modules/gdscript/gdscript.cpp:2168
ERROR: Failed loading resource: res://scripts/map.gdc
At: core/io/resource_loader.cpp:285
ERROR: poll: res://scenes/map.tscn:4 - Parse Error: [ext_resource] referenced nonexistent resource at: res://scripts/map.gd
At: scene/resources/resource_format_text.cpp:440
ERROR: load: Condition ' err != OK ' is true. returned: RES()
At: core/io/resource_loader.cpp:208
ERROR: Failed loading resource: res://scenes/map.tscn
At: core/io/resource_loader.cpp:285
Steps to reproduce:
Minimal reproduction project:

Bit of an update, but still hasn't fixed the main issue. The map scene had a bunch of onready var preloaded scenes and removing all of them and loading them when needed seems to have solved the map failing to load. The autoloaded scenes still fail to load though.

Ok, I figured out almost all of it. I had an issue prior to this where the file system wouldn't show a specific folder, none of the scenes and assets inside were searchable through it. If I went to Scene -> Open Scene, then the folder would show up in that popup. Opening the scene, then saving it, would get the FileSystem to display the folder that was hidden, but it would only show that one scene. If I wanted all the scenes there, I'd have to open all manually and save it. The issue was fixed going off by this https://godotengine.org/qa/43323/how-do-i-import-a-folder-of-many-assets-resources .
There's one problem left though, it won't read any json files. I do have the path as res://, not user:// so I don't think the path is the issue as the game does find and read the json files correctly in the editor. The exported exe file all works correctly now, it just can't find json files?

People can see archived posts even if they are closed.

I have the same issue on Linux with exported .pck files with only the following error:
WARNING: _update_root_rect: Font oversampling does not work in 'Viewport' stretch mode, only '2D'.
   At: scene/main/scene_tree.cpp:1241.
ERROR: _load: No loader found for resource: res://scripts/commands/Eval.gd.remap
   At: core/io/resource_loader.cpp:285.
SCRIPT ERROR: _load_commands: Attempt to call function 'new' in base 'null instance' on a null instance.
   At: res://autoload/Console.gdc:55.```

My exported game won't load json files either. Works fine when running debug build from editor.

Windows 10
Godot 3.2 alpha 1 and 2

@andrekim93 Have you been able to reproduce this issue recently?

Closing due to lack of response.


NIFI-9398 add verification to ElasticSearchClientService (with integration tests) and Elasticsearch REST API processors

Summary
NIFI-9398 add verification for the Elasticsearch REST API processors and controller services.
NIFI-9398 processor verification integration-tests for nifi-elasticsearch-restapi-processors using common nifi-elasticsearch-integration-test-utils refactored from nifi-elasticsearch-client-service
Additionally:

add elasticsearch8 tags to Elasticsearch REST API processors
address various compiler warnings (i.e. from IntelliJ) in associated classes
refactor Elasticsearch (Testcontainers) integration-tests into new utils modules shared between client-service and restapi-processors modules
use testcontainers-bom to set version of all Testcontainer imported dependencies throughout NiFi repo

Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[x] Apache NiFi Jira issue created

Pull Request Tracking

[x] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[x] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[x] Pull Request based on current revision of the main branch
[x] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[x] Build completed using mvn clean install -P contrib-check

[x] JDK 8
[x] JDK 11
[x] JDK 17

Licensing

~[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy~
~[ ] New dependencies are documented in applicable LICENSE and NOTICE files~

Documentation

~[ ] Documentation formatting appears as expected in rendered files~

Marked as Draft until I've completed more manual verifications via the NiFi UI.

Marked as Draft until I've completed more manual verifications via the NiFi UI.

Added integration-tests for nifi-elasticsearch-restapi-processors to cover some Processor Verification steps (shares Testcontainer setup with nifi-elasticsearch-client-service using a new common nifi-elasticsearch-integration-test-utils module)

@ChrisSamo632 see feedback above. When I ran your branch on the command line, I got a bunch of NoClassDef errors because testcontainers has an explicit scope of test set in the root pom.  mvn dependency:tree was showing that testcontainers was not coming through as a transitive dependency via the test utils jar.

@ChrisSamo632 see feedback above. When I ran your branch on the command line, I got a bunch of NoClassDef errors because testcontainers has an explicit scope of test set in the root pom. mvn dependency:tree was showing that testcontainers was not coming through as a transitive dependency via the test utils jar.

@MikeThomsen thanks for the review, I think I've addressed all your comments now (I unresolved those in the discussion that I believed needed changes to be made, that way I/you can see what needs re-reviewing).
Also updated the 7.x and 8.x image versions to the latest available (new releases from Elastic recently).


fix ConcurrentModificationException in makePlaceholdersDistinct()

Codecov Report

Merging #610 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master     #610      +/-   ##
============================================
+ Coverage     82.53%   82.54%   +<.01%
  Complexity      905      905
============================================
  Files            63       63
  Lines          4099     4101       +2
  Branches        511      511
============================================
+ Hits           3383     3385       +2
  Misses          472      472
  Partials        244      244

Impacted Files
Coverage Δ
Complexity Δ

...dtable/impl/RandomPartitioningConditionMapper.java
98.19% <100%> (+0.02%)
51 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


新安装shadowsocks-libev会覆盖原有配置

If you have a /etc/config/shadowsocks-libev configuration backup, the new installation will overwrite this file.

English please, not related to LuCI.


build: make requirements more flexible

According to #102 the requirements specified are minimum version. Currently they are defined as fixed versions in requirements.txt and setup.py leading to projects consuming this package are limited to using exactly these requirements instead of a more flexible range. This PR addresses this.

@mjvankampen Thank you for your contribution to the library. Your pull request has been merged with love. Thanks again.


KAFKA-6383: complete shutdown for CREATED StreamThreads

When transitioning StreamThread from CREATED to PENDING_SHUTDOWN
free up resources from the caller, rather than the stream thread,
since in this case the stream thread was never actually started.
In KakfaStreams.close, shut down the streams threads from the
close thread. StreamThread.shutdown may now block, so call this
from the close thread so that the timeout is honored.
More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@mjsax @guozhangwang

I think your suggestion of casState is more promising. More specifically, we can actually modify the setState() return type as the old state, and if the setState fails return null. Here is my reasoning:
There are two calling sequences that matters.

StreamThread#run() is never called since KafkaStreams#start() is not called. In this case we can let the caller thread of KafkaStreams#shutdown() to help trigger starting the stream threads after setting their state to PENDING_SHUTDOWN, we know that no other callers would call thread#start() again since it is guarded by the instance state.

StreamThread#run() is eventually called but the thread state is no longer CREATED.  In this case the thread should just proceed to call completeShutdown.

So it is still doable to only let the stream threads themselves to do the cleanup, to keep logic simpler to reason. To sum:

in KafkaStreams#close() we call setState(PENDING_SHUTDOWN) and then if it returns CREATED go ahead to call thread.start() after thread.shutdown(); if it returns others just call thread.start() (as is today); if it returns null it means the old state is NOT_RUNNING and it should not happen and hence we throw and fail.

in KafkaStreams#start() we call setState(RUNNING), and if it returns null it means either PENDING_SHUTDOWN or NOT_RUNNING, and hence we do not need to proceed further, and just return.

in StreamThread#run() function if setState(RUNNING) returns null we can just proceed to completeShutdown().

WDYT?

That works. We can move the calls to shutdown back out of the clean up thread too.
That said, do you think it would be cleaner to move the
if (setState(PENDING_SHUTDOWN) == CREATED) {
    thread.start();
}

logic into StreamThread.shutdown(). This gives StreamThread cleaner semantics. As long as shutdown() gets called on it, everything gets cleaned up. The client doesn't have to worry about calling start() in that case.

logic into StreamThread.shutdown(). This gives StreamThread cleaner semantics. As long as shutdown() gets called on it, everything gets cleaned up. The client doesn't have to worry about calling start() in that case.

Sounds good to me.


Add vulcan-github-alerts check to report vulnerable dependencies in Github

This check uses the Github GraphQL API to retrieve security alerts related to vulnerable dependencies present for a repository. The check also tries to determine the minimum version necessary for each dependency to fix all the vulnerabilities reported, since the API does not currently populate the corresponding field.
Example:

Great check @gguillemas !
What sort of access does the GITHUB_ENTERPRISE_TOKEN need to have for this to run in all organisations and repositories?
Do you support private repositories?

Great check @gguillemas !
What sort of access does the GITHUB_ENTERPRISE_TOKEN need to have for this to run in all organisations and repositories?
Do you support private repositories?

Good question, I will add a comment on the manifest file to explain this.
Only administrators of a repository or the organization that the repository belongs to can query the security alerts related to that repository. The user that the token belongs to must be either of those two. I will do some more testing now but, as far as I know, the only permission that the token requires is repo:admin in order to be able to pull the alerts themselves.
One way to allow that token to test all repositories is to add the token user as an administrator-type collaborator for the repositories that wish to be able to use the check. This can also be automated for all repositories using a a Github administrator user. Doing this will allow the check to also work with private repositories.


Implement complete option for use with multiProof

This library has issues with multiproofs. For numbers of leaves that are not powers of 2, the trees are shaped in a way that does not admit multiproofs for some subsets of leaves. The main change included in this PR is a new option complete: boolean. If true, this forces the shape of the tree to be that of a complete tree, which we know admits multiproofs for all subsets of leaves.
The complete option is made incompatible with other variants of tree generation procedures.
A warning is printed on getMultiProof if the tree is not complete. The intention is that this warning would be seen early during testing of a project that uses multiproofs, so that the developer learns they have to generate the tree as a complete one.
An additional recommendation we make for good use of multiproofs is to sort the tree leaves so sortLeaves is also recommended in the docs.
Even with these changes the library still seems to struggle with some multiproofs as seen in https://github.com/merkletreejs/merkletreejs/issues/63, which this PR doesn't fix. But the complete option is a necessary first step so that the generated trees have a chance of working with multiproofs. A new library will be released that can properly handle all of this.

@frangio thanks for the PR! the complete option makes sense. Appreciate the additional tests. Looks good for merging


Fix issue #326 Pasting a single decimal character into an input that has none does not work

Refactor the paste process for the error, ignore and clamp options, in order to make it more clear, based on the same process used for truncate and replace.

Coverage decreased (-0.7%) to 49.455% when pulling 8dcddec43f549fc303b139a32e044b670e571c5f on AlexandreBonneau:autoNumeric-326 into 0e4e7e9bc12d6af22f473315c0c41083352b5b89 on BobKnothe:next.


Add an async stream type for iterators

Creating an async stream type from iterators (i.e. classes that provide hasNext and next) is desirable.
Cheers


DOC: pseudo-keys

This will be keys that are addressable, but not actually defined in the asset file itself.

filename (readonly)
fullfilename (readonly)
make
model
type
serial

Additional ideas:

information pulled from git metadata:

created_time
modified_time

the filename/path in a format that is useful for commands such as onyo rm (#5)

I think this issue should be closed, and if we want to add features like created_time and modified_time specific issues should be opened for it.
onyo get and future PRs will make the existing functionality for pseudo keys easier to handle, and The fields seem to be already documented under https://onyo.readthedocs.io/en/latest/concepts.html#asset-name-scheme

This issue is drastically out of date. The only two parts still relevant are "add new keys", and "document pseudo keys".
Issue #678 describes the idea to rework how pseudo keys are addressed, and which new are wanted. Together with that work, the documentation will be updated. So everything relevant here is more up-to-date in #678.
Therefore I will close this issue, and all discussions will continue #678.


gpu not worked, only cpu. How to solve it?

Thank you for an such excellent library.
I meet a strange problem. While I run the ollama or rust api, my cpu worked, not my gpu(4060ti 16g).
I ever tried Chatbox and the gpu worked. And with the same machine but only cpu worked while I tried the rust api via python.
Maybe there were some configuration or parameters needed to be set?

Ok..
After updating Ollama, gpu works now.


⚠ Punto de Fuga has degraded performance

In 155c61d, Punto de Fuga (http://puntodefugapodcast.com) experienced degraded performance:

HTTP code: 200
Response time: 10279 ms

Resolved: Punto de Fuga performance has improved in b098ecb.


C# default interface implementations

Hi all,
Not sure if this is the correct Swagger project to ask this, feel free to point me in the right direction.
To use composition-over-inheritance on my C# ASP.NET Core controllers, I added several interfaces to my controllers. These interfaces contain 'default interface implementations' (new in C# 8.0), so I can add those interfaces to several of my controllers to allow re-use of those endpoints. However, Swagger will not list those methods.
Example code:
public class MyController : IMyReusableReadInterface<MyViewModel>
{
    public async Task<ActionResult<MyViewModel>> MyDomainAction(...)
    {
        // Implementation goes here
    }
}
public interface IMyReusableReadInterface<IViewModel>
{
    public async Task<ActionResult<IViewModel>> Get<IViewModel>(...)
    {
        // Implementation goes here
    }
}
In this example, the action MyDomainAction is listed on Swagger, but the Get method from the interface is not listed. How are methods on an ASP.NET Core controller detected? Any idea why default interface implementations are not detected? Or am I doing something wrong?
Kind regards,
Rogier

This is an ASP.NET Core problem, not related to Swagger. Closing this issue.


button gap fixed

button gap fixed
search bar color and padding changed
in mobile version the menu button shifted to right side

Great work Buddy! Your changes look great and can be merged into the main branch. I really appreciate your attention to details. Your work has definitely improved the user experience of the App. Thank you so much for your contribution!

Great work Buddy! Your changes look great and can be merged into the main branch. I really appreciate your attention to details. Your work has definitely improved the user experience of the App. Thank you so much for your contribution!

Thank you so much for your appreciation


Ignite 2.4.8 p7 test

For team city run only.

Closing PR, which seems to be test-only. Feel free to reopen if needed.


Apt c 39

Checks

[x] Your YAML file has required fields as listed in Specs
[x] All checks have passed yaml-lint passed
[x] You agree to contribute your work under MIT license

This task at target: APT-C-39 is done with m11209302 & m11209313


Vault Token caching breaks when different credentials are being used by the same Config Management Plugin

Token caching does not work with different sets of Vault AppRoles (only a single token is cached)
Summary: We wish for the ability to turn off Vault token caching (disable ~/.avp/config.json) eg. as a command line flag for argocd-vault-plugin.
Release v1.17.0 implemented a cache for the Vault tokens:

fix: look for vault cached token before login by @DaThumpingRabbit in https://github.com/argoproj-labs/argocd-vault-plugin/pull/544

This introduces a bug when argocd-vault-plugin is used with more than a single set of credentials.
The first request "A" caches its credentials of AppRole "A" to ~/.avp/config.json and succeeds, but the second request "B" which requires different credentials for AppRole "B" then fails because it uses the cached credentials of "A" from ~/avp/config.json.
Our wrapper with multiple AppRoles
We have a custom wrapper script around argocd-vault-plugin, which attempts to remove ~/avp/config.json before executing argocd-vault-plugin. But there's a race condition:  with multiple processess running simultaneously, another process B might recreate the cache in ~/avp/config.json (with different credentials) before the original process A gets to execute its request.
Here's our wrapper around argocd-vault-plugin. We request an AppRole "A" which can only retrieve further credentials but not request the actual application secrets. AppRole "A" then requests credentials for AppRole "B" which is then used by argocd-vault-plugin to retrieve the application level credentials.
The purpose is to have a layer between "Vault secrets accessible by applications managed by any developer" and "Vault secrets  accessible only by cluster admins". A manifest in AppProject "B" can not read Vault secrets of AppProject "C".
#!/usr/bin/env bash

eval "$(sentry-cli bash-hook)"
set -euo pipefail

# https://argocd-vault-plugin.readthedocs.io/en/stable/config/
# https://argo-cd.readthedocs.io/en/stable/user-guide/build-environment/

# Get ArgoCD Project name of the current ArgoCD Application (ARGO_CD_APP_NAME)
#
# Avoid kubectl client side throttling by providing --cache-dir
# (~/.kube is read-only and throttled kubectl will take seconds longer to run)
AG_APP_PROJECT_NAME=$(kubectl --cache-dir=/tmp/kubectl-cache \
  get app "${ARGOCD_APP_NAME}" \
  -o "jsonpath={.spec.project}" \
)

# Retrieve token credentials of the privileged AppRole
# which can read the stored AppRole credentials of each application,
# but can not read the application-level secrets.
VAULT_TOKEN=$(vault write \
  -field=token \
  -namespace="${VAULT_NAMESPACE}" \
  auth/approle/login \
  role_id="${VAULT_APPROLE_ROLE_ID}" \
  secret_id="${VAULT_APPROLE_SECRET_ID}"
)
export VAULT_TOKEN

# Scoped Vault access: AppRole can now only access secrets which belong to the same
# Application Project (ie. Application > spec.project).
# If application references a secret of another Application Project, access is denied
# unless that AppRole has explicitly been granted access.
AVP_ROLE_ID=$(vault kv get \
  -field=approle-id \
  "project-approles/${AG_APP_PROJECT_NAME}"
)
export AVP_ROLE_ID

AVP_SECRET_ID=$(vault kv get \
  -field=approle-secret \
  "project-approles/${AG_APP_PROJECT_NAME}"
)
export AVP_SECRET_ID

if [[ -z ${AVP_ROLE_ID} || -z ${AVP_SECRET_ID} ]]; then
  echo >&2 "$0: Failed to fetch either AppRole id or AppRole secret"
  exit 1
fi

# Forget credentials of the privileged AppRole
unset VAULT_TOKEN

# argocd-vault-plugin v1.17.0 introduced token caching which breaks when different Vault App Roles
# are being used.
#
# There's a race condition here when multiple processes are running this script concurrently.
# Another process might create ~/.avp/config.json before this process executes argocd-vault-plugin.
rm -f "${HOME}/.avp/config.json"

# Generate manifest with scoped AVP_ROLE_ID and AVP_SECRET_ID
argocd-vault-plugin "$@"

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

Someone please remove those phising spam messages above --^

Should be fixed by #660 - I'll report here once I get to test the next argocd-vault-plugin release.


authentication in LocalGemma2ForCausalLM with huggingface access token doesn't work

Authentication in code with token=hf_token doesn't work unless you use subprocess.run("local-gemma", "--token", hf_token, "What is the capital of France")
model = LocalGemma2ForCausalLM.from_pretrained("google/gemma-2-9b",  token=hf_token, preset="memory")

Hey @dsingal0! Unfortunately I'm not able to reproduce the error, e.g. using the following example bellow correctly uses the token I specify:
local-gemma --token "hf_..."

The PR #22 should make logging in using your HF more straightforward!

I don't believe the cli has auth issues, but it didn't work in regular python using just LocalGemma2ForCausalLM.
model = LocalGemma2ForCausalLM.from_pretrained("google/gemma-2-9b",  token=hf_token, preset="memory")

I can't do huggingface-cli login since I'm using baseten.co to deploy gemma2, and unless I store my HF API token as an envvar as opposed to a docker secret it isn't accessible before I'm in python code, so I'd have to do subprocess.run.

huggingface-cli login worked for me, the token parameter seems to be not working

Hey @dsingal0 @ilarramendi - circling back here. Unfortunately, I'm not able to reproduce the error using the Python API. E.g. if I first verify that I'm not logged-in:
sanchit@vorace:~$ huggingface-cli whoami
Not logged in

And then running the following code-snippet, passing the token to .from_pretrained:
from local_gemma import LocalGemma2ForCausalLM

model = LocalGemma2ForCausalLM.from_pretrained("google/gemma-2-9b", preset="memory", token="hf_")

I am able to download the model locally:
config.json: 100%|█████████████████████████████████████████████████████████████████████| 856/856 [00:00<00:00, 4.03MB/s]
model.safetensors.index.json: 100%|█████████████████████████████████████████████████| 39.1k/39.1k [00:00<00:00, 490kB/s]
...

Could you please:

Double check that you've created a token with the necessary permissions (read access of the Gemma-2 repos)
Past the full traceback of the error you're encountering (if 1 does not fix the issue)

Thanks!


service-account submodule pinned at old version

This module pulls in version 1.9.0 which changes the name for the service account at output to console-link-job-sa which is inconsistent with other references to the name of the service account as console-link-job . This in turn causes the cronjob itself never to properly start or complete to add links for services to the console.
oc get jobs -n toolkit
NAME                                             COMPLETIONS   DURATION   AGE
console-link-job-console-link-cronjob-27730075   0/1                      14m
console-link-job-console-link-cronjob-27730080   0/1                      9m32s
console-link-job-console-link-cronjob-27730085   0/1                      4m32s

Known issue - updates to gitops provider coming to address this so no need for a temporary fix in version at the present time.


Not able to create webhooks for scaling services.

Rancher version - Build from master
Steps to reproduce the problem:
Create a webhook to scale services.
Webhook creation fails with following error message:
Can only create webhooks for Services. The supplied service is of type scalingGroup

Djuplicate of https://github.com/rancher/rancher/issues/8519


Update protobuf-java to 4.28.2

About this PR
📦 Updates com.google.protobuf:protobuf-java from 3.25.5 to 4.28.2 ⚠
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.protobuf", artifactId = "protobuf-java" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.google.protobuf", artifactId = "protobuf-java" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

It's passing... but theoretically, it's a major version upgrade from what ScalaPB is using, so I'm not sure if this won't blow up in some corner case. Before I merge this, I need to do some reading.

Ok, that's the 4.x release in question: https://github.com/protocolbuffers/protobuf/releases?q=26.0&expanded=true

Better summary of the changes: https://protobuf.dev/news/2023-12-05/

This doesn't seem to be anything too worrying. The tests are passing fine. Additionally, I've recently realized that Jena uses the 4.x branch of protobuf anyway, so we depend on protobuf 4.x anyway in Jena applications... and it works fine.
I'm merging this then.


Blender: Use client query functions

Brief description
Blender is using query functions from PR instead of direct use of mongo queries.
Description
Blender uses query functions from openpype.client.
Testing notes:

Run blender
Frame start/end should be set to asset's resolution
Publish layout

PR waits for merge of PR

This doesn't seem like an issue of this PR. Crash is not related to changes made here.

Works fine to me now


error

Hello, I haven't solved this error for a long time. I used the json file of the DOTA data set you provided for training, and the following error occurred. What is the cause of this? Thank you
ERROR [03/20 19:26:58 d2.engine.train_loop]: Exception during training:
Traceback (most recent call last):
File "/root/siton-data-zhangmingData/YHJ/detectron2/detectron2/detectron2/engine/train_loop.py", line 156, in train
self.after_step()
File "/root/siton-data-zhangmingData/YHJ/detectron2/detectron2/detectron2/engine/train_loop.py", line 190, in after_step
h.after_step()
File "/root/siton-data-zhangmingData/YHJ/detectron2/detectron2/detectron2/engine/hooks.py", line 556, in after_step
self._do_eval()
File "/root/siton-data-zhangmingData/YHJ/detectron2/detectron2/detectron2/engine/hooks.py", line 529, in _do_eval
results = self._func()
File "/root/siton-data-zhangmingData/YHJ/detectron2/croptrain/engine/trainer.py", line 233, in test_and_save_results
self._last_eval_results = self.test_crop(self.cfg, self.model, self.iter)
File "/root/siton-data-zhangmingData/YHJ/detectron2/croptrain/engine/trainer.py", line 275, in test_crop
results_i = inference_dota(model, data_loader, evaluator, cfg, iter)
File "/root/siton-data-zhangmingData/YHJ/detectron2/croptrain/engine/inference_tile.py", line 66, in inference_dota
for idx, inputs in enumerate(data_loader):
File "/root/siton-data-zhangmingData/anaconda3/envs/Yan_detectron2/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 521, in next
data = self._next_data()
File "/root/siton-data-zhangmingData/anaconda3/envs/Yan_detectron2/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1183, in _next_data
return self._process_data(data)
File "/root/siton-data-zhangmingData/anaconda3/envs/Yan_detectron2/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1229, in _process_data
data.reraise()
File "/root/siton-data-zhangmingData/anaconda3/envs/Yan_detectron2/lib/python3.8/site-packages/torch/_utils.py", line 425, in reraise
raise self.exc_type(msg)
AttributeError: Caught AttributeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/root/siton-data-zhangmingData/anaconda3/envs/Yan_detectron2/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop
data = fetcher.fetch(index)
File "/root/siton-data-zhangmingData/anaconda3/envs/Yan_detectron2/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/root/siton-data-zhangmingData/anaconda3/envs/Yan_detectron2/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/root/siton-data-zhangmingData/YHJ/detectron2/detectron2/detectron2/data/common.py", line 95, in getitem
data = self._map_func(self._dataset[cur_idx])
File "/root/siton-data-zhangmingData/YHJ/detectron2/detectron2/detectron2/utils/serialize.py", line 26, in call
return self._obj(*args, **kwargs)
File "/root/siton-data-zhangmingData/YHJ/detectron2/croptrain/data/dataset_mapper.py", line 62, in call
image = read_image(dataset_dict)
File "/root/siton-data-zhangmingData/YHJ/detectron2/croptrain/data/detection_utils.py", line 18, in read_image
if len(image.shape) == 2:
AttributeError: 'NoneType' object has no attribute 'shape'

I have solved the problem, thank you


Make Avail discovery-driven

Resolves L2B-8314

Can we fix this error?

These SP1Verifier entries should have some description or better name, because now it's not obvious why they're here or what they're doing. If they're referenced as "old", use the "configure" permission with proper description and let's discuss this case later.


Restrict date range

Is it possible to restrict the date range with a minDate and a maxDate?

@cschroeter currently not.

Working on it.
see #75 and #76.


Add step counting to GGIR

I propose using this algorithm: https://ieeexplore.ieee.org/abstract/document/7885036
I propose training / testing be done with this data-set: http://cecas.clemson.edu/~ahoover/pedometer/

Did I read it correctly that step count is going to release 2.0? That will be fantastic!
One of the outstanding action items for release 2.0
https://github.com/wadpac/GGIR/issues/278
Discuss with Matt where to store the step detection code and how to include this in the tutorial as one of the extra examples.

Not directly. I implemented functionality to facilitate the use of external functions (both R and Python) inside GGIR which are directly applied to the raw calbrated acceleration data. In that way it becomes piloting for other developers to use GGIR as a platform for piloting/implementing their algorithms.
As initial use cases we have:

The step counting algorithm Matt implemented.
Kalaivani's sleep detection algorithm from our LRAP project (not published yet as you know).
Actigraph counts replication with the activityCounts R package.

See draft tutorial: https://github.com/wadpac/GGIR/tree/GGIR2.0/pdf_vignettes_for_github_only
If, at some point, certain external functions become more popular we could consider directly embedding them in GGIR to improve user-friendliness.
I have not worked out a mechanism yet for making these external functions find-able, maybe initially a Wiki page in the GGIR repository with URLs to the various efforts. Although a repository with a back-up of all the code from those external functions could also be valuable.
Re. the step counter it would be good if Matt could decide:

Whether the algorithm is ready to be shared in public, and if so:
Whether it should be accompanied by "under development" warnings or maybe with a call for collaborators or funding to validate and improve the algorithm?

Step algorithm to work with GGIR is available here - https://github.com/ShimmerEngineering/Verisense-Toolbox/tree/master/Verisense_step_algorithm

I have now added this link to the vignette for External function embedding. So, I think this issue can be closed now.


Fixed issue with mismatched version number

Codecov Report

Merging #126 (78e4479) into main (f339fee) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #126   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines          185       185
=========================================
  Hits           185       185

Impacted Files
Coverage Δ

sas7bdat_converter/__init__.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Outer Join

Found a new oversite on nodebb/packages/knex-filters/src/queryBuilder.js .
If I build a query with any kind of "outer join" the library will automatically add a "where TenantId" clause. But the purpose of "outer join" is to show data from a table even if the joined table returns null. If the join table shows null on all columns that means t.TenantId will also be null and our forced where clause will remove the row.
There is a quick fix that might work, to just put where [...] and (tenantId is null or tenantId='value') [...]. Or we can go with a more sophisticated fix that will notice the outer joins and put the tenant restriction in the on space like: [...] from A left join B on A.id = B.idOfA and B.tenantId = 'value' [...] this will bring in the correct data. But you have left, right and full outer join and all cases must be covered.

This is not a bug of this library, Knex-filters. The library does not exposes tenancy filters, and does not add where clauses in your querries. This library only gives you some hooks you can plug-in in the QueryBuilder so you can inject your custom clauses.

The new version of knex-filters allows for a more fine-grained control about the statement selecting from the targeted table: from, left join, cross-join, etc....
const filter = createFilter(tableHasColumnTenantId, {
onSelect: {
from: addWhereTenantIdClause,
innerJoin: addWhereTenantIdClause,
leftJoin: addOnTenantIdClause,
},
onUpdate: addWhereTenantIdClause,
onDelete: addWhereTenantIdClause,
onInsert: (_table, _alias, _queryBuilder, inserted) => {
inserted[columnTenantId] = tenantId
},
})
See #21


New tedge cli command to renew current self-signed certificate

Proposed changes
tedge command to renew the certificate.
sudo tedge cert renew

Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue
https://github.com/thin-edge/thin-edge.io/issues/2489
Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[x] I ran cargo fmt as mentioned in CODING_GUIDELINES
[x] I used cargo clippy as mentioned in CODING_GUIDELINES
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

The current proposal doesn't work.
To fix it, the simpler is:

to re-generate also the private key
Ok, this seems a better solution
to directly use CreateCertCmd instead of creating a  new RenewCertCmd.

I feel there are a couple of issues here:

Using the CreateCertCmd to create the certificate will not allow us to overwrite the existing one when there is a certificate already. (We can change the API to do that though, is that OK to change).
This will just tell that the created/renewed certificate needs to be uploaded to the cloud for un-interrupted service

* Using the `CreateCertCmd` to create the certificate will not allow us to overwrite the existing one when there is a certificate already. (We can change the API to do that though, is that OK to change).

Correct, CreateCertCmd checks first that there is no certificate before proceeding. But, I would really avoid to change the creation logic itself. An option is the device id from the previous one and to delete (or back up in case of errors) the previous certificate before proceeding.

* This will just tell that the created/renewed certificate needs to be uploaded to the cloud for un-interrupted service

I don't see what's the issue.


All documentation is unaccessible

https://codeigniter.com/userguide2/database/active_record.html
https://codeigniter.com/user_guide/database/query_builder.html
404 - File Not Found
Can't find a route for 'user_guide/database/query_builder.html'.

how ok.

https://codeigniter.com/userguide2/database/active_record.html
https://codeigniter.com/user_guide/database/query_builder.html
404 - File Not Found
Can't find a route for 'user_guide/database/query_builder.html'.

now OK.

true, thank you


wrong title

Describe the Bug
Traffic and Visitors Reversed
screnshot: https://s1.ax1x.com/2023/09/05/pPr7IBR.png
Database
PostgreSQL
Relevant log output
No response
Which browser are you using? (if relevant)
No response
How are you deploying your application? (if relevant)
No response

Thanks for reporting. I believe those metrics tables should be visitors, but is returning views.

Fixed in release 2.7.0.


A README file needed

We need a README file for new users. A modified version of current Android app one should be enough.

I think we can just move the file mobile_app_open/android/README.md to the root folder mobile_app_open/README.md.
The instruction for building should also be updated because the path is changed.
OLD:
bazel build -c opt //java/org/mlperf/inference:mlperf_app

# Install the app with the command:
adb install -r bazel-bin/java/org/mlperf/inference/mlperf_app.apk

NEW
bazel build -c opt //android/java/org/mlperf/inference:mlperf_app

# Install the app with the command:
adb install -r bazel-bin/android/java/org/mlperf/inference/mlperf_app.apk

The repo will contain multiple apps (eventually flutter as well), so the per-app README is not applicable to the whole readme. That's why I moved only the top half of the readme that sort of explains what the repo is about.
As for build instructions, seems like a good change, please update the readme.

The mobile_app_open/android/README.md still refer to the Makefile and WORKSPACE files in the root folder mobile_app_open.
So for now I will only update the path from //java/org/mlperf/ to //android/java/org/mlperf/, so new user can build the app.


[BUG] Error #01: Error 1146: Table 'get5.user' doesn't exist

Is there any guide to setup/modify the database?
Error #01: Error 1146: Table 'get5.user' doesn't exist

Should I need to follow the python version database guide to create a database?
Or I just need to create a database called get5 on mysql?
Thanks for your apply!

Hi, If you have get5 database from Python' version, you should migrate it for go by using this : https://github.com/FlowingSPDG/get5-web-go/tree/master/migration
(build) : https://github.com/FlowingSPDG/get5-web-go/releases/tag/v0.1.2-migration
or you can create new "get5" and migrate it.
btw, I recommend you to make a backup of original python get5-web table just in case you want to use Py's get5 again!

Hi, If you have get5 database from Python' version, you should migrate it for go by using this : https://github.com/FlowingSPDG/get5-web-go/tree/master/migration
(build) : https://github.com/FlowingSPDG/get5-web-go/releases/tag/v0.1.2-migration
or you can create new "get5" and migrate it.
btw, I recommend you to make a backup of original python get5-web table just in case you want to use Py's get5 again!

Thanks for your apply! But now I consider to make a new brand new database, is the database creating steps included in the get5-web-go version? By the way, I use Mysql and root with a new database called get5 with no tables. Should I need to create the tables manually? Thank you!

Yes, its included inside of migration binary : https://github.com/FlowingSPDG/get5-web-go/releases/tag/v0.1.2-migration
description : https://github.com/FlowingSPDG/get5-web-go/tree/master/migration
you should be able to use that new get5 DB without any changes!

Yes, its included inside of migration binary : https://github.com/FlowingSPDG/get5-web-go/releases/tag/v0.1.2-migration
description : https://github.com/FlowingSPDG/get5-web-go/tree/master/migration
you should be able to use that new get5 DB without any changes!

Seems I missed a whole step of creating the tables, thank you! But where is the execute file migrate?
I followed the schema and manually created the table.
The description : https://github.com/FlowingSPDG/get5-web-go/tree/master/migration could be placed to the Readme#How to use
But there is another error, the web told me that the team has registered successfully, but switching to the teams tag telling no teams found, no data changes in the database(the database has tables just like the schema), is there something wrong? (the 200 POST is successful)
2021/03/22 19:58:26 CreateTeam
[GIN] 2021/03/22 - 19:58:26 | 200 |    80.01108ms |       <IP_ADDRESS> | POST     /api/v1/team/create

Oh I notice that you change the ./migrate to ./migration in the binary.
The team function work like a charm using your migration. Thank you!
I shutdown all my scrds, but the adding the server seems still not working?
Error #01: JSON Format invalid


CAMEL-11832: Add support for Lambda

This is a camel component for aws-lambda service. It allows to invoke lambda function with Camel. Beside, it allows to create function, get function, list functions and delete function (essentially for testing purpose).

There is some checkstyle you need to fix
mvn compile -P sourcecheck

I wonder if those mandatory headers for role etc, cannot be optional so you can specify that in the endpoint uri as well. Having to use mandatory headers is a bit cumbersome.
Also are some of those roles the same for different functions, then maybe those can be configured globally on the lambda component class instead. And used as a fallback value if no explicit value was specified in the header or endpoint.

@davsclaus I dont have checkstyle issue on my side (maven-checkstyle-plugin:2.17). That's weird. What issues do you get ?
Regarding mandatory headers, there are only usefull for createFunction operation. So I'm not sure if it's relevant to configure them globally on the lambda component class. On the other hand, they are mandatory to create a lambda function (otherwise, a AWSServiceException is thrown).
I put them as mandatory header because that's the way it's done for mandatory thing in others aws component (ec2 or S3 for example). That was for keeping consistancy between this component family.
I can put them as URI param and check if they are filled for createFunction processing. Let me know.

Okay as its only for the createFunction then its likely okay. I assume its the invokeFunction operation that would be the more commonly used.

You're right. Creating function in Lambda is much more something done with aws-cli or directly in AWS Lambda Console. I've added support for creating and deleting function essentially for testing purpose.


Add "don't show this next time" option to Add Note modal

It would be nice to be able to check this option and stick to the defaults.

Ok what I'll probably do is add this and change the default priority setting to a range so all your new repetitions don't just stack up on top of eachother.


[WIP] Adding more orchestration around S3 👷

WORK IN PROGRESS 👷

We'll want to update the README.md section on s3 too.


Errata 2/17 go live

Docs Build status updates of commit a737b32:
:warning: Validation status: warnings

File
Status
Preview URL
Details

documentation/blog/MS-WININTBLOGLP/171376c7-36c0-46cc-8185-9858deb30232.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/19856d3a-561b-4c48-85bc-198961957d57.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/25276e5b-1a04-41cc-b117-1e5b796c8b06.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/291aa134-7719-489a-b5c7-7382bab44f89.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/3b483b8e-b5fd-4025-b9a7-9d5c3fec7d11.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/41194fd0-933f-48f0-acba-de5eb1a83b84.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/4341cbe0-6a36-4637-b91a-56f7f22e0d61.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/48347036-650c-4a6f-a093-6475d66a8f18.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/6183f838-c21e-4c44-a5bb-1a84e1864c2e.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/6344e692-0783-4f0a-bb97-5a07b9167286.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/6f752fd6-33a2-48f4-bb24-70e645e1892a.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/734a1e39-4616-4ed7-b2cd-766c25d382c4.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/7e728352-e81e-49e5-8988-976f3994161c.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/81cbb832-8bf1-4e68-b46a-7fdb371ddf6b.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/91797b07-3a66-488c-9334-5023638c4c87.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/ae5965ad-0b09-4cd3-b547-42eddc9487d9.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/bd8bc249-4851-4e41-a28b-df419ba03df1.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/dd98b93c-0a75-4eb0-b92e-e760c502394f.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/e9287746-bd75-44ba-a3bc-69f98b73c36f.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/f1812ab3-d00a-41e1-9e60-b8a3da0cda9a.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/f388589c-fcc0-4e88-a109-8b5783f8e431.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/fec43e4c-01ce-4da2-9b28-8efa907e734e.md
:warning:Warning

Details

documentation/blog/MS-WININTBLOGLP/MS-WININTBLOGLP_files/image002.png
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/MS-WININTBLOGLP_files/image003.png
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/MS-WININTBLOGLP_files/image004.png
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/MS-WININTBLOGLP_files/image005.png
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/MS-WININTBLOGLP_files/image006.png
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/MS-WININTBLOGLP_files/image007.png
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/MS-WININTBLOGLP_files/image008.png
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/MS-WININTBLOGLP_files/image009.png
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/MS-WININTBLOGLP_files/image010.png
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/MS-WININTBLOGLP_files/image011.png
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/MS-WININTBLOGLP_files/image012.png
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/MS-WININTBLOGLP_files/image013.png
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/MS-WININTBLOGLP_files/image014.png
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/toc.yml
:white_check_mark:Succeeded

documentation/blog/MS-WININTBLOGLP/171376c7-36c0-46cc-8185-9858deb30232.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/19856d3a-561b-4c48-85bc-198961957d57.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/25276e5b-1a04-41cc-b117-1e5b796c8b06.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/291aa134-7719-489a-b5c7-7382bab44f89.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/3b483b8e-b5fd-4025-b9a7-9d5c3fec7d11.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/41194fd0-933f-48f0-acba-de5eb1a83b84.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/4341cbe0-6a36-4637-b91a-56f7f22e0d61.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/48347036-650c-4a6f-a093-6475d66a8f18.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/6183f838-c21e-4c44-a5bb-1a84e1864c2e.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/6344e692-0783-4f0a-bb97-5a07b9167286.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/6f752fd6-33a2-48f4-bb24-70e645e1892a.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/734a1e39-4616-4ed7-b2cd-766c25d382c4.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/7e728352-e81e-49e5-8988-976f3994161c.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/81cbb832-8bf1-4e68-b46a-7fdb371ddf6b.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/91797b07-3a66-488c-9334-5023638c4c87.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/ae5965ad-0b09-4cd3-b547-42eddc9487d9.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/bd8bc249-4851-4e41-a28b-df419ba03df1.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/dd98b93c-0a75-4eb0-b92e-e760c502394f.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/e9287746-bd75-44ba-a3bc-69f98b73c36f.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/f1812ab3-d00a-41e1-9e60-b8a3da0cda9a.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/f388589c-fcc0-4e88-a109-8b5783f8e431.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

documentation/blog/MS-WININTBLOGLP/fec43e4c-01ce-4da2-9b28-8efa907e734e.md

[Warning] Author openspecs-office cannot be recognized in GitHub.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


added containerizers variable

there should be an option to add   --containerizers from mesos-slave config on debian

Thanks.

I'm looking forward to get updated deb package! :)


Adding --quiet

Never really did python, feel free to give me advice on this one
I added the --quiet option in the command line which quiet the output of any spotdl command
Had to modify a few things because i couldnt figure out how to easily remove the progress bar output
If you have an easier workaround to quiet the progress bar output let me know
( from issue #851 )

#851

Just turned everything to boolean and added a comment or so.
I discovered that for strange reason, TQDM output is on stderr and not on stdout.
So i can easily remove everything i did from now on, silent stdout and stderr and it would take only 5-6 lines
BUT
It does silent error, what do you prefer ?

Should be Ok. If people want 'quiet mode', silencing error messages should be fine - it's called absolute 'quietness'

Pushing soon

Sorry, still figuring out how to use git, need testing on this one (doing them right now)

Pretty cool. I line your it's super simple.

Sorry, still figuring out how to use git
Reverted back to the original fork, made the changes, everything seems to be working
Silented stdout & stderr, takes only a few lines, added comment

I used to have the same issue. try this:
// Step 1, do one of the following:

$ git revert <branch id goes here> --soft
$ git revert HEAD~<number of commits to go back> --soft

// All your changes are carried backwards to given commit, so now just make a new commit with the changes.

One other thing, how good is your Javascript and DOM fluency?

Probably garbage, I am only doing c and learning c++ right know

Cool, I've tried C, C++ quiet a few time. C is crappy in my opinion.
Could you change your PR to spotdl:next-rel-dev branch (next-release-development).

I don't see any spotdl:next-rel-dev branch
Must i create it or something ?

I published that branch on my fork. My bad. I'll sort that out by tmrw.


Full rewrite of bridge DeveloppezDotCom

Hello,
I completely rewrote the bridge DeveloppezDotCom. I tested it on my personnal server since 2 weeks and It is working nicely.
I fixed many issues such as:

book announcement are not displayed in current version
added author with his link
fixed many encoding issues
Issues fix coma written as '~?' in the Developpez RSS
fixed date format of article
replace not working video iframe by a cute link to the video
Added an option to limit the number of articles that the bridge should return. Default is 15.
Added an option to choose between the 134 different RSS proposed by Developpez
Fully document/comment my code, that way everybody can read it and use it to develop other bridges
Set myself as the "new" maintainer 🙋

Please review my code and my comments, let me know if there are some stuffs I can improve. Thank you, have a nice day 👍

Don't use array unpacking yet. The limit is not working. I suggest a default limit of 5 because it's slow.

Thanks for your contribution.


Issues with hosting_plausible_events_db_1 creation

hosting_plausible_1 is unable to connect to hosting_plausible_events_db_1 host on port 8123.
docker logs hosting_plausible_1  show the following error(removed the rest for clarity):
** (UndefinedFunctionError) function :econnrefused.exception/1 is undefined (module :econnrefused is not available)

docker logs hosting_plausible_events_db_1 show the following error:
<Warning> Application: Listen [::1]:8123 failed: Poco::Exception. Code: 1000, e.code() = 99, e.displayText() = Net Exception: Cannot assign requested address: [::1]:8123 (version <IP_ADDRESS> (official build)). If it is an IPv6 or IPv4 address and your host has disabled IPv6 or IPv4, then consider to specify not disabled IPv4 or IPv6 address to listen in <listen_host> element of configuration file. Example for disabled IPv6: <listen_host><IP_ADDRESS></listen_host> . Example for disabled IPv4: <listen_host>::</listen_host>

And for some reason, it being a warning (probably because of this https://github.com/ClickHouse/ClickHouse/issues/4406) it doesn't bind the port.
So this change will only listen on ipv4 and fix the problem.

I have tried this fix and it worked for me, but this disabled IPv6?

Yup, this disables ipv6.
But if I'm reading correctly, ipv6 is disabled by default in docker(https://docs.docker.com/config/daemon/ipv6/), so this shouldn't create any issue.

Could it be that if we were to enable IPv6 in docker, by following the instructions in the link you provided, the issue would be solved without this fix?
Not sure which approach is best...

I suppose doing this fix and also adding the --ipv6 flag to the docker-compose somewhere would fix that, but I don't think that it's a "portable" solution, as this change requires host docker changes that might break something.

@jen140 I agree.

I've ran into the same issue since latest changes. By default the docker container of clickhouse ships etc/clickhouse-server/config.d/docker_related_config.xml within the container. Due to the commit 1c2004fce73fd2c07e033fc7a3447a091fa7cd17 the file is overwritten and clickhouse stops working.
My workaround was rather using following:
      - ./clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
      - ./clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro

As clickhouse recursively merges the settings, this might also be more ideal in the future.

I think @patschi's solution is the best. I will create a PR with it ASAP to fix the issue

Issue fixed in #28


query with variable generate bad clickhouse sql

grafana version: v6.7.4
clickhosue-grafana version: 2.0.2
In my panel, I set a variable named type:

then I add this variable to query like this:

which generated sql like this:

more specifically: "type in ([1,2,3,4])" ,and this caused a bad clickhouse query request:

in my point of view, "type in ([1,2,3,4])" should be "type in (1,2,3,4)" , which does not contain "[]"
appreciated for any solutions!

duplicated with https://github.com/Vertamedia/clickhouse-grafana/issues/252
could you try to latest master version?
or subscribe https://github.com/grafana/grafana-plugin-repository/pull/690 and wait when 2.0.4 will release on Grafana plugin repository

I'll give a try. thx for reply


Fullscreen mode on modelling-submission.component

Checklist

[x] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
[ ] Client: I documented the TypeScript code using JSDoc style.
[x] Client: I added multiple screenshots/screencasts of my UI changes
[x] Client: I translated all the newly inserted strings into German and English

Motivation and Context

This change implements the feature request for #470
It provides the possibility to toggle full screen mode for modelling exercises, so that students can present their modelling solutions. It also includes the feedback of the tutor on the side
Description

added a fullscreen module in shared code which can provide this functionality to all wrapped children. I also included it in the modelling-submission.component
Steps for Testing

[Create a modelling exercise]

Log in to Artemis
Navigate to Course Management
Select "Exercises" of your test course
Create a new Modelling Exercise

[Create a manual graded submission]

Go to Course Overview
Select your test course
Start Modelling Exercise
Do Modelling Exercise
Submit Modelling Exercise
Go to Course Management
Select Tutor-Dashboard of your Exercise
Participate in Assessment
Assess the previous submitted modelling exercise

[Navigate to fullscreen]

Navigate to Course Overview
Select your test course
Go to you modelling exercise
Click View Results
On the bottom right of the assessment section, you will find the toggle Fullscreen button
See if fullscreen mode works

Screenshots

Looks good, I like it 👍
3 questions:

Does it also work, if there is no assessment yet? (it would be good if it would always be possible to go into full screen on this page, also e.g. while users are modeling or if there is no assessment yet)
I think the placement of the fullscreen button is a bit unintuitive in the right bottom and might be hard to find. Can we place it in the upper right corner (above the assessment)?
Can we have two versions of the button (e.g. compact and extended)? Compact would be the small version of the button that you have now and extended would be a normal button with the text "Fullscreen" or "Presentation mode" which would be more intuitive in this scenario. Then developers could choose which version to use when embedding the button.

Looks like this now:
Assessment mode - tutors (no button):

Student drawing:

Student reviewing assessment:

Full screen of extended button:

Looks great. Thanks!
One small suggestion, in Fullscreen Mode, it would be good if the button changes to "Exit Fullscreen" and if you click again on it, you can also exit the fullscreen.

@TobiasPr unfortunately, we have merge conflicts. Could you please resolve them?
Maybe @HanyaElhashemy can help here?

@TobiasPr unfortunately, we have merge conflicts. Could you please resolve them?
Maybe @HanyaElhashemy can help here?

@krusche Done - one thing i noticed though, after merging develop and doing yarn install there is one change in yarn.lock which is not committed, should I do that here or is it more clean in a separate branch?


Allow same user to create multiple notes.

https://github.com/thec0sm0s/instant-notes/blob/4333b5566dc81e66eb0aa3eb203431e355601932/flask_app.py#L74-L76

hey assign me i want to work on this plz
!!

@Bhavik-Ardeshna Sure you may start with it!


Feature Request: Setting to Replace Map View with Image View?

I'm not a very saavy coder but I was considering something I don't think would be too difficult to code...
Basically, the map view and functions are excellent for some types of games. However, there's other games where that level of nuanced navigation isn't required, or even less-helpful for the intended experience. As such, it would be great if we could disable the map view, and perhaps use the map pane for another function.
The use-case I wish I could use that pane for is to display images, with the image changing as the player goes to different areas/events, thus actively displaying what that area/event looks like. While I am aware I can print images within the text pane, it would be a lot more tidy in some games' cases to be able to dedicate the right-pane for images and the left pane solely for text.
Even if this isn't considered for an official addition or branch, I'd love some assistance on getting this function modified into my own runtime_engine.js if that's possible to ask. :)

Sure, I can do that - just gimme some time as I'm a little busy at the moment :3

Thank you! :3 I understand, no rush!


simple gmail & django

Hello
I want to run simple gmail with django
gmail = Gmail(client_secret_file='/home/bank/html/client_secret.json',_creds='/home/bank/html/gmail_token.json')

AttributeError at /get/momo
'str' object has no attribute 'invalid'

how to add client secret file and _CREDENTIALS_FILE

You should not use the _creds parameter, which exists for internal use only. You only use client_secret_file.

You should not use the _creds parameter, which exists for internal use only. You only use client_secret_file.

EOF when reading a line
https://i.imgur.com/l6sha5o.png
It's still error

EOF when reading a line
https://i.imgur.com/l6sha5o.png
It's still error

Can you copy and paste the full error?

Can you copy and paste the full error?

https://bank.taikhoanykhoa.com/get/momo
@jeremyephron

https://bank.taikhoanykhoa.com/get/momo
@jeremyephron

Can you copy and paste the contents of your client_secret.json file, but replace all strings in the values with "...". Strings that are keys are fine, but make sure not to post any of the values publicly

Can you copy and paste the contents of your client_secret.json file, but replace all strings in the values with "...". Strings that are keys are fine, but make sure not to post any of the values publicly

{"installed":{"client_id":"xxx-xxx.apps.googleusercontent.com","project_id":"quickstart-1561091209545","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"xxx-SdJIyJ","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}

{"installed":{"client_id":"xxx-xxx.apps.googleusercontent.com","project_id":"quickstart-1561091209545","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"xxx-SdJIyJ","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}

Okay I see why this is happening. It's from the step where typically it would launch a browser window to confirm authentication. If you want a quick fix, you can run
from simplegmail import Gmail
Gmail()

from a terminal window, which will launch a browser and request access. This will save a "gmail_token.json" file in the current directory. If you move that "gmail_token.json" file to the directory where the django server is being run, it should work.
I am working on an actual solution for this now, if you'd also like to wait.

Okay I see why this is happening. It's from the step where typically it would launch a browser window to confirm authentication. If you want a quick fix, you can run
from simplegmail import Gmail
Gmail()

from a terminal window, which will launch a browser and request access. This will save a "gmail_token.json" file in the current directory. If you move that "gmail_token.json" file to the directory where the django server is being run, it should work.
I am working on an actual solution for this now, if you'd also like to wait.

It is only working fine when run via terminal windows,
But in django, I need set path both client_secret_file and gmail_token file because It's django server can't detect path gmail_token.json

It is only working fine when run via terminal windows,
But in django, I need set path both client_secret_file and gmail_token file because It's django server can't detect path gmail_token.json

Althought I have uploaded same folder but it can't detect gmail_token.json https://i.imgur.com/GiGop5r.png

Althought I have uploaded same folder but it can't detect gmail_token.json https://i.imgur.com/GiGop5r.png

I see, you likely just need to move it to one of the inner folders where the script that's actually using Gmail() is located. Regardless, I just pushed a new version 3.1.3 which accepts a path to the credentials file:
gmail = Gmail(creds_file='/path/to/gmail_token.json')

I see, you likely just need to move it to one of the inner folders where the script that's actually using Gmail() is located. Regardless, I just pushed a new version 3.1.3 which accepts a path to the credentials file:
gmail = Gmail(creds_file='/path/to/gmail_token.json')

gmail = Gmail(creds_file='/path/to/gmail_token.json')

Big thanks for your support.
Now It's working fine 💯

gmail = Gmail(creds_file='/path/to/gmail_token.json')

Big thanks for your support.
Now It's working fine 💯

Glad to hear it!

Glad to hear it!


Update SUSE/openSUSE installation script

Fix installation on SUSE Linux Enterprise machine, the updated Docker RPMs have been moved to a different location.
Update both openSUSE and SUSE Linux Enterprise scripts to allow the installation of experimental builds.
This is required to add openSUSE and SUSE Linux Enterprise support to docker-machine, as discussed on this pull request.

hmm cool beans about the experimental stuff are you all packaging those as well now :)

LGTM

ping @tianon

Does this mean we can simplify the SUSE/openSUSE installation docs to simply use curl -sSL https://get.docker.com | sh?

@thaJeztah thanks for the notes, I fixed the typos.
About the official documentation, I would prefer to not change it. I don't like to propose the installation of software via curl.

@flavio alright, sounds reasonable, it'll just be an "undocumented feature" then :smile:
Not related to this PR, but I did notice that the current installation docs uses slightly different steps to add the Virtualization repo than are used in this PR. I don't have any experience working with SUSE, but if you have time to check if the steps in that documentation are correct, that would be appreciated (I noticed you're at SUSE).

@thaJeztah about SUSE's docs, I've already a pending pull request to update them.

@flavio Oh, silly me; I was looking at master, assuming those changes were merged already (I thought they were). I'll see if I can ping another maintainer to LGTM and merge it

ping @tianon :angel:

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "get-docker-update-suse-installation" git@github.com:flavio/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~2
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

I just updated the PR to reduce the installation times by getting rid of some sleep invocations.
If you are fine with the changes I made I'll squash the two commits into a single one.

If this isn't intended to be used in serious cases, wouldn't it be better to instead have this script actually defer to the documentation directly for these platforms?

(Prefaced with the fact that I'd love to see this script die completely very much.)

(Prefaced with the fact that I'd love to see this script die completely very much.)

I totally agree with you :)
However this script is being used by machine to provision Linux hosts with Docker. There's this pull request against docker/machine that adds openSUSE and SUSE Linux Enterprise support to the project.
I would :heart: to have this PR finally merged

Sorry to ping but a lot of time passed since the last message on this PR.

No need to apologize @flavio, we should be the one apologizing, not you!
ping @jfrazelle @tianon updating the provisioners in docker-machine to get rid of get.docker.com is planned, but not there yet; https://github.com/docker/machine/issues/950#issuecomment-146020725, so for the time being, this sounds reasonable, WDYT?

@flavio indeed, you have no need of apologies; pings are cheap :innocent:

@tianon I changed the code reflecting your hints. These keys are not on a key server, hence we have to resort to these ugly hacks... :(
Feedback is welcome as usual

... These keys are not on a key server ...

Ohman, this is one of my favorite things.  Mirroring keys to the public gossip network as-a-service: https://pgp.mit.edu/pks/lookup?op=vindex&search=0xA193FBB572174FC2
root@08ebff256c60:/# gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 55A0B34D49501BB7CA474F5AA193FBB572174FC2
gpg: directory `/root/.gnupg' created
gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/root/.gnupg/secring.gpg' created
gpg: keyring `/root/.gnupg/pubring.gpg' created
gpg: requesting key 72174FC2 from hkp server ha.pool.sks-keyservers.net
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 72174FC2: public key "Virtualization OBS Project<EMAIL_ADDRESS>imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
root@08ebff256c60:/# gpg --fingerprint
/root/.gnupg/pubring.gpg
------------------------
pub   2048R/72174FC2 2013-09-03 [expires: 2015-11-12]
      Key fingerprint = 55A0 B34D 4950 1BB7 CA47  4F5A A193 FBB5 7217 4FC2
uid                  Virtualization OBS Project<EMAIL_ADDRESS>

Is there a way to give rpm a direct full fingerprint and have it fetch the key, or does it require other machinations to accomplish?

@tianon thanks!
Unfortunately rpm doesn't offer this feature, moreover rpm --import cannot read the key from the stdin.
I would change the code to something like that:
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 55A0B34D49501BB7CA474F5AA193FBB572174FC2
gpg --export --armor 55A0B34D49501BB7CA474F5AA193FBB572174FC2 > /tmp/virt.key
rpm --import /tmp/virt.key
rm /tmp/virt.key

What do you think?

That definitely makes me feel better about it! :+1:
Maybe even drop it in a function and use "$(mktemp)" so it's slightly more
resilient?

@tianon I applied the changes you propose. Hopefully this is going to be the last review :)

ahhh, nice; LGTM :heart:

ping @jfrazelle for the merge; do we want this in the next RC?

it only effects experimental so i dont think its necessary but LGTM

Quick question: docker 1.9 has been released but the script on get.docker.io has not been updated. When is the updated script going to be deployed?
BTW, experimental.docker.io is fine.

@tibor does it have to be cherry picked for that, or is that updated manually?

@thaJeztah I think you made a typo, you should have pinged @tiborvass :)

@flavio oh! you're right, he's Tibor on IRC :cry: @tiborvass ^^


Update code-examples.md

What I did

there was a small typo in one of the paragraphs (libraires -> libraries)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks!


Update to 0.21.2

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (river/meta.yaml) and found it was in an excellent condition.

@conda-forge-admin please rerender

You deleted recipe/meta.yaml and renamed it river/meta.yaml, which is not correct. If you want to modify the recipe, please change it in recipe/meta.yaml.

Hi! This is the friendly automated conda-forge-webservice.
I tried to rerender for you but ran into some issues. Please check the output logs of the GitHub actions workflow below for more details. You can also ping conda-forge/core for further assistance or you can try rerendering locally.
The following suggestions might help debug any issues:

Is the recipe/{meta.yaml,recipe.yaml} file valid?
If there is a recipe/conda-build-config.yaml file in the feedstock make sure that it is compatible with the current global pinnnings.
Is the fork used for this PR on an organization or user GitHub account? Automated rerendering via the webservices admin bot only works for user GitHub accounts.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/11426887674.

Additionally you removed the current maintainers, which I will not approve.

Hi, @synapticarbors. Thank you very much for your comments. I'm just learning how to do this. I'll do as you say.

I actually started a new PR in #28. I'm hoping I can get it working there. Also I appreciated the reminder that this feedstock has gotten out of date and the need to work on it.

I actually started a new PR in #28. I'm hoping I can get it working there. Also I appreciated the reminder that this feedstock has gotten out of date and the need to work on it.

Okay. I'll close this one and follow your progress.

Closing a transferring to https://github.com/conda-forge/river-feedstock/pull/28

Closing a transferring to https://github.com/conda-forge/river-feedstock/pull/28


⚠ Bofrost.at has degraded performance

In bd86be5, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2210 ms

Resolved: Bofrost.at performance has improved in f43b488 after 1 hour, 32 minutes.


can't integrate the Eufy Security Add-on -.-

I see the AD-On now, but when I try to install I get this message:
Can't install bropat/eufy-security-ws:1.1.0: 404 Client Error for http+docker://localhost/v1.41/images/bropat/eufy-security-ws:1.1.0/json: Not Found ("no such image: bropat/eufy-security-ws:1.1.0: No such image: bropat/eufy-security-ws:1.1.0")

or sometimes this message:
Can't install bropat/eufy-security-ws:1.1.0: 500 Server Error for http+docker://localhost/v1.41/images/create?tag=1.1.0&fromImage=bropat%2Feufy-security-ws&platform=linux%2Famd64: Internal Server Error ("Get "https://registry-1.docker.io/v2/": read tcp <IP_ADDRESS>:52830-><IP_ADDRESS>:443: read: connection reset by peer")
please, what I#m doing wrong..?

now it works - after the 20th try :)


RDKBDEV-2943 : Adding Necessary Logs In RdkXdslManager.

Reason for change:
Adding Necessary Logs In RdkXdslManager for improving debuging.
Test Procedure:Sanity Test.
Risks: None.

Internal ticket for tracking https://ccp.sys.comcast.net/browse/RDKCOM-5094