[ADAP-1077] [Drops Table In Separate Transaction]  - Tables are dropped then the _tmp table renamed, causing other queries referencing the table to fail

Is this a new bug in dbt-redshift?

[X] I believe this is a new bug in dbt-redshift
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
Models with table materialization are dropped then the transaction is committed.  This causes queries referencing the refreshing model to fail if they run at the same time since the table doesn't exist.
I've tried setting autocommit: true  in profiles.yml to no effect.
Expected Behavior
The old behavior was to drop/rename in one transaction.
Steps To Reproduce
Run dbt run command in dbt-redshift >=1.7.1 (core >=1.7.3) against a table model.
dbt-redshift 1.6.5 (core 1.6.9)  runs in a single transaction
Relevant log output
[0m08:54:14.597104 [debug] [Thread-2  ]: On model.$$$$: BEGIN
08:54:14.646101 [debug] [Thread-2  ]: SQL status: SUCCESS in 0.0 seconds
08:54:14.669096 [debug] [Thread-2  ]: Applying DROP to: $$$$
08:54:14.671270 [debug] [Thread-2  ]: Using redshift connection "model.$$$$"
08:54:14.672171 [debug] [Thread-2  ]: On model.$$$$: /* {"app": "dbt", "dbt_version": "1.7.3", "profile_name": "redshift", "target_name": "$$$$", "node_id": "model.$$$$"} */
drop table if exists $$$$ cascade
08:54:14.719695 [debug] [Thread-2  ]: SQL status: SUCCESS in 0.0 seconds
08:54:14.723391 [debug] [Thread-2  ]: On model.$$$$: COMMIT

Environment
- OS: macOS sonoma
- Python: 3.8.13
- dbt-core: 1.7.4
- dbt-redshift: 1.7.1

Additional Context
No response

This is a regression that requires some design, hence the refinement tag. I believe the issue is that we moved from psycopg2 to redshift-connector. redshift-connector implements DBAPI2.0 correctly, which assumes execution of statements one at a time (you need to build the transaction manually if you want it). Whereas psycopg2 allows you to pass it multiple statements and it will automatically "wrap" it in a transaction. The assumption of the latter scenario exists in many places throughout dbt-redshift. This change was made in 1.5, so I'm a little surprised that this was working as a single transaction in 1.6. Perhaps it's the interaction of this scenario, along with the implementation of the replace set of macros that handles swapping tables with materialized views and vice versa.

@VersusFacit i added a backport label!

@gtmehrer Hey there! Thanks for the submission. Just an upfront disclaimer that autocommit is True by default.
I recreated your logs essentially as you described.
My model:
{{
config(
    materialized='table'
)
}}

select 2

The Logs
dbt-redshift 1.6.6
drop table if exists ***."dbt_mila"."basic__dbt_backup" cascade

dbt-redshift 1.7.3
drop table if exists ***."dbt_mila"."basic" cascade

But with autocommit: false, it seems you have the option for your particular workflow to obtain what you need.
dbt-redshift 1.6.6
drop table if exists "ci"."dbt_mila"."basic__dbt_backup" cascade

dbt-redshift 1.7.3
drop table if exists "ci"."dbt_mila"."basic__dbt_backup" cascade

Request for more info
Could you try with autocommit: False to see if that addresses your issue?

This causes queries referencing the refreshing model to fail if they run at the same time since the table doesn't exist.

What is your use case by chance? It's not immediately clear what your error is from this description or how it's being triggered, but I'd love to know more.
As in you have queries going that are looking for the model? If your workflow for this model uses autocommit: False even just as a one-off, that might just work!

There is an alternate possibility the team is exploring: It could be we need to remove some BEGIN/COMMIT barriers in special edge cases like this one you may have found. I have a PR up for that just in case. We'd still very much appreciate you trying the autocommit adjustment as a sanity check and providing more insight into your use case 🖖

@VersusFacit and I talked through this quite a bit and we're pretty sure we found the issue. The root cause is that we are setting a class variable on BaseRelation in such a way that it does not get properly updated at the implementation layer.
Diagnosis
We set renameable_relations in dbt-core here:
https://github.com/dbt-labs/dbt-core/blob/0a6d0c158e5a1956bd48e53793ca3b28faee2b34/core/dbt/adapters/base/relation.py#L44
and attempt to override it with the correct configuration for dbt-redshift here:
https://github.com/dbt-labs/dbt-redshift/blob/d77f5ee9561bf11eae56b2832340e3c11005b6f9/dbt/adapters/redshift/relation.py#L33
Unfortunately, because BaseRelation is a frozen dataclass, the override does not take affect. We didn't notice this in 1.6 because dbt-redshift uses the default table materialization in 1.6. However, we needed to use the renameable relations concept in 1.7 because of interactions between tables and materialized views. This required us to override the default table materialization to update this logic:
https://github.com/dbt-labs/dbt-core/blob/0a6d0c158e5a1956bd48e53793ca3b28faee2b34/core/dbt/include/global_project/macros/materializations/models/table.sql#L40
to include this conditional:
https://github.com/dbt-labs/dbt-redshift/blob/d77f5ee9561bf11eae56b2832340e3c11005b6f9/dbt/include/redshift/macros/materializations/table.sql#L40-L44
The issue is that existing_relation.renameable_relations is always empty, hence existing_relation.can_be_renamed is always False. The correct logic path passes the conditional, which would result in the original behavior from dbt-core. Instead, we run through the else path and drop the relation.
Demonstrating Test
The following test in dbt-redshift demonstrates the issue:
from dbt.adapters.redshift.relation import RedshiftRelation
from dbt.contracts.relation import RelationType

def test_renameable_relation():
    relation = RedshiftRelation.create(
        database="my_db",
        schema="my_schema",
        identifier="my_table",
        type=RelationType.Table,
    )
    assert relation.renameable_relations == frozenset({
        RelationType.View,
        RelationType.Table
    })

This test currently fails because relation.renameable_relations==().
Fix
We need to update this line:
https://github.com/dbt-labs/dbt-core/blob/0a6d0c158e5a1956bd48e53793ca3b28faee2b34/core/dbt/adapters/base/relation.py#L44
to use the field method like this:
https://github.com/dbt-labs/dbt-core/blob/0a6d0c158e5a1956bd48e53793ca3b28faee2b34/core/dbt/adapters/base/relation.py#L36
Since the default is a built-in (tuple), you should probably be able to avoid the lambda and do:
renameable_relations: SerializableIterable = field(default_factory=tuple)

While we're here, the same mistake was made in a related area on the next line of code:
https://github.com/dbt-labs/dbt-core/blob/0a6d0c158e5a1956bd48e53793ca3b28faee2b34/core/dbt/adapters/base/relation.py#L50
This should also use the field method to set the empty tuple as a default. The test should be updated (or a second one should be created) to check this is configured correctly as well.
The fix needs to be implemented in dbt-core>=1.6 and dbt-adapters>=1.8. The tests need to be implemented in dbt-snowflake>=1.6, dbt-redshift>=1.6, and dbt-bigquery>=1.7.
Risks
We've been operating under the assumption that we've been using the renameable_relations and replaceable_relations as expected. However, since these were both always False, we may be introducing new logic paths by fixing this bug. Put another way, resolving this bug is effectively implementing renameable_relations, replaceable_relations, and the associated replace macro in some places.

That is some great info @mikealfare and @VersusFacit 🧠
While we're in this area of code, here's one other thing that @VersusFacit and I noticed in https://github.com/dbt-labs/dbt-redshift/issues/693#issuecomment-1964399485:

in the last statement, my_model__dbt_backup is dropped if it exists.

It doesn't appear to ever get created, so it's a no-op. But it looks like it may be an unnecessary statement.
Maybe it will be naturally handled along with the other fixes?

I dont think it will be since it's an always drop. I think it's just a leftover artifact. I can make a trick to track dealing with this at some point :)

Thanks so much for digging into this!  @VersusFacit  I did try with autocommit set to both True and False with the same results either way.
Our use case is that we refresh many models frequently throughout the day, around every 30 mins.  Outside processes querying dbt managed tables will fail when they attempt to reference a table that has been dropped (when the transaction is immediately commited by dbt).  The table is generally only gone for a few seconds before it's recreated by another transaction so it's a little difficult to replicate without high query volume.
Also, it just occurred to me that we are using Redshift's snapshot isolation, which may result in a different error than serializable isolation would.  https://docs.aws.amazon.com/redshift/latest/dg/r_STV_DB_ISOLATION_LEVEL.html
Let me know if I can provide more info or help with testing!

We merged the fix today. We'll need to do a patch release before it's available on PyPI, which should happen in the next week. Feel free to install from branch 1.7.latest if you want to test it in the meantime.
Closing as resolved.

@mikealfare has the fix been included in dbt-redshift==1.7.5?
Thanks! 🙌

@mikealfare has the fix been included in dbt-redshift==1.7.5? Thanks! 🙌

It is. We published a few hours ago.

Thank you @mikealfare 🙌


Use content-disposition to get default filename

Closes #132
Reading the content-disposition header to set the placeholder name clicking "Send and Download".

look good! thanks!


Undefined Method onTenant

Description
So not being able to run the DailyMail as a scheduled command I am trying to use Laravel Job to get the mail sent.
So from the handle() of the command I am calling the job like this...

$repository = app(WebsiteRepository::class);
        $websites = $repository->all();

        foreach( $websites as $tenant ) {
            $environment = app(\Hyn\Tenancy\Environment::class);
            $environment->tenant($tenant);

            ProcessDailyNews::dispatch()->onTenant($tenant);

        }

Which throws the error

     Call to undefined method Illuminate\Foundation\Bus\PendingDispatch::onTenant()

I have also tried calling the job as recommended in the docs

   dispatch(new ProcessDailyNews())->onTenant($website);

Which gives me the same error.
In the command I have added the TenantAware job

<?php

namespace App\Console\Commands;

use App\Jobs\ProcessDailyNews;
use URL;
use Hyn\Tenancy\Traits\UsesTenantConnection;
use Hyn\Tenancy\Queue\TenantAwareJob;

use App\Modules\Mailmanager\Http\Controllers\MailManagerController;
use Hyn\Tenancy\Repositories\WebsiteRepository;
use Illuminate\Console\Command;

class AngieSenddaily extends Command
{

