当我按照教程集成使用时，出现了一下问题

npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR<EMAIL_ADDRESS>commitmsg: validate-commit-msg
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>commitmsg script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm ERR! A complete log of this run can be found in:

你在项目的package.json中加入开发依赖后：
    "devDependencies": {
      "commitizen": "^2.3.0",
      "validate-commit-msg": "^2.11.1",
      "conventional-changelog-cli": "^1.2.0",
      "husky": "^0.13.1"
    }

有执行 npm install 吗？从这个报错日志上看是没有安装相关依赖
npm WARN Local package.json exists, but node_modules missing, did you mean to install?


Latest release does not contain a directory with version

The tar.gz for the latest release does not contain a directory, e.g. fzf-16.0.4, but instead contains the binary only, fzf. All previous released tar's contain a directory which contains the binary.
I wanted to know if this was a mistake or this is how the releases will be from now on, I can update my build tool accordingly.
Many thanks.

I believe you're talking about the file name of the binary in the tarball. It's an intended change. I decided that it would be easier for the users. Makefile and install script were updated accordingly. See https://github.com/junegunn/fzf/commit/ee5aeb8

Thanks for the explanation. I'll update my Ansible task.


Environment variables override support

Our Python POC supports many env var overrides, so that we are opinionated but flexible/overrideable.
Please have a look at the env vars here and ensure we support them as overrides. https://github.com/Azure/azure-dev-cli-extension#environment-variables

Closing as these are supported via azure.yaml


Fix Server.Handle() with address pattern

The address in the osc.Message was being treated as a pattern, and matched against the handler address. That doesn't make any sense, the handler address should be a pattern, and the address in the osc.Message should be matched against that handler pattern?

Sorry, I was confused. I think the current implementation is correct. From the OSC spec the OSC message contains the OSC address pattern and therefore the current implementation is correct.

I also believe the current implementation is correct.
A message contains a pattern so that it can match multiple OSC Methods registered to a server. Thus, a message to /foo_* would go to the OSC Methods registered at /foo_bar and /foo_baz
From the OSC spec:
An OSC message consists of an OSC Address Pattern followed by an OSC Type Tag String followed
by zero or more OSC Arguments.

...

When an OSC server receives an OSC Message, it must invoke the appropriate OSC Methods in its
OSC Address Space based on the OSC Message's OSC Address Pattern. This process is called
dispatching the OSC Message to the OSC Methods that match its OSC Address Pattern. All the
matching OSC Methods are invoked with the same argument data, namely, the OSC Arguments in
the OSC Message.

Closing the PR, because the current implementation is correct (as discussed)


Support for CurseForge & Modrinth?

CurseForge.com uses Twitch.tv accounts to log-in. As such every Curse account/username is associated with a Twitch account/username.
I figure, since Twitch is already supported by PronounDB, perhaps CurseForge could be supported too?
Ideally beside the username on Comments, & on the Members pages. Potentially on the Members list card for mod project pages.
Similarly, Modrinth.com depends on GitHub accounts. Not sure how possible support is, though I believe the Modrinth dev team would be co-operative in implementing this.
Thanks!
Concept:

Regarding CurseForge, the problem is that while usernames are linked to Twitch account, PronounDB relies on your user ID rather than your user name to identify accounts. This means the client must first convert the username to a Twitch User ID before it can be used to fetch pronouns from PronounDB. That's quite a burden and will break as soon as CurseForge adds new authentications methods other than via Twitch.
Regarding Modrinth, they seem to expose the GitHub user ID internally, so I can harvest it and query the PDB API for pronouns. I don't have experience digging up the internals of a Vue/Nuxt app, but I saw the IDs laying around so it's just a matter of automating the process of finding them :p
tldr I'm unsure how feasible (if at all) integrating Curse is, Modrinth is definitely possible

I had figured the eventual new authentication system for CurseForge would become a problem, but worth suggesting regardless.
Probably best to revisit later then! If my sources are right the site revamp should be relatively soon.
At the very least Modrinth support would be very much appreciated! :D


Fix transition from Uploading to AWS to Adding Track Statistics Tags

Currently the task title changes from Uploading to AWS to Adding Track Statistics Tags, but it can still show the 100% progress from the upload for a moment before the track statistics tags task catches up:
Foo.mkv – Uploading to AWS… 99%
Foo.mkv – Uploading to AWS… 100%
Foo.mkv – Adding Track Statistics Tags… 100%
Foo.mkv – Adding Track Statistics Tags… 0%
Need to reset the progress when the task changes.

Maybe fixed in cadf1981571e9206ad04321f7ad5a34050b53bdb ?

Done in 1bfc41cd53191324ff50275055c6aca343421971


Expose /management tab for ENABLE_RBAC scenarios

Currently, /management tab is still a hidden link.
Given access control plugin will be deployed if ENABLE_RBAC, this page can be exposed.

Enabled in PR #528


HUGE(rpe_instance) returns infinity

Minimal working example:
! main.f90
PROGRAM MAIN
    USE rp_emulator

    TYPE(rpe_var) :: x
    WRITE(*,*) HUGE(x)
END PROGRAM MAIN

Output:
            23                  Infinity

I don't know why this happens, because I don't quite follow the truncation procedure. I'm also not sure which value to expect; either the largest double or the largest single (incidentally, rpe_var%val is a double precision float, so why is the default number of significand bits 23, and not 52?).
I also tried TINY, but that appears to be working fine. Am I right in thinking that TINY(rpe_instance) == TINY(double_instance), because the smallest value is determined only by the exponent, which is the same for both data types?
This all came about because I'm writing some reduced precision LAPACK routines. These use TINY and HUGE to find the safest minimum value.
Thanks in advance.

It appears to be a problem with assigning out-of-bounds values. For example:
PROGRAM MAIN
    USE rp_emulator

    TYPE(rpe_var) :: x

    x = HUGE(0.0)
    WRITE(*,*) x

    x = HUGE(0.0d0)
    WRITE(*,*) x
END PROGRAM MAIN

Output:
          -1   3.4028234663852886E+038
          -1                  Infinity

I assume that you use the default value RPE_DEFAULT_SBITS = 23 in your emulator. Therefore, the results of HUGE(x) will be represented with 23 bit significand and SBIT will also be set to 23. I guess that the value of "HUGE" of a double precision input is too big to be represented correctly when a 23 bit significand is used. Therefore the results is set to infinity.
The HUGE(0.0) value can, however, be represented correctly. Therefore, the value is not pushed to infinity.
This is the code of the emulator for the HUGE function for reference:

FUNCTION huge_rpe (a) RESULT (x)
CLASS(rpe_type), INTENT(IN) :: a
TYPE(rpe_var) :: x
x%sbits = significand_bits(a)
x = HUGE(a%get_value())
END FUNCTION huge_rpe

To this end, the emulator is doing what it is supposed to do. However, we may want to think about a smarter representation of the HUGE function, as the result will in most cases be replaced by infinity.
I admit that I am in a rush, so I hope this does all make sense.

Right, but still why does rpe_var contain a double precision float, if it is supposed to represent a single precision float with an arbitrary significand?
I'm talking about this piece of code:
    PUBLIC :: rpe_var
    TYPE :: rpe_var
        INTEGER :: sbits = RPE_SBITS_UNSPECIFIED
        REAL(KIND=RPE_REAL_KIND) :: val
    END TYPE

RPE_REAL_KIND is a double, but the default significand is 23 bits, not 52?

True. We use a double precision value for val to leave more flexibility for the user to consider precision levels between single and double precision. So we are actually representing a double precision exponent (except for the half precision case) with a flexible number of bits in the significand.

The default number of bits is a left-over from when we did use single precision values to represent reduced types, but it has no connection to the bit width of the number held in the rpe_var instance, it is just a parameter you can set to any integer you like between 0 and 52.
I agree that huge may need to be smarter. The simple wrapper is doing its job exactly as I expected, but probably not in a way that is useful. I'd be happy to merge a PR that implemented huge (and maybe another for tiny) that returned a value correct for the number of bits in the input.

A quick note: the implementation of huge and tiny should depend upon the exponent size as well as the number of bits in the significand. Since we don't emulate flexible exponents I'm not sure there is an obvious implementation at the current time. We could just use the double precision exponent size hard-coded into huge and tiny, and account only for variation in significand bits, which may be useful enough to bother doing it, I don't know...
We may also need to consider the behaviour of epsilon along with this perhaps.


add Rook to cross-cloud CI testing

As per discussion on the CI mailing list, we would love for Rook to be integrated with the cross-cloud CI testing provided by the CNCF.
Our current Jenkins setup is hosted on an instance in Amazon EC2 and can be accessed at https://jenkins.rook.io.
That master instance dynamically brings up slaves in EC2 and GCE to deploy various versions of Kubernetes to those public cloud environments and run end to end integration testing there.  Here's a recent build from master that shows the small matrix we currently deploy and test on: https://jenkins.rook.io/blue/organizations/jenkins/rook%2Frook/detail/master/559/pipeline

GCE w/ K8s 1.6.1
GCE w/ K8s 1.6.13
AWS w/ K8s 1.7.11
AWS w/ K8s 1.8.5
GCE w/ K8s 1.9.1

We would love to expand this matrix and integrate with the same CI services/environment that other CNCF projects are using.  Thanks!
/cc @bassam @travisn

