configure ci/cd

This copies the ci/cd setup from shpool
and tweaks it for subprocess-inject-env.

I think I probably need to set up the secrets used by the release config before that part of it will work.

I think I probably need to set up the secrets used by the release config before that part of it will work.

I thought about that :) Secrets are added at organization level and accessible by default for new repos. So we are covered here.


Bugfixes that we should port to 10.4.1

https://github.com/ChilliCream/hotchocolate/pull/1580

This one is already migrated.


Fix GitHub comments issueid

Summary
fix bugs caused by issue #1221
Current Behavior
Collect comments and stored issue number as issue id
New Behavior
Store issue id
Screenshots
Include any relevant screenshots here.
Other Information
Any other information that is important to this PR.

close, merge to #1285


Bring the v8 tests into the v6 codebase.

Since I'm going to try and evolve the server and avoid the breaking changes associated with the v6 -> v8 codebase, need to backport the tests at this time.

There is more going on in v8 that can't be back ported without updating the entire project.  So won't be done.


[pre production/stable] Should the scheme for the record or records returned by API calls change?

With this library, calls to eBay return Dicts with Lists that have SnakeCase keys.
Internally data records start as JSON, convert to CamelCase Dicts with Lists, coverts to JAVA like Python objects, convert to Dicts with Lists with SnakeCase keys.
Is there an opportunity to improve library performance without rewriting all the Python code that Swagger generates for us?
Skipping the last step could easily make things more CPU and RAM efficient. As a consequence, that data would no longer be perfectly Phonic. What is more important to you?
Grabbing the data from an earlier intermediate step would be harder to do. Altering the code that Swagger generates would be hard but not impossible. Also, it would be fragile because Swagger could completely change its Python generator and obsolete our code. I am not up willing to do this. Are there any proponents that want to volunteer their coding talents?
There is an opportunity to add some gold plating to what already happens. Python’s newish Data Class is well-liked, though I’ve never used it. Can and should the last step of internal data conversion be changed to return instances of Python’s Data Class?
I am satisfied with the status quo, I find the current scheme for the records easy to use, and my computer has plenty of spare RAM and CPU cycles.
Fair warning, now is your chance, now is the time if you want to propose a breaking change. When the library moves from Alpa/Beta to Production/Stable, the scheme used to store records will be frozen.

No feedback received.


[MRG] FIX fwd info

closes #2225

the first build timed out. it completed on my branch's build: https://travis-ci.org/teonlamont/mne-python/builds/67713119.

@teonlamont actually you should just use Info(**kwargs) instead of create_info. The forward solution info struct contains fewer fields than what create_info will populate. Also, I already fixed this in my Epochs PR I think...
FYI you can also restart Travis builds on the Travis site. Do you not see the "X" for running builds and restart circle for finished ones? You might not, depending on repo permissions, but I think anyone with push access should have it.

+1 for Info(**kwargs)

fixed in #2211

btw, I don't see those options to reset with my Travis builds.


New features

Would you make the patching undoable?
And another point: Could you not only trigger patching at start-up, but also implement option of time (reading out game stats json game time)?
Thanks for thinking about this.

The patching itself is already done in a rather unsafe way and any mod not reading and writing the config in a standard way might break. It would require keeping a history of all previously used values in order to be able to undo a patch operation.
I'm not entirely sure that I understand what you mean with the time option. Patching can only be done on start up, before the standard config related event is triggered. Triggering it at a later stage of the loading process and/or while in-game might not properly apply the patches.

Thank you for this explanation. I was making these proposals by trying to use this mod for another effect:
I use mods that change seasons, so I was hoping to adapt other mods to this season system with your modification. So to make it very clear, for example I wanted to change leave falling config of better foliage mod to only be active in autumn.
Because of these slow time changes, I thought it would not be a problem, if it changes not until next start-up. But I would need a trigger for this change.

You wouldn't be able to "tell" Config Patcher to undo a patch though... you'd have to replace the patches as it is right now.
The feature that you're requesting might be better off as a minetweak-like mod.

Okay, I see, thank you.


fix bug where pending markets in markets list were getting mixed up

need to redo this after my fix unsigned orders PR. I modified same line of code in user-markets.


Method run debugging

This PR adds debug signals to TransactionManager which expose parts of transaction scheduling logic. This should help debug situations when it's unclear why a given method doesn't run.

I had the look at names generated in traces, this looks much better already. Would it be possible to expand the names a little bit to avoid situations like this?

This FU is not really about naming, but as it introduces owned_name for other reasons, might as well use it for signal names.


Add buy_chips api and sell_chips api

Game asset has a new property called "collateral",
this chip asset is atomically calculated from current_supply and its collateral.

References Line in Play1.0:
https://github.com/bitsuperlab/cpp-play/blob/master/libraries/blockchain/market_operations.cpp#L136

https://github.com/bitsuperlab/cpp-play2/commit/0574ebcfd8a34d77a288d906756501f6a101420a

test:
create_asset "nathan" "DICE" 5 100 "100" {"core_exchange_rate" : { "base": { "amount": 1,  "asset_id": "1.3.0"},"quote": {"amount": 1, "asset_id": "1.3.1"}}} {}  true
list_account_balances nathan
buy_game_chips nathan DICE 1000 true


Add basic support for converting CAG into XLSX

How to test?

Grab AAB06 Auto Analysis.cag and save it as AAB06.cag
Run htmdec-formats cag-to-xlsx AAB06.cag AAB06.xlsx
Compare the result with AAB06 Analysis_Volume & area.xlsx (same folder as in 1.)

looks great. Did you make any changes to my KSY file for dotnet?

No, I think it's exactly the same thing you gave me.


Estimation of Shelley header sizes

Note that this will be much simpler as soon as the ledger updates to the latest cardano-crypto-class, so there's yet more incentive to do that.

There's a PR open to do that, but the changes in the crypto encoding break all of the serialisation tests, which are mostly just laborious to update.

Requires both: #1429 and also https://github.com/input-output-hk/cardano-base/pull/115

This is now done on top of #1429 (so it should be merged in order).

There are no tests for the size bounds. They should be done in the same way as for byron: see this module.  Is it ok if I leave this for the ledger or formal team?

bors merge

bors merge


guzzle hangs forever on some urls

My code is:
        $response = (new Client)->get($url, [
            'timeout' => 15,
            'connect_timeout' => 5,
            'cookies' => new CookieJar,
            'verify' => false,
            'stream' => true,
            'headers' => [
                'User-Agent' => self::USER_AGENT . ' ' . self::ROBOT_USER_AGENT,
                'Accept' => join(',', self::$validContentTypes),
                'Accept-Language' => 'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4',
            ],
        ]);

        // at this point no response and no timeout exception
        $response->getBody()->getContents();

URL's are:
http://www.zdravmedinfo.com/mednews.html?__rmid=lechenie-sarkomy-yuinga-mozhno-975145977.html&xrs=RebelMouse_tw
http://blog.weprotestify.com/
(i got over 10 bad urls of 340425 good from twitter, facebook links parser)
My suggestion is stream_get_contents in blocking mode blocks thread forever.
My workaround is:
            $streamMeta = $response->getBody()->getMetadata();
            $maxDataNeeded = self::PAGE_SIZE_LIMIT * 1024 * 1024;
            $limit = isset($streamMeta['unread_bytes']) ? $streamMeta['unread_bytes'] : $maxDataNeeded;
            if ($limit > $maxDataNeeded) {
                $limit = $maxDataNeeded;
            }
            $body = (new LimitStream($response->getBody(), $limit))->getContents();

Checked on guzzlehttp/guzzle 5.1.0, 5.2.0, PHP 5.5.10-1

This problem is caused by the fact that the PHP stream wrapper doesn't work well with stream_get_contents when using HTTP/1.1 responses that have no Content-Length header. I'm not sure why, but that's why it's failing. You can reproduce this simply using PHP's stream wrapper:
<?php
require 'vendor/autoload.php';

$url = 'http://www.zdravmedinfo.com/mednews.html?__rmid=lechenie-sarkomy-yuinga-mozhno-975145977.html&xrs=RebelMouse_tw';
$ctx = stream_context_create(['http' => ['protocol_version' => 1.1]]);
$r = fopen($url, 'r', false, $ctx);
// The following will hang forever.
echo stream_get_contents($r);

If you remove the stream context and use HTTP/1.0, then it will work just fine.
You can change the protocol version used by Guzzle using the version request option. I think this will solve your problem until this (what looks like a bug) is fixed in PHP.

Thank you for answer!
I need only a first 1Mbyte of stream, so my solution satisfy me as well, but thank you any way.

I should close issue?

Yeah, I think this can be closed now. I'll comment back here if I find out anything interesting about this bug.


community: fixed vector similarity filtering

Description: changed filtering so that failed filter doesn't add document to results. Currently filtering is entirely broken and all documents are returned whether or not they pass the filter.
fixes issue introduced in https://github.com/langchain-ai/langchain/pull/16190

Guilty author of the guilty commit here. I approve of this change and I'm so sorry!

@baskaryan Done. There were actually tests for this before the commit that introduced the bug but those tests were modified to expect the wrong things.
All the tests should now expect the filters obeyed.

I can't fix the formatting that the CI is complaining about. I've run make format and it doesn't change anything. Might be something weird about my environment. So if someone could format it properly i'd appreciate that.

Okay, theoretically the formatting should be sorted out now.

for future reference you can run make lint in whatever library you've edited to run the linter locally
cd libs/community
make lint


Predicates should handle maintenance of the resource reference map

Manual management of reference relationships is error prone. Since predicates can see the old and new object when changes occur, we should be able to reliably attach and break reference relationships from predicates.
Example of manual management of relationships in reconcile: https://github.com/fusor/mig-controller/blob/master/pkg/controller/migcluster/migcluster_controller.go#L142-L150
Example predicate: https://github.com/fusor/mig-controller/blob/master/pkg/controller/migplan/predicate.go
Functions for managing reference map: https://github.com/fusor/mig-controller/blob/master/pkg/util/resource_parent_map.go

Handled by https://github.com/fusor/mig-controller/pull/19, thanks Jeff!


runtime: go 1.3.3 (32-bits only) panics in gc involving cgo, C heap pointers and finalizers (afaict)

What version of Go are you using (go version)?
1.3.3
What operating system and processor architecture are you using?
on Ubuntu,  issue happens on both ARM and 386 (32 bits), but not amd64 (64 bits)
What did you do?
run repeatedly go test on the code in the package at
https://github.com/pedronis/go133explode.git
like with
for i in $(seq 100) ; do echo $i ; go test || break ; done

apart the obvious deps, it needs:
apt-get install libclick-0.4-dev

This code is derived from a larger test suite, didn't manage to reduce further without making failure probability much lower.
On some tries on the listed 32 bit archs the code explodes with panics from inside the gc,

seen sometimes:  fatal error: freelist empty