    use UsesTenantConnection, TenantAwareJob;

In the Job I have also added the TenantAwareJob and the job (for now) only adds a log info

<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Hyn\Tenancy\Queue\TenantAwareJob;

use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Facades\Log;

class ProcessDailyNews implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, TenantAwareJob;

    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        //
        $website   = app(\Hyn\Tenancy\Environment::class)->tenant();
        $hostname  = app(\Hyn\Tenancy\Environment::class)->hostname();
        Log::info('The Job has run on '.time());
        //dd( $hostname );
    }
}

I thought it might be that I have dont-discover set for this package (can't recall what problem I was addressing when made that decision.
"extra": {
        "laravel": {
            "dont-discover": [
                "hyn/multi-tenant",
                "crocodicstudio/crudbooster"

            ]
        }
    },

I removed that exclusion and tried again. To no end - still get the same error.
Any help on this would be greatly appreciated as I need this process to run as soon as possible.
Thanks again

Actual behavior
..
Expected behavior
I'd like the job to run and send mail using a Mailable class.

Information

hyn/multi-tenant version: 5.3
laravel version: 5.6
database driver and version: MySQL 5.x
webserver software and version: Apache
php version: 7.x

tenancy.php config

webserver.php config

Error log

You're very close:
dispatch((new ProcessDailyNews)->onTenant($website));

Thanks - that got me past the error and into the job.
Within the job I have no access to hostname and the url('/') still shows as localhost.

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        //
        $website   = app(\Hyn\Tenancy\Environment::class)->tenant();
        $hostname  = app(\Hyn\Tenancy\Environment::class)->hostname();
        Log::info('The Job has run on '.print_r($hostname));
        dd( url('/') );
        //dd( $hostname );
    }

"http://localhost"

Any ideas - I have no idea what to try next.
D.

might be related to #641


Sped up array/dictionary conversions and Fleece encoding

https://github.com/couchbase/couchbase-lite-ios/pull/1838

CBL iOS uses Objective-C Categories feature to improve the performance. Java does not support Categories as language level.


LOG4J2-3133: log4j-slf4j-impl provides new singleton accessors from slf4j-api 1.7.14

See https://github.com/qos-ch/slf4j/commit/ea3cca72cd5a9329a06b788317a17e806ee8acd0
and https://jira.qos.ch/browse/SLF4J-347

merged


Added GEOSEARCH BYBOX variation

Codecov Report
Base: 54.34% // Head: 54.34% // No change to project coverage :thumbsup:

Coverage data is based on head (b51dedc) compared to base (d569723).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #140   +/-   ##
=======================================
  Coverage   54.34%   54.34%
=======================================
  Files          23       23
  Lines        1599     1599
=======================================
  Hits          869      869
  Misses        730      730

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Stuck in initializing part

Hi!I have read the  "kubernetes-on-arm" I am stuck at initialize the master node . After I use the command "kubeadm init ". Every time the initialize process will stuck at "[apiclient] Created API client, waiting for the control plane to become ready" . Would anyone have solution or in a same condition and how could it be solved?

@JING21 Which operating system and platform are you running on?

I stuck the same as @JING21. I'm running on Ubuntu Mate 16.04 for Pi 3.
I have "missing cgroups: cpuset" too but I use --skip-preflight-checks.


Convert remaining Extensions to Observations where possible

Details: https://docs.google.com/spreadsheets/d/1i7UX0MV-VIHgNFu4qdKhIrK6-qLiwvOH/edit#gid=1487123901
The following fields to be converted to observations:

Client Middle Name
Comorbidity present
Conditions or Comorbidity
Test Requested
Other Reasons for testing

Client Middle Name already removed

Conditions or Comorbidity extension definition removed

Comorbidity present converted to observation

Other conditions: using condition.note , eliminated OtherConditions extension

Test requested extension removed, using ServiceRequest.code


Bahr-URIs

Please delete all URIs starting with: "https://hermanbahrtextverzeichnis" and "https://this-will-change/"
and instead upload these URIs:
https://docs.google.com/spreadsheets/d/1prs6ih08rQ5-n4OXotfMp6RMTWBDIYKtD-MF9sQ3Mwo/edit?usp=sharing

Merci!

Is it possible to change the type of the URIs containing "TSN-listperson" to something other than "bahr-textverzeichnis", maybe "bahr-TSN"?

just in case it would help: I have added a third column to the google-docs above containing the type of URI

I guess by "type" you mean domain? Sure, can do. Btw, what does TSN stand for?

Great! I'm talking of the TEI-export, there it is "@subtype".
TSN = Tagebücher, Skizzenbücher, Notizhefte; the title of the books for which the index is for

This did not work properly, now all URI-Domains are renamed to "bahr-tsn" while it should be:
bahr-textverzeichnis: https://bahr-textverzeichnis.acdh.oeaw.ac.at/pmb122567.html
bahr-TSN: https://bahr-textverzeichnis.acdh.oeaw.ac.at/TSN-listperson.html#pmb159046


Provide CPU percentage for container metric

Love that DEAs send container metrics.  However, it appears that DEA doesn't send a percentage for cpuPercentage.  Diego doesn't send a real percentage either but they do send an aggregate percentage per core.
Max value in Diego is 100 * Cores
Max value in DEA is 1 * Cores
At the very least I'd like Diego and DEA to send comparable values.
Mike

Actually it does/will. The DEA will send avg_cpu_load. See https://github.com/cloudfoundry/dea_ng/commit/48c96a514b4814047e4b22144d177e738d33c76c
I struggle with that value since you don't know the max amount of CPU nor the available CPU. But I guess it's a question of what you plan to do with the data.

@fraenkel Great!  Just to clarify, I'm on cf-release 234 now and get DEA container metrics.  How does https://github.com/cloudfoundry/dea_ng/commit/48c96a514b4814047e4b22144d177e738d33c76c change the metrics?  My hope with this issue is to change DEA so it emits a value for cpuPercentage that I can log and compare against what Diego sends.
  Will https://github.com/cloudfoundry/dea_ng/commit/48c96a514b4814047e4b22144d177e738d33c76c make it so the container metric shows 400.00 like Diego today or will the value be 4.0000 like it is today in 234?

So we are talking about different things.
The commit delivers avg_load of the host.
The DEA computes the cpu percentage for each container, whereas Garden provides the usage from the cgroup.

@fraenkel Got it.  So, yes I'm referring to the loggregator container metric sent for each container.  Would it be possible to simply multiple the value DEA provides for cpuPercentage by 100 so the number is closer in value to what the rep reports from Garden?  Or is it not that simple?

It should be similar, they multiply by 100, however we both have different issues in our math that affect the accuracy, i.e., how we determine the time span between data collection.
We can easily multiply by 100 but we would need to know if that will break anyone.

@fraenkel Great.  I think it would be useful if the numbers were somewhat similar.  It would make my monitoring much simpler anyway.
Hopefully the DEA publishing container metrics is new enough of a feature that it won't break too many people.

Fixed in the next release.


Add Planetary Station Cores from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of Jatwaa, to add Planetary Station Cores to CKAN.
Mod details:
name = /mod/1915/Planetary%20Station%20Cores
author = Jatwaa
abstract = Every wanted to use Venus, Jupiter or even Uranus as your station or probe core. Well now you can use Uranus as a probe all you would like with Planetary Station Cores!
license = MIT
Homepage =
description = What can you do with this mod? Make your own Solar System! Make a Station Core! Fly using Pluto as a fuel tank! Dive the depths of the ocean with Neptune!
Each planet as well as Pluto and Luna (the moon) has been created into a Station Core with varying amounts of resources and torque based on size.
Need a giant base for Jool? Why not start with a Jupiter Class station core? Going to Eve? Why not take Venus with you?
Each planetary body has it's own rotation that will not affect the connected parts.
Most importantly, have fun and SCIENCE!
Please direct questions about this pull request to Jatwaa.

This was added in #6686.


Removed a debug entry

It had a method created to debug, just removed it.