Hi, @travisn.
We'd welcome help in getting Rook on the CNCF CI dashboard as well as collaborations on CI/CD in the community as well.
It sounds like Rook is already doing some CI which maybe someone would like to talk about at the next CNCF CI WG meeting (Jan 22nd).
Regarding the cncf.ci dashboard we have short and longer term options.  We don't have a quick answer to help you get started unfortunately.   While we are working on new documentation and platform updates to allow projects to help directly to add themselves, that work is still in-progress and not yet ready.  In the short term adding a project to the cncf.ci dashboard requires re-implementing part of a projects build/deploy/test process in Gitlab and that is not a self-service process unfortunately.  I'll go more into that below.
Longer term, we are planning a new iteration of the dashboard which includes integration+collaboration with projects after Kubecon Seattle 2018.  Maybe we can meet in-person in Seattle at Kubecon to discuss both the short and longer term options.
An overview of what how the system currently works should be helpful.
Currently the dashboard is populated based on data pulled from the underlying CI platform (Gitlab) or pulled from external CI systems (if we have created an integration).   At the moment the only integrations to external CI systems are for build artifacts.
K8s is currently built from source (release + HEAD on master).  Then k8s is deployed (using the (cross-cloud provisioner) to all of the supported cloud providers.
After the builds artifacts are collected for the projects deployments to all of the k8s clusters happens.  At which point integration tests can be run if any exists.
Some options for integration of Rook deploy+tests on the dashboard:

Gitlab-only: Understand + implement the build and deployment stages for Rook in gitlab.cncf.ci
Gitlab+Jenkins: Integrate Jenkins artifacts for builds. Implement deployment in Gitlab

Option 1 has been the default choice.  It would be similar to what you have on Jenkins.  Gitlab has a configuration file that has the commands to create a build and run whatever other commands are needed. We would need to see how Rook would be deployed and tested with k8s.  Implementation in the various gitlab stages including running the integration tests would be similar to Jenkins.
Option 2 is similar, expect the build artifacts are pulled from Rook's Jenkins server (or some other artifact repository).
Either option will require taking build and test process used in the Rook Jenkins server and re-implementing in the Gitlab system.

Fyi,  A future option we hope to provide is pulling all status information from a projects CI system and not running anything in a different system.  It would be something like, Rook Jenkins + CNCF.ci Dashboad.  Help Jenkins to use cross-cloud for provisioning k8s clusters and deploy Rook to those clusters.  Integrate Rook Jenkins results with Cross-Cloud CI status repository which provides data for the Dashboard.  The different Cross-Cloud CI components can be used outside of the implementation for the CNCF dashboard.

So implementing one of the current options...
The first thing would be determining where/how Rook fits in with the current system and dashboard. Since Rook provides a storage orchestrator for K8s I'm not sure where it would fit in and what integration tests we want to highlight.  The other projects run on the clusters themselves in containers.  We need to determine that first.  Then implementation of the steps in Gitlab for build + integration tests.  Otherwise that would be something someone on the Cross-Cloud CI team would work on.
/cc  @denverwilliams @lixuna

@taylor Thanks for all the background on what it might look like to integrate with the CNCF CI. We would really prefer to have the builds and integration tests all running as you described in option 1. Unfortunately I didn't think to think to discuss this at kubecon. We can plan on joining the community meeting next month to discuss.


Replace compilation and setup in transfer and withdrawals with pre-computed values

This is conceptually identical to #353 but for transfers and withdrawal instead.

This is closed as is part of #409


Changed variable s_logger to non-static and fixed its name in “com.cloud.utils.component.ComponentLifecycleBase” and its subclasses (CLOUDSTACK-8750)

Re-pushing PR 714 (https://github.com/apache/cloudstack/pull/714). We had forgotten a class behind which generated a blocker issue on master (my bad, sorry the trouble). Therefore, it had to be reverted. This PR is meant to reintroduce the changes that were coded there (PR 714). This way we can close the Jira ticket: CLOUDSTACK-8750.

Something seems to have crashed the JVM during Jenkins build; can someone with access to the server get some extra log files?

@rafaelweingartner if you force push the commits again, the tests will be started again. Might be a temp issue.
Also, could you update the title of the PR to reflect what is changed? Something like "Change the variable s_logger to non-static and fixed its name" or similar. That way we can more easily see what the change was about.
Did you try a non-redist build? If so, please post result.
Finally, it seems there is a conflict now. Could you rebase against latest master please?
Thanks!

@karuturi Can you have a look please and maybe check the noredist build?

@karuturi @remibergsma @rafaelweingartner @DaanHoogland @miguelaferreira
Please, before proceeding with this PR see my comments on the previous (#714) one.
We would like to hear what is the problem with the current approach before we get this change in. And before LGTM it, please make sure that at least the following tests are executed:
test_routers.py
test_vm_life_cycle.py
test_vpc_routers.py
test_vpc_routers_nics.py
test_reset_vm_on_reboot.py
Also, this branch branch cannot be automatically merged. It has conflicts! It will be a nightmare to get it through.
Cheers,
Wilder

@rafaelweingartner do you think "Re-pushing the PR 714" is a good commit header?
I mean when someone goes thought the commit list looking for something, will that header provide information to what is the underlying code change about?

@wilderrodrigues thanks for your comments, I have just answered your comments on PR 714. I will work on a rebase today and push it again.
@miguelaferreira, I really do not find that a good name. I was just without a good inspiration to create one ;) What about this one now?

@rafaelweingartner I totally understand. Inspiration is not something that always comes when needed. Please do take your time.

@wilderrodrigues conflicts solved, I tried to do a maven install, to run all tests and compile everything, but that did not work, hence there is a class missing "com.cloud.network.schema.showvcs.Output;"
@miguelaferreira I think the commit heading is better now

@rafaelweingartner Thanks for the time you spent on this. The commit header is indeed better. It now conveys what is being done. If you happen to have to change something in the commit again (for other reasons), may I suggest you follow what most people do and make the header like this: CLOUDSTACK-8750: changed variable s_logger to logger non-static
I've posted on the Jira ticket (CLOUDSTACK-8750) a question about why is this change being made. After reading the description of the ticket I couldn't figure out what is the improvement. Maybe you could shed some light on that?
Is it just, not having an extra line in each class declaring the logger? Or am I missing something?

Actually, the ticket is as simple as that.
It was just an exercise to an intern that is working with me in my thesis. We are doing few very small cleans and changes in ACS code to teach some coding skills to some interns. Thus, we found pretty bothering to code sometimes, we were coding you start to write “log” and hit ctrl+space bar and nothing showed up, the same happens in classes that use the “_” to start variable names. We know that s_something is an ACS standard for static variables, but we thought that the name logger would be better.
That was a pretty interesting proposal, because we could get to know a little better the ACS code, and found some others small things we could change to make the coding more pleasant. For instance, we are planning a PR removing the “@Local” from all classes of ComponenteLifeCycleBase, hence they all are either spring beans or manually instantiated.

I do agree that prepending "s_" to static variables is a waste of characters. Modern IDEs will signal static variables for you. It's a bit like prepending (or appending) type information in the variable name. There was a time it was useful, but that time is long gone.
I also appreciate abstraction in code, that is, you've now introduced a protected variable in a base class that will be available to all the classes that extend it. However I do not see a real benefit in adding this particular indirection level. I mean, loggers are very straight forward to add and understand, so standardising on they declaration and use, seem to me far better than having it be a static variable in some classes, and a non static-protected-inherited variable in others.
There is plenty I would like see done in terms of cleaning the code of ACS. For instance I've measured duplicate code a year ago and found 25% of the code to be redundant.
(http://www.slideshare.net/miguel_f/20141121-cccenoanimations)
The DB layer is another example. ACS is at the moment using a deprecated library for it's DB layer, while there are other libraries (e.g. spring-data) that would actually generate most of the hand-made code we have now.
I'll be very happy to share my thoughts with you about potential refactorings that would benefit the ACS code.

I do agree with you that removing duplicated code, reducing cyclomatic complexity and writing test case is much better. However, those tasks require certain programing skills and knowledge of the code. I have interns that have never worked with Java, spring*, web applications and Eclipse/Netbeans. Therefore, I am starting introducing simple and pretty easy tasks, so they can get comfortable working on a huge project such as ACS. It takes a while to get used to working with tools such as Eclipse, Maven and Git.
We are at the very beginning of my thesis. Most of them are not ready to start writing TDDs and refactoring methods. The ones that are, we already did some pretty interesting PRs: #560, #700 and #762.

Hi @rafaelweingartner ,
Master was broken yesterday when a file containing the wrong imports was merged. I reverted about 5 minutes after the merge. Unfortunately, it seems you got your rebase just in between, which caused your maven build to fail. Please rebase again and try it once more.
Please, check my comment on PR #714

All,
Given the current blocker issues we have to fix on master in order to release 4.6.0 and the fact that those changes don't really improve the current code base, I will :-1:  this PR and will object if this PR gets 2 LGTMs.
@rafaelweingartner, please have a look at the dev-list in order to see the proposal for PRs and how they should be created.
In addition, for your students with less experience with Java/Eclipse/Maven/Git, try to avoid giving them such a huge task.
Cheers,
Wilder

Dear @wilderrodrigues, As I said I get your point and the moment that you guys are on closing a version.
A mistake was made, the moment I noticed that I jumped in and checked the problem and tried to fix it with this PR. No need to cut someone’s head with adamantium claws.
Sure the task was huge, but simple. That was the point on giving it to a less experienced student. I want them to see that even in huge systems like CloudStack and others; there are codes that are not pretty and shiny.
The improvement factor depends on the concept you use, removing few lines of code and using a more intuitive and standard name for a variable in a hierarchic of classes can be considered an improvement.  The same occur if we remove the @Local annotation of that hierarchic, the task will affect 600+ classes, but it is a simple one.
Since you said that there is no way this PR will get accepted, I am closing it.
Thanks for your time.

Hi there @rafaelweingartner,
No hard feelings, dude.
Long story short:

we are going through a critical phase with ACS - release
I have been working on ACS since 2013, and it's always the same. We stable master, we have a release and after that master is screwed again. After 6 months we go through this infinite loop of mess and nightmares.
ACS is super uber tightly coupled, by the [bad] design it has. If I would tell you that we had production problems because of 1 class of 1 hypervisor, that we don't even use, was f*dup, you wouldn't believe me. So, any simple change has the potential to make a huge mess. That's why the tests, etc.
I respect your efforts and also the guys working with you. I will be an student till I die!

If you can find a way to apply/submit your changes in an progressive way, I'm more than glad to help.
Cheers,
Wilder
P.S.: adamantium claws, you know... I got to use them sometimes. ;)

@wilderrodrigues,
Of course no hard feelings.
I understand the pain that you feel when you stabilize everything and people come and breaking things.
About our PR, we are starting to investigate that hierarchic, we believe that some classes do not need to be there. Therefore, it would enable us to shorter the hierarchic and de-couple a little bit the code.
See you in the next PR ;)


Traces from  logs

Hello, I have a couple of questions:

I have been checking a plan behavior using the tracing.compose.yaml but wanted to see if the span and trace id where logged, so far I can't see them even using the log-level trace, by design those values are not included there?
Why I am trying to do that? I wanted to play around with the grafana stack, in order to correlate the logs with the traces tempo tries to get the both values from the ingested logs.

Why dagger output is streamed to stderr? In order to capture the output of dagger and save it to a log, I have to redirect stderr to stdout.

Hi @lat0z , a PR regarding this issue has just been merged: https://github.com/dagger/dagger/pull/4340
You might want to have a look at that :)


Fix reentry of Arc.idle by caching an existing await-completion promise.

Fixes https://github.com/PolymerLabs/arcs/issues/1422
Adding a unit test would be wise. Will explore, but sending for review forthwith.

Added unit test and remove recursion.


Added a command make:observer to create observer easily

This PR added a command make:observer to create observers easily under app/Observers folder.
When running php artisan make:observer an empty class will be generated, when running php artisan make:observer -m Post, an observer class with all possible event for Post will be generated.
without -m, we can create the Observers folder easily, with -m, all possible event will be there, and developers can delete unnecessary events or just leave it there and then code for needed model events.
final class of php artisan make:observer -m User looks like this
<?php