or signals are typical like:
  3
  RUN
  fatal error: unexpected signal during runtime execution
  [signal 0xb code=0x1 addr=0x1 pc=0x806968c]

  goroutine 22 [running]:
  runtime.throw(0x82a8ac5)
          /usr/lib/go/src/pkg/runtime/panic.c:520 +0x71 fp=0xc5d5d990 sp=0xc5d5d984
  runtime.sigpanic()
          /usr/lib/go/src/pkg/runtime/os_linux.c:222 +0x46 fp=0xc5d5d99c sp=0xc5d5d990
  runtime.mallocgc(0x10, 0x81c59c0, 0x0)
          /usr/lib/go/src/pkg/runtime/malloc.goc:154 +0x2ec fp=0xc5d5d9d0 sp=0xc5d5d99c
  runtime.new(0x81c59c0, 0x0)
          /usr/lib/go/src/pkg/runtime/malloc.goc:826 +0x35 fp=0xc5d5d9e0 sp=0xc5d5d9d0
  reflect.Value.MapIndex(0x8177f80, 0xd70a4ec0, 0x0, 0x150, 0x8178c00, 0xd71075a8, 0x0, 0x182, 0x81774c0, 0xd71076d8, ...)
          /usr/lib/go/src/pkg/reflect/value.go:1184 +0x2e fp=0xc5d5da54 sp=0xc5d5d9e0
  encoding/json.(*mapEncoder).encode(0xd708e378, 0xd70fa780, 0x8177f80, 0xd70a4ec0, 0x0, 0x150, 0x100)
          /usr/lib/go/src/pkg/encoding/json/encode.go:617 +0x1f8 fp=0xc5d5dafc sp=0xc5d5da54
  encoding/json.*mapEncoder.(encoding/json.encode)·fm(0xd70fa780, 0x8177f80, 0xd70a4ec0, 0x0, 0x150, 0x100)
          /usr/lib/go/src/pkg/encoding/json/encode.go:627 +0x4c fp=0xc5d5db1c sp=0xc5d5dafc
  encoding/json.(*encodeState).reflectValue(0xd70fa780, 0x8177f80, 0xd70a4ec0, 0x0, 0x150)
          /usr/lib/go/src/pkg/encoding/json/encode.go:297 +0x58 fp=0xc5d5db38 sp=0xc5d5db1c
  encoding/json.(*encodeState).marshal(0xd70fa780, 0x8177f80, 0xd70a4ec0, 0x0, 0x0)
          /usr/lib/go/src/pkg/encoding/json/encode.go:268 +0xa9 fp=0xc5d5db74 sp=0xc5d5db38
  encoding/json.Marshal(0x8177f80, 0xd70a4ec0, 0x0, 0x0, 0x0, 0x0, 0x0)
          /usr/lib/go/src/pkg/encoding/json/encode.go:133 +0x88 fp=0xc5d5dbac sp=0xc5d5db74
  explode.(*clientSuite).writeTestConfig(0xd70b8170)
          /home/pedronis/canonical/go-ws/src/explode/explode_test.go:43 +0x94b fp=0xc5d5dc9c sp=0xc5d5dbac
  explode.(*clientSuite).witness(0xd70b8170)
          /home/pedronis/canonical/go-ws/src/explode/explode_test.go:52 +0x98 fp=0xc5d5dcdc sp=0xc5d5dc9c
  explode.(*clientSuite).SetUpSuite(0xd70b8170, 0xd70842a0)
          /home/pedronis/canonical/go-ws/src/explode/explode_test.go:99 +0xd5 fp=0xc5d5dd28 sp=0xc5d5dcdc
  runtime.call16(0x81b828c, 0xd708e2b8, 0x8, 0x8)
          /usr/lib/go/src/pkg/runtime/asm_386.s:383 +0x3a fp=0xc5d5dd3c sp=0xc5d5dd28
  reflect.Value.call(0x81b8240, 0xd70b8170, 0x0, 0x138, 0x81c8a98, 0x4, 0xd70b81d0, 0x1, 0x1, 0x0, ...)
          /usr/lib/go/src/pkg/reflect/value.go:563 +0xdaf fp=0xc5d5df2c sp=0xc5d5dd3c
  reflect.Value.Call(0x81b8240, 0xd70b8170, 0x0, 0x138, 0xd70b81d0, 0x1, 0x1, 0x0, 0x0, 0x0)
          /usr/lib/go/src/pkg/reflect/value.go:411 +0x91 fp=0xc5d5df60 sp=0xc5d5df2c
  launchpad.net/gocheck.func·005(0xd70842a0)
          /home/pedronis/canonical/go-ws/src/launchpad.net/gocheck/gocheck.go:683 +0xec fp=0xc5d5dfb8 sp=0xc5d5df60
  launchpad.net/gocheck.func·004()
          /home/pedronis/canonical/go-ws/src/launchpad.net/gocheck/gocheck.go:628 +0x7c fp=0xc5d5dfd0 sp=0xc5d5dfb8
  runtime.goexit()
          /usr/lib/go/src/pkg/runtime/proc.c:1445 fp=0xc5d5dfd4 sp=0xc5d5dfd0
  created by launchpad.net/gocheck.(*suiteRunner).forkCall
          /home/pedronis/canonical/go-ws/src/launchpad.net/gocheck/gocheck.go:629 +0x1ba

  goroutine 16 [chan receive]:
  testing.RunTests(0x821b2c4, 0x82a5630, 0x1, 0x1, 0x1)
          /usr/lib/go/src/pkg/testing/testing.go:505 +0x75c
  testing.Main(0x821b2c4, 0x82a5630, 0x1, 0x1, 0x82bb1e0, 0x0, 0x0, 0x82bb1e0, 0x0, 0x0)
          /usr/lib/go/src/pkg/testing/testing.go:435 +0x6e
  main.main()
          explode/_test/_testmain.go:47 +0x86

  goroutine 19 [finalizer wait]:
  runtime.park(0x805a040, 0x82b926c, 0x82ab3e9)
          /usr/lib/go/src/pkg/runtime/proc.c:1369 +0x94
  runtime.parkunlock(0x82b926c, 0x82ab3e9)
          /usr/lib/go/src/pkg/runtime/proc.c:1385 +0x3f
  runfinq()
          /usr/lib/go/src/pkg/runtime/mgc0.c:2644 +0xc5
  runtime.goexit()
          /usr/lib/go/src/pkg/runtime/proc.c:1445

  goroutine 20 [chan receive]:
  launchpad.net/gocheck.(*suiteRunner).runFunc(0xd70ae140, 0xd70ae180, 0x0, 0x0, 0x821b2bc, 0x0)
          /home/pedronis/canonical/go-ws/src/launchpad.net/gocheck/gocheck.go:636 +0x71
  launchpad.net/gocheck.(*suiteRunner).runFixture(0xd70ae140, 0xd70ae180, 0x0, 0xd70b8170)
          /home/pedronis/canonical/go-ws/src/launchpad.net/gocheck/gocheck.go:684 +0x55
  launchpad.net/gocheck.(*suiteRunner).run(0xd70ae140, 0xd70b8170)
          /home/pedronis/canonical/go-ws/src/launchpad.net/gocheck/gocheck.go:581 +0x7f
  launchpad.net/gocheck.Run(0x81b8240, 0xd70b8170, 0xd70a46a0, 0x0)
          /home/pedronis/canonical/go-ws/src/launchpad.net/gocheck/run.go:76 +0x4a
  launchpad.net/gocheck.RunAll(0xd70a46a0, 0xd70a46a0)
          /home/pedronis/canonical/go-ws/src/launchpad.net/gocheck/run.go:68 +0xb8
  launchpad.net/gocheck.TestingT(0xd70841e0)
          /home/pedronis/canonical/go-ws/src/launchpad.net/gocheck/run.go:56 +0x29c
  explode.TestClient(0xd70841e0)
          /home/pedronis/canonical/go-ws/src/explode/explode_test.go:88 +0x2e
  testing.tRunner(0xd70841e0, 0x82a5630)
          /usr/lib/go/src/pkg/testing/testing.go:422 +0x87
  created by testing.RunTests
          /usr/lib/go/src/pkg/testing/testing.go:504 +0x720

  goroutine 21 [select]:
  launchpad.net/gocheck.(*resultTracker)._loopRoutine(0xd70ae100)
          /home/pedronis/canonical/go-ws/src/launchpad.net/gocheck/gocheck.go:436 +0x28f
  created by launchpad.net/gocheck.(*resultTracker).start
          /home/pedronis/canonical/go-ws/src/launchpad.net/gocheck/gocheck.go:416 +0x35

  goroutine 17 [syscall]:
  runtime.goexit()
          /usr/lib/go/src/pkg/runtime/proc.c:1445
  exit status 2
  FAIL 	explode	0.030s

they all seem to point to a corrupted freelist.
This change seems to workaround the issue, pointing in the direction of C-heap pointers and finalizers instead of an issue with the code itself. AFAIU go gc should be able to ignore C-heap pointers so this wouldn't be needed, indeed the code works fine with no panics without this change with 1.2, 1.4.1 and 1.3.3 on 64 bits:
diff --git a/cclick.go b/cclick.go
index 976c00a..cc56c24 100644
--- a/cclick.go
+++ b/cclick.go
@@ -26,6 +26,7 @@ func (ccu *CClickUser) CInit(holder interface{}) error {
        }
        ccu.cref = cref
        runtime.SetFinalizer(holder, func(interface{}) {
+               ccu.cref = nil
                C.g_object_unref((C.gpointer)(cref))
        })
        return nil

No more work is being done on Go 1.3.  Please re-open if the problem happens with Go 1.4 or tip.

Less than six months support window. Noted.

@chipaca, your sarcasm is unnecessary.   If something worked in Go 1.3 but doesn't work in Go 1.4, that's a bug and we'll fix it in Go 1.4 (in a point release) and at tip as well.  That promise takes much more time than "six months".  But what we're not going to do is go cherry-pick all fixes into all old releases of Go.