@dj-wasabi I Left a debug entry there sorry :(

No worries. Thanks again! :+1:


"Hicx" company- the scraper does not work

URL: https://admin.peviitor.ro/
Browser: Chrome
Device: Laptop
OS: Windows 11
STEPS TO REPRODUCE:

Open the URL in the browser
Search for company "Hicx"
Click on "Vizualizeaza joburi"

EXPECTED RESULTS:
The scraper should run without issues.
ACTUAL RESULTS:
The scraper is no longer working since 19 September.

Fixed...


dot import of top-level files doesn't work

import unseal
unseal.transformers_util.method.(...)

fails with error that the module can't be found, whereas
from unseal.transformers_util import method
method(...)

works

Fixed by sam500 on Develop/0.2.2


refactor: various fixes to testing code

Feature or Problem

This commit refactors some of the testing code to:

ensure we always print integration test output (save time root causing in CI and elsewhere)
consistent use of TARGET to choose which test to run
use system provided randomized ports (port 0)
fix some uses of context
remove some process scanning that was never used

This commit also includes changes test flake fixes from https://github.com/wasmCloud/wash/pull/921
Related Issues

Release Information

Consumer Impact

Testing

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin
[ ] x86_64-windows

Tested on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin
[ ] x86_64-windows

Unit Test(s)

Acceptance or Integration

Manual Verification

Hey @connorsmith256 thanks for taking a look, just fixed the conflict! :bow:


Big Ledger Peers

Description
The PR contains a few set of changes:

some initial changes (refactoring)
static big ledger peers
extending peer selection tests
introduction of IsBigLedgerPeer
refactoring of mini-protocol callbacks which we accept: we use different context for initiator / responder sides which arguments provide extra information about the connection (things like ConnectionId or IsBigLedgerPeer for the outbound side): ExpandedMiniProtocolContext, MinimapProtocolContext and ResponderMiniProtocolContext.
refactoring of the diffusion tests (sim-net), which allows us to test big ledger peers
when I was working on that I found a bug in connection-manager which resulted in wrong transitions when a node connects to itself

This PR is addresses most of the task of #3886.
TODO:

[X] add e2e tests for big ledger peers
[x] churn big ledger peers
[ ] updated the spec:

[x] add SelfConn
[ ] add SelfConn^{-1}
[ ] add InboundState^{\tau} Unidirectional -> OutboundState Unidirectional

Checklist

Branch

[x] Commit sequence broadly makes sense
[x] Commits have useful messages
[ ] The documentation has been properly updated
[x] New tests are added if needed and existing tests are updated
[ ] Any changes in the Consensus API (every exposed function, type or module) that has changed its name, has been deleted, has been moved, or altered in some other significant way must leave behind a DEPRECATED warning that notifies downstream consumers. If deprecating a whole module, remember to add it to ./scripts/ci/check-stylish.sh as otherwise stylish-haskell would un-deprecate it.
[x] If this branch changes Network and has any consequences for downstream repositories or end users, said changes must be documented in interface-CHANGELOG.md
[ ] If serialization changes, user-facing consequences (e.g. replay from genesis) are confirmed to be intentional.

Pull Request

[ ] Self-reviewed the diff
[x] Useful pull request description at least containing the following information:

What does this PR change?
Why these changes were needed?
How does this affect downstream repositories and/or end-users?
Which ticket does this PR close (if any)? If it does, is it linked?

[x] Reviewer requested

Fixes #3924

Currently we only wait for 1s between decreasing the target and increasing. We have seen cases during high load where this didn't trigger a churn because the governor didn't notice the changed target before it was restored. If we first churn bigLedger peers and then churn normal peers we can afford to wait longer, possibly even wait for confirmation that the governor has taken action, before we restore the targets.

@karknu what if we wait for the confirmation but timeout it, and if the timeout happens we ask the governor to close some connections in uncooperative way. At least for the big ledger peers it's essential that churn is effective.  If that will be the case then do we need still to split them into two parts?  The advantage is that we can use different timeout for big ledger peers (a shorter one).

Currently we only wait for 1s between decreasing the target and increasing. We have seen cases during high load where this didn't trigger a churn because the governor didn't notice the changed target before it was restored. If we first churn bigLedger peers and then churn normal peers we can afford to wait longer, possibly even wait for confirmation that the governor has taken action, before we restore the targets.

@karknu what if we wait for the confirmation but timeout it, and if the timeout happens we ask the governor to close some connections in uncooperative way. At least for the big ledger peers it's essential that churn is effective. If that will be the case then do we need still to split them into two parts? The advantage is that we can use different timeout for big ledger peers (a shorter one).

I like the idea of having the governor confirm that it has taken action. However I still don't see the point of doing the churning of hot normal peers and ledger peers in parallel. We want to do this once per hour, so we have time to let them run sequentially. Running the churning sequentially means that the node doesn't loose between 20% - 100% of its normal peers and 20% - 50% of its big peers at the same.

@karknu you're right let's do that sequentially.

Looks good to me! Still need to finish updating the spec, though!


python pptx not extracting all the text from the slide

I am trying to use python-pptx to extract all the text in a given slide.

But it is missing some text from some text boxes.

code:
from pptx import Presentation

   def getPptContent(path):
     prs = Presentation(path)
     text_runs = []
     for slide in prs.slides:
         for shape in slide.shapes:
             if not shape.has_text_frame:
                 continue
             for paragraph in shape.text_frame.paragraphs:
                 for run in paragraph.runs:
                    text_runs.append(run.text)
     return text_runs

But it is missing some text, but when I try to print the contents of the slide
from slide._element I can see the missing text in the xml
Any suggestions will be helpful

A shape can be a group shape which can contain other shapes.
So you need to recursively descend into group shapes (which can be nested multiple layers deep).
Have a Google on "python-pptx traverse group shapes" and you should find what you need, this one for example: https://stackoverflow.com/questions/51701626/how-to-extract-text-from-a-text-shape-within-a-group-shape-in-powerpoint-using


find_package(Vorbis REQUIRED) fail quietly

Subject of the issue
find_package(Vorbis REQUIRED) fail quietly, and make fail configuration later in the process
CMake is case-sensitive however VORBIS is used instead of Vorbis in FindVorbis.cmake file which cause it to not see the Vorbis_FIND_REQUIRED which should make the configuration failed on find_package(Vorbis REQUIRED) and not later when using variables
Possible fixes

Change FindVorbis.cmake to FindVORBIS.cmake and use find_package(VORBIS REQUIRED) instead
Use Vorbis* variables instead of VORBIS* ones in FindVorbis (requires to fix cmake using old variables)

Your environment
OS:Ubuntu 18.04
SFML: master(80c3bdc23c1874494196bbf8a481a859712ece88)
Compiler: Not relevant
Steps to reproduce
Have libvorbis installed without libvorbis-dev
Expected behavior
CMake Error at /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find Vorbis (missing: VORBIS_INCLUDE_DIR VORBIS_LIBRARY
  VORBISFILE_LIBRARY)

Actual behavior
CMake Error at cmake/Macros.cmake:333 (message):
  Missing item in
  VORBISENC_LIBRARY-NOTFOUND;VORBISFILE_LIBRARY-NOTFOUND;VORBIS_LIBRARY-NOTFOUND;/usr/lib/x86_64-linux-gnu/libogg.so

Looking at FindVorbis.cmake, the uppercase CMake package VORBIS is searched, and variables referring to it also use upper case:
find_package_handle_standard_args(VORBIS DEFAULT_MSG VORBIS_LIBRARIES VORBIS_INCLUDE_DIR OGG_INCLUDE_DIR)
set(VORBIS_INCLUDE_DIRS ${OGG_INCLUDE_DIR} ${VORBIS_INCLUDE_DIR})

The Vorbis package is found at this line in the Audio config:
sfml_find_package(Vorbis INCLUDE "VORBIS_INCLUDE_DIRS" LINK "VORBIS_LIBRARIES")

But here we use the uppercase variables as exported in FindVorbis.cmake. If we changed the line to sfml_find_package(VORBIS..., then the filename FindVorbis.cmake would not match anymore.
Where exactly is the conflict?

The conflict is between sfml_find_package(Vorbis and find_package_handle_standard_args(VORBIS
Cause find_package_handle_standard_args will search in VORBIS_FIND_REQUIRED instead of Vorbis_FIND_REQUIRED which is set by find_package(${target} REQUIRED) where target is Vorbis

Thanks for the elaboration. I was looking at other find modules which are not all-uppercase (FindFreetype.cmake, FindUDev.cmake), and the problem doesn't exist there, because the FREETYPE_FOUND/UDEV_FOUND is set manually and not through a call to find_package_handle_standard_args().
I added a pull request, could you check if that branch works for you?

Seems to work I correctly get 👍
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find VORBIS (missing: VORBIS_INCLUDE_DIR)


Translation + download

What feature do you want?
Hi,
does anybody know where to download .apk file? Please, give us a link into README.md or start using GitHub Releases.
And I would also like to know where I can translate this project.
Alternatives?
I have found multiple links where to download and I'm not sure which is correct.
I have no idea where to translate.

Ok, I've got the link, but I stil wanna translate.

After downloading, I figured out that the lang I wanted is already implented. So I don't wanna translate (I wanted to translate only to that lang).


Docs

Update docs for ezmsg 3.0. View at https://ezmsg.readthedocs.io/en/docs/index.html

goodness I was late with this; sorry @hannahgooden


No successful evaluation is run

I0930 20:10:24.557036<PHONE_NUMBER>98720 controller.py:277]  eval | step:  214501 | running complete evaluation...
eval | step:  214501 | running complete evaluation...
I0930 20:10:27.645429<PHONE_NUMBER>98720 controller.py:290]  eval | step:  214501 | eval time:    3.1 sec | output: {}
eval | step:  214501 | eval time:    3.1 sec | output: {}
No evaluation is actually conducted...

I also met this problem, and my fk_path and data_files are correct. Did you solve this problem?

Is this a complete evaluation process?

I also met this problem, and my fk_path and data_files are correct. Did you solve this problem?

@wang-zm18  Hello, the result of the code is the data in NPY format. I found that to form a smpl model, do I need to convert NPY format into PKL format first? I want to visualize the results. Is this the process? Looking forward to your reply, thank you very much!

I also met this problem, and my fk_path and data_files are correct. Did you solve this problem?

@wang-zm18 Hello, the result of the code is the data in NPY format. I found that to form a smpl model, do I need to convert NPY format into PKL format first? I want to visualize the results. Is this the process? Looking forward to your reply, thank you very much!

How to visualize the results of NPY files? Have you solved it?


ServerPingerFixer

CurseForge link
- (unknown)
CurseForge Mod Distribution
Unknown
Modrinth link
https://modrinth.com/mod/serverpingerfixer
Source/other link
https://github.com/JustAlittleWolf/ServerPingerFixer
Mod file size
6.98 KB
License
(any other license)
What it does
Improve multiplayer menu server pinging by increasing the max pinging threads and clearning the pinging threadpool when refresh is clicked again.
Slightly accelerates pinging + fixes the ages-old vanilla bug of all server pings failing if you spam-click refresh (which also still exists in FO)
Why should it be in the modpack

small size
simple fix to a simple issue that shouldn't exist

Why shouldn't it be in the modpack

not on curseforge
the issue that it solves is quite minor
some servers block/rate-limit pings when spamming refresh anyway, so they still time out

Additional details
No response

Bug or not, if this isn't in vanilla, then servers may not expect it and cause negative effects, just like you said

some servers block/rate-limit pings when spamming refresh anyway, so they still time out

not marked as 1.20.4-compatible

Bug or not, if this isn't in vanilla, then servers may not expect it and cause negative effects, just like you said

Negative effects:

same as without mod (missing server motd)

You can refresh spam server motd in vanilla Minecraft if servers in your serverlist are respond quickly enough. It is hard to take down server by DDoSing it, so ~10 refreshes per second will not affect server performance in any way.


add print.key property for example

Needed to add --property print.key=true for example

ping @confluentinc/streams

@bbejeck : What's the status of this old PR?

done and merged with pint


Seamless switching in between specialty bots

Currently, in order to switch from one specialty bot to another, first we need to type in a phrase like exit, quit or bye, and then, type in a triggering phrase to start routing to another bot. This is a little inconvenient since users most likely wouldnt chat with a chatbot and type exit and then ask queries for another category. I tried to achieve seamless switching by adding a exit_routing intent in my specialty lex v1 bots and adding a fulfillment lambda in that intent, so that whenever the user enters an utterance matching with that intent, the routing is stopped and also that utterance would work as a triggering phrase to start routing to another bot. I'm able to stop the routing in the current bot but routing to the other bot is not working. How can I do this?

We will analyze this for prioritization and keep you updated.

Hi @ARUNIMA1314, this issue should be addressed with the latest release v6.0.0 from changes in #726. To provide you with additional details of this mechcanism, if you notice on line 475, the dialog state of Fulfilled or Close will exit and provide welcomeBackMessage message. I'd recommend to try this functionality in 6.0.0 and let us know if you still have any questions or concerns. For now, I will archive this issue.
Please refer to CHANGELOG for additional details about this release. Thank You!


New instances don't clear scope defined variables

from infoblox import Session, Host
...
to_add = Host(session)
to_add.add_ipv4addr('<IP_ADDRESS>')
to_add.name = "host1.domain.com"
to_add.save()

to_add = Host(session)
to_add.add_ipv4addr('<IP_ADDRESS>')
to_add.name = "host2.domain.com"
to_add.save()

host2.domain.com that was created as a new instance will have 2 addresses, <IP_ADDRESS> and <IP_ADDRESS>

This happens because many of the attributes within the classes are defined as class attributes rather than instance variables.  Class attributes are shared between all instances of a class.  This causes the behavior you are observing.
A horrible work around would be to import the infoblox module local to a method that needs it.
Here is a quick hack before I cried and went to another library.
def create_host(name, ip):
    import infoblox
    infoblox_session = infoblox.Session(opts['host'], opts['username'], opts['password'])
    print "Creating record for Name:%s ip:%s" % (name, ip)

    host = infoblox.Host(infoblox_session, name=name)
    pprint.pprint(host)
    host.add_ipv4addr(ip)
    pprint.pprint(host)
    create = host.save()
    if create:
        return True
    del host


OCPBUGS-27741: Reject Invalid Route Paths with Rewrite-Target Annotation

Reject routes with the rewrite-target annotation set and a spec.path that would cause HAProxy startup failure. This solution maintains compatability for the rewrite-target annotation while only rejecting routes with problematic configuration. Additionally, add warnings to indicate to users that their route configuration with rewrite-target may produce unexpected results.

/close
Closing this validation-based solution per https://redhat-internal.slack.com/archives/CE4L0F143/p1731457080877289?thread_ts=1724811034.801219&cid=CE4L0F143


[6.0] drop overload groups from curation if the overloads were manually curated

Explanation: Drops overload groups from automatic curation if all the constituent overloads are manually curated, to avoid creating unnecessary new pages in a curation hierarchy.
Scope: UX improvement for an experimental feature
Issue: rdar://126273913
Original PR: https://github.com/apple/swift-docc/pull/913
Risk: Low. The code path only affects the optional overloads feature, and the modification is minor.
Testing: Automated testing has been added to verify the desired behavior.
Reviewer: @d-ronnqvist

@swift-ci Please test


add Grunt support including ESLint

Motivation:
The goal of this task is to add grunt tasks to this project. The first
step is adding Grunt support.
Modifications:
Added Grunt and ESLint support and also enabled ESLint to be run as part
of Travis CI.
JIRA:
https://issues.jboss.org/browse/RAINCATCH-187

To test this you can pick an existing Raincatcher module that currently uses the npm scripts. For example raincatcher-user. From the raincatcher-user directory run:
$ npm install --save-dev<EMAIL_ADDRESS>--registry http://npm.skunkhenry.com
$ npm install

Add the loading of the task to Gruntfile.js:
grunt.loadNpmTasks('fh-wfm-template-build');

Try the build task:
$ grunt wfm_build --debug --module=wfm.user.directives

Try the watch task:
$ grunt wfm_watch --debug --module=wfm.user.directives

Touch one of the templates to trigger a rebuild:
$ touch lib/angular/template/worker-form.tpl.html

Try the above commands but this time with the configuration in Gruntfile.js
module.exports = function(grunt) {
  'use strict';
  const moduleName = 'fromlet';

  grunt.initConfig({
    eslint: {
      src: ["lib/**/*.js"]
    },
    wfm_build: {
      options: {
        module: moduleName
      }
    },
    wfm_watch: {
      options: {
        module: moduleName
      }
    }
  });
  grunt.loadNpmTasks('fh-wfm-template-build');
  grunt.loadNpmTasks("grunt-eslint");
  grunt.registerTask('default', ['eslint']);
};

@paolobueno Would you be able to take a look at this and see what you think?

Its interesting if we can use some @Injection here and replace all directives with values

Not quite sure what you mean. Are you referring to Angular directives?

LGTM


Python 3.9 is not supported by pyproj 2.6.1.post1

pyproj 2.6.1.post1 documentation: https://pypi.org/project/pyproj/2.6.1.post1/
When upgrading from 1.x to 2.x, there were some significant changes, such that code that had previously run quickly was taking hours (see https://github.com/Breakthrough-Energy/PostREISE/pull/154). Hopefully, we will not run into such challenges going from 2.x to 3.x.

Pyproj has been updated, bug resolved


Correct logHomeLayout conversion

The schema conversion webhook was previously wrong regarding logHomeLayout.
The v9 default is ByServers; however, the v8 behavior was Flat. Therefore, the upgrade behavior needs to set logHomeLayout=Flat. It also needs to remove logHomeLayout on conversion back to v8 and preserve values that are not Flat.

I assume the 4.0 release notes should be updated too?

4.0 release notes should be updated too?

I'm planning on mentioning this as a resolved issue in the 4.0.4 release notes.


Create 004-Identifying-packages-in-npm.md

I am not sure whether I am overcooking this one. Early draft for a mechanism to identify packages when pushed to a single package registry like the Github Packages

Codecov Report

Merging #493 (03bea20) into develop (0db7480) will decrease coverage by 0.60%.
The diff coverage is 72.72%.

@@             Coverage Diff             @@
##           develop     #493      +/-   ##
===========================================
- Coverage    81.17%   80.56%   -0.61%
===========================================
  Files           33       34       +1
  Lines         1126     1158      +32
  Branches       200      206       +6
===========================================
+ Hits           914      933      +19
- Misses         212      225      +13

Impacted Files
Coverage Δ

...werscripts-cli/src/utils/get18DigitSalesforceId.ts
21.42% <21.42%> (ø)

packages/core/src/package/PackageDiffImpl.ts
92.50% <77.77%> (+0.19%)
:arrow_up:

...rscripts-cli/src/impl/release/ReleaseDefinition.ts
93.75% <93.75%> (ø)

Continue to review full report at Codecov.

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

This will be really helpful to introduce and option in decision sounds great. FWIW from my perspective having packages reflecting branch names in registry has some benefits - branches evolve in parallel and it's helpful to see the sequence of version numbers separated by branch (I'm using Github packages, in case that's relevant to UI considerations)


Add helper script for generating dnsmasq workaround site-policy

Added helper script to generate a section that can be added to an SNO site-policy to override the 50-master-dnsmasq-configuration from the assisted installer, until the necessary changes are available in ACM.
/cc @tsorya @alosadagrande

Used the policy successfully so lgtm. I would also create a generate_machineconfig function so you can choose between configure the dnsmasq via ACM policy or just apply the machineconfig as day2 operation.

Used the policy successfully so lgtm. I would also create a generate_machineconfig function so you can choose between configure the dnsmasq via ACM policy or just apply the machineconfig as day2 operation.

@alosadagrande Added --mc option to generate machine-config instead

/cc @jc-rh


Enhancement: internationalization support

Is it planned to make static labels as a part of ui component configuration?

Hello @aharadkou. Yes I plan this, but it has a low priority now. The highest priority has features of clients under the consulting service. So if you want to speed up this, please contact us.

@b4rtaz Clear, thanks


customise enableSearchEditorPreview behaviour

With the enableSearchEditorPreview is on the search results are displayed in a new open editor,
it is bothersome that when closing this editor vscode prompts, that if you want to save this file or not.
a boolean setting would be nice with a false default like so:
canSaveSearchEditorPreviewToDisk

\duplicate #86191

See #86191


ComboBox UseFloatingWatermark Issue

What steps will reproduce this issue?
Setting up properties for ComboBox:
TextBoxHelper.UseFloatingWatermark="True"
TextBoxHelper.Watermark="some not floating text"

While it is not editable. (IsEditable="False")

Expected outcome
ComboBox should behave like TextBox in the example shown above, with IsEnabled="True". While it is not editable, after selection was made, watermark should appear in the corner of the Control.
Example from gif:
https://github.com/oskarkaczmarek/MahAppsIssueCB.git
Environment

MahApps.Metro v1.2.4
Windows 8.1
Visual Studio 2015
.NET Framework 4.5.2

Please add the DatePicker as well, it has the same issue.

@shawnshaddock DatePicker has this in pre-release.

Both works great, thank you.

Awesome can't wait to try it out, thanks!
On Jul 22, 2016 8:11 AM, "Oskar Kaczmarek"<EMAIL_ADDRESS>wrote:

Both works great, thank you.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MahApps/MahApps.Metro/issues/2584#issuecomment-234527683,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGnZIK31Y5-HJuD8uzthDadfimaHiVkPks5qYLN_gaJpZM4JNU1W
.


variable intervals

accommodate situation where the intervals are variable

This is something we need to figure out - right now they are generated randomly, so I think that it's not something we can track in the metadata and I would expect it to be represented in the data itself. Honestly, I'm not sure this level of information should be in the metadata and should be in the stimulus table in the NWB file.


Least Commmon Divisor in C++

This is a(n):

[x] New algorithm
[ ] Update to an existing algorithm
[ ] Error

Details:
Here I'll be finding the LCM of 2 Numbers using C++ language

Hey @Princeton21 please assign me this issue

hey @Princeton21 can you assign me this issue, the cpp version of this code is not present in the repo, i have the code ready, so please assign me this

@Princeton21  i by mistake(LCD) added the file yesterday without the issue being assigned, now i have uploaded the new file(LCD2), pls check it once


1.19.1-rc1 stuff

RunningTaskScreen renamed due to Mojang refactor on usage.

Many merge conflicts :)

@modmuss50 Actually this PR can just be closed, since #3227 is based on this PR and thus contains all changes from this :P

Ah nice, that makes things easier. Thanks 👍


Zlib ng

Make sure qpdf works with an alternative zlib.

First push: work is incomplete. I want to make sure the zlib-ng tests fail in CI.


chore: update docs and internal tooling

improving docs and fixing some issues with internal tooling

:tada: This PR is included in version 3.0.0-beta.31 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


Multiple OpenVPN Servers and Firewall Rules

If I define multiple OpenVPN servers, I still only see one OpenVPN Tab in the firewall ruleset. Is this supposed as it should be? How do I setup different rules for the OpenVPN interface? To which interface of the two OpenVPN interfaces do the rules apply?
Or is it maybe a combined view on all OpenVPN interfaces? If so, what is the OPENVPN_NET alias when? which of the two interface networks? Or is this also combined?
It would be great if I could get a bit insight in how this is supposed to be used with multiple servers (I need to configure three of them: one roadwarrior and two tunnel endpoints...)

@fenderle yes, you're supposed to see one tab for openvpn. you can use different networks to keep them apart.
In case you want to use specific rules for roadwarrior clients, you can enforce policies using     client specific overrides.
We have an excellent forum available at https://forum.opnsense.org/ can you please use that for discussions?

Alright - thanks for answering anyway.


Buming odo version for release

Signed-off-by: Mohammed Zeeshan Ahmed<EMAIL_ADDRESS>

/hold

/lgtm cancel

Reason https://github.com/openshift/odo/issues/4281#issuecomment-776085277

/hold cancel
No need to block release for this. We can't remove support for existing s2i LocalConfig components we don't know how many people use it. We can't risk breaking existing components.

/test v4.6-integration-e2e

 [ssh:Fedora 32] [odo]  ✗  Waiting for component to start [5m] [WARNING x7: Failed]
[ssh:Fedora 32] [odo]  ✗  Failed to start component with name arjsby. Error: Failed to create the component: error while waiting for deployment rollout: timeout while waiting for arjsby deployment roll out\nFor more information to help determine the cause of the error, re-run with '-v'.
[ssh:Fedora 32] [odo] See below for a list of failed events that occured more than 5 times during deployment:
[ssh:Fedora 32] [odo]
[ssh:Fedora 32] [odo]  NAME                                      COUNT  REASON  MESSAGE
[ssh:Fedora 32] [odo]
[ssh:Fedora 32] [odo]  arjsby-5d6ff59fc6-r487l.16629cba447eb118  7      Failed  Error: secret
[ssh:Fedora 32] [odo]                                                           "arjsby-etcdcluster-example"
[ssh:Fedora 32] [odo]                                                           not found
[ssh:Fedora 32] [odo]
[ssh:Fedora 32] [odo]
[ssh:Fedora 32] Deleting project: dhblyehqdf
[ssh:Fedora 32] Running odo with args [odo project delete dhblyehqdf -f]

#4301
/override ci/prow/v4.6-integration-e2e

/lgtm

/refresh

/refresh

It appears the bot has forgotten to merge this PR. It satisfied the conditions for merge, 3 hrs ago.
So taking action and merging manually so i can actually initate release today


R CMD Check

Currently failing due to inclusion of emojis.
❯ checking R files for non-ASCII characters ... WARNING
  Found the following file with non-ASCII characters:
    connection-pane.R
  Portable packages must use only ASCII characters in their R code,
  except perhaps in comments.
  Use \uxxxx escapes for other characters.

Either:

Remove warning and allow check to pass
Remove emojis (optional: find alternative way to have connections pane change colour etc)

Should be able to add dataset to package that maps emoji's to categories as a list then use as a mapping to circumvent the check.


How to get a list of tables created by .table()

I create a table using db.table(). But when I use
db.prepare("select name from sqlite_master where type='table'").all();

The result is empty, how to get a list of current tables?

There's a small chance you are confusing things: db.table creates eponymous-only virtual tables that can be used as table-valued functions. If you want to create a regular table, use regular CREATE TABLE syntax via db.exec.
From what I can tell there is not trivial way to list all eponymous-only virtual tables defined on the current connection.

There's a small chance you are confusing things: db.table creates eponymous-only virtual tables that can be used as table-valued functions. If you want to create a regular table, use regular CREATE TABLE syntax via db.exec.
From what I can tell there is no trivial way to list all eponymous-only virtual tables defined on the current connection. They are not part of sqlite_master or sqlite_schema.

Thank your explanation.


Facelift of splash screens, adding "Digital Cash" tagline

Thanks go to @raze 👍

Nice :)
I have few notes/questions though:

drkblue is the theme with these arrow-ish things all the way through, see background https://github.com/dashpay/dash/blob/21f6952bb37a6435a2248a0c0982a274396ec930/src/qt/res/images/drkblue/drkblue_walletFrame_bg.png and about dlg https://github.com/dashpay/dash/blob/21f6952bb37a6435a2248a0c0982a274396ec930/src/qt/res/images/drkblue/about.png It also has it's own light-blue color scheme (for mainnet). IMO new splash screen style doesn't fit there and we should just keep the old one. The same is more or less true for trad theme too but this one has image only for about dlg and no background. (trad theme also needs some attention btw, it's a mess with transparent sync progress dlg right now @crowning-)

Why testnet screens are green now? We used to match splash screen main color to tray icon color, so we should either keep old color for splash screen or update icon color and make it gree too imo.

Agree w/ @UdjinM6 , esp. point 2. The green on testnet looks strange, being used to orange for so long now.

Green is probably a result of bitcoin core influence ;) It has light green btc logo for testnet and light blue for regtest. I'm fine with either color, I'm a bit concerned with color inconsistency this PR brings so far - we should either fix testnet (desktop and tray) icons too or leave the color for testnet splash screen as is it imo.