namespace App\Observers;

use App\User;

class UserObserver
{
    /**
     * Listen to the User retrieved event.
     *
     * @param  \App\User  $user
     * @return void
     */
    public function retrieved(User $user)
    {
        //
    }

    /**
     * Listen to the User creating event.
     *
     * @param  \App\User  $user
     * @return void
     */
    public function creating(User $user)
    {
        //
    }

    /**
     * Listen to the User created event.
     *
     * @param  \App\User  $user
     * @return void
     */
    public function created(User $user)
    {
        //
    }

    /**
     * Listen to the User updating event.
     *
     * @param  \App\User  $user
     * @return void
     */
    public function updating(User $user)
    {
        //
    }

    /**
     * Listen to the User updated event.
     *
     * @param  \App\User  $user
     * @return void
     */
    public function updated(User $user)
    {
        //
    }

    /**
     * Listen to the User saving event.
     *
     * @param  \App\User  $user
     * @return void
     */
    public function saving(User $user)
    {
        //
    }

    /**
     * Listen to the User saved event.
     *
     * @param  \App\User  $user
     * @return void
     */
    public function saved(User $user)
    {
        //
    }

    /**
     * Listen to the User deleting event.
     *
     * @param  \App\User  $user
     * @return void
     */
    public function deleting(User $user)
    {
        //
    }

    /**
     * Listen to the User deleted event.
     *
     * @param  \App\User  $user
     * @return void
     */
    public function deleted(User $user)
    {
        //
    }

    /**
     * Listen to the User restoring event.
     *
     * @param  \App\User  $user
     * @return void
     */
    public function restoring(User $user)
    {
        //
    }

    /**
     * Listen to the User restored event.
     *
     * @param  \App\User  $user
     * @return void
     */
    public function restored(User $user)
    {
        //
    }
}

No plans on adding right now.


Compilation of rrtmg_sw fails

In the RRTMG shortwave setup.py, 'rrtmg_sw_taumol.f90' needs to be compiled before 'rrtmg_sw_spcvrt.f90' because the second one depends on the first. If not, compilation fails the first time setup.py is called. This can be fixed by changing the order of the files in the list in setup.py.

Oh, I had come across this, and thought it was fixed. Fixed now, thanks!


Migrate to Indigo v1.11.0-rc.1 in-browser module

This is necessary for fixing the following issue:
https://github.com/epam/ketcher/issues/1865

Indigo in the browser, nice! Are there any documentation on how to use it somewhere @even1024 ?

Also, please make this an opt-in option as this module will likely be very big!

Hi, @MichelML!
Thanks for asking. Indigo in the browser – this is what we call "standalone mode". The example can be found  at https://github.com/epam/ketcher/tree/master/example
And in order to run standalone mode you can use npm run start:standalone https://github.com/epam/ketcher/blob/master/example/package.json


Discussion: AGC for Microphone?

Is it possible to automatically adjust mic gain based on sound level?

Since I haven't come up with a practical solution, let's make this a discussion.

Yes it's easy to do. I'll add it at some point, busy though now with other things for a while.

I was thinking that an option to enable the Tx compression without the Rx expansion (Compandor On) would do this? I was just about to put that as a feature request when I saw this issue :-)

You can certainly enable the TX compander if you want, it will give more TX audio mic gain to those that want/need it.

I believe this is possible without the compander. It's part of #218, AGC can control both MIC (Tx) and IF (Rx) inputs.

Does the Tx Compandor actually work? With the mic gain all the way up I still have low modulation and turning the Tx Compandor on doesn't seen to do anything? Any possibility of more gain in the firmware?
I'm using egzumer's build 0.14.1

Yes the compander works.
Have no idea why you have low TX audio. Just make sure you use WIDE mode with receiving radios that are set to wide mode.

This graph from audio recorded off my local repeater shows another operator first, me with Compandor on and max mic gain, and with Compandor off. Yes, the Tx Compandor does work - if I blow this up I can see it doing a bit of gain and limiting peaks.
PoorModulation

Is the latest firmware any better ?

Is the latest firmware any better ?

I'm using egzumer's builds. I see he dropped release v0.15 yesterday, hopefully he brought in whatever change you made in your code?
Might take me a couple days - my 1TB SSD totally died this morning and I need to redo whatever I set up in the last 2 or three months which includes the UK-K5 software :-(
Thanks! Ron


Use same element as target and source with hooks

When I use decorators I could use the same element as target and source:
let Node = ({ connectDragSource, connectDropTarget }) => {
  return connectDragSource(connectDropTarget(
));
};

Node = compose(
  DropTarget(...),
  DragSource(...),
);

Could I implement the same behavior with hooks?

Sorry, I got some misunderstanding :)
Solution:
const Node = () => {
  const [dragCollectedProps, connectDragSource] = useDrag(...);
  const [dropCollectedProps, connectDropTarget] = useDrop(...);

  return connectDragSource(connectDropTarget(
));
};

Wait, this actually works? The examples are like:
import { useDrag } from 'react-dnd'

function DraggableComponent(props) {
  const [collectedProps, drag] = useDrag({
    item: { id, type },
  })
  return
...

}

Which scared me because I don't know how to add two refs to a single element. So how does this work if not with refs? Can I use a custom component like return connectDragSource(connectDropTarget(<Tab />))?

Uncaught Error: Only native element nodes can now be passed to React DnD connectors.

So that's a no on custom components.

can confirm, you can do drag(drop())

A nice working solution for custom component
import { useDrag, useDrop } from 'react-dnd'

function DraggableComponent(props) {
  /* ... */
 function attachRef(el) {
    drag(el)
    drop(el)
  }
  return <Grid ref={attachRef}>...</Grid>
}

Thank you man! You saved me


import fssa