Sorry about the sarcasm; I am rather upset about this. Code that works with 1.2 has stopped working in 1.3, leading to a FTBFS in Ubuntu's Vivid (15.04) (which is the first one with 1.3 and not out the door yet) for code that worked up to 14.10. So we're left with deciding whether to ship unsupported golang packages, and work around the issue and hope it is a valid workaround and not merely decreasing the probability of it in testing, or moving Vivid to 1.4 (which is not a call I can make, and given that 1.4 isn't yet out of Debian experimental -- let alone unstable -- it is rather unlikely).

/cc @dvyukov for any thoughts.
I agree that the release cycle mismatch between Go and Ubuntu/Debian is unfortunate, but it's hard to line up anything with Debian.

  There is no way that our small team can maintain past releases indefinitely.  People using our releases are expected to upgrade.
However, you are not using our releases.  You are using Debian's.  There is nothing prevent Debian from patching an old release.
That said, I have not looked at your code.  Liveness analysis is getting increasingly more precise.  Errors involving finalizers being run unexpectedly are more common in later releases.  In particular, the fact that some variable is live at the beginning of a function does not mean that it is live at the end.  This means that a finalizer may be running when you do not expect it.  Take a close look at your finalizers and make sure that when they call into C there is no way that they can be touching any C memory that is referenced by any other Go value.

Maybe I should've added that the issue is not present in 1.4?

The way finalizers work for C resource finalization is very subtle.
If you have code like:
holder.cref = C.create()
runtime.SetFinalizer(&holder, func(h *Holder) {
C.destroy(h.cref)
})
...
C.use(holder.cref)
By the time C.use starts executing, holder becomes dead and so can be finalized while C.use executes.
Looking at your patch, it seems that you can be affected by this subtlity.

my bad, the effect of the workaround is simply to stopping the collection
of holder completely :/
anyway the is no further use of ccu.cref in the code through ccu itself,
cref comes out of the C side  and is never passed back to be used here,
except the value closed over to be for the unref but that doesn't go
through ccu or any other go object afaict,
On Fri, Feb 13, 2015 at 6:04 PM, Dmitry Vyukov<EMAIL_ADDRESS>wrote:

The way finalizers work for C resource finalization is very subtle.
If you have code like:
holder.cref = C.create()
runtime.SetFinalizer(&holder, func(h *Holder) {
C.destroy(h.cref)
})
...
C.use(holder.cref)
By the time C.use starts executing, holder becomes dead and so can be
finalized while C.use executes.
Looking at your patch, it seems that you can be affected by this subtlity.
—
Reply to this email directly or view it on GitHub
https://github.com/golang/go/issues/9866#issuecomment-74287552.


investigate best hosting/server platform

Check whats the best way to host the application (Firebase/amazon/somthing else)

FINAL: Back end, Firebase with google cloud function.


[Event Request] Codeunit 99000787 Create Prod. Order Lines - OnCopyFromFamiliyOnAfterSetFilterFamiliyLine

We would like to have a integration event in Codeunit 99000787 Create Prod. Order Lines, so we can filter-out certain Familylines:
local procedure CopyFromFamily(): Boolean
    var
        Family: Record Family;
        FamilyLine: Record "Family Line";
        ErrorOccured: Boolean;
    begin
        Family.Get(ProdOrder."Source No.");
        FamilyLine.SetCurrentKey("Low-Level Code");
        FamilyLine.SetRange("Family No.", ProdOrder."Source No.");
//AddEvent>>
OnCopyFromFamiliyOnAfterSetFilterFamiliyLine(FamilyLine, ProdOrder);
//AddEvent<<

        if FamilyLine.FindSet() then
            repeat
                if FamilyLine."Item No." <> '' then begin
                    InitProdOrderLine(FamilyLine."Item No.", '', ProdOrder."Location Code");
                    OnCopyFromFamilyOnAfterInitProdOrderLine(ProdOrder, FamilyLine, ProdOrderLine);
                    ProdOrderLine.Description := FamilyLine.Description;
                    ProdOrderLine."Description 2" := FamilyLine."Description 2";
                    ProdOrderLine.Validate("Unit of Measure Code", FamilyLine."Unit of Measure Code");
                    ProdOrderLine.Validate(Quantity, FamilyLine.Quantity * ProdOrder.Quantity);
                    ProdOrderLine."Routing No." := Family."Routing No.";
                    ProdOrderLine."Routing Reference No." := 0;
                    ProdOrderLine.UpdateDatetime();
                    OnCopyFromFamilyOnBeforeInsertProdOrderLine(ProdOrderLine, FamilyLine);
                    InsertProdOrderLine();
                    if ProdOrderLine.HasErrorOccured() then
                        ErrorOccured := true;
                    OnCopyFromFamilyOnAfterInsertProdOrderLine(ProdOrderLine);
                end;
            until FamilyLine.Next() = 0;
        exit(not ErrorOccured);
    end;

//AddEvent>>
    [IntegrationEvent(false, false)]
    local procedure OnCopyFromFamiliyOnAfterSetFilterFamiliyLine(var FamilyLine: Record "Family Line"; ProductionOrder: Record "Production Order"; )
    begin
    end;
//AddEvent<<

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 53020.


Playlist: allow deleted claims to be manually removed?

I know there are few deleted claims in my playlist, but no way to remove them while publishing.

Probably don't want to try auto-removing them again.  I vaguely recall this was attempted before, and ended up removing people's entries simply because resolve occasionally failed.
While editing in the Collection Publish, the tile can probably just show a default thumbnail and LBRY url as the title, and some note saying "deleted" or something.
In all other playlist views, continue to hide deleted claims.  (our competitor actually just shows a "removed" tile ... kinda like that as it reflects the actual state of the list, but no strong reason to change).

Can close if disagree.

Hmm, could have sworn we showed a button somewhere in this case to remove.

Oh yeah ... the "remove deleted entries" or something....
Couldn't find it ... maybe a recent bug.  It's now just this:

Ah, maybe that's the case if ALL are deleted...
On Thu, May 11, 2023 at 9:41 AM infinite-persistence <
@.***> wrote:

Oh yeah ... the "remove deleted entries" or something....
Couldn't find it ... maybe a recent bug. It's now just this:
[image: image]
https://user-images.githubusercontent.com/64950861/237706489-12d38ef7-1b17-4737-bd11-af3d92cb2468.png
—
Reply to this email directly, view it on GitHub
https://github.com/OdyseeTeam/odysee-frontend/issues/2780#issuecomment-1544025372,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB56TEKLQ5WBJKLKRBECZH3XFTUCPANCNFSM6AAAAAAX6ERGRA
.
You are receiving this because you commented.Message ID:
@.***>


🐛 [BUG] - window is not defined

Description
Any page using the appwrite-client sdk will show window is not defined.
Reproduction URL
No response
Reproduction steps
1. Build page
2. Go to /account

Screenshots
No response
Logs
No response
Browsers
No response
OS
No response

Only applies to client sdk


Unable to run Spectrum Demo

Hello.  New to the LMS-ESP32, and relitivly new to micropython... but not having fun with this combo so far :(
After much futzing about, I think I have finaly managed to get communication with the BlogExamples spectrum demo, but on the Mindstorms App (RIS) it keeps tossing out this error:
Error specerr Command failed: 'module' object has no attribute 'spectrogram'
leading me to wonder if something has changed with the ULAB or something? since this was published... but that is just a random guess on my part :P

Sorry to hear that it's been a bit hard. Have you tried flashing it with the latest ulab firmware here? https://firmware.antonsmindstorms.com/

Hello.  Just receved a brand new 3 pack of the pro.  Showes as running:
MicroPython v1.19.1 on 2022-10-12; ESP32 module (lvgl,ulab,spiram) with ESP32

OK. Tonight I have time to check what is going on. Could you provide me with the link/exact steps you followed so I can reproduce the error? Do you have a display connected to the ESP32?

No display, just running Thonny off of Windows PC to LMS-ESP32.
Installed spectrum_lego.py to the ESP
`from machine import I2S, Pin
from ulab import numpy as np
from ulab import scipy as spy
import time
from uartremote import *
SCK_PIN = 33
SD_PIN = 32
WS_PIN = 27
I2S_ID = 0
alpha = 0.997
WAV_SAMPLE_SIZE_IN_BITS = 16
FORMAT = I2S.MONO
SAMPLE_RATE_IN_HZ = 5000 # up to 2500Hz, enough for voice
BUFFER_LENGTH_IN_BYTES = 4192
audio_in = I2S(I2S_ID,
sck = Pin(SCK_PIN),
ws = Pin(WS_PIN),
sd = Pin(SD_PIN),
mode = I2S.RX,
bits = 16,
format = FORMAT,
rate = SAMPLE_RATE_IN_HZ,
ibuf = BUFFER_LENGTH_IN_BYTES)
def hamming(N):
# hamming filter for removing sharp artefacts of finite sampling signal
n = np.linspace(0,N,num=N)
w = 0.54-0.46np.cos(23.1415*n/N)
return w
initialize
#neop=neopixel.NeoPixel(Pin(21),64)
def level(l):
for i in range(8):
if i<l:
neop[i]=(5i,5(7-i),0)
else:
neop[i]=(0,0,0)
neop.write()
def led_xy(x,y,col):
iy=y%8
neop[iy*8+x]=col
def led_power(q):
m=3000 #max(q)
f=m/8
for i,qi in enumerate(q):
l=qi
if l>m:
l=m
iy=int(l/f)
for ii in range(iy):
led_xy(i,ii,(30,0,0))
for ii in range(iy,8):
led_xy(i,ii,(0,0,0))
neop.write()
mic_samples = bytearray(256)
mic_samples_mv = memoryview(mic_samples) # efficient pointer to original array
we use efficient ulab functions (written in C)
m_sq=np.zeros(5)
m_sq_prev=np.zeros(5)
alpha=0.1
def spec():
global m_sq,m_sq_prev
num_bytes_read_from_mic = audio_in.readinto(mic_samples_mv)
# interpret raw buffer to signed int16 array
q=np.frombuffer(mic_samples,dtype=np.int16)
# multiply each array elemelt with hamming windows
q=qhamming(128)
q=q-np.mean(q) # get rid of DC component
# perform FFT and take abolute value of complex numbers
z=spy.signal.spectrogram(q)
# reshape only positive frequency elements in n bins
zs=z[:60].reshape((5,12))
# calculate sum of each bin
sq=np.sum(zs,axis=1)
#m_sq=np.maximum(sq,m_sq) # take maximum per array element
m_sq=alphasq+(1-alpha)*m_sq_prev
m_sq=np.maximum(sq,m_sq)
m_sq_prev=m_sq
return tuple(list(sq.tolist()+m_sq.tolist()))
#return tuple(sq)
def add_commands(ur):
ur.add_command(spec,'10f')
ur=UartRemote()
add_commands(ur)
ur.loop()`
Installed plot_freq.py into available spot on the HUB - adjusted the port for A as that is what the ESP is plugged into.
`from projects.uartremote import *
import hub
import time
ur=UartRemote('A')
import module spectrum_lego on remote side
this makes the function 'spec' available to call from this side
ur.add_module('spectrum_lego')
m=5000
def show_display(f):
displays power spectrum as array of 5, with next 5 values the dynamic range value
LEDS for power spectrum power = 8, dyn range power = 9
for i in range(5):
    ff=max(f[i],m)
    n=int(f[i]/ff*6)-1 # skip 0
    nm=int(f[i+5]/ff*6)-1
    for j in range(n):
        hub.display.pixel(i,5-j,8) # reverse display (5-j)
    hub.display.pixel(i,5-nm,9)

clear display
hub.display.show(' ')
t=time.ticks_ms()
i=0
f=[0]*10
while True:
try:
show_display(f)
ack,f=ur.call('spec')
hub.display.show(' ')
time.sleep_ms(10)# add small delay for stability
i+=1
if i==60:
# show ms per frame
#print(time.ticks_diff(time.ticks_ms(),t)/60.)
t=time.ticks_ms()
i=0
except KeyboardInterrupt:
print('interrupted!')
break
except:
print("Error",ack,f)
`
I can tell it is at least communicating, as the errors change if I mess around with the ESP code at the line where that z variable is (Line 98 on my setup):
    # perform FFT and take abolute value of complex numbers     z=spy.signal.spectrogram(q)
I must say, that between the bleeping issues getting the uart_remote.mpy into the HUB without it always wanting to update the firmware?!?!  Keep trying it the same way and eventualy it works.  Gi fig.  And the instructions for this LMS-ESP board spread all over between github and youtube... This has been a bit more complicated then I hoped.  I just need a functioning interaction to help me better understand as I read the documentation (I am more a hands on learner) and thoght this particular demo would be the best as it didn't require any additional hardware... as the mic was part of the kit I ordered anyway.  But perhaps not :P

Oh, I also have main.py on the ESP... still not sure if that is nessesary or not but dont want to mess with it yet again until I get the missing attribute 'spectrogram' figured out.
from uartremote import *
ur=UartRemote()         # initialize uartremote on default uart and default uart pins
ur.loop()

Sorry it took so long, as stated, I find the info spread all over and hard to keep track of... but that is just me :)  Anyhow, I got the links updated in posts above... and this was the video that got me started down this rabbit hole :P
https://antonsmindstorms.com/2022/02/13/hook-up-any-i2c-sensor-hobby-servo-and-more-to-your-lego-robot-with-the-esp32-board/#a-spectrum-analyzer-with-a-digital-mems-microphone

BTW, Thanks for looking into this for me.  Meanwhile I just noticed that you are working on a PyBricks option for the LMS-ESP32... This makes me happy as I am somewhat unimpressed with LEGO's software and there recent EOL of the Mindstorms lineup.
Meanwhile, I just ordered some of your RGB strips... looking forward to lighting up my Lego robots with programable LEDs :D

Sorry about the docs. They are so much work! Still, it's incredible how far you got with the chaotic info!
I ran some tests and concluded you did everything right.
If you see the message about the missing spectrogram, that means that communication between spike and esp works!
The problem is that the 'spectrogram' method is absent from ulab.scipy.signal in the ESP firmware. It was there in the past.
This is something for @ste7anste7an to fix. Can you comment, @ste7anste7an ?

@Gun-neR You are right, the spectrogram is removed from the ulab.scipy.signal. Fortunately it is moved to ulab.utils.spectrogram. Therefore, I suggest you add
import ulab

at the beginning of the spectrum_lego.py file and replace:
spy.signal.spectrogram(q) with ulab.utils.spectrogram(q).  Coming days I can not test it myself. I will test it this weekend.
Sorry that the documentation is spread all over github and youtube. We started putting all the docs together in a single spot: https://docs.antonsmindstorms.com/en/latest/ . Eventually this should become the place where you will find all the documentation. We are still working on it.

Hello @ste7anste7an   Thank you for fast result... it works now :)