Pushed orange testnet splash screens, please review :)

Ok, colors look better now :)
What about drkblue theme?

Lets leave drkblue theme untouched then, I'll revert it 👍


metav1.Duration doesn't parse d, w; conflicts with kubebuilder format=duration validation

Despite validation of type=duration being documented as parsed by time.ParseDuration, which is what the unmarshaller does, it is actually parsed by strfmt.ParseDuration, which is more lenient in that it accepts d (days) and w (weeks).
The result is that the round trip is broken: go type => CRD => CR with d or w => apiserver validation (accepts d/w) => etcd => GET => unmarshal (blows up on d/w) => go type.
Example of such a CRD struct field definition.
And a BZ that uncovered the problem.
cf. https://github.com/kubernetes/apiextensions-apiserver/issues/56

Possible solutions:

Have metav1.Duration.UnmarshalJSON use (an equivalent of) strfmt.ParseDuration instead of time.ParseDuration. Note that the former is a superset of the latter -- i.e. this is guaranteed not to reject existing working strings.
Add a type to metav1 ("ScalaDuration"?) that uses the more lenient parser.

/remove-lifecycle stale

/remove-lifecycle rotten


[BUG] Memory usage doesn't drop

I have noticed that in my server, when the song stops the memory doesn't drop, and when I play another song the memory goes up, but never down. I have to restart the server so it doesn't overload and crash.
When i login to the server after 1-2 days, the memory percentage is like 80% and nobody uses the bot.