hi!
i installed fssa package using "pip install fssa"
when i import fssa the following error is displayed:
_Traceback (most recent call last):
Cell In[11], line 2
import fssa
File ~/.local/lib/python3.11/site-packages/fssa/init.py:84
from .fssa import scaledata, quality, autoscale
File ~/.local/lib/python3.11/site-packages/fssa/fssa.py:48
from .optimize import _minimize_neldermead
File ~/.local/lib/python3.11/site-packages/fssa/optimize.py:13
from scipy.optimize.optimize import (OptimizeResult,
ImportError: cannot import name 'status_message' from 'scipy.optimize.optimize' (/usr/lib/python3/dist-packages/scipy/optimize/optimize.py)
any idea? thank you in advanced!
german

solution: [https://github.com/andsor/pyfssa/issues/24](same as this)


[5.3] Allow models omitted by global scopes to be refreshed

RE: #15269

This has the negative side affect of actually loading models that are soft deleted.
$thing = Thing::find(1);
$thing->delete();

$thing->fresh(); // returns object
$thing = Thing::find(1); // returns null

I sort of think fresh() should replicate the behaviour of find(), which it now does not.

@reinink What you're calling a negative side effect is the single intended effect of the PR.
You're holding onto an existing model instance in $thing. The fact that it's been soft-deleted doesn't matter. You know it exists in the database. You're past the find().
fresh() is asking for the very latest attributes and requested relations for an object you already know about. The request for this info shouldn't come up empty because global scopes (soft-delete filter or otherwise) are preventing the record we already know exists from being found.

Okay, fair enough, but that does make this a breaking change.


Upgrade Kotlin version to 1.4

Issue Type

[ ] Bug
[x] Enhancement / Feature request
[ ] Question
[ ] Documentation

Description
I tried building the existing code in Kotlin 1.4. I didn't detect any issues so far. Also, as long as I scanned the migration guide quickly, there is no binary incompatibility issues with the version (at least no known issues at this point).
https://kotlinlang.org/docs/reference/compatibility-guide-14.html
We'll be upgrading the SDK's minor version when starting to rely on Kotlin 1.4.
Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Fixed by #559


fix: Label handling

Follow-up on #194 where the logic was still not correct in all cases. The behavior is now as expected: if --labels is specified all keys and values specified must match a feature. This allows for arbitrary and complex combinations of multiple features within one suite.
For example:
f1 := features.New("label demo 1").
		WithLabel("a", "1").
		WithLabel("all", "true").
		Feature()

f2 := features.New("label demo 2").
		WithLabel("all", "true").
		Feature()

f3 := features.New("label demo 3").
		WithLabel("a", "2").
		WithLabel("all", "true").
		Feature()

f4 := features.New("label demo 4").
		WithLabel("a", "1").
		WithLabel("b", "1").
		WithLabel("all", "true").
		 Formatted and added more details to the README for clarity. Also updated the test examples to show how multiple labels can be used.

/ok-to-test

@vladimirvivien tide is still pending?

/approve


Use creating the wrong translator factory

When a client calls Use, extendio only ever creates a SingularTranslatorFactory (in applyLanguage). Rather it should look in the UseOptions and only create a SingularTranslatorFactory if there are no user specified sources and create a MultiTranslatorFactory in all other scenarios.

the lint pre commit hook had to be disabled and needs to be fixed in another issue.


Would expect Solution without Node here. For pure .net developers.

Would expect Solution without Node here. For pure .net developers.

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

ID: e4071ee2-abad-4d21-7f38-346985c152ae
Version Independent ID: 4c6f16f1-b40f-0933-9305-de14ea7b9f59
Content: Set up local development for Azure Static Web Apps
Content Source: articles/static-web-apps/local-development.md
Service: static-web-apps
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

@HeZumbu23 Thank you for your request . We will take this to the content team and see what can be done here.

Thanks, @HeZumbu23 for the feedback!
The Azure Static Web Apps CLI is implemented as a node module, so even for a pure .NET implementation, you'd have to at least use node to run the proxy servers.
Nevertheless, the process in any language/environment is the same: run your UI and API projects and then start the SWA CLI with the start command while pointing to your running apps. For example, a Blazor app might look like:
swa start http://localhost:5000 --api-location http://localhost:7071

I'll update the doc to clarify this a bit more.
#please-close


Docker support

Thank you for your project.
In my use case the deployment and development environment is dockerized and I've updated the project to support those - I believe it could be useful for more people.
This PR comes with the Dockerfile building this project in one of two modes (depending on the build-arg):
(1) development where the project directory from the host will be mounted to the container - allows for reloading the gunicorn server when the code changes on the host for fast development cycle .
(2) production in a more traditional Docker image where the code is copied to the image during build.
Additionally, I've added a flag to disable the static website serving (as well as the '/' info API method) as I didn't need that capability (in my deployment this service is only internally accessible).
There is description of the added configuration environment variables in the README as well as examples of building the Dockerfile using docker or including it in a docker-compose file for both the production and development builds.
Cheers,
Asaf

Hello
Just wondering if there was any movement on this? I'd also love to have a docker option for deployment

Same. This would be great to have!


/document/list: Leaving out authentic_source or document_type parameters leads to empty result set

Using image docker.sunet.se/dc4eu/apigw:apiv28
Making a request like this:
{
    "authentic_source": "DE:DRV70001",
    "document_type": "EHIC",
    "identity": {
      "birth_date": "1990-01-01",
      "family_name": "ABC",
      "given_name": "ABC",
      "schema": {
        "name": "DE",
        "version": "1.0.0"
      }
    }
}

works perfectly fine if the referred data has been uploaded before.
But when any of the optional attributes authentic_source or document_type are missing, an empty result set is returned.
According to our understanding this should still work, as the optional attributes are just used for filtering.
Maybe this has to do with some config issues and will be resolved later, just want to mention it here so that we are all aware of it.

This should solve the problem, https://github.com/dc4eu/vc/commit/d94af13a67bb86c3544f28f5f36fd58a7557a617


Update add a Pallet to v2.0.0-rc4

This PR adds new trait types and reduces contracts Txs fees to MILLICENTS.

These changes were pulled into https://github.com/substrate-developer-hub/substrate-developer-hub.github.io/pull/588 - many thanks, @riusricardo :pray:


Will this API work after 31 Mrach 2020

Describe your Question/Issue:
Facebook is shutting the legacy API platform, so my question is that, will this private API still work?

Things should stay working as far as I'm aware.
See  https://github.com/ping/instagram_private_api/issues/52

This doesn't use the public API, so it won't be affected by that directly. However, it's possible they may change the backend at the same time (or any other time, without warning).


fix: add count to wait

Description
If the auth policy creation is skipped, the wait will now also be skipped.
resolves https://github.com/terraform-ibm-modules/terraform-ibm-icd-elasticsearch/issues/283
Release required?

[ ] No release
[x] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

It looks like changes are required in both. It seems the DA only creates the policy IF it is cross account. The main module creates the policy if it is the same account.

/run pipeline

The upgrade test fails due to the wait not being provisioned in the latest version: https://github.com/terraform-ibm-modules/terraform-ibm-icd-elasticsearch/actions/runs/11056038146/job/30716846899#step:7:2206
This is expected because we are now skipping these when an auth policy is not created and the upgrade test uses the standard solution, here is the output doing the upgrade test manually and allowing it to destroy the wait blocks
random_password.admin_password[0]: Refreshing state... [id=none]
module.kms[0].data.ibm_resource_instance.existing_kms_instance[0]: Reading...
module.kms[0].module.kms_key_rings["elasticsearch-key-ring"].ibm_kms_key_rings.key_ring: Refreshing state... [id=elasticsearch-key-ring:keyRing:crn:v1:bluemix:public:hs-crypto:us-south:a/abac0df06b644a9cabc6e44f55b3880e:e6dce284-e80f-46e1-a3c1-830f7adff7a9::]
module.resource_group.data.ibm_resource_group.existing_resource_group[0]: Reading...
module.kms[0].module.kms_keys["elasticsearch-key-ring.elasticsearch-key"].ibm_kms_key.key: Refreshing state... [id=crn:v1:bluemix:public:hs-crypto:us-south:a/abac0df06b644a9cabc6e44f55b3880e:e6dce284-e80f-46e1-a3c1-830f7adff7a9:key:cc0005b9-ef98-4ddb-820c-b74275f30d83]
module.resource_group.data.ibm_resource_group.existing_resource_group[0]: Read complete after 1s [id=c91b01c9dbfa48c3bc5d0571e06d392f]
module.kms[0].data.ibm_resource_instance.existing_kms_instance[0]: Read complete after 2s [id=crn:v1:bluemix:public:hs-crypto:us-south:a/abac0df06b644a9cabc6e44f55b3880e:e6dce284-e80f-46e1-a3c1-830f7adff7a9::]
module.kms[0].module.kms_keys["elasticsearch-key-ring.elasticsearch-key"].ibm_kms_key_policies.root_key_policy[0]: Refreshing state... [id=crn:v1:bluemix:public:hs-crypto:us-south:a/abac0df06b644a9cabc6e44f55b3880e:e6dce284-e80f-46e1-a3c1-830f7adff7a9:key:cc0005b9-ef98-4ddb-820c-b74275f30d83]
module.elasticsearch[0].module.elasticsearch.ibm_iam_authorization_policy.policy[0]: Refreshing state... [id=5e445979-5977-4a8d-a487-02f06a339eef]
module.elasticsearch[0].module.elasticsearch.time_sleep.wait_for_authorization_policy[0]: Refreshing state... [id=2024-09-26T18:45:24Z]
module.elasticsearch[0].module.elasticsearch.ibm_database.elasticsearch: Refreshing state... [id=crn:v1:bluemix:public:databases-for-elasticsearch:us-south:a/abac0df06b644a9cabc6e44f55b3880e:b87fc39a-e6f6-4a57-ab73-09af57be3117::]
module.elasticsearch[0].module.elasticsearch.data.ibm_database_connection.database_connection: Reading...
module.elasticsearch[0].module.elasticsearch.data.ibm_database_connection.database_connection: Read complete after 1s [id=2024-09-26 19:02:27.675321 +0000 UTC]

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration and found no differences, so no changes are needed.

The one authorization policy that is still present has its wait still, but the two waits which were not needed have been destroyed. Going to skip the upgrade test for this PR as this all seems to be following the expected behavior of these changes.

/run pipeline

:tada: This PR is included in version 1.20.2 :tada:
The release is available on:

GitHub release
v1.20.2

Your semantic-release bot :package::rocket:


KAFKA-15275 - Client state machine basic components, states and initial transitions

Initial definition of the core components for maintaining group membership on the client following the new consumer group protocol.
This PR includes:

Membership management for keeping member state and assignment, based on the heartbeat responses received.
Assignor selection logic to support client and server side assignors.

This only includes the basic initial states and transitions, to be extended as we implement the protocol.
This is intended to be used from the heartbeat and assignment requests manager that actually build and process the heartbeat and assignment related requests.

Build completed with 6 unrelated test failures:
Build / JDK 20 and Scala 2.13 / testBumpTransactionalEpoch(String).quorum=kraft – kafka.api.TransactionsTest
Build / JDK 8 and Scala 2.12 / testNonDefaultConnectionCountLimitAndRateLimit() – kafka.network.ConnectionQuotasTest
Build / JDK 11 and Scala 2.13 / testDelegationTokenRequests(String).quorum=kraft – kafka.server.DelegationTokenRequestsTest
Build / JDK 11 and Scala 2.13 / executeTieredStorageTest(String).quorum=kraft – org.apache.kafka.tiered.storage.integration.ReassignReplicaExpandTest
Build / JDK 17 and Scala 2.13 / testRackAwareRangeAssignor() – integration.kafka.server.FetchFromFollowerIntegrationTest
Build / JDK 17 and Scala 2.13 / testBumpTransactionalEpoch(String).quorum=kraft – kafka.api.TransactionsTest

Thanks for the feedback @dajac, all comments addressed.

Thanks for the comments @dajac, all addressed.
There is still a lot to think about regarding how the client will handle the assignments it receives. In order to unblock the integrations that require this state components, I'm leaving here the initial approach for handling assignments, to continue working on it in a follow-up PR if that's OK. So for now this follows the initial idea that the member may continue to receive assignments while still processing one (so uses current, target and nextTarget with the latest). I updated the transitions and added tests for it, but I expect it will change as we continue to work on it (If we ever move towards the idea of the server not sending new assignments until acked this would be simplified, it not it would probably stay similar to how it is now, requiring more thought on the client side to properly handle all the tricky scenarios we've discussed).

Thanks @dajac, I will open a follow-up PR addressing the latest suggestions.


[WIP] Add Support for Async Populators

I'm gonna close this since a lot of the code this was going to change doesnt even exist anymore lol


[Patch] Update 3.8, 3.9 and 3.10 liveness probe

Description
Adding a check for bird and confd as part of the liveness check.
Related issues/PRs
fixes #2889
projectcalico/node#369
Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note
Adding -bird-live/-bird6-live option to check for bird, bird6 and conf as part of the liveness prob

Deploy preview for calico ready!
Built with commit d9c8bc5aa28e738788a0a04ac62041dea6185f76
https://deploy-preview-3012--calico.netlify.com


support for extend

Does this plugin supports auto recompilation of jade files that uses extend directive? I have following simple set of templates and Brocfile.js
app/_layout.jade
doctype html
html
  head
    meta(http-equiv='Content-Type', content='text/html; charset=utf-8')
    meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1")

  body
    h1 Broccoli-jade
    block content

app/index.jade
extends _layout
block content
  p This allows you to use index.static.jade instead of index.html for brunch! ...

Brocfile.js
var pickFiles = require('broccoli-static-compiler')
var processJade = require('broccoli-jade')

appFiles = pickFiles('app', {
  srcDir: '/',
  destDir: ''
})
module.exports = processJade(appFiles, {filename: 'app/_layout'})

It recompiles _layout.jade into _layout.html. However, the dependent template (index.jade) is left as it is unless broccoli is restarted.

+1
Looking around on github, it appears that jade depends on the cli tool that wraps jade to handle dependencies. Jade exposes the dependent files.
https://github.com/jadejs/brjade/issues/1
https://github.com/jadejs/jade/issues/1086

This project is deprecated.


Updated Win11 23H2 SHA-256

Hello!
Absolutely love this tool, just discovered it when researching the absurdity that is MS's iso download process and it's already saved me a ton of sanity.
Thought I'd submit the current SHA-256 for WIn11 23H2:
71a7ae6974866603d366a911b0c00eace476e0b49d12205d7529765cc50b4b39
Verified via my own downloads using Mido and: https://answers.microsoft.com/en-us/windows/forum/all/windows-11-23h2-multi-edition-iso-is-released-by/6aae0a33-fb9c-4e26-be2e-2fdeeb53b268
Thanks again for this!

Thanks! I've updated the checksum.


Babili not compiling to es5 using Webpack

Maybe  I am missing something, but from what I read, the output of my code should be es5. When I copy some es6 here https://babeljs.io/repl/ , it comes out as es5 and removes arrow functions and the use of let. This is not the case when I am using Webpack with Babili. Here is my config:
/**
 * NOTE: Don't put your JS files here anymore.. They go in the resources/assets/js/routes.js file
 *
 * @type {webpack}
 */

const webpack = require('webpack');
const autoprefixer = require('autoprefixer');
const BrowserSyncPlugin = require('browser-sync-webpack-plugin');
const CommonsPlugin = require("webpack/lib/optimize/CommonsChunkPlugin");
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const path = require('path');
const VersioningPlugin = require('versioning-webpack-plugin');
const WebpackMd5Hash = require('webpack-md5-hash');
const routes = require('./resources/assets/js/routes');

module.exports = {
    entry: routes,
    devtool: 'cheap-module-source-map',
    output: {
        path: path.join(__dirname, 'public/js'),
        filename: '[name].[chunkhash].js'
    },
    module: {
        loaders: [
            {
                test: /\.js$/,
                loader: 'babel-loader?presets[]=babili',
                exclude: path.resolve(__dirname, 'node_modules/')
            },

            {
                test: /\.scss$/,
                loader: ExtractTextPlugin.extract({
                    fallback: 'style-loader',
                    use: 'css-loader!postcss-loader!sass-loader',
                })
            }

        ],
    },
    plugins: [

        new CommonsPlugin({
            minChunks: 3,
            name: 'common'
        }),

        new BrowserSyncPlugin({
            host: 'localhost',
            port: 3000,
            proxy: 'napa-pro-image.dev',
            files: [
                "public/css/app.css",
                {
                    match: ["public/js/*.js", "app/**/**/*.php", "resources/views/**/**/*.php"],
                    fn: function(event, file) {
                        this.reload();
                    }
                }
            ]
        }, {
            injectChanges: true,
            reload: false
        }),

        new ExtractTextPlugin('../css/app.css'),

        new VersioningPlugin({
            cleanup: true,
            basePath: 'js/',
            manifestPath: path.join(__dirname, 'public/manifest.json')
        }),

        new WebpackMd5Hash()
    ]
}
;

... and my webpack.prod.config.js
const config = require('./webpack.config');
const path = require('path');
const webpack = require('webpack');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const BabiliPlugin = require("babili-webpack-plugin");

config.plugins.unshift(
    new CleanWebpackPlugin(['js'], {
        root: path.join(__dirname, 'public'),
        verbose: true,
        dry: false,
    }),

    new BabiliPlugin({
        test: /\.js$/,
        comments: false,
    })
);

module.exports = config;

and finally, my package.json
{
  "private": true,
  "scripts": {
    "webpack": "webpack --progress --profile --colors",
    "watch": "webpack --watch  --progress --profile --colors",
    "prod": "webpack --config=webpack.prod.config.js  --progress --profile --colors"
  },
  "devDependencies": {
    "autoprefixer": "^6.7.2",
    "babel-loader": "^6.3.2",
    "babel-polyfill": "^6.23.0",
    "babel-preset-babili": "^0.0.11",
    "babili-webpack-plugin": "^0.0.10",
    "browser-sync": "^2.18.8",
    "browser-sync-webpack-plugin": "^1.1.4",
    "clean-webpack-plugin": "^0.1.15",
    "css-loader": "^0.26.1",
    "extract-text-webpack-plugin": "^2.0.0-beta",
    "node-sass": "^4.5.0",
    "postcss-loader": "^1.3.0",
    "sass-loader": "^6.0.0",
    "style-loader": "^0.13.1",
    "versioning-webpack-plugin": "^0.1.9",
    "webpack": "^2.2.1",
    "webpack-md5-hash": "^0.0.5"
  },
  "dependencies": {
    "axios": "^0.15.3",
    "babili": "^0.0.11",
    "dragula": "^3.7.2",
    "fine-uploader": "^5.11.9",
    "global": "^4.3.1",
    "lodash": "^4.17.4",
    "moment": "^2.15.1",
    "sortablejs": "^1.5.0-rc1"
  }
}

Any ideas why this is happening?

Babili on its own is only a minifier. The REPL includes both standard Babel transformations, and Babili, but your Webpack config only loads the minifier part.

Hmm... how would I add the babel transformation? I was thinking that is what the babel-loader accomplished.
Deric Cain
@dericcain
https://dericcain.com
On Feb 24, 2017, 1:00 PM -0500, Logan Smyth<EMAIL_ADDRESS>wrote:

Babili on its own is only a minifier. The REPL includes both standard Babel transformations, and Babili, but your Webpack config only loads the minifier part.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub (https://github.com/babel/babili/issues/442#issuecomment-282359608), or mute the thread (https://github.com/notifications/unsubscribe-auth/AJHnOZTH4EKDimHKJG_T8s9Gh1kxdBIoks5rfxqjgaJpZM4MLf2x).

You'd want to npm install --save-dev babel-preset-env and put that in your config along with babili.


s there an official test report about OAP clusters?

Please answer these questions before submitting your issue.

Why do you submit this issue?
[x] Question or discussion
[ ] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?

Bug

Which version of SkyWalking, OS and JRE?

Which company or project?

What happen?
If possible, provide a way for reproducing the error. e.g. demo application, component version.

Requirement or improvement

Please describe about your requirements or improvement suggestions.

Official test report for what?

Sorry ,please close the issue ,I find I cannot edit the content when I press the enter ,so I will submit a new standard issue ,thanks for your help
2019年12月6日 上午9:04，吴晟 Wu Sheng <notifications<EMAIL_ADDRESS>写道：
Official test report for what?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/apache/skywalking/issues/4009?email_source=notifications&email_token=AHQZTUEQX6CE2EA7KF6MK2DQXGQKXA5CNFSM4JWGSBUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGCVRAA#issuecomment-562387072, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHQZTUGNIDLUAJLPI3AAVDTQXGQKXANCNFSM4JWGSBUA.


Full-libri default true?

I notice the --full-libri option defaults to true in mmi_att_transformer_train.py (specified in librispeech.py).  This may be unexpected as it's not the previous behavior.  Just pointing it out (we'll see what people think about it)..

BTW, Piotr, with some of your refactoring changes, after using the setup, I do have a general reservation about the scripts being a little too 'structured'.  Meaning, I'd prefer if more of the configuration were in the bottom-level script so we could more easily change things independently; and try to rely on more general utiliities from packages outside of snowfall, rather than putting too much functionality into snowfall.  But let's not stress about this too much right now.
I also tend to feel that your coding style is sometimes a little too interdependent, meaning you tend to create code where in order to understand it you have to understand quite a lot of other code (rather than having a fairly flat structure with many independent classes or functions needing to know about a relatively small set of common datatypes or abstractions).  But I'm having a hard time finding a specific instance where I'd say "we should design this specific thing this other way".  Anyway just keep it in mind as something to watch out for.
Incidentally, we spoke the other day about plans/goals/etc., and our plan is to have the official release of Icefall ready for the tutorial in Interspeech (approx. Sep 1st).  Hopefully in a couple of months' time we can start designing Icefall; I don't want to pin anything down too precisely right now though (in terms of design).

Yeah, I changed full-libri to be true by default after you suggested that we move to it. I might have forgotten to announce it though.
About coding style/abstractions/code structure: honestly, I am not sure either what is the best way to organize snowfall/icefall. I think there are conflicting design goals of modularity/reusable abstractions/well-defined structure; and flexibility in changing things in an arbitrary manner to experiment with new ideas. We'll have to strike the right balance and I'm open to adjusting my coding habits if that helps to achieve it ;) anyway, I don't think there's another way to get there than trial-and-error.
I guess one of my main aims is to avoid creating recipes for new corpora by copying large chunks of code, but rather to be able to import a module (or a number of modules) and train the same setup on new data without too many adjustments. Maybe it would be helpful to have a distinction in the library between "stable" parts (things that you'd normally use when building a new system) and "experimental" parts (things that are promising/in-research but maybe a bit messy / leaking through the current abstractions).
Re Icefall: I was going to reach out to you and ask what's your plan :) let's talk in a couple of months about how to design it then.

FYI I checked how long does it make sense to train our conformer on full LibriSpeech (at least with the current settings) -- I ran it for 30 epochs; the non-averaged model keeps improving, but the averaged model results are stable after 20 epochs of training.
This should give some indication where we are w.r.t. SOTA; although I don't have a trained rescoring transformer LM which could improve further.
Without averaging:
Model at epoch 20 (no rescoring):
2021-05-21 14:57:34,776 INFO [common.py:380] [test-clean] %WER 4.48% [2353 / 52576, 289 ins, 193 del, 1871 sub ]
2021-05-21 14:58:24,262 INFO [common.py:380] [test-other] %WER 9.64% [5047 / 52343, 681 ins, 397 del, 3969 sub ]

Model at epoch 30 (no rescoring):
2021-05-22 14:41:38,359 INFO [common.py:380] [test-clean] %WER 4.36% [2292 / 52576, 292 ins, 179 del, 1821 sub ]
2021-05-22 14:43:30,392 INFO [common.py:380] [test-other] %WER 9.24% [4834 / 52343, 624 ins, 385 del, 3825 sub ]

With averaging:
Epoch 10 (rescoring 4-gram LM):
2021-05-20 12:54:51,879 INFO [common.py:380] [test-clean] %WER 4.07% [2140 / 52576, 354 ins, 123 del, 1663 sub ]
2021-05-20 13:02:43,636 INFO [common.py:380] [test-other] %WER 8.37% [4383 / 52343, 731 ins, 232 del, 3420 sub ]

Epoch 20 (no rescoring):
2021-05-21 09:34:55,569 INFO [common.py:380] [test-clean] %WER 4.33% [2274 / 52576, 268 ins, 183 del, 1823 sub ]
2021-05-21 09:35:43,453 INFO [common.py:380] [test-other] %WER 8.96% [4690 / 52343, 584 ins, 389 del, 3717 sub ]

Epoch 20 (rescoring 4-gram LM):
2021-05-21 09:46:26,814 INFO [common.py:380] [test-clean] %WER 3.87% [2036 / 52576, 334 ins, 116 del, 1586 sub ]
2021-05-21 09:53:26,347 INFO [common.py:380] [test-other] %WER 8.08% [4231 / 52343, 710 ins, 241 del, 3280 sub ]

Epoch 30 (no rescoring):
2021-05-22 14:45:39,709 INFO [common.py:380] [test-clean] %WER 4.31% [2267 / 52576, 293 ins, 182 del, 1792 sub ]
2021-05-22 14:46:36,179 INFO [common.py:380] [test-other] %WER 8.98% [4700 / 52343, 610 ins, 388 del, 3702 sub ]

Epoch 30 (rescoring 4-gram LM):
2021-05-22 14:53:36,527 INFO [common.py:380] [test-clean] %WER 3.86% [2030 / 52576, 345 ins, 114 del, 1571 sub ]
2021-05-22 15:00:10,075 INFO [common.py:380] [test-other] %WER 8.07% [4223 / 52343, 708 ins, 254 del, 3261 sub ]

This should give some indication where we are w.r.t. SOTA; although I don't have a trained rescoring transformer LM which could improve further.

I will share a trained rescoring lm in the following week. (Now models are ready and I am cleaning the code)

This should give some indication where we are w.r.t. SOTA; although I don't have a trained rescoring transformer LM which could improve further.

I will share a trained rescoring lm in the following week. (Now models are ready and I am cleaning the code)

@pzelasko  Models and related codes currently locates here

FYI I checked how long does it make sense to train our conformer on full LibriSpeech (at least with the current settings) -- I ran it for 30 epochs; the non-averaged model keeps improving, but the averaged model results are stable after 20 epochs of training.

@pzelasko How many epochs do you chose to average at 20 epochs and 30 epochs?
I find that excluding several beginning models will decrease wer.  Following are details result:
avg(4-29)
2021-05-29 11:45:22,937 INFO [common.py:380] [test-clean] %WER 3.61% [1899 / 52576, 328 ins, 101 del, 1470 sub ]
avg(4-30)
2021-05-29 11:53:21,700 INFO [common.py:380] [test-clean] %WER 3.59% [1887 / 52576, 331 ins, 101 del, 1455 sub ]
avg(1-30)
2021-05-29 12:08:18,920 INFO [common.py:380] [test-clean] %WER 3.70% [1943 / 52576, 350 ins, 107 del, 1486 sub ]

I used 5 for both. These differences are so small that I'm not convinced it has a real effect.

I used 5 for both. These differences are so small that I'm not convinced it has a real effect. The last row you have shown is no averaging, right?

No, the last row is average all 30 epochs, i.e. including the beginning models.
With excluding (1,2,3) epoch model, wer decrease from 3.70 (the last row, avg 4-30) to 3.59 (the scond last row1-30).

BTW Your baseline numbers are a bit better than mine, is it rescoring with a transformer LM?

No, not transfromer LM. 4-gram lattice rescore is used.
with only averaging final 5 epochs, as you mentioned, the wer is:
avg 26-30
2021-05-29 19:38:58,381 INFO [common.py:380] [test-clean] %WER 3.69% [1938 / 52576, 386 ins, 96 del, 1456 sub ]

As for reasons of it's a bit better, the model structure is slightly modified refering to espnet:
a. change scaling when computing att-score, relating code
b. add an extra layer_norm between encoder and ctc, relating code
These two differences between snowfall and espnet is identified by loading espnet trained model by snowfall, as introduced by this pr #201

Ah, okay — thanks, that makes it clear for me.


CLI integration in the SDK

I noticed that the SDK doesn't have a command-line interface (CLI). Introducing a CLI could improve usability, especially for scripting and automation tasks.
If approved, I'm happy to contribute to this enhancement and would like to propose making use of the argparse library for implementation. As an initial example, the CLI could facilitate calls to the messages.create endpoint as follows:
anthropic api messages.create \
	-m <model_name> \
	-g <role1> <content1> \
	-g <role2> <content2> \
	-T <max_tokens>

Anthropic does not plan to do this in the near term, so I'll close this issue for now.


error: maximum context length is 4097 tokens.

[Keep getting this error. This model’s maximum context length is 4097 tokens.

do you have openai access to gpt4?

Should be fixed by #672. In the meantime, you can use my fork since it is taking a while to merge pull requests here.

Thank you! how do I update to latest version from terminal?
or do I have re-install using
git clone https://github.com/mckaywrigley/chatbot-ui.git
?

@jorge-menjivar Do I install your fork by using git clone https://github.com/jorge-menjivar/chatbot-ui ?
If i do so, my guess is I will loose all my conversations/folders I have been using with his the past 30 days or so?

It would be easier to clone https://github.com/jorge-menjivar/chatbot-ui/tree/token_limit_fix than trying to merge everything. Since my repo is several commits ahead of the original

You should not lose any information, but I would say export the data before hand

You can also use the main branch, it is a bit more polished

It says
Cloning into 'token_limit_fix'...
fatal: repository 'https://github.com/jorge-menjivar/chatbot-ui/tree/token_limit_fix/' not found

Clone the main repo, then switch branches

Sorry for the confusion

Thank you @jorge-menjivar
I'm not well verse with git, but I can try!
These are the branches I have/see
remotes/origin/HEAD -> origin/main
remotes/origin/google
remotes/origin/mac
remotes/origin/main

Try git clone --all <repository URL>

Couldn't figure it out. I will have to wait until @mckaywrigley updates

Okay, you can always just use the main branch

If one has access to the 32K tokens version of GPT, does this limit present a problem?

@copperx The issue affects all models as there is bogus code that does not count tokens accurately. Meaning that it will potentially send more tokens than the API can handle, which would result in OpenAI returning an error instead of a proper response.
#672 should fix this for all models though.

I have 32k access on gpt4 and want to adjust this if possile, whats the latets update people have pushed ?> I know the creator isnt active anymore but i'd like to get this working ?
Has anyone made a change where it forgets/omits older messages when sending to API as context so you can keep going without hitting a limit?

I have 32k access on gpt4 and want to adjust this if possile, whats the latets update people have pushed ?> I know the creator isnt active anymore but i'd like to get this working ?
Has anyone made a change where it forgets/omits older messages when sending to API as context so you can keep going without hitting a limit?

This would be very useful

any updates here? Would be nice if it just omit the old messages and keopt the max Context as u set


Support MySQL 8 Authentication

This is a rebase + update of @ruiquelhas's PR #1962.
One thing that has been changed from the original PR is that only MySQL 8.0.x has been added to integration tests rather than multiple RC versions of MySQL 8. It's been long enough that people are probably only using GA versions of MySQL 8 now.
Fixes #2002

Original PR Description
This patch accommodates some breaking changes introduced with MySQL 8.
Closes #1959
In a nutshell, the caching_sha2_password plugin (which is used by default since MySQL 8.0.4) hashes the password using SHA-256 and, after a first successful authentication attempt, saves it in a cache. That first attempt needs to be done under one of two conditions. The client either uses SSL and sends the password as clear text or it encrypts the password using the RSA public key generated by the server. On any subsequent attempt, until the password is somehow removed from the cache or the server shuts down, these rules no longer apply.
The handshake process remains unchanged when connecting to any server with version lower or equal to 8.0.3. Whereas for 8.0.4 or above, the process is now the following:

the client sends a ClientAuthenticationPacket with a scramble computed using a SHA-256 hash
if the password is not cached, the server sends back a PerformFullAuthenticationPacket
if the client uses SSL, the password is sent to the server (as clear text) via a ClearTextPasswordPacket to which the server replies with a OkPacket
otherwise it uses the server authentication public key compute the scramble, sending a AuthSwitchResponsePacket to which the server replies with a OkPacket
if the client does not know the server public key (is not provided by the user), it requests it from the server, which sends it back using a AuthMoreDataPacket
after a first successful authentication attempt, and until the password is cached, the server will reply to the initial ClientAuthenticationPacket with a FastAuthSuccessPacket (which basically just signals that an OkPacket will follow)

If the account is created using the mysql_native_password authentication plugin, the client will just fall back to the "traditional" process during the handshake, keeping compatibility, by default for any previously supported server version.
MySQL 8.0.2 disables the local_infile server variable by default, which breaks a couple of integration tests. The tests were updated to enable the feature by themselves (something that does not have any effect on older server versions and allows the tests to pass with newer versions).
Additionally, one of the integration tests was updated to avoid failing after the first run (using any server version) since it tried to create a table that already existed from the previous runs.

Please merge this already why is it just sitting here

This PR came in a bit before I took some time off. I am spending this weekend to get items on this module in place, though. I hope that helps. Now that the original PR has been rebased and CI is all passing, just need to do a quick review and then we can have a new version out here soon.

An update to what I said above (since there are some thumbs ups): I'm currently dealing with some fallout where GitHub is flagging a module as a security issue when it is not, which is causing many folks to open support requests I need to respond to. I have been trying to get GitHub to correct the detection, but have been unsuccessful in getting any response from them. I may end up having no choice but to spend the time to rework a module to get a dependency updated just to get the support requests to stop if GitHub does not correct their detection.
This may end up using all my time this weekend, but I will keep posted here. I wanted to post an update so folks don't think I'm ignoring this pr/repo if I don't get to it, just there is a higher priority issue at hand.

@dougwilson Thank for your work. I really appreciate it.

when is this getting merged?

@dougwilson this comes from a place of absolute understanding of how much awesome work you do - would it be helpful if other people tested this PR?

Yes, that would be awesome! I was also thinking this weekend to spin out an actual beta package to npm with this as well to help even myself get it testing in qa.

For what it’s worth we have been running a build using this PR fork in our beta branch for a few months now and so far not encountered an issue

If there's anything we (Oracle/MySQL) can do to help please let us know.

I was also thinking this weekend to spin out an actual beta package to npm with this as well to help even myself get it testing in qa.

Oh that would be fab - we would be able to dedicate a bit of time to testing that next week 🙌

any ETA for this?

Hi @sebolio , please see my comment above.

Hi, any update on the support of caching_sha2_password?

I have been actively working on it as part of the 3.x work over this past weekend. I will have a PR open soon with all the changes (including these) for preview.

Hi, is there any update on this?

Where is this at? Ive just started to work on an upgrade from 8.0.16 to 8.0.21 and cannot connect with
ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client.
I am at a dead standstill and if I cant get a resolution here very quickly I need to look at moving to the MySQL supplied client which is not my preference.

@drwharris From my end, I don't plan on updating this PR. For my own work, I'm going to be switching to mysql2, which supports MySQL 8's new default authentication protocol (caching_sha2_password).
You can keep using mysql though without getting that error if you just switch the default authentication method to mysql_native_password.

Hello 👋
Is there any update on this? Will this be merged in the future?
Thanks

When is the merger? This question has been a long time.

When is the merger? This question has been a long time.

@drwharris From my end, I don't plan on updating this PR. For my own work, I'm going to be switching to mysql2, which supports MySQL 8's new default authentication protocol (caching_sha2_password).
You can keep using mysql though without getting that error if you switch the default authentication method for your MySQL instance to mysql_native_password.

Perfect！Thanks ！from china 哈哈😄

Some notes on debug connecting to MySQL8 with mysql@2: (using Mysql.createPool())
The mysql@2 package only support mysql_native_password auth plugin,
to corretly connecting to MySQL8 we will need to make sure:

Change default_authentication_plugin = 'caching_sha2_password':
This will cause mysql@2 connection to fail,
as current code just responds with data for mysql_native_password and fail the auth
(check with debug enabled).
To change this, a start option like --default-authentication-plugin=mysql_native_password or edit in /etc/mysql/my.cnf is required (add [mysqld] \n default-authentication-plugin = mysql_native_password),
as there is no runtime change for this option, (related doc),
but we can check current value with SHOW VARIABLES LIKE 'default_authentication_plugin';.
A user with auth plugin set to mysql_native_password:
Use SQL command like to create/alter user:# create new & give access
CREATE USER IF NOT EXISTS<EMAIL_ADDRESS>IDENTIFIED WITH mysql_native_password BY 'SOME-PASSWORD';
GRANT ALL PRIVILEGES ON *.* TO<EMAIL_ADDRESS>WITH GRANT OPTION;
# or reset existing
ALTER USER<EMAIL_ADDRESS>IDENTIFIED WITH mysql_native_password BY 'SOME-PASSWORD';
# log user status
SELECT Host,User,plugin,authentication_string FROM mysql.user WHERE User='root';

And when using the root user, better understand the difference between:

'root'@'%' for any host
<EMAIL_ADDRESS>for local TCP
'root'@'localhost' for local socket, and will magically be used for<EMAIL_ADDRESS>with sys-variable skip_name_resolve = OFF REF

When will this get merged?

@1chiSensei and others - if you are in a hurry, you can try my fork. It's available on NPM as @vlasky/mysql.
I have not only merged this PR, but I have also implemented the rolling xor fix suggested by @sidorares that ensures passwords longer than 19 characters will work with the caching_sha2_password plugin.
I hope @dougwilson eventually finds the time to continue his excellent work on this package.
I forked it only because I urgently needed to add MySQL 8 support and (partial) protocol compression support to my other fork @vlasky/zongji which is a MySQL binlog listener that relies on functionality that currently only exists in this mysql package and not in node-mysql2.

Is there a plan to merge this PR anytime soon, or is there a holdup somewhere?


New issues after #10

With the fix of #10 2 new issues were introduced.
First, the new "endless scrolling" prevents that the footer can be seen properly. This might be an oversight, but the footer is no longer visible and therefore the secondary links are unavailable.
Second, when scrolling below the initial content (the moment when endless scrolling starts) the same content will be displayed again. Therefore, there is a lot of duplication when scrolling down.

Hey @dschier-wtd, this has been fixed in 1.0.2? Could you install the version manually and see if it works?

@minimaluminium , I gave it a try:

landing page works as intended (See all leads to endless scroll)
Tag pages are endless scrolling enabled, too

So far, this seems to be a nice implementation and works very well.
Thank you, for the effort!

Thanks a lot for the feedbacks and tests!


[feature request] Specify time interval when using the 'top' filter

When choosing the 'top' filter in a subreddit, it isn't possible to specify the time interval from which to filter posts as on the website. In the app it is always set to the last 24 hours, while on the website options like since ever, since last year or last month are available.
Does the Reddit API allow this, and could this be implemented?

Hi Columbus240, thanks for filing the issue. RBB development has been suspended for a long time, since the Play Store suspended our app.

Well, someone might come across this (maybe I myself) and provide a PR fixing this. Thank you for responding.

Looking on your activity on Youtube, I guess you momentary break from SunVox is taking around 5 years! :smiley:
https://www.youtube.com/watch?v=Jo5Mw-BWpV0 :laughing:

Hi dcstoica,
I think Play Store detected some NSFW content and banned the app.
I've got SunVox installed, and it's even pinned on my taskbar. Someday!  :-)

Hi Brian,
First, I am Daniel, and second is that life and technology are not working
in unison every time!  😉
I'll keep you posted of my experience in trying to revive your code. An app
doesn't necessarily have to be on Play Store to be useful to the community.
In case you still have the last .apk around I could use it to get a real
sense of the functionality before diving into the sources!
Glad yo meet you,
Dan.
On Sun, Aug 12, 2018 at 12:11 AM Brian Muramatsu<EMAIL_ADDRESS>wrote:

Hi dcstoica,
I think Play Store detected some NSFW content and banned the app.
I've got SunVox installed, and it's even pinned on my taskbar. Someday! :-)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/btmura/rbb/issues/312#issuecomment-412317434, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AoSYzmEhenIK-J_5lhXZy_62AK25eMAUks5uP6sEgaJpZM4PrnLm
.

Hi Daniel,
Can you try downloading the last APK's from the site below?
https://sites.google.com/site/btmura/code/rbb
I would be surprised if the code still works, since Android has changed so much. :-)
Glad to meet you,
-Brian

I have old tablets too!
And I have sent you request to access your Google Drive, before when, I
have found your site. The other links from the beginning of the page are on
github and the defunct play store! Apart from the sources, do you have the
apk on github, since I didn't see it? As time permits, for starters, I
could try to adapt it to the versions of Android!
On Tue, Aug 14, 2018 at 12:14 AM Brian Muramatsu<EMAIL_ADDRESS>wrote:

Hi Daniel,
Can you try downloading the last APK's from the site below?
https://sites.google.com/site/btmura/code/rbb
I would be surprised if the code still works, since Android has changed so
much. :-)
Glad to meet you,
-Brian
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/btmura/rbb/issues/312#issuecomment-412749874, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AoSYzpu5qJgx2lARXwma0njFPG38chujks5uQk6-gaJpZM4PrnLm
.