I found your other toturials and am currently going through them... I didn't realise I could access the LEGO HUB directly with Thonny... nice to know :)

Update... well... it works for about 5-20 seconds, then the ESP side seems to lock up, requiring a reset, and stop/start on the LEGO side.  But as that was not the topic of this issue, I will leave it closed and carry on with my overall experimenting with this fun little LMS-ESP32 board.  Thanks to all!

I have the same: the ESP locks up on my side too. We'll have to investigate this. Maybe a memory leak?

About the lock-up: I tried putting everything from spectrum_lego into main.py. The program ran a bit longer but still crashed eventually.

It works very stable on my hub and LMS-ESP32. These are the steps I took:

I updated the green mindstorms hub to the latest Mindstorms firmware (I was running pybricks).
I installed the uartremote library on the lego hub using this file: https://github.com/antonvh/UartRemote/blob/master/MicroPython/SPIKE/install_uartremote.py)
I took an LMS-ESP32 with the latest firmware
I connected the LMS-ESP32 to the Lego hub on Port B
I used 2 seperate Tonny sessions:  one for the Lego hub and one for LMS-ESP32
I first  loaded the LMS-ESP spectrum_lego.py file in thonny, and copy and pasted that in the REPL of the LMS-ESP32
then, I loaded the lego SPIKE example plot_freq.py  in thonny and copy and past the whole code in the REPL of the Lego hub thonny instantance.
now, it runs for almost 10 minutes

Hope this helps for you guys to get it work in a stable way.

Now it still crashes after a few minutes.
3rd test:

loaded the Mindtorms app in one of the programs (in my case '0') .
Started the program from the hub by selecting 0 on the hub and start it.

It crashed eventually.
When I restart the program on the Lego hub, I do not need to restart the LMS-ESP32, indicating that that side is OK.
4th test

Running the program on the hub without having the Mindstorms app open (just standalone).
chrashes eventually (only hub side)

5 th test:

No changes on LMS-ESP32 side (when pressing reset button code gets executed)
on Mindstorms I loaded the plot_freq.py code (with 10ms delay in line 35 using Thonny by selecting the python code and pasting it in the Lego hub repl.
now it keeps working for over 30 minutes

Conclusion:

The LMS-ESP32 code is fine and stable
The Mindstorms app software causes some problem. But which problem?

@ste7anste7an  Thanks for the info.
Based on this, I simply added ...
'''
time.sleep(.05)
'''
...  just in front of...
'''
return tuple(list(sq.tolist()+m_sq.tolist()))
'''
... in spectrum_lego.py.  And left it listening to YouTube music, as my voice was getting hoarse :P  And so far it hasn't quit (about an hour and still going as I type this).
Since I don't plan on making a dedicated LEGO VU type meter for my music system... hah!... it should be just fine however long it lasts.

Update... @ste7anste7an  Wow, I had forgot about the running program, watched a movie and didn't notice until now (about three hours have since passed) and the Spectrum Demo is still running!!
Now I have no idea how/if a 50ms delay in the ESP processing affects the actual spectrogram... as I never had it funning long enough before to really see how it works with different sounds :P  But it still seems to flash lots of lines of LEDs just fine and I can sorta see different results with high and low frequency's, so I guess all is still fine.
I might experiment with less delay time, down to the 10ms you tried, and see if there is a better value to use.

Now the challenge is to detect in the code when this happens and reset the connection... I suspect the LEGO python virtual machine or the Soft UART buffer management. However, 30ms (+/- 30Hz) is acceptable for almost all applications.

...and still going just short of a solid day.
I am way too noobie with Python/Micropython/Mindstorms, but I do recall how Arduino SoftwareSerial had limitations when pushing data "too-much-too-fast".  I'll leave the rest of this particular issue to the experts, whilst I next try to tie my LEGO/ESP32 into my MQTT server :D

You might have a look at this code: https://github.com/ste7anste7an/lego_mqtt It is far from a complete example , but gives you some hints in using MQTT on the LMS-ESP32 board.

FYI.  After running straight for last 4+days with that 30ms delay in the ESP code, it finally stopped sometime in last 8 hours.
This help in determining if a memory leak or something?

Thanks a lot for the test! We have a buffer congestion issue. I'll try to stabilize that...


Structured data issue

When I try to use Structured data (application/ld+json) in blade it looks all weird.

Any ideas on this?

This is a known issue and currently no workaround.


pop from empty list in certain YAML files

I have encountered the following sls file, that causes the parser to fail with a IndexError: pop from empty list:
from salt_lsp.parser import parse

parse("""apache2:
   pkg.installed: []
   service.running:
     - enable: true
     - require:
       - pkg: apache2
""")

which throws this exception:
IndexError                                Traceback (most recent call last)
<ipython-input-11-36bc9a975312> in <module>
----> 1 parse("""apache2:
      2   pkg.installed: []
      3   service.running:
      4     - enable: true
      5     - require:

~/suse/github.com/dcermak/salt_lsp/salt_lsp/parser.py in parse(document)
    687     :raises ValueException: for any other renderer but ``jinja|yaml``
    688     """
--> 689     return Parser(document).parse()

~/suse/github.com/dcermak/salt_lsp/salt_lsp/parser.py in parse(self)
    636             for token in tokens:
    637                 log.debug(token)
--> 638                 self._process_token(token)
    639         except yaml.scanner.ScannerError as err:
    640             log.debug(err)

~/suse/github.com/dcermak/salt_lsp/salt_lsp/parser.py in _process_token(self, token)
    525         if isinstance(token, yaml.BlockEndToken):
    526             last_start = self._block_starts.pop()
--> 527             last = self._breadcrumbs.pop()
    528             # pop breadcrumbs until we match the block starts
    529             closed = last

IndexError: pop from empty list

@cbosdo any ideas?

I believe the culprit here is that lists created via [] are started via a yaml.FlowSequenceStartToken that is not tracked by the parser. I have a fix for that but it needs further testing.

Fixed by #4.


[Bug] recent change of param "block_size_x/y, unroll" in dlight/gpu/matmul.py significantly decrease q4f16_1 prefill speed on android 8gen3 device

In mlc-llm v0.18.dev0 release, tvm(relax repo) commit 50d1c97dc98 leads to extremely slow prefill speed for q4f16_1 of Llama-2-7B-chat-hf on android 8gen3 device.
Expected behavior
q4f16_1 of Llama-2-7B-chat-hf prefill speed is close to 10 tok/s before.
Actual behavior
q4f16_1 of Llama-2-7B-chat-hf prefill speed is only ~0.3 tok/s now.
Environment

android 8gen3 device

mlc-llm v0.18.dev0

tvm relax submodule in mlc-llm repo at that moment.

Steps to reproduce

compile, bundle q4f16_1 of Llama-2-7B-chat-hf and launch on android 8gen3 device.

by the way, when I revert "block_size_x/y, unroll" value as well as related parts in sch_outer_reduction from (32, 8, 4) to (8, 16, 64), q4f16_0 and q4f16_1 prefill speed become normal.
this may need a fix as most mlc converted models are released in q4f16_1 format.
Triage

vert:android

HI @xuguodong1999 thank you for reporting this. Our experience is that for Android devices, using the quantization q4f16_0 can bring better performance than q4f16_1. Would you mind also trying that out?

q4f16_0 prefill is indeed faster than q4f16_1 on android, regardless of hyperparameters "block_size_x/y" and "unroll". Thank you for your reply.


[RPC] Updated the message that RPC call returns after encrypting wallet

Ops, pushed to the wrong branch

A new build of 1fa259e91dd0483b81dbdf13491d6cd40f9ae926 has completed succesfully!
Binaries available at https://build.nav.community/binaries/rpc-encryptwallet-return-message


Support Animations Stored Separately from Skinned Meshes

Godot version: 3.0 beta 2 (source build from 1748ce74cc10fd0bf79f3258f74509e5ad8cc4f7)
OS/device including version: Gentoo Linux, Kernel 4.14.8, KDE 5, GTX 1080, NVidia drivers 387.22
Problem: An average game project usually needs dozens (if not hundreds) of animation clips for each individual character. Exporting these animations from Maya or Blender also takes a long time, so to improve iteration times (and to enable simultaneous editing), animations are commonly stored in separate files.
For example: dude.dae (original model), dude.acrobatics.dae (animations), dude.fighting.dae (animations)
Godot currently provides no automated way to handle these libraries. The only possible workflow is to import the character model and animations individually:

...and then use the copy and paste functionality of the AnimationPlayer to manually copy the animations into the character model's AnimationPlayer:

Existing Solutions: Other engines have solved this as follows:
In Unity, it is possible to select the "Avatar" (= bone hierarchy) of the character model when importing an animation library. The animations will then reference the original bones and all animations can be used as if they had been in the character model's original file.

In Unreal Engine 4, upon importing, the user can select an existing "Skeleton" to use when importing an animation library. The animations will then be assigned to the character model's original skeleton and can be used in the character's animation state machine.

Possible Implementations: I can think of several possible ways to implement this in Godot engine:

Provide a MergedAnimationPlayer (or similar) that allows multiple other AnimationPlayers to be referenced and merges their animations

Extend the AnimationPlayer so extra animations can be imported from other model files (i.e. by adding an 'ExtraAnimationSource' list referencing animation tracks like 'res://dude.acrobatics.dae::14' to include

Provide external tooling so the copy and paste operation can somehow be automated

Any updates on this?

This would be super useful when downloading animations from Mixamo

I was trying to support this via a BVH importer (with remapping), but I'm stuck on bugs in it.  Here's the code so far: https://github.com/josephcatrambone/godot-bvh-import
It's possible, if nontrivial, to use the Godot Exporter in Blender and just export the armature with animations.  You can then move them between scenes via the animation's copy/paste mechanism.

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


[Installation]: cannot install vllm with openvino backend

Your current environment
ERROR: Cannot install openvino-tokenizers[transformers]==2<IP_ADDRESS>, optimum-intel and vllm==0.6.3.dev100+g15986f59.openvino because these package versions have conflicting dependencies.

The conflict is caused by:
    vllm 0.6.3.dev100+g15986f59.openvino depends on transformers>=4.45.0
    openvino-tokenizers[transformers] 2<IP_ADDRESS> depends on transformers>=4.36.0; extra == "transformers"
    optimum-intel 1.19.0 depends on transformers<4.45 and >=4.36

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip to attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

How you are installing vllm
git clone https://github.com/vllm-project/vllm.git
cd vllm
pip install -r requirements-build.txt --extra-index-url https://download.pytorch.org/whl/cpu
PIP_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu" VLLM_TARGET_DEVICE=openvino python -m pip install -v .
follow the offical step
https://docs.vllm.ai/en/latest/getting_started/openvino-installation.html

Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Can you test out #9121 and see if it enables you to install the latest vLLM?


fix incorrect documentation example for client-server test

Motivation:
Fix #101

I see. I will open another PR to have a clean git history.


Generate GtkStyleContext get property functions

These were ignored previously.
Fixes https://github.com/gtk-rs/gtk/issues/874

:+1:

How should we move forward here? @BrainBlasted ?


Update fortigate-ssl-vpn-tutorial.md

@ilee-fortinet, Creating a separate PR in our private repo to commit the changes,
closing this for now.
#please-close


Not working on Sublime 3

OS: Windows 7
node version: v4.2.6
pug-lint version: 2.1.3
pug-lint works on CLI, but not on Sublime 3.
I turn on the debug mode on sublimelinter and see nothing on status console when I open my *.jade files.
my .pug-lintrc setting
{
  "preset": "clock",
  "validateIndentation": 2,
  "validateAttributeQuoteMarks": "\"",
  "validateAttributeSeparator": ", "
}

This issue was introduced in version 1.1.0, and is fixed in version 1.1.1 by #3

It is doesn't be solved.... I really don't know what happened, and I followed what the https://github.com/benedfit/SublimeLinter-contrib-pug-lint said completely, but it doesn't work... it almost driven my crazy:( I installed the sublimeLinter, and then used the node to install the pug linter, then used the package control to install the contrib-pug-linter, I can find the path by "where pug-linter", and have enabled the pug-linter? Is there something I ignored? help! Thank you!


PathHandlerMounter is gething bigger

Try to separate the responsibilities from the method mountMethods, this method is getting bigger each time we add a new feature, i think we can get a better method separating some responsabilities from the method

We no longer use this class to create our handlers, and i will be removed in the future

great but , has some impact ?
btw if the API is transparent +1 for this move!

No impacts, the last commit is not using the class anymore, and running fine
2015-02-03 22:33 GMT-03:00 Helio Frota<EMAIL_ADDRESS>
great but , has some impact ?
btw if the API is transparent +1 for this move!
—
Reply to this email directly or view it on GitHub
https://github.com/EsmerilProgramming/cloverx/issues/44#issuecomment-72773752
.

--
Atenciosamente,
Efraim Gentil - @efraimgentil https://twitter.com/efraimgentil
Github https://github.com/efraimgentil
LinkedIn
http://www.linkedin.com/profile/view?id=215608595&trk=nav_responsive_tab_profile_pic


Web Chat replace "quotes" with "smart quotes"

Copied from email:

We’ve recently noticed an issue with our bot where the text that is displayed in the web chat has curly/double quotes/ticks (“ and ‘) instead of straight quotes/ticks (" and ').
This is a problem as our bot provides users with commands that they can copy, paste, and run on our product and the curly/double quotes/ticks cause parsing errors.
After looking into the code, it looks like the string that is posted has the right kind of quotes/ticks right up until it shows up in the web chat and also, on other channels (such as MS Teams), the right quotes/ticks show up.
So overall, it’s looking like an issue that is specific to the web chat channel and the way that the text is displayed in it. Is there something that can be done about this?

@corinagum Can you see if it can be repro?


doxygen: 1.8.11 -> 1.8.14

Motivation for this change
Update doxygen version
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[X] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Applied to master (3d74ccf5e8f9d6ac32a3104a1598203c008dc227). Thanks!


Cannot use template parameters to remove null

I'm not sure where this is breaking down. Maybe type parameters are always nullable???
/**
 * @param {?T} v
 * @return {!T}
 * @template T
 */
function notNull(v) {
  if (v === null) {
  	throw new Error("null");
  }
  return v;
}

/**
 * @param {!string} s
 */
function f(s) {
  alert(s);
}

/**
 * @param {?string} s
 */
function g(s) {
  f(notNull(s));  // ERROR!
}

https://closure-compiler.appspot.com/home#code%3D%252F%252F%2520%253D%253DClosureCompiler%253D%253D%250A%252F%252F%2520%2540compilation_level%2520ADVANCED_OPTIMIZATIONS%250A%252F%252F%2520%2540output_file_name%2520default.js%250A%252F%252F%2520%2540formatting%2520pretty_print%250A%252F%252F%2520%253D%253D%252FClosureCompiler%253D%253D%250A%250A%250A%252F**%250A%2520*%2520%2540param%2520%257B%253FT%257D%2520v%250A%2520*%2520%2540return%2520%257B!T%257D%250A%2520*%2520%2540template%2520T%250A%2520*%252F%250Afunction%2520notNull(v)%2520%257B%250A%2520%2520if%2520(v%2520%253D%253D%253D%2520null)%2520%257B%250A%2520%2520%2509throw%2520new%2520Error(%2522null%2522)%253B%250A%2520%2520%257D%250A%2520%2520return%2520v%253B%250A%257D%250A%250A%252F**%250A%2520*%2520%2540param%2520%257B!string%257D%2520s%250A%2520*%252F%250Afunction%2520f(s)%2520%257B%250A%2520%2520alert(s)%253B%250A%257D%250A%250A%252F**%250A%2520*%2520%2540param%2520%257B%253Fstring%257D%2520s%250A%2520*%252F%250Afunction%2520g(s)%2520%257B%250A%2520%2520f(notNull(s))%253B%250A%257D%250A

It looks like the compiler is inferring T to be string|null. I don't think we have a way for the user to tell it explicitly to use string instead. You can of course use goog.asserts.assert if Closure Library is available.

A couple of thigns:
(1) "!" does nothing on template variables (on other types, it doesn't
remove null, it simply prevents it from being added)
(2) Currently, in expressions like: "T|null", "T" currently resolves to the
entire union of types, not just the subexpression.  I don't recall why this
was done and it is something that I would like to look into changing.
On Mon, Mar 19, 2018 at 1:01 PM, Erik Arvidsson<EMAIL_ADDRESS>wrote:

I'm not sure where this is breaking down. Maybe type parameters are always
nullable???
/** * @param {?T} v * @return {!T} * @template T /function notNull(v) {
if (v === null) {
throw new Error("null");
}
return v;
}
/* * @param {!string} s /function f(s) {
alert(s);
}
/* * @param {?string} s */function g(s) {
f(notNull(s));  // ERROR!
}
https://closure-compiler.appspot.com/home#code%3D%252F%252F%2520%253D%
253DClosureCompiler%253D%253D%250A%252F%252F%2520%2540compilation_level%
2520ADVANCED_OPTIMIZATIONS%250A%252F%252F%2520%2540output_file_name%
2520default.js%250A%252F%252F%2520%2540formatting%
2520pretty_print%250A%252F%252F%2520%253D%253D%
252FClosureCompiler%253D%253D%250A%250A%250A%252F**%250A%
2520*%2520%2540param%2520%257B%253FT%257D%2520v%250A%
2520*%2520%2540return%2520%257B!T%257D%250A%2520*%2520%
2540template%2520T%250A%2520*%252F%250Afunction%2520notNull(
v)%2520%257B%250A%2520%2520if%2520(v%2520%253D%253D%253D%
2520null)%2520%257B%250A%2520%2520%2509throw%2520new%
2520Error(%2522null%2522)%253B%250A%2520%2520%257D%250A%
2520%2520return%2520v%253B%250A%257D%250A%250A%252F**%
250A%2520*%2520%2540param%2520%257B!string%257D%2520s%
250A%2520*%252F%250Afunction%2520f(s)%2520%257B%250A%2520%
2520alert(s)%253B%250A%257D%250A%250A%252F**%250A%2520*%
2520%2540param%2520%257B%253Fstring%257D%2520s%250A%
2520*%252F%250Afunction%2520g(s)%2520%257B%250A%2520%2520f(
notNull(s))%253B%250A%257D%250A
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/closure-compiler/issues/2855, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ABMDKlIHCU2EV3fObeOMWTUCFjpuDnJAks5tgA6NgaJpZM4Swz1s
.

Thanks John, that makes sense.
To follow up. Is there any way to write a function that takes a nullable type and returns a non nullable type with the current Closure Compiler type system? Something like:
https://flow.org/try/#0PTAEAEDMBsHsHcBQjIFcB2BjALgS1uqOrNgHKrTQA8AKgHwAUAbgFyg2gA+RF0AlGw4BvRKFC5IoZqAC8cnpT6hsACwBOCIgFN4oAKJqNahnwDco0Gq3ZUawk3MBfZABMtmaAEMroJt9AAnmwAzthquOgA5lwK0OaYBKGgAB4hYRHRMkQk5JQMAWaIQA


Update to Swift 1.2

Update syntax to Swift 1.2

Thanks @peacemoon! I haven't had too much time to dwell into Swift, but I'm really glad others like yourself are helping to spread the love in swift. I appreciate it! :+1:


feat: (observability, samples): add tracing end-to-end sample

This change documents an end-to-end observability tracing sample using OpenTelemetry, which then exports trace spans to Google Cloud Trace.
Updates #2079

@surbhigarg92 @alkatrivedi @harshachinta kindly help me run the bots on this code, thank you!

Kindly help me run the bots @surbhigarg92! Thank you.

New samples should follow rubric format.
Refer: https://github.com/googleapis/nodejs-spanner/blob/main/samples/delete-backup-schedule.js

@alkatrivedi observability includes traces and metrics. That rubric is behind Google Corp and my email isn't activated.

@alkatrivedi sure let me tweak it look like that sample, thanks!

@alkatrivedi kindly please take a look again, thank you!

@odeke-em please add a test for the sample in https://github.com/googleapis/nodejs-spanner/blob/main/samples/system-test/spanner.test.js

Done, thank you @alkatrivedi! Please take another look.

@odeke-em Please also work on the github lint issues.


ROM v5.0.2 support

Hello !
I want to use ROM with MongoDB (legacy choice :-1:)
The problem is that I don't know where to start to update this gem.
Thanks for your help !

First of all you need to investigate which mongo backend should be used, ie should we rely only on the driver and build a custom query API or are we still able to leverage a query builder using some gem. Then I would recommend looking at rom-elasticsearch adapter as the general structure will be similar here.

Thanks @solnic
I've tried something here https://github.com/rom-rb/rom-mongo/pull/30

Any update on this? I’d like to use rom with mongo but it seems it’s a long time that it does not receive any update.

I am not using MongoDB anymore, so I will not continue this pull request.

@alex-lairan thanks for the heads up


Implementation of the Retraining to get a CNCF LLM

User story

As a machine learning engineer
I want to implement the retraining of the Gemma model with the Data from the Q&A dataset
So that I am able to run the training and create a model afterwards

Acceptance criteria

A script is implemented with which the CNCF LLM can be trained
Logs show the outcome of the training
The LLM is able to utilize GPU(s) for training

Definition of done (DoD)

Bill of Materials in the planning document has been updated
All the complex logics have been tested
All feature branches have been merged and closed
New feature code has been documented
Potential new licenses have been checked
All GitHub Actions are passing
The requirement.txt is updated

DoD general criteria

Feature has been fully implemented
Feature has been merged into the mainline
All acceptance criteria were met
Product owner approved features
All tests are passing
Developers agreed to release

added DoD


Fix plot tasks

The current version of plot tasks is broken in case a task name matches
multiple PIDs. In that case a plot:

report in the title just the first PID
mix data for all PIDs in the same plot

This patch fixes this issue by actually producing a set of plots for each
different PIDs which match a specified task name.
Moreover, it is now possible to define the list of tasks to plot by specifying
either task names and/or PIDs.

:+1:


Notifications not working

I make the notifications on and it didn’t push notifications to the mobile such as FB/Twitter

Bug Report Dump (Auto-generated)

Version 1.12.1 (1185)
Device: iPhone 8 Plus (iOS 11.1.2)
TestFlight: true

Hey @MostafaAlaa2016, notifications are not supported (yet). We do support badges though!
Sent with GitHawk

What’s the meaning of support badges?

The app icon will get the red dot indicating how many unread notifications you have.
Sent with GitHawk

Thanks, is there any plans to push notifications?
Sent with GitHawk

Push notifications have an open ticket (#224) - Unfortunately this would really require a server component to do active polling, otherwise I'm sure it'd be a top feature!
A simple/temporary compromise could be to use the background polling we already have and use UILocalNotification saying something like "You have x new notifications! Tap to read them!" or similar.
I'll move that suggestion to the linked issue to keep the discussion in one place!


Monday 18-11-2024 Roll call

Roll Call!
Leave a comment with these two things:

A summary of your study using only emojis
Something you'd like to share, anything goes! (within respect)

emoji cheat sheet

Morning!

Good Morning!

good morning

good morning

Salut!

Good Morning

Good Morning

hello

Hello

hi

Bonjour !

Hi

hi


Create DIAGMOVE

Hey @khushi-0001  Thank you for your PR , but please follow the guidelines mentioned in CONTRIBUTING.MD to get the PRs accepted .


How can i set the charge Limit? (beginner question)

Hi, i got simple tasks working with boolean (0/1)
but how can i do a setchargelimit or sth else. Which Value do the Api need?
Can someone post any example? for example i want to set charge limit to 16A when i press button x
that is my solution: (see photo), but how do i define it right?

The set chargelimit option is not working at the moment. This library depends on another library that needs to be updated first.

In the mean time this works.
You need the most recent version of node-red-contrib-tesla and you need a way to configure the new authentication method with the refresh token. Once you have done this, the following flow works for me:
[{"id":"6d1577b73768837c","type":"inject","z":"4e139d26.c717a4","name":"Charge<EMAIL_ADDRESS>

commandArgs.amt is incorrect, and/or has changed recently.  use commandArgs.amps.
I had the same problem, working perfectly now.

I get a 404 for trying to set the charge amps. Other functions working fine.


Extension prevents editing Wikipedia when enabled

When I try to make an edit with the extension enabled, it does not submit, and all changes are erased. If it is impossible to fix this problem itself, can you please add a toggle in the extension settings to disable or reenable it? Right now I have to go to the extension manager of Firefox to toggle it, and it's not convenient at all.

Hi,
I'm looking to find a better way of handling the way it applies the theme. I think I've found a good solution, but I'll have to test it a bit more. I tried editing with it, and there doesn't seem to be any issues with how I've tested it so far.
I originally made this quickly for my own needs, so I haven't been able to test it that much with different interactions, like editing et cetera, but thanks for letting me know of this issue.
I'll also add a toggle feature in the next release, so that it can be easily toggled on and off.


shouze/feat/add bookmarks with ci modifications

feat: Add import bookmarks using pdfcpu
ci: adapt to publish to full ecr registry

Hey guys, looks like you're adding a lot of modifications, and some of them are breaking stuff (amd64 only architecture for instance).


Scanner fails if one of the IPs included in QR code error out before one of them invokes the success callback

This isn't a problem if all IPs are from different networks, because then there's a 10 second timeout before a connection timed out error is invoked. However, if one of the IPs error out immediately, then it also cancels the success callback.

Fixed in 4.0.6-edge3!


Icy Prison DC fix

Icy Prison's DC for breaking free is incorrectly calculated.
Both the in-game description and the online sources state DC as CL + 15. The actual DC is only CL.
This unfortunately means the spell is currently almost entirely unusable.
As a secondary request, breaking free should be a full round action, currently it appears to cost no action at all (being an automated check like a save).
I don't know if it's possible to implement this, one way to get the spell closer to tabletop would be to have it apply the staggered condition for 5s after a successful strength check.

It seems the issue is the following section in the "IcyPrisonParalyzed" and "IcyPrisonEntangled" Buff Blueprints:
{                 "$id": "7",                 "$type": "Kingmaker.UnitLogic.Mechanics.Actions.ContextActionSkillCheck+ConditionalDCIncrease, Assembly-CSharp",                 "Condition": {                   "$id": "8",                   "$type": "Kingmaker.ElementsSystem.ConditionsChecker, Assembly-CSharp",                   "Conditions": [                     {                       "$id": "9",                       "$type": "Kingmaker.UnitLogic.Mechanics.Conditions.ContextConditionHasBuff, Assembly-CSharp",                       "m_Buff": "Blueprint::NULL",                       "name": "$ContextConditionHasBuff$f70b2087-4ee0-41f3-bae1-c6b76ce4dfca"                     }                   ]                 },                 "Value": {                   "$id": "10",                   "$type": "Kingmaker.UnitLogic.Mechanics.ContextValue, Assembly-CSharp",                   "m_CustomProperty": "Blueprint::NULL",                   "Value": 15                 }
"ContextConditionHasBuff" refers to a buff that doesn't seem to exist. I have no idea why there is a condition here in the first place, but this condition probably just never triggers.


Quiver with incorrect size

When upgrading a quiver/bolt quiver using a smithing table in 1.20.1, the Ammo.Size nbt tag of the resulting quiver doesn't seem to get increased accordingly, creating a glitchy quiver with an incorrect storage size.

I've just found out that you're right about the Ammo.Size NBT not being set properly, since it just copies the value of the original Quiver.
I've fixed this by ensuring the size is updated when the upgrade recipe is applied.
This will be included in the next update.

Initially you would've had to upgrade the quiver again to fix this issue, but I've made it so all you should have to do is open the GUI to fix it.
This will also be included in the next update.

The update with this fix is now live!
Closing issue


Remove NCDatasets from package Project toml

This PR removes RRTMGP.jl's dependence on NCDatasets, which should only be needed in the test/examples/gpuenv environments.

bors r+


Aggregation on several properties?

Hi,
I could not find a way to aggregate results on several properties.
Documentation https://www.semi.technology/developers/weaviate/current/graphql-references/aggregate.html shows only single property aggregations examples.
Is it possible?

Hi, could you elaborate (maybe with an example) on how you define "aggregate results on several properties"? Do you mean just multiple properties independently aggregated in the same query or a single aggregation spanning multiple fields? (cc @laura-ham)

The first, to build multiple facets from results:
multiple properties independently aggregated in the same query

Yes, that is possible by simply putting the properties next to each other. In the link you posted, the various types are not just alternatives, they can also be used together. For example:
{
  Aggregate {
    MyClass {
      myFirstProp{
        count
      }
      mySecondProp{
        count
      }
    }
  }
}

This should be a valid query. Does this answer the question? If yes, any suggestion on how to make that clearer in the docs?

I forgot to mention I need the GroupedBy syntax to retrieve facet items:
Here it is with one property:
{   Get {     Weaviate {       type     }   }   Aggregate {     Weaviate(groupBy: ["type"]) {       meta {         count       }       groupedBy {         value       }     }   } }

If they are grouped by the same grouping parameters, you can add multiple in a single query. If you need to set different grouping settings, you need to send multiple queries.

you can add multiple in a single query

Do you have an example?
I tried everything I could imagine.

Here's an example where the grouping is done by wordCount and the aggregation contains two properties (inPublication and title):
https://console.semi.technology/console/query#weaviate_uri=https://demo.dataset.playground.semi.technology&graphql_query={
  Aggregate {
    Article(groupBy%3A["wordCount"]) {
      meta {
        count
      }
      groupedBy{
        path
        value
      }
      inPublication {
        pointingTo
        type
      }
      title{
        topOccurrences{
          value
        }
      }
    }
  }
}&prettify=1

Thanks, but what I need is to count each property.'s value
For instance, get counts for a product's colors and sizes:

Color:

red (2)
blue (5)

Size:

Small:3
Large:3
XXL: 1

Ideally, this should be done with one query, as some of my WooCommerce clients can have tens of product's attributes to aggregate.

Found it: use aliases!
{
  Get {
    Weaviate {
      type
      title
      author
    }
  }
type: Aggregate {
    Weaviate(groupBy: ["type"]) {
      meta {
        count
      }
      groupedBy {
        value
      }
    }
  }
author: Aggregate {
    Weaviate(groupBy: ["author"]) {
      meta {
        count
      }
      groupedBy {
        value
      }
    }
  }
}

Oh, that's really cool. I wasn't aware myself. @laura-ham maybe this is also interesting for the docs or for a FAQ question?

And each alias can get its own parameters: for instance min, max for scalar properties to build a  price slider on the UI side.


PY-T transfer STEEM and SBD to savings balance #12

Closes #12

Blocked as pr JS tutorial of same tutorial


Implement GetObject workers for process pool

These workers will be ran to fulfill GetObject requests to complete a file download

@stealthycoin I update based on feedback and responded to a couple of your comments. It should be good to look at/reply back.


Playspace offset for TeH_Venoms scuffed 3 playspace setup

This pr was accidental

Was away on holiday anyway, but will be interesting to look through if it does what I think since I know a few people want a 3-way multi input/tracker setup

The implementation of this was horrible since it was just something quick and dirty for TeH_Venom, if you don't have time and there really are other people that want something like this, I'd gladly rewrite it and have to actually be able to just copy the offsets from space cal and not be horrible


replace background image in docs tutorials and demo with the homepage image

Let's use same image on all pages.

@serpilb looks like they are already the same.


Unicore Stream Changes

Need to resolve these changes with #707, should pick off non-conflicting parts of each and merge them individually

@dpetrisko I think these changes are ready for merge to me_dev. I rebased them on latest me_dev and fixed up a couple small lint issues and bugs, and regressions tests I have run all look good (RISCV_TESTLIST, BEEBS_TESTLIST, multicore regression, ME regression).
I think we should merge these and then I can build out my CCE changes on top of them, trying to streamline some of the connections if possible then.

Sweet, I’ll take a look

Closing. Superseded by #893


Trojan:Win32/Wacatac.B!ml

Windows defender has quarantined the exe since the last update (1.88).

Just re download it
On Wed, Oct 14, 2020, 4:12 PM VonGhoul<EMAIL_ADDRESS>wrote:

Windows defender has quarantined the exe since the last update (1.88).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ShootMe/FallGuysStats/issues/41, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIZFH2JWQVF5NZF7FFVAOSDSKYH5VANCNFSM4SREDOEQ
.

Looks like the latest Windows Defender definition files are flagging the new build which fixed the false reports from yesterday.  I submitted the files to Microsoft for analysis.

Looks like the latest Windows Defender definition files are flagging the new build which fixed the false reports from yesterday. I submitted the files to Microsoft for analysis.

Ok, cool

Just got word from Microsoft that they've removed the false detection so all you need to do is have Windows Defender update the definition files.

Great! Thank you


deleted all code related to auto_load.py

I deleted all code related to auto_load.py and now it's working.
This would resolve #3

Thanks!  Sorry I hadn't gotten around to this sooner.  Appreciate it. :)


What is the most efficient way to iterate over Pandas's DataFrame row by row?

I have tried the function df.iterrows() but its performance is horrible. Which is not surprising given that iterrows() returns a Series with full schema and meta data, not just the values (which all that I need).
The second method that I have tried is for row in df.values, which is significantly faster. However, I have recently realized that df.values is not the internal data storage of the DataFrame, because df.values converts all dtypes to a common dtype. For example, one of my columns has dtype int64 but the dtype of df.values is all float64. So I suspect that df.values actually creates another copy of the internal data.
Also, another requirement is that the row iteration must return a list of values that preserve the original dtype of the data.

In python, iterating over the rows is going to be (a lot) slower than doing vectorized operations.
The types are being converted in your second method because that's how numpy arrays (which is what df.values is work. DataFrames are column based, so you can have a single DataFrame with multiple dtypes. Once you iterate though, everything has to be upcast.
If you describe your problem with a minimal working example, we might be able to help you vectorize it. You may also have luck on StackOverflow with the pandas tag.

Basically, I want to do the following:
row_handler = RowHandler(sample_df)  # learn how to handle row from sample data
transformed_data = []
for row in df.values:
    transformed_data.append(row_handler.handle(row))
return transformed_data

I don't own the RowHandler class and hence can only operate row by row.
Another similar example is in machine learning, where you may have a model that has predict API at row level only.

Still a bit too vague to be helpful. But if RowHandler is really out of your control then you'll be out of luck. FWIW all of scikit-learn's APIs operate on arrays.

I don't see how it can be clearer. Yes, RowHandler is out of my control. What do you mean by out of luck? My question is for the most efficient way to iterate over rows while keeping the dtype of each element intact. Are you suggesting df.iterrows(), or something else?
sklearn is an exception, not the norm, that operates natively on Pandas. Not many machine learning libraries have APIs that operate on Pandas.

I think df.itertuples() is what you're looking for -- it's way faster than iterrows:
In [10]: x = pd.DataFrame({'x': range(10000)})

In [11]: %timeit list(x.iterrows())
1 loops, best of 3: 383 ms per loop

In [12]: %timeit list(x.itertuples())
1000 loops, best of 3: 1.39 ms per loop

Thanks @shoyer! That's what I need.

Iterating through pandas dataFrame objects is generally slow. Pandas Iteration beats the whole purpose of using DataFrame. It is an anti-pattern and is something you should only do when you have exhausted every other option. It is better look for a List Comprehensions , vectorized solution or DataFrame.apply() method for iterating through DataFrame.
Pandas DataFrame loop using list comprehension
result = [(x, y,z) for x, y,z in zip(df['Name'], df['Promoted'],df['Grade'])]
Pandas DataFrame loop using DataFrame.apply()
result = df.apply(lambda row: row["Name"] + " , " + str(row["TotalMarks"]) + " , " +  row["Grade"], axis = 1)

@linehammer no need to keep posting links on closed issues to what I presume is your website


Create a Footer Section Component for the Fifth theme

As per provided designs, Create a Footer Section Component for the Fifth theme

Reference for the design: https://www.figma.com/file/0ISIz6XklEToDd4KXfIWRB/SCoRe-Lab-Theme-designs?node-id=3%3A4
Cc: @charithccmc, @dinithminura

I want to work on this issue @Abhijay007
Please assign this task to me
Thank you


fix: pin schemathesis version in CI checks

As described at https://github.com/schemathesis/schemathesis/issues/2462<EMAIL_ADDRESS>introduces a bug regarding the invalid_auth tests. This should have been fixed by https://github.com/schemathesis/schemathesis/pull/2463, but the issue is still present in 3.37.0.
This correlates with the failing Check workflow in the GitHub Actions of this repo. Pinning the package version to the latest known working version (3.35.0) makes the CI pass again.
Unblocks #98 #100

Thank you for the fix!

opp merge instead of approve, but I guess it does not matter 😄

That was close instead of a merge, that kind of matters 😅

🙈

Folks, I am going to take a deeper look into the issue. Is there any extra context I should be aware of? Ie custom extensions, CLI args, etc, so it will simplify reproducing

Afaik schemathesis is called from this bash script (the CLI args are there); there is no other custom config I'm aware of.
It was set up by @netmilk , maybe he has more detailed info about this? 👀

Folks, the fix is available in 3.38. Thank you for your patience

Cheers, much appreciated!


How to set default rules?

How to set default rules?
On the component mount, how do i set the FirstName='Pavan' and LastName='Podila'

`
var fields =  [{name: 'firstName', label: 'First Name', type: 'string'},
{name: 'lastName', label: 'Last Name', type: 'string'},
{name: 'age', label: 'Age', type: 'integer'}]
var query = {
"rules": [
{
"field": "firstName",
"value": "Bob1",
"operator": "begins with"
},
{
"field": "age",
"value": "25",
"operator": "greater or equal"
}
],
"combinator": "and"
};
`

Hi @vineela-m, I can add the query props to set default rules as you mentioned. However using this way i am not able to change query. It throws error below

@duwalanise I'm not sure about your implementation, but I have a working app where I default the query builder to an expression, which is fully editable. Is this something you're still experiencing, or can I close this issue?

@miphe I get the same error if I pass a query prop. The querybuilder renders the query correctly, but interacting with any control (group/rule creation, or combinator switch) causes the same error as @duwalanise.
I am on version 1.4.3.

I get the same error if I pass a query prop.

@simonedavico I would like to have a look at the implementation to figure out what could be causing this. Would you mind creating a proof of concept where this behaviour can be seen?

@miphe I traced the origin of the issue, it was due to the fact that I passed a query which did not have ids for rules.

@miphe I noticed anyway that when such error is thrown from the component (because it gets passed a query in unexpected/invalid format), something weird happens, as the parent component's componentDidCatch does not get called. Any idea as to why this happens?

As @simonedavico mentioned in above comment, I have addressed the issue by passing the id field.

It would be nice, If we could generate id itself if user forgets to, which will be less hassle. I have the code below which generates id for query. I would be happy to create PR if it helps. :)
generateValidQuery(query) {
        if(query.combinator) {
            return ({
                id: query.id || `g-${uniqueId()}`,
                rules: query.rules.map(rule => this.generateValidQuery(rule)),
                combinator: query.combinator,
            });
        }
        return ({
            id: `r-${uniqueId()}`,
            ...query,
        });
    }

@duwalanise Sound idea.
Generally, if saving queries in some kind of storage, you'd not need to store the IDs for the sake of building an expression, so that just leaves the need for IDs to the querybuilder. It makes the querybuilder more unwieldy when prefilling it, so a PR for this would be much appreciated.


Update workspace.bzl to use latest farmhash commit to support s390x

We had raised an issue in google/farmhash master earlier for big endian. However due to restructuring in the code via latest commits, the support for s390x needs to be explicitly added.
This support is added through this commit.
Now, tensorflow/workspace.bzl can be updated with this commit id for farmhash.

Can one of the admins verify this patch?

@jart Could you please check if sha256 used for farmhash is correct.
Also, need to update mirror dependencies on GCS.

old issue id (before restructure ): https://github.com/tensorflow/tensorflow/issues/9107

@gunan Could you please review changes?

Jenkins, test this please.

Jenkins, test this please.

Jenkins, test this please.


Prebuilt binaries

(I'm aware that #16 already exists, I though it would be nice to layout a few reasons in an organized fashion)
This PDF library is, in my experience, the best in the business. PDFMiner, with all due respect, is slow, inaccurate, and inconsistent making impossible in some cases to use reliably. Other XPDF/Poppler bindings are outdated and abandoned. Other workarounds (such as those mentioned in #16) are plagued with some of the same issues (mainly inaccuracy).
This is where pdftotext comes in handy. It's fast and gives accurate results. The only problem is that there's a pretty high barrier for being able to use this package. Developers must install a few packages on a Linux system for this package to be built and installed. Windows users, on the other hand are left with no clue on how to install. This could all be mitigated with prebuilt binaries for Windows, but also other platforms.

Hi. I've got a problem. This is the only package that works for my type of PDFs.
I have developers rights on my PC so I've installed python3-dev, popper/dev and so on...
Installed pdftotext to my virtual environment and run without a problem.
But when my colleague goes into my shared folder from different PC (he doesn't have dev rights), activate the environment, he fails on import pdftotext because it can't find the libpoppler-cpp.so...
Can it be copied somewhere? Or... How would I provide this script to Linux colleagues?

I didn't realize that this was such a broad issue. Thank you for sharing your position on this. Unfortunately I'm not very experienced when it comes to packaging binary extensions/building them, so thus far I've been unable to build this on Windows.

I'm currently unable to build it on WIndows. Did you ever figure it out? I guess building Poppler, really, is the problem, which seems to work for these guys.

If you need to use this library on Windows, right now you can

use conda to install poppler as described in the README, or
build poppler yourself and figure out how to get it all working. See #72 for one example

I don't have or use Windows, so even getting it working in conda was a challenge!
The link you provided is for tsdgeos/poppler_mirror. tsdgeos is the maintainer of poppler, so of course he knows how to build it on Windows! This issue is more about the difficulty of packing and distributing on Windows, and since I don't have Windows, well...

I'm just doing it on Linux. It's a WSL world.
---- On Sun, 27 Sep 2020 20:03:31 -0400 Jason Alan Palmer<EMAIL_ADDRESS>wrote ----
If you need to use this library on Windows, right now you can
use conda to install poppler as described in the README, or
build poppler yourself and figure out how to get it all working. See https://github.com/jalan/pdftotext/pull/72 for one example
I don't have or use Windows, so even getting it working in conda was a challenge!
The link you provided is for https://github.com/tsdgeos/poppler_mirror. tsdgeos is the maintainer of poppler, so of course he knows how to build it on Windows! This issue is more about the difficulty of packing and distributing on Windows, and since I don't have Windows, well...
—
You are receiving this because you commented.
Reply to this email directly, https://github.com/jalan/pdftotext/issues/29#issuecomment-699706612, or https://github.com/notifications/unsubscribe-auth/ABQ26HFLD3ENX2JJQSJJESDSH7HFHANCNFSM4GNCMH4A.

there doesn't seem to be any tool out there to help with the bundling on Windows, so that would have to be done manually anyway.

That used to be true but now there is https://github.com/adang1345/delvewheel 🥳

delvewheel is a command-line tool for creating Python wheel packages for Windows that have DLL dependencies that may not be present on the target system. It is functionally similar to auditwheel (for Linux) and delocate (for Mac OS).

It should be relatively easy to integrate into cibuildwheel using something like CIBW_REPAIR_WHEEL_COMMAND=delvewheel repair.
I'm going to look into this if noone else is doing that already.

should we just bundle poppler itself, or all its dependencies (libtiff, libpng, fontconfig, freetype, ...) too?

Generally speaking, a binary wheel should contain all dependencies that would not be found on a vanilla system.

what versions of libc and libstdc++ should we build with for linux?

There are three different compatibility sets (and corresponding OS images): manylinux1, manylinux2010 and manylinux2014. If possible, manylinux1 (the oldest) should be targeted.

But then that means we have to use an older version of poppler, complete with all its bugs

Not necessarily. It should be possible to compile poppler against older libc versions.
In general, I agree with your assessment of the wheel packaging toolchain. It really is a mess.

Okay, so I managed to get Windows builds working. This actually revealed an issue in delvewheel but @adang1345 released a fixed version immediately!
I will send in a PR shortly.

% uname -sKU
FreeBSD 1400053 1400053
% which pdftotext
/usr/local/bin/pdftotext
% pkg provides /usr/local/bin/pdftotext
Name    : poppler-utils-21.12.0
Desc    : Poppler's xpdf-workalike command line utilities
Repo    : FreeBSD
Filename: usr/local/bin/pdftotext
% pkg info --list textproc/py-pdftotext
py38-pdftotext-2.2.2:
        /usr/local/lib/python3.8/site-packages/pdftotext-2.2.2-py3.8.egg-info/PKG-INFO
        /usr/local/lib/python3.8/site-packages/pdftotext-2.2.2-py3.8.egg-info/SOURCES.txt
        /usr/local/lib/python3.8/site-packages/pdftotext-2.2.2-py3.8.egg-info/dependency_links.txt
        /usr/local/lib/python3.8/site-packages/pdftotext-2.2.2-py3.8.egg-info/top_level.txt
        /usr/local/lib/python3.8/site-packages/pdftotext.cpython-38.so
        /usr/local/share/licenses/py38-pdftotext-2.2.2/LICENSE
        /usr/local/share/licenses/py38-pdftotext-2.2.2/MIT
        /usr/local/share/licenses/py38-pdftotext-2.2.2/catalog.mk
%

https://www.freshports.org/graphics/poppler-utils/
https://www.freshports.org/textproc/py-pdftotext/


Investigate ways to terminate external processes cleanly (with and without goon)

The current behaviour of stopping a process is not satisfactory no matter how you slice it.
Without goon
Below, we have an error in the stream name which happens in the spawned process that controls the Erlang port.
iex(1)> p = Porcelain.spawn_shell "ping google.com", out: IO.stream(:stdout, :line)
%Porcelain.Process{err: nil,
 out: %IO.Stream{device: :stdout, line_or_bytes: :line, raw: false},
 pid: #PID<0.74.0>}
iex(2)>
=ERROR REPORT==== 20-Jan-2015::00:14:52 ===
Error in process <0.78.0> with exit value: {badarg,[{io,put_chars,[stdout,unicode,<<112 bytes>>],[]},{'Elixir.Enum','-reduce/3-fun-0-',3,[{file,"lib/enum.ex"},{line,1266}]},{'Elixir.Stream',do_unfold,4,[{file,"lib/stream.ex"},{line,1126}]},{'Elixir.Enum',reduce,3,[{file,"lib/enum.ex"},{line,1265}]},{...

iex(3)> Porcelain.Process.alive? p
true
iex(4)> Porcelain.Process.stop p

# the shell just hangs
# the external process 'ping' remain alive even after terminating the VM

An example of successfully stopping a port:
iex(1)> p = Porcelain.spawn_shell "ping google.com", out: IO.binstream(:stdio, :line)
%Porcelain.Process{err: nil,
 out: %IO.Stream{device: :standard_io, line_or_bytes: :line, raw: true},
 pid: #PID<0.73.0>}
PING google.com (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: icmp_seq=0 ttl=57 time=11.042 ms
...
iex(2)> Porcelain.Process.stop p
true

We don't get any more input, but ping keeps running in the background.
With goon
iex(1)> p = Porcelain.spawn_shell "ping google.com", out: IO.binstream(:stdio, :line)
%Porcelain.Process{err: nil,
 out: %IO.Stream{device: :standard_io, line_or_bytes: :line, raw: true},
 pid: #PID<0.74.0>}
PING google.com (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: icmp_seq=0 ttl=57 time=8.044 ms
...
iex(2)> Porcelain.Process.stop p
true
iex(3)> panic: write /dev/stdout: broken pipe

                                             goroutine 3 [running]:
                                                                   runtime.panic(0xa4ba0, 0x2102a5420)
                                                                                /usr/local/Cellar/go/1.2.2/libexec/src/pkg/runtime/panic.c:266 +0xb6
     log.(*Logger).Panicf(0x2102a6190, 0xde260, 0x3, 0x221040fe30, 0x1, ...)
                                                                                /usr/local/Cellar/go/1.2.2/libexec/src/pkg/log/log.go:200 +0xbd
                                                                                main.fatal_if(0xc2840, 0x2102bf7e0)
            /Users/alco/extra/goworkspace/src/goon/util.go:38 +0x17e
                                                                        main.outLoop(0x257338, 0x2102860e8, 0x256fe8, 0x210286008, 0x0, ...)
                                                                                /Users/alco/extra/goworkspace/src/goon/io.go:151 +0x44a
                                created by main.wrapStdout
                                                            /Users/alco/extra/goworkspace/src/goon/io.go:34 +0x16a

                                                                                goroutine 1 [chan receive]:
                                                                                main.proto_2_0(0x7fff5fbf0100, 0xe3fc0, 0x3, 0xde7a0, 0x1, ...)
                                            /Users/alco/extra/goworkspace/src/goon/proto_2_0.go:58 +0x3a3
                                                                                main.main()
                                                                                /Users/alco/extra/goworkspace/src/goon/main.go:51 +0x3b6

ping terminates, but goon panics.

Hey alco, any news on this? For me a stopping a process doesn't even work with goon. If it matters, the process is node.js and it's started with spawn_shell.

Going to look at fixing this in goon tonight.
Sorry for the wait @manukall. Is this still relevant to you?

i'm not working on that project anymore. thanks for looking into it, though.

I need this for testing https://github.com/hexpm/hex, during testing we need to do API calls to the server https://github.com/hexpm/hex_web. We do this by starting the API server with a port (or porcelain), the problem is if the VM that runs the hex tests stops unexpectedly the hex_web process keeps running.

I'm having the same problem as @ericmj.  I'm hosting an http server with IIS Express via porcelain and the server does not get terminated when the beam vm shuts down.

I've been trying to write a plug that interacts with the Ember CLI, and have been seeing the same problem.  After the Elixir application shuts down the Node.js process keeps running.

Could this be done with a separate OTP application (maybe that runs at a system level and is never killed) that registers external processes and os kills them under some conditions (e.g. when the OTP app that started the process ends)?

Not just node apps. I'm testing this with a small python bottle server with the same issues.
Neither stop or signal stops the underlying web server.
OSX, Python 3, using goon.
Would a minimal example be helpful?

I'm also interested in this issue; it's causing some messiness in a Mix task I use to run tests.

Hey folks! Thanks for the feedback. This is definitely an important issue. I'm hoping to have some time to work on this soon.
@peter-fogg Could you provide more details about the problem you're having? What is the result you're getting and how it's different from the expected one?
Thanks everyone for bearing with me!

@alco Sure -- the short version is that I'm using Porcelain to coordinate some external servers during tests. We have our Phoenix server running against a mocked-out backend API server, and once that's running we run some tests against the Phoenix server. The gist of the tests is:

Start Phoenix and API with Porcelain.spawn_shell(command, in: :receive, out: {:send, self()}, err: {:send, self()})
Listen to both processes and wait for them to be ready to accept HTTP requests
Start test process with System.cmd
When test process is finished, shut down both servers with Porcelain.Process.signal proc, :int
Exit with status of the test process

This all works, but I get a panic from Goon sometimes, but not all the time. It also seems to occasionally leave one of the server processes running as an orphan, requiring me to kill it manually before I can run the tests again (since it's using a certain port which will be required for the next time test run).
Let me know if you need some more info. Thanks!

I had a similar requirement to stop spawned, interactive Docker containers when the parent Elixir process aborted.  I now also have the requirement for arbitrary scripts I execute.  Here is a quick and dirty way I met the requirement in Linux:

Create a named pipe mkfifo /home/user/parent_signal_1 (can be named anything of meaning but should be unique for each instance of a child process)
Create a bash script to start child command and watch the named pipe for EOF:

#!/bin/bash
# Start passed in command in the background
$2 &
CHILD_PID=$!
# Watch named pipe passed in (This will hang until EOF received from Elixir process)
cat $1
# Send signal of choice to child process
kill -s SIGKILL $CHILD_PID

In Elixir application, open an erlang port on the named pipe and start child process with bash script via Porcelain. I use sleep 60 in this example but that could be any script.  It's important to use Process.link to link to the Porcelain pid so the process which opened the erlang port will send the EOF to kill the child in the event the Porcelain process itself aborts.

_port = "/home/user/parent_signal_1"
        |> String.to_charlist
        |> :erlang.open_port([:eof])

%Porcelain.Process{pid: pid} =
"/home/user/start.sh /home/user/parent_signal_1 'sleep 60'"
|> Porcelain.spawn_shell(in: :receive, out: {:send, self()}, err: :out, result: :discard)

Process.link(pid)

That's it!  The Docker container setup was slightly more involved and used dumb-init in order to kill PID 1 but the basic concept is the same.  I doubt my approach can be codified into the official approach but it has proven useful to me in the interim.  Hopefully this provides some use to someone else to avoid zombie processes.

@gridbox If you child process finishes your process will hang. So you're fixing one way but breaking the other way.

Any updates on this issue?

I am also fighting lingering processes, with nothing in the docs to describe how to handle this. I would appreciate any update on this issue also

Is this helpful? https://hexdocs.pm/elixir/Port.html#module-zombie-processes
Hope porcelain can use this wrap in basic driver.

Finally, after tried every way in porcelain/os/port and something else, I gave up.
I wrote a script called kill_goon.sh to kill all the orphan processes spawned by porcelain, and I will call this script in the end of my task flow:
#!/usr/bin/env sh
goon_pids=($(ps -e | grep goon | grep -v grep | grep -v kill_goon | awk '{print $1}'))
for pid in "${goon_pids[@]}"
do
  pgrep -P $pid | xargs kill
done


Add consistency check related to networks

The new checks will ensure we're not trying to attach a non-existing
network, nor that we're trying to create network that aren't attached to
any VM.
The dedicated molecule scenario should properly cover the various
scenarios this new validation covers.
This patch also starts introducing parameters to avoid parameter
consistency checks.
As a pull request owner and reviewers, I checked that:

[X] Appropriate testing is done and actually running

/approve
that's a great validation to add, thanks!

/hold
need to take a few to add new top-level parameter to disable validations - but that will be something like "-e yes-i-really-know-what-i-am-doing=true"...

/hold cancel

/lgtm


Added redirect for moved security topic

What are your changes?
Added redirect for moved security topic
What is the urgency level of this change?

[ ] Blocker
[ ] High
[x] Medium

I have completed these items:

[ ] I have built locally and tested for broken links and formatting.
[x] If appropriate, I have added redirects.

If you included a comment with your commit, it appears here:

duplicate. already on develop/master