OS: Ubuntu 20.04.4 LTS
Node Version: 18.4.0
Module Version: 8.3.2

Hey, can I see your index file & play command (mostly event handler).

play command (slash):
const { SlashCommandBuilder } = require('@discordjs/builders');

module.exports = {
	data: new SlashCommandBuilder()
		.setName('play')
		.setDescription('Plays or adds a song to the playlist.')
        .addStringOption(option =>
            option.setName('search')
                .setDescription('Search term or url')
                .setRequired(true)),
	async execute(interaction, discord, client) {
        interaction.ismessage = false
		await interaction.deferReply()
		if (!interaction.member.voice.channel) {
            interaction.editReply("You must be in a voice channel to use this!")
            return
        }

        args = interaction.options.getString('search');
        console.log(args)
        let queue = client.player.getQueue(interaction.guild.id);
        if (queue == null) queue = client.player.createQueue(interaction.guild.id);
        queue.setData({
            'message': interaction
        })

        if (args.search("/playlist") !== -1) {
            await queue.join(interaction.member.voice.channel)
            let song = await queue.playlist(args
            ).catch(err=>{
                interaction.editReply("No playlist was found!")
            })

        } else {
            await queue.join(interaction.member.voice.channel)
            await queue.play(args).catch(err => {interaction.editReply("No song with that name was found"); console.log(err)})
        }
},
};

What do you mean event handler, which one?

cnr, can you provide a source url?


DynamoDB object persistence of class hierarchies

I'm using the object persistence model as documented here: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DotNetSDKHighLevel.html in V2 conversion schema mode as documented here https://blogs.aws.amazon.com/net/post/Tx2TCOGWG7ARUH5/DynamoDB-Series-Conversion-Schemas
I have a class hierarchy (as in, class Animal; class Dog : Animal; class Cat : Animal) that share some base properties but also have their own properties in the derived classes. I'm mapping them all to the same table using DynamoDBTable as the documentation mentions you can do here: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DeclarativeTagsList.html
So, although it is possible to store the objects and it saves all the properties. However, if I try to load them out with context.Load(...), it will only try to deserialize into the parent class. This either means I lose the child properties, or if Animal is abstract I get an InvalidOperationException. It would appear that I actually need to know ahead of time what type object is before deserializing it, which doesn't easily work if query/scan the table rather than just loading a single object..
With most ORMs, you can get it to save a type discriminator column so that it knows what type to deserialize into at runtime.

This is a limitation of the Object Persistence Model: source type is not stored and you must explicitly specify the non-abstract class that the item should be serialized into. All of the functionality of the DynamoDBContext is implemented with this in mind. For example, if you specify the base class as the type for Scan, but then attempt to use a property that is present only on a child class, the context will throw an exception because it is unable to find the child property, which it needs in order to understand how to convert the property value.
That being said, you can implement the type discriminator column on your own using the Document Model API to make the service calls, then use DynamoDBContext to convert between Document objects and your classes. Below is a quick implementation of what this would look like for saving and loading items with the type discriminator. This can be added as a wrapper class built on top of the DynamoDBContext.
// class definitions
[DynamoDBTable("Animals")]
public class Animal
{
    public string Name { get; set; }
    public int Id { get; set; }
}
public class Dog : Animal
{
    public string FavoriteHydrant { get; set; }
}
public class Cat : Animal
{
    public int HoursOfSleepPerDay { get; set; }
}

// Load method
private static Animal LoadAnimal(DynamoDBContext context, Primitive hashKey, Primitive rangeKey)
{
    // get target table
    var table = context.GetTargetTable<Animal>();

    // load item from DynamoDB
    var doc = table.GetItem(hashKey, rangeKey);

    // get type discriminator
    var type = doc["__type__"];

    // create correct Animal instance
    Animal animal;
    if (type == typeof(Cat).FullName)
    {
        // convert document to appropriate class
        animal = context.FromDocument<Cat>(doc);
    }
    else
    {
        // convert document to default/base class
        animal = context.FromDocument<Animal>(doc);
    }

    return animal;
}

// Save method
private static void SaveAnimal<T>(DynamoDBContext context, T animal)
    where T : Animal
{
    // convert object to Document
    var doc = context.ToDocument<T>(animal);

    // add type discriminator
    doc["__type__"] = animal.GetType().FullName;

    // get target table
    var table = context.GetTargetTable<T>();

    // save item in DynamoDB
    table.UpdateItem(doc);
}