Hi Daniel,
I gave you view access on the Drive folder. I think that should allow you to download the APKs. The source code on github and these Drive APKs are all I got.
Hope this helps,
-Brian


Timeout waiting for panel to start

Here's the output of the requested log. It appears that there is some issue with the cert generation. Could it be a port forwarding issue? If so, what port would I need to forward on my router in order for the cert request to succeed?
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 1431)
spawned uWSGI worker 1 (pid: 1490, cores: 1)
spawned uWSGI worker 2 (pid: 1491, cores: 1)
spawned uWSGI worker 3 (pid: 1492, cores: 1)
spawned uWSGI worker 4 (pid: 1493, cores: 1)
spawned uWSGI worker 5 (pid: 1494, cores: 1)
spawned uWSGI worker 6 (pid: 1495, cores: 1)
spawned uWSGI http 1 (pid: 1496)
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Account registered.
Requesting a certificate for xxx.xxxxx.xxx
Certbot failed to authenticate some domains (authenticator: standalone). The Certificate Authority reported these problems:
Domain: xxx.xxxxx.xxx
Type:   unauthorized
Detail: 2606:4700:3037::ac43:a809: Invalid response from http://xxx.xxxxx.xxx/.well-known/acme-challenge/fxJ1yTRt7grpao3pxuI0EPZPm3HiNcp2twNHDQLuCYI: 521
Hint: The Certificate Authority failed to download the challenge files from the temporary standalone webserver started by Certbot on port 9999. Ensure that the listed domains point to this machine and that it can accept inbound connections from the internet.
libertea-haproxy
libertea-haproxy
libertea-haproxy
libertea-haproxy
libertea-haproxy
Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
Sat May 11 04:00:00 2024 - [uwsgi-cron] routing signal 3
2024-05-11 04:00:00 - CRON save_connected_ips_300957 -  Saving connected IPs
-- creating mongo client on pid 1491
Sat May 11 04:00:00 2024 - [uwsgi-cron] routing signal 4
2024-05-11 04:00:00 - CRON update_certificates_548679 -  Updating certificates
-- creating mongo client on pid 1490
2024-05-11 04:00:00 - CRON save_connected_ips_300957 -  DONE saving connected IPs
2024-05-11 04:01:09 - CRON periodic_update_domains_778805 -  Updating domains cache
-- creating mongo client on pid 1490
2024-05-11 04:01:09 - CRON update_certificates_548679 -  Updating certificate for xxx.xxxxx.xxx
*** Generating certificate for xxx.xxxxx.xxx
Saving debug log to /var/log/letsencrypt/letsencrypt.log
2024-05-11 04:01:09 - CRON periodic_update_domains_778805 -  DONE updating domains cache
Requesting a certificate for xxx.xxxxx.xxx
Certbot failed to authenticate some domains (authenticator: standalone). The Certificate Authority reported these problems:
Domain: xxx.xxxxx.xxx
Type:   unauthorized
Detail: 2606:4700:3037::ac43:a809: Invalid response from http://xxx.xxxxx.xxx/.well-known/acme-challenge/fvj06OWzjOUH1FUdAQhaaQOIOjPs5TkhD5m2pbykBO4: 521
Hint: The Certificate Authority failed to download the challenge files from the temporary standalone webserver started by Certbot on port 9999. Ensure that the listed domains point to this machine and that it can accept inbound connections from the internet.
Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
2024-05-11 04:03:09 - CRON periodic_update_domains_348256 -  Updating domains cache
2024-05-11 04:03:09 - CRON periodic_update_domains_348256 -  DONE updating domains cache
2024-05-11 04:04:09 - CRON periodic_update_users_stats_786405 -  Updating users stats cache
-- creating mongo client on pid 1492
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-11.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-12.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-13.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-14.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-15.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-16.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-17.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-18.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-19.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-20.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-21.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-22.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-23.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-24.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-25.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-26.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-27.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-28.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-29.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-04-30.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-05-01.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-05-02.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-05-03.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-05-04.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-05-05.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-05-06.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-05-07.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-05-08.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-05-09.json'
[Errno 2] No such file or directory: '/root/libertea/./data/usages/day/2024-05-10.json'
2024-05-11 04:04:09 - CRON periodic_update_users_stats_786405 -  DONE updating users stats cache
Sat May 11 04:05:00 2024 - [uwsgi-cron] routing signal 4
Ran command 'certbot certonly --standalone -d xxx.xxxxx.xxx --agree-tos --email<EMAIL_ADDRESS>--http-01-port 9999' and got exit code 256

Certificate generation for xxx.xxxxx.xxx failed: 256
2024-05-11 04:05:00 - CRON update_certificates_466942 -  Updating certificates
2024-05-11 04:05:09 - CRON periodic_update_domains_218013 -  Updating domains cache
2024-05-11 04:05:09 - CRON update_certificates_548679 -  Updating certificate for xxx.xxxxx.xxx
2024-05-11 04:05:09 - CRON update_certificates_466942 -  Updating certificate for xxx.xxxxx.xxx
Certificate for xxx.xxxxx.xxx is skipped due to multiple failures. Skipping.
2024-05-11 04:05:09 - CRON update_certificates_466942 -  Updating certificate for xxx.xxxxx.xxx
Certificate for rva.jahzq.net is skipped due to multiple failures. Skipping.
2024-05-11 04:05:09 - CRON update_certificates_548679 -  DONE updating certificates
Certificate for xxx.xxxxx.xxx is skipped due to multiple failures. Skipping.
2024-05-11 04:05:09 - CRON update_certificates_466942 -  DONE updating certificates
2024-05-11 04:05:09 - CRON periodic_update_domains_218013 -  DONE updating domains cache

Seems that the panel is working. Not sure about the issue.
Please run these commands on the server and post the results:
curl localhost:1000

docker ps