// Using the methods to save and load a Cat
using(var client = new AmazonDynamoDBClient())
{
    using(var context = new DynamoDBContext(client))
    {
        var panther = new Cat
        {
            Name = "Bagheera",
            Id = 42,
            HoursOfSleepPerDay = 20
        };
        SaveAnimal(context, panther);

        Animal animal = LoadAnimal(context, panther.Name, panther.Id);
        Cat cat = animal as Cat;
        // verify instance type
        System.Diagnostics.Debug.Assert(cat != null);
        // verify subclass data
        System.Diagnostics.Debug.Assert(cat.HoursOfSleepPerDay == 20);
    }
}


wont convert for me.

/##########################################################
............................................................
...................................................... .....
...7$$$$.............$$$$$........MM.M:.MMMM. M,..M:MM .MM..
.I$I~~=~$$.7M$$$M$7$$?====$$......MM.M:.M...M.M,..M: M .M ..
I$~$NZ$$$$$$8$=~$.....MM.M:.MMMMM.MMMMM:..MM ...
$==$$$M$$$NZ$$7~=~=$.MM.MM.M:.M.....M,..M:..MM....
7~~~~~$$$/$$$$$$==$. MMO .M:.M ....M,..M:..MM....
$~$$$$$Z$$Z7$$$=~$..............................
$=$$$$$$$$$$$$$=$.. ....... ....................
$$~$$|$$$$$$$$|$~~=$.7777777...... ..................
...$$$$$$$M$$$$$$/M$$$$$7,$77777777:..YOUR CLIENTSIDE DONE.
. .......$$D$$$$/M$~. ..=777777777?.... .. ........ .......
...........,7$$$$$7777777777777..................... .......
..............777777777777777......... ............... .....
...............77777777777................VERSION 1.2.2.....
........ ...................................................
............................................................
##########################################################/
Copyright (C) 2015 Timothy Edmund Crosley
Under the MIT License
Traceback (most recent call last):
File "C:\Users*\AppData\Local\Programs\Python\Python38-32\Scripts\jiphy-script.py", line 11, in
load_entry_point('jiphy==1.2.2', 'console_scripts', 'jiphy')()
File "c:\users*\appdata\local\programs\python\python38-32\lib\site-packages\jiphy\main.py", line 115, in main
input_code = input_file.read()
File "c:\users*\appdata\local\programs\python\python38-32\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 3255: character maps to

also the code is
#Packages
import transcrypt
import jiphy
import os
from os import system, name
import shutil
from tqdm import tqdm
import time
import requests
#System Commands
#THEY WERE A FAILURE! PLEASE DO NOT USE! THEY WILL NOT DO ANYTHING!
#def createfile(filename, filedata, var):
with open(filename, 'w') as var:
var.write(filedata)
print('Created file ' + filename + ' with ' + filedata + " and it's variable name is" + var + '.')
#def deletefile(path):
os.remove(path)
#def deletedirectory(path):
os.rmdir(path)
#def createdirectory(path):
os.mkdir(path)
#def movefile(file, folder):
shutil.move(file, folder)
#def existsfile(file):
os.path.isfile(file)
#def existsdir(folder):
os.path.isdir(folder)
#Variables
readme = 'README.txt'
source = "ProjectFiles.rar"
destination = "Apps"
#README Creation
if os.path.isfile(readme) == False:
with open(readme, 'w') as fp:
fp.write("! Please credit ThisIsACoolBoy (Zayan The Minecraft Coder and Gamer in YT) also note this only works in WiFi. !")
else:
pass
#Custom Commands
def cls(sleeptime):
time.sleep(sleeptime)
if name == 'nt':
_ = system('cls')
else:
_ = system('clear')
#def directory():
if name == 'nt':
_ = system('dir/s')
else:
_ = system('ls')
#Below is part of the troll.
def finished(message, author):
print(message)
print('And is made by ' + author + '.')
This was only for the youtube video.
Activate if you want...
#PART 1 (Fetching requests, absolutely fake.)
print('Fetching request man UuU')
with tqdm(total=100) as pbar:
for i in range(100):
time.sleep(0.01)
pbar.update(1)
print('Sending requests!')
with tqdm(total=1000,unit='KB') as pbar:
for i in range(1000):
time.sleep(0.001)
pbar.update(1)
#PART 2 (Real installation!)
chunk_size = 1024
url = "https://drive.google.com/uc?export=download&id=1MlUkK7Ce-H8hW1t6rTjgXEBzDkLY-dyS"
r = requests.get(url, stream = True)
total_size = int(r.headers['content-length'])
with open("ProjectFiles.rar", 'wb') as f:
for data in tqdm(iterable=r.iter_content(chunk_size=chunk_size), total = total_size/chunk_size, unit='KB'):
f.write(data)
#PART 3 (Download.)
print('Installation Complete! Now downloading!')
if os.path.isdir(destination) == True:
if os.path.isfile(destination + '/' + source) == True:
os.remove(destination + '/' + source)
else:
os.rmdir(destination)
os.mkdir(destination)
shutil.move(source, destination)
cls(3)
if os.path.isdir(destination) == False:
os.mkdir(destination)
shutil.move(source, destination)
if os.path.isfile(destination + '/' + source) == True:
print('Successfully downloaded!')
print('Please wait while we create the logs!')
with open('logs.txt', 'w') as log:
log.write('| Hey! | ')
log.write('Install success?: True | ')
log.write('Passed?: True | ')
log.write('Is not 3rd party?: True | ')
log.write('Is given by zayan kiddy?: True | ')
log.write('Is having README?: True | ')
log.write('Ís using windows?: True | ')
log.write('Installing repository files... | ')
log.write('Installation passed?: True | ')
log.write('Is new?: True | ')
log.write('Is well known and is from zayan kiddy?: True for zayan kiddy and false for well known. | ')
log.write('CODE: 0x817271 | ')
log.write('If you dont know what the code means. Ask zayan kiddy. | ')
else:
print('Failed!')
with open('logs.txt', 'w') as log:
log.write('| Hey! | ')
log.write('Install success?: False | ')
log.write('Passed?: False | ')
log.write('Is not 3rd party?: True | ')
log.write('Is given by zayan kiddy?: True | ')
log.write('Is having README?: True | ')
log.write('Ís using windows?: null | ')
log.write('Installing repository files... | ')
log.write('Installation passed?: False | ')
log.write('Is new?: True | ')
log.write('Is well known and is from zayan kiddy?: True for zayan kiddy and false for well known. | ')
log.write('CODE: 0x000001 | ')
log.write('If you dont know what the code means. Ask zayan kiddy. | ')
finished('Download has been finished, See the result in the folder the python file was, the folder the result is on is Apps', 'zayan kiddy')
print('Before we go... Let us do something please..')
print('hah just kidding bro.')
cls(5)
print('...')
cls(5)
print('Please wait, We will shortly bring data...')

i know.. its big,

5 hrs w/o an answer yet.

You might have a unicode problem fren.

15 mins w/o an answer yet.

How could I fix that


Using old bugged version of springloaded

Hello development team,
When I was trying to run this project I was getting an exception. It was because of bug in springloaded version 1.2.1. More about bug:
https://github.com/spring-projects/spring-loaded/issues/98
I've solved it simply by rewrite version in your pom.xml (line 159) to version 1.2.5. I didn't try other versions. If you need some more info let me know.
Hope it helps
Ondrej

Fixed in c4691db2289072f251cd2b5abbb5dc29c2620e25


How to let both python runtime or tritonllm backend not return prompt in response?

curl -X POST localhost:8000/v2/models/ensemble/generate -d '{"text_input": "who are you?", "max_tokens": 1
00, "bad_words": "", "stop_words": ""}'
{"model_name":"ensemble","model_version":"1","sequence_end":false,"sequence_id":0,"sequence_start":false,"text_output":"who are you?\"\n\n\"I'm a friend of the family.\"\n\n\"A friend of the family?\"\n\n\"Yes.\"\n\n\"How do I know you're a friend of the family?\"\n\n\"You don't.\"\n\n\"So you're just some stranger who's trying to get into my house."}

How to let the text_output only return values after prompt like who are you. Otherwise the client often need to do dirty slicing after requests are received.

Fix by setting exclude_input_in_output


[DOCFIX] docfix for docs/cn/Command-Line_Interface.md

docfix for docs/cn/Command-Line_Interface.md

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15764/
Test PASSed.

Merged build finished. Test PASSed.

Thanks for the doc update!


Partially rework cmake modules to accommodate library types

This patch allows selectively linking each third party library
statically with a fallback to dynamic, if not available
This is a follow up of the discussion at: https://github.com/apache/orc/pull/524

With this change, I can use 3rd party dynamic libraries easily (and the change is backwards compatible):
...
-- Found Threads: TRUE
-- SNAPPY_HOME: /home/wani/m3/envs/orcdev
-- Found the Snappy header: /home/wani/m3/envs/orcdev/include/snappy.h
-- Found the Snappy library: /home/wani/m3/envs/orcdev/lib/libsnappy.so
-- ZLIB_HOME: /home/wani/m3/envs/orcdev
-- Found the ZLIB header: /home/wani/m3/envs/orcdev/include/zlib.h
-- Found the ZLIB library: /home/wani/m3/envs/orcdev/lib/libz.so
-- Found the ZLIB static library: /home/wani/m3/envs/orcdev/lib/libz.a
-- ZSTD_HOME: /home/wani/m3/envs/orcdev
-- Found the zstd header: /home/wani/m3/envs/orcdev/include/zstd.h
-- Found the zstd library: /home/wani/m3/envs/orcdev/lib/libzstd.so
-- LZ4_HOME: /home/wani/m3/envs/orcdev
-- Found the LZ4 header: /home/wani/m3/envs/orcdev/include/lz4.h
-- Found the LZ4 library: /home/wani/m3/envs/orcdev/lib/liblz4.so
-- GTEST_HOME set: /home/wani/m3/envs/orcdev
-- Found the GTest header: /home/wani/m3/envs/orcdev/include/gmock/gmock.h
-- Found the GTest library: /home/wani/m3/envs/orcdev/lib/libgtest.so
-- Found the GMock library: /home/wani/m3/envs/orcdev/lib/libgmock.so
-- PROTOBUF_HOME: /home/wani/m3/envs/orcdev
-- Found the Protobuf headers: /home/wani/m3/envs/orcdev/include
-- Found the Protobuf library: /home/wani/m3/envs/orcdev/lib/libprotobuf.so
-- Found the Protoc library: /home/wani/m3/envs/orcdev/lib/libprotoc.so
-- Found the Protoc executable: /home/wani/m3/envs/orcdev/bin/protoc
...