Seems that the panel is working. Not sure about the issue.
Please run these commands on the server and post the results:
curl localhost:1000

docker ps

root@ubuntu:~# curl localhost:1000
curl: (7) Failed to connect to localhost port 1000 after 0 ms: Connection refused
root@ubuntu:~# docker ps
CONTAINER ID   IMAGE                                 COMMAND                  CREATED         STATUS         PORTS                                                  NAMES
8ad4789b360c   libertea/haproxy                      "/entrypoint.sh"         5 minutes ago   Up 5 minutes                                                          libertea-haproxy
30aadae23e02   libertea/provider-shadowsocks-v2ray   "/entrypoint.sh"         5 minutes ago   Up 5 minutes   1080/tcp, <IP_ADDRESS>:2003->2003/tcp                     libertea-provider-shadowsocks-v2ray
3b34e9696ebb   mongo:latest                          "docker-entrypoint.s…"   5 minutes ago   Up 5 minutes                                                          libertea-mongodb
caa2bdb00c13   nginx:latest                          "/docker-entrypoint.…"


"an error occurred"

Hi there!
really love your work here, but since about a week or so i just get
Steam tags extension

An error occurred

When loading a humblebundle page.
It might coincide with me creating a new Firefox-Profile, but i also get that error now on the old profile where it definitely worked in the past.
I've found no way to further inspect the error - maybe someone has an idea?

Having the same problem on Chrome. The extension will show me as logged in, but the Humble Bundle page throws up an error with "Please login to Steam store or enter your SteamId in extension settings".
If I log out, and try to log back in, I just get "An error occurred" on the Extension.
Inspect Popup shows "DevTools failed to load source map: Could not load content for chrome-extension://fcinjfniedmmfaalakcallcbjepfiabi/browser-polyfill.min.js.map: System error: net::ERR_FILE_NOT_FOUND"
Even with that error, when I try to log in, the Inspector shows:
GET https://humble-steam-sync.herokuapp.com/76561197965691494/profile 503 (Service Unavailable)
popup.js:92
As Heroku recently removed their free tier, I suspect the extension has been a victim of its own success.

 I'll need to find a replacement. Thanks for providing detailed info :)

That´s an easy explanation at least ^^
Thanks for the analysis @WarWraith !

You could probably use cloudflare workers, as long as you don't expect more than 100k requests/day it's free (and I think if you hit the limit it just stops working for the day)

Here's https://github.com/Haaxor1689/humble-steam-sync/blob/master/web/index.ts converted to a cloudflare worker script: https://gist.github.com/ardittristan/6b23c9eb56b031795caadc80a72d127b

Finally got around to rewriting this extension and getting it working again. A new version was submitted to Chrome, so in a few days it should be up. New firefox version should already be up :)


Change to LoadLibraryW in dlopen causes dlls not to load

When loading a dll that uses other dlls in the same directory, LoadLibraryW(...)  does not search in the directory for the other dlls. This will cause Error: Dynamic Linking Error: Win32 error 126.  This can be fixed by adding the path to the dlls to the system path, unfortunately we can't do that. I have attached my solution, I modified win32-dlfcn.c to temporary add the path to the dlls using SetDllDirectoryW(...).
win32-dlfcn.zip

hi,
i tested it, and works now! see https://github.com/node-ffi/node-ffi/pull/328


Closes: #1

Updated validations.py python script.
Fixed the behaviour of validate_user function in validations.py.
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

This is part of my course training


Button support

Hi, sorry if what I'm asking is silly or obvious…
I've just flashed my ZB-GW03 and paired a couple of devices. Lights work as expected, but I see no way of making buttons appear on the Home App. I've paired an Aqara Wireless Switch D1 and an IKEA Trådfri shortcut button. Both show up in the Tasmota web interface correctly, but when exposed to HomeKit they appear as switches, not buttons, so I can't asign scenes to them.
Am I doing something wrong?
Thanks a lot!
Plugin Config:
{
            "name": "Tasmota ZbBridge",
            "mqttTopic": "tasmota_D2C9C0",
            "zbBridgeDevices": [
                {
                    "addr": "0xB8ED",
                    "type": "light0",
                    "name": "Neón Cocina"
                },
                {
                    "addr": "0xAACF",
                    "type": "switch",
                    "name": "Dormitorio Interruptor Entrada"
                },
                {
                    "addr": "0xDA5C",
                    "type": "switch",
                    "name": "IKEA1"
                }
            ],
            "mqttBroker": "<IP_ADDRESS>:1883",
            "platform": "TasmotaZbBridge"
        }

Environment:

Plugin Version: v1.1.0
Homebridge Version: v1.4.1
Node.js Version: v16.15.0
NPM Version: v8.5.5
Operating System:  Docker

Well, after some research it turned out, that there is indeed a button functionality - the StatelessProgrammableSwitch which we can use with the sensor accessory.
I’ve implemented it as generic accessory which can cover all service types (read-only).
To configure we need to know the correct cluster and attribute which the button is sending. The configuration should look as follows:
{
    "addr": "0xDA5C",
    "type": "sensor_<cluster>_<attribute>_StatelessProgrammableSwitch_ProgrammableSwitchEvent_<event>",
    "name": "ButtonSensor"
}

Please quote here the ZbReceived message (for single, double and long press) from the console so we can extract the correct values for cluster, attribute and event above.

No sure if I'm doing this right, but let's go…
Single press:
07:39:17.883 MQT: tele/tasmota_D2C9C0/SENSOR = {"ZbReceived":{"0xDA5C":{"Device":"0xDA5C","Name":"IKEA1","0006!01":"","Power":1,"Endpoint":1,"LinkQuality":68}}}
Double press:
(same result, maybe not available in this button)
07:39:20.284 MQT: tele/tasmota_D2C9C0/SENSOR = {"ZbReceived":{"0xDA5C":{"Device":"0xDA5C","Name":"IKEA1","0006!01":"","Power":1,"Endpoint":1,"LinkQuality":81}}}
Long press:
07:39:23.033 MQT: tele/tasmota_D2C9C0/SENSOR = {"ZbReceived":{"0xDA5C":{"Device":"0xDA5C","Name":"IKEA1","0008!05":"0053","DimmerMove":0,"Endpoint":1,"LinkQuality":84}}} 07:39:24.833 MQT: tele/tasmota_D2C9C0/SENSOR = {"ZbReceived":{"0xDA5C":{"Device":"0xDA5C","Name":"IKEA1","0008!07":"","DimmerStop":true,"Endpoint":1,"LinkQuality":84}}}

Log from another button, in case it helps.
This is from a Xiaomi Mi Smart Wireless Switch.
Single press:
13:00:06.618 MQT: tele/tasmota_D2C9C0/SENSOR = {"ZbReceived":{"0x3077":{"Device":"0x3077","Power":0,"Endpoint":1,"LinkQuality":84}}}
13:00:06.992 MQT: tele/tasmota_D2C9C0/SENSOR = {"ZbReceived":{"0x3077":{"Device":"0x3077","Power":1,"Endpoint":1,"LinkQuality":84}}}

Double press:
13:00:36.002 MQT: tele/tasmota_D2C9C0/SENSOR = {"ZbReceived":{"0x3077":{"Device":"0x3077","Power":2,"Endpoint":1,"LinkQuality":76}}}

Long press:
(same as single press, apparently)
13:00:52.644 MQT: tele/tasmota_D2C9C0/SENSOR = {"ZbReceived":{"0x3077":{"Device":"0x3077","Power":0,"Endpoint":1,"LinkQuality":97}}}
13:00:54.152 MQT: tele/tasmota_D2C9C0/SENSOR = {"ZbReceived":{"0x3077":{"Device":"0x3077","Power":1,"Endpoint":1,"LinkQuality":97}}}

Your setup is perfect for an all zigbee ecosystem, but right now I'm controlling a lot of devices, wifi fans, bluetooth locks, Smart TV and speakers… It's much more convenient for me to have exposed HomeKit buttons I can assign scenes and shortcuts to from my iPhone.
I'll try to configure them as buttons, but not sure my "coding" skills are up to the task 😅

The StatelessProgrammableSwitch can recognize these events (see here):
SINGLE_PRESS  0
DOUBLE_PRESS  1
LONG_PRESS    2

So if we use the Power value your Mi Switch will fire SINGLE_PRESS then DOUBLE_PRESS on single press of the button. It will fire LONG_PRESS on double press of the button.
The configuration should look like follows (The Power command belongs to cluster 6 attribute 1, see explanations here):
{
    "addr": "0x3077",
    "type": "sensor_6_1_StatelessProgrammableSwitch_ProgrammableSwitchEvent_Power",
    "name": "MiButton"
}

For the IKEA button we can’t configure single HomeKit button for short and long press, as they use different clusters and values.
The configuration for single press is as follows (will fire DOUBLE_PRESS using the Power value):
{
    "addr": "0xDA5C",
    "type": "sensor_6_1_StatelessProgrammableSwitch_ProgrammableSwitchEvent_Power",
    "name": "IKEA_Single"
}

The configuration for long press is as follows (will fire SINGLE_PRESS using the DimmerMove value):
{
    "addr": "0xDA5C",
    "type": "sensor_8_5_StatelessProgrammableSwitch_ProgrammableSwitchEvent_DimmerMove",
    "name": "IKEA_Single"
}

Wow! Thanks a lot for taking the time to break it down for me. I’m on holiday right now, I’ll give it a try as soon as I get home. 😊

Resolved in #19


Document configuration options

Including how to configure API access, as per #35

Upping priority on this guy, as I've seen a number of users hitting troubles trying to configure the policy agent.


Update sdkman-help.sh

Added clarity to lines 28 and 29.  "default" and "use" do not work with version values, but they do work correctly with identifier values.  So when I run "sdk list java", I see version values and identifier values.  The help page should say "identifier", not "version", for better clarity.  Thank you.

Apologies for the misunderstanding, but maybe the correct move is to update the sdkman-candidates service and find some other naming for the Java list view columns. This is definitely meant to be the version.


Password example does not work

On subsequent save the password gets bcrypted again with this example :
 $form->saving(function($form) {
        $form->password = bcrypt($form->password);
    });

I think there are several ways to solve this, but this depends where you want to go with this:

keep all logic in the model and use a mutator in Administrator:

public function setPasswordAttribute($password)
    {
        if($password && $password != $this->password) {
            $this->attributes['password'] = bcrypt($password);
        }
    }

move the logic to the password field.

there is already a prepare method that returns the changed value, but we need access to the Form object in the FormFields. This can be handy for other formfields as well :
public function pushField(Field $field)
    {
        $field->setForm($this);

        $this->builder->fields()->push($field);

        return $this;
    }

It's just a example to show what saving() method can do.

I understand that.
But its a bit confusing as the example does not work and it is used in AdministratorController as well.
If my PR #13 is accepted, I should change the example and the stub to this :
    $form->saving(function(Form $form) {
        if($form->password && $form->model()->password != $form->password)
        {
            $form->password = bcrypt($form->password);
        }
    });

And maybe the value of password should not be populated from the database?

You are right ! I will update the readme.md and stub later.


Added baseline for new test

Matches UV-CDAT/uvcdat#1956

@chaosphere2112 I'm assuming somehow this has been merged some other way by now. Correct?

@doutriaux1 Looks like. Wonder what happened here!