Would it be possible to get another review @wgtmac? 🙂

Thank you for pinging me, @wgtmac . It looks a little intrusive change, but I have no preference here. If you think this is okay, I'm fine.
cc @omalley

I just committed it, thanks @nehaljwani !

Thanks all! 😄
Would it make sense to include this in a release? How are releases planned here typically? 🙂


ES Immediately Closes Back to Menu

I have been trying to get EmulationStation running on my Windows machine, but I've been having some trouble. Whenever I try to start a ROM file from the menu, it returns to the desktop, runs something in the command line, and then immediately returns to the ROM menu without starting the game. Has anyone else had this issue? I am certain that retroarch is in the proper directory, and that the command in the systems.cfg file links to said directory, but I'm not sure what else could be wrong. Here is my launch command: %HOMEPATH%.emulationstation\systems\retroarch\retroarch.exe -L %HOMEPATH%.emulationstation\systems\retroarch\libretro[libretroplugin.dll] "%ROM_RAW%"

I'm having the same issue. but in your case it looks likeyou're missing a slash after %HOMEPATH%.
also, libretro[libretroplugin.dll]  isn't an actual core.
e.g.: %HOMEPATH%.emulationstation\systems\retroarch\retroarch.exe -L %HOMEPATH%.emulationstation\systems\retroarch\cores\libretroCoreForYourROM.dll "%ROM_RAW%"
if you just "cleaned" all of that up for privacy sake, then maybe the cause is you have a "space" in your username...  apparently ES doesn't like that, and keeps you from using the %HOMEPATH% shortcut.


Paths are not quoted in the fc call on Windows

I have spaces in the to the path to the flow root directory and I get this error when I run flow suggest:
FC: Invalid Switch

FC: cannot open <path up to first space> - No such file or folder

whoops, sorry for no response here! in the meantime, the suggest command has been removed... 🤦♂


Removed the color markers in redirected messages.

When writing to file, the print statement will exclude the color
markers from the message.

@jcohenadad @benjamindeleener can you review this pull request.

Fixes #1035

looks good to me too-- can be merged. thanks!


feat: Add functions for reading data sources

Adds table returning functions that allow for reading from external data
sources. These are meant to be used as an alternative to CREATE EXTERANL TABLE/DATABASE ....
What this looks like:
select * from read_postgres('postgres://postgres:postgres@localhost/postgres', 'public', 'users)

These functions can be used anywhere in a query where a table identifier would
be used.
The list of supported functions can be found by querying the
glare_catalog.functions table:
> select function_name, function_type from glare_catalog.functions;
+----------------+---------------+
| function_name  | function_type |
+----------------+---------------+
| read_mongodb   | table         |
| read_mysql     | table         |
| read_bigquery  | table         |
| read_snowflake | table         |
| read_postgres  | table         |
+----------------+---------------+

Notable omissions are the functions for reading files from object storage, but
those should be added in soon.
Code changes
Adds sqlbuiltins crate which provided the list and implementations for these
table functions. I did not move everything over yet, but I plan to move the
content of metastore/src/builtins.rs into this crate. I pulled this into its
own crate since both metastore and sqlexec need to reference this stuff,
whether that's for building the catalog, or executing the function itself.
The primary type of interest in this PR is the TableFunc trait. It's pretty
simple in that it's able to accept scalar arguments and return a
TableProvider. During sql planning, we'll do a lookup for a function by its
name, and create the table provider using the (constant) args provided. The
resulting logical plan is as if the table function was just another table.
Docs
To come...
A very brief rundown for function args:
read_postgres(connection_str, schema, table)
read_bigquery(gcp_service_account_key, project_id, dataset_id, table_id)
read_mongodb(connection_str, database, collection)
read_mysql(connection_str, schema, table)
read_snowflake(account, username, password, database, warehouse, role, schema, table)

It might also be interesting the explore auto-generating docs from the json
output of the glare_catalog.functions:
% ./glaredb local --mode json --query 'select * from glare_catalog.functions'
[{"oid":16507,"schema_oid":16386,"function_name":"read_snowflake","function_type":"table","parameters":[],"parameter_types":[],"builtin":true},
{"oid":16506,"schema_oid":16386,"function_name":"read_postgres","function_type":"table","parameters":[],"parameter_types":[],"builtin":true},
{"oid":16508,"schema_oid":16386,"function_name":"read_mysql","function_type":"table","parameters":[],"parameter_types":[],"builtin":true},
{"oid":16505,"schema_oid":16386,"function_name":"read_mongodb","function_type":"table","parameters":[],"parameter_types":[],"builtin":true},
{"oid":16509,"schema_oid":16386,"function_name":"read_bigquery","function_type":"table","parameters":[],"parameter_types":[],"builtin":true}]

(Note parameters and parameter_types not currently writting to this table)

This looks very promising! I think we can go ahead with this.
Now that we support table functions, maybe we can change the virtual catalog to a function as well?
SELECT * FROM get_schemas(ext_db);
SELECT * FROM get_tables(ext_db, 'schema');

Thinking the exact same thing.


[ERROR] uncaughtException ReferenceError: id is not defined

Getting an error in node_relay_server.js, at line 72 – the 2nd argument to the Logger.log() call is id, which is not in scope – it appears that should be referring to either i or session.id
https://github.com/illuspas/Node-Media-Server/blob/22602f32e03e6006d0672e640be3c983b420c7ea/node_relay_server.js#L72

https://github.com/illuspas/Node-Media-Server/pull/335


[10.x] Support FIFO type of AWS SQS queue driver

AWS SQS has two types of queue. Standard type is supported by Laravel, however FIFO type is not, because it needs different set of arguments when pushing jobs otherwise AWS PHP SDK will throw an exception. We and some others had this need so I started develop a package for it however thought the changes could be merged into Laravel framework itself to be accessible via convenient methods.
This PR uses new keys inside config/queue.php including type which is standard by default and can be changed to fifo in order to use the fifo.
FIFO type guarantees delivering in order, and this PR implements two main features of it which are Message Group ID and Message Deduplication ID.
Message Group ID is like a queue name but within a queue, means you can have multiple message group id inside a queue. For example there is a queue called email and you can push your message into multiple group ids like sensitive, normal and low. However when popping or reading message they just use same worker as queue.
Message Deduplication ID is a token used for deduplication of sent messages. If a message with a particular message deduplication ID is sent successfully, any messages sent with the same message deduplication ID are accepted successfully but aren't delivered during the 5-minute deduplication interval.
Also FIFO doesn't support delay per message, just per queue and can be configured via AWS SQS console or API. So there is another small change which is used for delay method when dispatching jobs, and that is a new key inside config called allow_delay that indicated job can use queue delay or not. If the value is false and delay method get called it throws an exception.
Also FIFO queue needs a .fifo posftix in its name when getting create inside AWS, and with this PR there is no need to add this postfix manually to queue name because it will handle it. The reason behind this is that developer can change queue driver easily without worrying about queue name which we've experienced multiple times.
Both of these parameters (Message Group ID and Message Deduplican ID) can be have default value inside config/queue.php:
'sqs' => [
    'driver' => 'sqs',
    'type' => fifo,
    'key' => env('AWS_ACCESS_KEY_ID'),
    'secret' => env('AWS_SECRET_ACCESS_KEY'),
    'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
    'queue' => env('SQS_QUEUE', 'default'),
    'suffix' => env('SQS_SUFFIX'),
    'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
    'message_group_id' => 'sensitive',
    'message_deduplication_id' => 'bf9ce2bf-9461-9960-7f92-61b32abf425e',
    'allow_delay' => 0
    'after_commit' => false,
],

and also can be defined per message inside the job class:
<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Log;

class SendNotificationJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

   /**
     * The message group id.
     *
     * @var string
     */
    public $messageGroupId;

    /**
     * The message deduplication id.
     *
     * @var string
     */
    public $messageDeduplicationId;

    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct($messageGroupId, $messageDeduplicationId)
    {
        $this->messageGroupId = $messageGroupId;
        $this->messageDeduplicationId = $messageDeduplicationId;
    }

Docs: https://github.com/laravel/docs/pull/8633
Laravel Config: https://github.com/laravel/laravel/pull/6137

Having a separate  SqsQueue class for FIFO would be easy to maintain and debug.
Message group ID Must be configurable from outside of job, for example:
CreateBackupJob::dispatch($server)->withMessageId("backups")

For those who are opting the FIFO queue, please read the FAQ

By default, FIFO queues support up to 3,000 messages per second with batching or up to 300 messages per second (300 send, receive, or delete operations per second) without batching.

Agree, should be a separate class.

Added new class for queue and connector
About the @ankurk91 suggestion on using a withMessageGroupId method instead of variable inside job, because it needs to add this specific method of SQS FIFO in Illuminate\Foundation\Bus\PendingDispatch, I wasn't sure if it's acceptable by Laravel team.

Don't forget to send an invoice to Tyler for doing work on this framework. As it is sponsored and makes money. You deserve to be paid for your work.

This community package seems to have a bit more features and completeness: https://github.com/shiftonelabs/laravel-sqs-fifo-queue
Maybe users should just use that?


Flatcar nodes

CP and worker nodes machines on flatcar
move several scripts into the proper configuration
adjust  OS setting and hardening to match what we have in k8scloudconfig

It is partially breaking change as KubeadmControlPlane webhook does not allow change of the format from cloud-init to ignition, it can be worked around by shortly disabling the webhook and letting chart operator do the update of CRs, also the worker nodes became unavailable for a while as it takes a while until the ignition is rendered and in that time the operator tries to launch Flatcar OS and feeding it the cloud-init instead of ignition. But that will resolve after 5-10 minutes and workers will join the cluster

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites

/run cluster-test-suites


feat(tutorial): complete step 5

hi
@ZrianinaMariia
here is my final PR, thank you very much for checking them!
The React App on IBM Cloud is running here: http://carbon-tutorial-brenne.eu-gb.mybluemix.net/

@Brenne Looks fantastic 💯!  I've recorded your completion of step 5.
Feel free to stop your running application on IBM Cloud to avoid the possibility of incurring any charges.


IO Domain Information Disappearing on Validation

Seems to have been an issue with two groups now. Account from one user is below.
I am very confident that I edited something in the IO Domain, and I successfully saved it.
This situation I had one time before, that case is pretty similar, I made some mistakes in the IO Domain and then I clicked on the validated button, it erased all my info in that domain, and I need to re-do that part again with the right format.
Version 1.1 for biosample ( I can not save it with the IO Domain, so l listed here the info for your reference.)
https://biocomputeobject.org/builder/https/biocomputeobject.org/BCO_000128/DRAFT
IO Domain information -
input:
BioSample - NCBI
https://www.ncbi.nlm.nih.gov/biosample
output：
text/tsv
biosampleMeta_Crandall.tsv
http://data.argosdb.org/ln2data/crandalllab/biosampleMeta_Crandall.tsv
Here is a scenario in that you could reproduce that problem:

derive a draft from any published BCO
Make sure you enter something in the IO Domain, then click "save" and then "validated".

After showing the error message if we had a mistake somewhere, we fixed the contributor part and click "save”, and "validated". For right now, we still have everything there.
Close the tab and re-open it from my BCOs, we could find that the IO Domain info was gone.

This is most likely a “state” variable/local storage issue. We use both for the BCOs and some times they get mixed up.


Changing HDR setting on viewport does not reallocate framebuffers

Turning HDR on/off on a viewport does not reallocate framebuffers. Noticed this because OpenVR doesn't like the 16bit per color channel color buffer for whatever strange reason:
https://github.com/godotengine/godot/blob/master/drivers/gles3/rasterizer_storage_gles3.cpp#L6366
Also instead of deallocating and reallocating the framebuffers whenever any of these settings change, wouldn't it make more sense to just deallocate the framebuffer and instead allocating it just before its needed if it hasn't been allocated yet? Like possibly somewhere around here:
https://github.com/godotengine/godot/blob/master/servers/visual/visual_server_viewport.cpp#L269
We could change _render_target_allocate to only execute if rt->fbo=0 and in those places where we change the size, flags, etc, just only call __render_target_clear and not _render_target_allocate.

Never mind, learn to read C switches... no breaks :)


Need a way to re-assign grid menu dropdown to any button

Hello, for my company I need a way to assign the main grid menu to a separate document element. I see that the uiGridMenu requires uiGrid to be present - so I'm guessing that means they're coupled?
I tried using the header template to customize the menu but the results were that the column headers became corrupted.
How much work would it be to make a grid menu with just a shared ui-grid scope instead of the hard require? Thanks

uiGridMenuItem does require uiGrid, but it looks like uiGridMenu itself does not. It's optional.
Depending on how you want to interact with the grid it may be possible to use a third-party menu widget and pass it a reference to the grid API.

Well, ideally you'd want all the functionality built into the menu.. because it's used by all of the other modules plugged into the ui-grid. - just in a different element. So, it's not that I or other users might need the menu to look the same. (so even for ?ngGrid - not including the grid kind of defeats the purpose)
In any case, wouldn't it make sense to have the element that the menu appears on to be an option? Possibly a jquery selector or element ID?

c0bra, is there an example of how to attach functions to other elements using the grid API? Would this be possible with all of the menu item functions?
How much effort would it be to have an optional jquery selector to specify where the menu shows up? Thanks

If it were me I'd just build your new menu.  There are really only a few things that attach to the grid menu:

column hiding and showing.  The underlying methods are available via the API, easy enough to recreate
import and export, again the methods are available via API to attach to a custom widget

Alternatively, you could override the ui-grid-header.html template to put the menu somewhere else, or to style it.

No further comment for over a month, solution provided that probably resolves the issue.  Closing, please re-raise if there is a reliable recreate or more information.


mypy: Add type hints to pglookout [BF-1560]

Important Note
DO NOT merge until we test this on aiven-core pipeline
This can be tracked there (private repo):

[ ] https://github.com/aiven/aiven-core/pull/32518

Removed python2 leftovers (from pglookout 2.0.0 (2018-10-12))

In pglokout/debian/rules;
In setup.py.

Removed most of manual path handling through os and string manipulation to replace them with pathlib.Path.
Unit tests:

More unit tests in test/test_common.py;
Improve test/conftest.py to better leverage pytest features.
In general, removed some deprecated pytest features (i.e. tmpdir).

In README.rst:

Alphabetically sort configuration keys. This has the effect of grouping related keys closer.
Add missing key: replication_catchup_timeout

In pglookout/pglookout.py:

Refactor check_cluster_state to simplify the branching of a part of this method.
This helps mypy and makes it clearer about what the different preconditions are.
Rename its test file from test/test_lookout.py -> test/test_pglookout.py to follow conventions.
New method to normalize config. When loading the config, a conversion is done to only have the
dict-style type in the config's remote_conns. This simplifies the preconditions.

In pglookout/config.py:

New file to type hint the configuration. This can be used by developers to check their code.

I'm not going to review this further; consider all my comments as resolved, and handle this within team BF :-)

I'm not going to review this further; consider all my comments as resolved, and handle this within team BF :-)

Thanks @alanfranz and good luck in your new team! I'll remove you from the reviewers :-)


Revendor installer: OpenStack >=1 MachineSet

We got unlucky when we revendored installer and picked up OCPBUGS-17064, which causes the MachineSets generator to produce zero MachineSets when the input specifies zero Replicas, as it does when we're autoscaling.
Revendor to the (current) tip of the 4.14 branch to pick up the fix.
HIVE-2590

/override ci/prow/security
#2387 (which might possibly work now that we've revendored installer here??)

/override "Red Hat Konflux / hive-mce-25-on-pull-request"

/assign @dlom

/cherry-pick mce-2.4
I have a feeling we'll conflict in the vendor dirs, but it's worth a try :)

/lgtm
Vendoring the entire installer sucks and I wish there was a better way :/

Manually applied to mce-2.4 via #2438.


fix(hooks): do not trigger workflows for hooks removed in PR

Fixes #263

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


Fix #125 Add characters count to status bar

It turns out to be pretty easy to add a character count. I was quite a bit surprised why this was not yet added, as the css already existed:
https://github.com/NicoHood/easy-markdown-editor/blob/master/src/css/easymde.css#L222-L224

Will need some documentation in the README and typings.

I just found out, that the character count is wrong. Html textareas will always send with \r\n, while the javascript only counts \n:
https://stackoverflow.com/questions/14217101/what-character-represents-a-new-line-in-a-text-area

What do you mean by typings? Do I can get that ready.

Is this characters with or without the markup?
The markdown string *Hello* is technically 7 characters, but the human text is 5 characters.

I it with markup, so a bit larger than the text itself.

I am looking for the same feature and would like to see this PR merged.


Top Node.js HTML Parsers Libraries

NOTE: All 1st-time contributors should know Topic approval and PR submission does NOT guarantee your Topic/Article will be published. Our team of Peer Reviewers and Content Moderators will review all PRs that come in to make sure they adhere to the standard of quality we expect from the EngEd community.
We expect all community memebers to go through provided examples, resources, and previously published material before submitting content. As a rule of thumb, please only submit articles (pull requests) that are complete, formatted correctly, and include a fully polished article (ready to be published and error free).
All revisions and edits should be completed on your own forked repo (as to not take up room in the queue). Any PR that is submitted incomplete (meaning not ready to be published as is) will be closed. A PR being closed does NOT mean the article can not be published (or fixed) it simply means that the edits, revisions, and fixes will happen outside of the queue.
Topic Suggestion
Top Node.js HTML Parsers Libraries
Pre-submission advice
By following all our pre-submission advice and reviewing our Resources folder, you will maximise your chances of your topic being approved.
We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner.
Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published (subject to vary depending on volume and/or backlog of articles).
Be sure to visit our Resources Page for tools, resources, and example articles that will help you propose and write a successful article.
Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
Writing sample(s):
Include any links or writing samples - to help our team better gauge your writing quality.
Proposal Submission
Proposed title of article
Top Node.js HTML Parsers Libraries
Proposed article introduction
HTML is a simple structured markup language, and everyone who is going to write the web scraper should deal with HTML parsing. There are a lot of Node modules out there for parsing HTML. These libraries are used for web scrapping using Node in JavaScript. Node.js does not let you parse and manipulate markups because it executes code outside the browser.
This article aims to help the reader find the right tool for HTML processing. It will provide a selection of libraries, providing the pros and cons of each, along with some insight into which of the chosen parsers might be the most suitable tasks like web scraping.
Key takeaways

Overview of Web Scrapping
Node.js HTML Parsers Libraries

Cheerio
Parse5
Html parser2
Node Html Parse
Fast HTML Parser
JSDOM

Article quality
This is a detailed article to help the reader find the right tool for HTML processing by providing a selection of libraries with their advantages and disadvantages. Also, this article will help readers understand which library is most suitable for tasks like web scrapping.
References
Please list links to any published content/research that you intend to use to support/guide this article.
Conclusion
Finally, remove the Pre-Submission advice section and all our blockquoted notes as you fill in the form before you submit.
We look forwarding to reviewing your topic suggestion.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

@JudyNduati
This seems like a very cool topic - but regarding Node.js we are currently not publishing many Node.js articles because we have more than enough currently in our EngEd library.
As we did a big push the last few months and we are currently not accepting any more Node.js articles to publish for the time being.
Please feel free to suggest an alternate topic to explore. 🚀


Can't use it with trubo pack vite project

Keep getting this error, i am using tsconfig from vite docs (default one)
This is my repo: https://github.com/Parthvsquare/brook
I works with nextjs

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


MyDriving app needs to handle expired/invalid access tokens for authentication

Before we dive into the issue, first let’s look at how the MyDriving app implements authentication.  The MyDriving app uses server flow authentication provided by the Azure Mobile Apps client SDK to login users with their Facebook, Twitter, and MSA accounts.  Specifically, the app calls the SDK’s LoginAsync method to open a web view for the selected provider and login the user.  A key point is that currently, the LoginAsync method does not automatically attempt to re-login the user or refresh the user’s access token once it expires or is invalid.  Fortunately, we have all the tools we need to implement this behavior since the mobile service does provide an end point to refresh the access token.  And, as already mentioned, we can continue to use the SDK’s LoginAsync method to prompt the user to re-login as needed.
Now we’re ready to look at what’s missing in the current implementation of the MyDriving app.
The issue is that the MyDriving app only handles logging in the user the first time that the app is launched.  The app does not handle the situation where the user’s access token has expired (MSA access tokens expire in only 1 hour) or become invalid (for example, the user may have changed their password).  The negative side effect of this is that the MyDriving app continues to run and save/read data from the local data store, but because the user is no longer authenticated, this data never gets saved to or refreshed from the mobile service.  Even worse, is that the MyDriving app never prompts the user to login again – this means that once the user’s access token expires or is invalid, the MyDriving app can never connect to the mobile service again.  The only solution is to uninstall and reinstall the app.

Closing since this has been fixed and checked in.